Delen via


Referenties gebruiken met DSC-resources

Van toepassing op: Windows PowerShell 5.0, Windows PowerShell 5.1

U kunt een DSC-resource uitvoeren onder een opgegeven set referenties met behulp van de automatische eigenschap PsDscRunAsCredential in de configuratie. Standaard voert DSC elke resource uit als het systeemaccount. Er zijn momenten waarop uitvoeren als gebruiker nodig is, zoals het installeren van MSI-pakketten in een specifieke gebruikerscontext, het instellen van de registersleutels van een gebruiker, het openen van de specifieke lokale map van een gebruiker of het openen van een netwerkshare. SeInteractiveLogonRight is vereist voor de doelcomputer voor elk account dat u opgeeft voor PSDSCRunAsCredential. Zie Constanten van accountrechten voor meer informatie.

Elke DSC-resource heeft een eigenschap PsDscRunAsCredential die kan worden ingesteld op alle gebruikersreferenties (een PSCredential-object ). De referentie kan in code worden vastgelegd als de waarde van de eigenschap in de configuratie, of u kunt de waarde instellen op Get-Credential, waarmee de gebruiker om een referentie wordt gevraagd wanneer de configuratie wordt gecompileerd (zie Configuraties voor meer informatie over het compileren van configuraties.

Notitie

In PowerShell 5.0 werd het gebruik van de eigenschap PsDscRunAsCredential in configuraties die samengestelde resources aanroepen niet ondersteund. In PowerShell 5.1 wordt de eigenschap PsDscRunAsCredential ondersteund in configuraties die samengestelde resources aanroepen. De eigenschap PsDscRunAsCredential is niet beschikbaar in PowerShell 4.0.

In het volgende voorbeeld Get-Credential wordt gebruikt om de gebruiker om referenties te vragen. De registerresource wordt gebruikt om de registersleutel te wijzigen waarmee de achtergrondkleur voor het Windows-opdrachtpromptvenster wordt opgegeven.

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

Notitie

In dit voorbeeld wordt ervan uitgegaan dat u een geldig certificaat hebt bij C:\publicKeys\targetNode.ceren dat de vingerafdruk van dat certificaat de weergegeven waarde is. Zie Het MOF-bestand beveiligen voor meer informatie over het versleutelen van referenties in DSC-configuratie-MOF-bestanden.