次の方法で共有


新しいユーザーを作成する

この例では、リソースを使用してユーザーが User 存在することを確認する方法を示します。

[Ensure]\(確認\) が [UserName]\Present(ユーザー名\) にSomeUserName設定されている場合、リソースはアカウントが存在しない場合に作成SomeUserNameします。

PasswordPasswordCredential パラメーターのユーザー指定の値に設定すると、リソースによってアカウントが作成SomeUserNameされる場合、パスワードが PasswordCredential の値に設定されたアカウントが作成されます。 ユーザーが初めてログイン SomeUserNameすると、パスワードの変更を求めるメッセージが表示されます。

存在する場合 SomeUserName 、リソースはそのアカウントのパスワードを設定しません。

Invoke-DscResource

このスクリプトでは、コマンドレットでInvoke-DscResourceリソースをUser使用してアカウントが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
    }
}

構成を使用する

このスニペットは、リソース ブロックをService使用してアカウントを確実SomeUserNameに定義Configurationし、必要に応じて既定のパスワードでアカウントを作成する方法を示しています。

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
        }
    }
}