قم بإنشاء مستخدم جديد

يوضح هذا المثال كيفية استخدام User المورد للتأكد من وجود مستخدم.

مع تعيين Ensure إلى Present وتعيين UserName إلى SomeUserName، يقوم المورد بإنشاء SomeUserName الحساب إذا لم يكن موجودا.

مع تعيين كلمة المرور إلى القيمة التي يوفرها المستخدم للمعلمة PasswordCredential ، إذا قام المورد بإنشاء SomeUserName الحساب، فإنه ينشئ الحساب مع تعيين كلمة المرور إلى قيمة PasswordCredential. في المرة الأولى التي يسجل فيها شخص ما الدخول باسم SomeUserName، يطالبه النظام بتغيير كلمة المرور.

إذا كان SomeUserName موجودا، لا يقوم المورد بتعيين كلمة المرور لهذا الحساب.

مع Invoke-DscResource

يوضح هذا البرنامج النصي كيف يمكنك استخدام User المورد مع Invoke-DscResource cmdlet للتأكد من SomeUserName وجود الحساب، وإنشاءه باستخدام كلمة مرور افتراضية إذا لزم الأمر.

[CmdletBinding()]
param(
    [Parameter(Mandatory)]
    [System.Management.Automation.PSCredential]
    [System.Management.Automation.Credential()]
    $PasswordCredential
)

begin {
    $SharedParameters = @{
        Name       = 'User'
        ModuleName = 'PSDscResource'
        Properties = @{
            Ensure   = 'Present'
            UserName = 'SomeUserName'
            Password = $PasswordCredential
        }
    }

    $NonGetProperties = @(
        'Ensure'
        'Password'
    )
}

process {
    $TestResult = Invoke-DscResource -Method Test @SharedParameters

    if ($TestResult.InDesiredState) {
        $QueryParameters = $SharedParameters.Clone()

        foreach ($Property in $NonGetProperties) {
            $QueryParameters.Properties.Remove($Property)
        }

        Invoke-DscResource -Method Get @QueryParameters
    } else {
        Invoke-DscResource -Method Set @SharedParameters
    }
}

مع تكوين

توضح هذه القصاصة البرمجية كيف يمكنك تعريف Configuration مع كتلة Service موارد للتأكد من SomeUserName وجود الحساب، وإنشاءه بكلمة مرور افتراضية إذا لزم الأمر.

Configuration Create {
    param (
        [Parameter(Mandatory)]
        [System.Management.Automation.PSCredential]
        [System.Management.Automation.Credential()]
        $PasswordCredential
    )

    Import-DscResource -ModuleName PSDscResources

    Node localhost {
        User ExampleUser {
            Ensure   = 'Present'
            UserName = 'SomeUserName'
            Password = $PasswordCredential
        }
    }
}