Použití přihlašovacích údajů s prostředky DSC
Platí pro: Windows PowerShell 5.0, Windows PowerShell 5.1
Prostředek DSC můžete spustit pod zadanou sadou přihlašovacích údajů pomocí automatické vlastnosti PsDscRunAsCredential v konfiguraci. Ve výchozím nastavení DSC spouští každý prostředek jako systémový účet. Existují chvíle, kdy je spuštění nezbytné, jako je instalace balíčků MSI v kontextu konkrétního uživatele, nastavení klíčů registru uživatele, přístup k místnímu adresáři konkrétního uživatele nebo přístup ke sdílené síťové složce. SeInteractiveLogonRight vyžaduje cílový počítač pro každý účet, který zadáte do PSDSCRunAsCredential. Další informace najdete v tématu Konstanty práv k účtu.
Každý prostředek DSC má vlastnost PsDscRunAsCredential , kterou je možné nastavit na libovolné přihlašovací údaje uživatele (objekt PSCredential ). Přihlašovací údaje mohou být pevně zakódovány jako hodnota vlastnosti v konfiguraci nebo můžete nastavit hodnotu Get-Credential, která uživatele vyzve k zadání přihlašovacích údajů při kompilaci konfigurace (informace o kompilaci konfigurací najdete v tématu Konfigurace.
Poznámka
V PowerShellu 5.0 se použití vlastnosti PsDscRunAsCredential v konfiguracích, které volají složené prostředky, nepodporovalo. V PowerShellu 5.1 se vlastnost PsDscRunAsCredential podporuje v konfiguracích volajících složené prostředky. Vlastnost PsDscRunAsCredential není v PowerShellu 4.0 k dispozici.
V následujícím příkladu Get-Credential
se používá k zobrazení výzvy uživateli k zadání přihlašovacích údajů. Prostředek registru se používá ke změně klíče registru, který určuje barvu pozadí okna příkazového řádku systému Windows.
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
Poznámka
Tento příklad předpokládá, že máte platný certifikát na adrese C:\publicKeys\targetNode.cer
a že kryptografický otisk tohoto certifikátu je zobrazená hodnota. Informace o šifrování přihlašovacích údajů v souborech MOF konfigurace DSC najdete v tématu Zabezpečení souboru MOF.