DSC uitvoeren met gebruikersreferentiesRunning DSC with user credentials

Van toepassing op: Windows PowerShell 5.0, 5.1 van Windows PowerShellApplies To: Windows PowerShell 5.0, Windows PowerShell 5.1

U kunt een DSC-resource onder een opgegeven set referenties uitvoeren met behulp van de automatische PsDscRunAsCredential eigenschap in de configuratie.You can run a DSC resource under a specified set of credentials by using the automatic PsDscRunAsCredential property in the configuration. Standaard wordt elke resource DSC uitgevoerd als het systeem-account.By default, DSC runs each resource as the system account. Er zijn momenten wanneer uitgevoerd, zoals een gebruiker is nodig, zoals een MSI-pakketten installeren in de context van een specifieke gebruiker, instellen van een gebruiker registersleutels, toegang tot specifieke lokale directory van een gebruiker of toegang tot een netwerk share.There are times when running as a user is necessary, such as installing MSI packages in a specific user context, setting a user's registry keys, accessing a user's specific local directory, or accessing a network share.

Elke DSC-resource heeft een PsDscRunAsCredential eigenschap die kan worden ingesteld op de referenties van een gebruiker (een PSCredential object).Every DSC resource has a PsDscRunAsCredential property that can be set to any user credentials (a PSCredential object). De referentie kan worden vastgelegd als de waarde van de eigenschap in de configuratie of u kunt de waarde instellen op Get-Credential, die wordt de gebruiker gevraagd om een referentie wanneer de configuratie wordt gecompileerd (voor meer informatie over compileren van configuraties, Zie configuraties.The credential can be hard-coded as the value of the property in the configuration, or you can set the value to Get-Credential, which will prompt the user for a credential when the configuration is compiled (for information about compiling configurations, see Configurations.

Opmerking: In PowerShell 5.0, met behulp van de PsDscRunAsCredential eigenschap in de configuraties voor het aanroepen van samengestelde bronnen wordt niet ondersteund.Note: In PowerShell 5.0, using the PsDscRunAsCredential property in configurations calling composite resources was not supported. In PowerShell 5.1, de PsDscRunAsCredential eigenschap wordt ondersteund in de configuraties voor het aanroepen van samengestelde bronnen.In PowerShell 5.1, the PsDscRunAsCredential property is supported in configurations calling composite resources.

Opmerking: de PsDscRunAsCredential eigenschap is niet beschikbaar in PowerShell 4.0.Note: The PsDscRunAsCredential property is not available in PowerShell 4.0.

In het volgende voorbeeld Get-Credential wordt gebruikt voor de gebruiker gevraagd om referenties.In the following example, Get-Credential is used to prompt the user for credentials. De register bron wordt gebruikt om te wijzigen van de registersleutel die de achtergrondkleur voor het Windows-opdrachtpromptvenster geeft.The Registry resource is used to change the registry key that specifies the background color for the Windows command prompt window.

Configuration ChangeCmdBackGroundColor
{
    Import-DscResource -ModuleName PSDesiredStateConfiguration

    Node $AllNodes.NodeName
    {
        Registry CmdPath
        {
            Key                  = 'HKEY_CURRENT_USER\SOFTWARE\Microsoft\Command Processor'
            ValueName            = 'DefaultColor'
            ValueData            = '1F'
            ValueType            = 'DWORD'
            Ensure               = 'Present'
            Force                = $true
            Hex                  = $true
            PsDscRunAsCredential = Get-Credential
        }
    }
}

$configData = @{
    AllNodes = @(
        @{
            NodeName             = 'localhost';
            PSDscAllowDomainUser = $true
            CertificateFile      = 'C:\publicKeys\targetNode.cer'
            Thumbprint           = '7ee7f09d-4be0-41aa-a47f-96b9e3bdec25'
        }
    )
}

ChangeCmdBackGroundColor -ConfigurationData $configData

Opmerking: in dit voorbeeld wordt ervan uitgegaan dat u hebt een geldig certificaat op C:\publicKeys\targetNode.cer, en dat de vingerafdruk van certificaat de waarde die wordt weergegeven is.Note: This example assumes that you have a valid certificate at C:\publicKeys\targetNode.cer, and that the thumbprint of that certificate is the value shown. Zie voor meer informatie over het coderen van referenties in het MOF-bestanden van DSC-configuratie beveiligen van het MOF-bestand.For information about encrypting credentials in DSC configuration MOF files, see Securing the MOF file.