Condividi tramite


Creare un nuovo utente

In questo esempio viene illustrato come usare la User risorsa per assicurarsi che esista un utente.

Con Verifica impostato su e UserName impostato su SomeUserNamePresent , la risorsa crea l'account SomeUserName se non esiste.

Con Password impostato sul valore fornito dall'utente per il parametro PasswordCredential , se la risorsa crea l'account SomeUserName , crea l'account con la password impostata sul valore di PasswordCredential. La prima volta che un utente accede come SomeUserName, il sistema chiede loro di modificare la password.

Se SomeUserName esiste, la risorsa non imposta la password per tale account.

Con Invoke-DscResource

Questo script illustra come usare la User risorsa con il Invoke-DscResource cmdlet per assicurarsi che l'account SomeUserName esista, creandolo con una password predefinita, se necessario.

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

Con una configurazione

Questo frammento di codice illustra come definire un Configuration oggetto con un Service blocco di risorse per assicurarsi che l'account SomeUserName esista, creandolo con una password predefinita, se necessario.

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