Examples/Sample_xUser_Generic.ps1

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
param 
(
    [Parameter(Mandatory)]
    [System.String]
    $ConfigurationName
)
        
<#
    Create a custom configuration by passing in whatever
    values you need. $Password is the only param that is
    required since it must be a PSCredential object.
    If you want to create a user with minimal attributes,
    every param except username can be deleted since they
    are optional.
#>


Configuration $ConfigurationName
{
    param 
    (        
        [System.String]
        $UserName = 'Test UserName',
        
        [System.String]
        $Description = 'Test Description',
        
        [System.String]
        $FullName = 'Test Full Name',
        
        [ValidateSet('Present', 'Absent')]
        [System.String]
        $Ensure = 'Present',
        
        [Parameter(Mandatory)]
        [System.Management.Automation.PSCredential]
        $Password,
        
        [System.Boolean]
        $Disabled = $false,

        [System.Boolean]
        $PasswordNeverExpires = $false,

        [System.Boolean]
        $PasswordChangeRequired = $false,

        [System.Boolean]
        $PasswordChangeNotAllowed = $false
    )
    
    Import-DscResource -ModuleName 'xPSDesiredStateConfiguration'
    
    Node Localhost {

        xUser UserResource1
        {
            UserName = $UserName
            Ensure = $Ensure
            FullName = $FullName
            Description = $Description
            Password = $Password
            Disabled = $Disabled
            PasswordNeverExpires = $PasswordNeverExpires
            PasswordChangeRequired = $PasswordChangeRequired
            PasswordChangeNotAllowed = $PasswordChangeNotAllowed
        }
    }
}