Aracılığıyla paylaş


DSC Kaynaklarıyla Kimlik Bilgilerini Kullanma

Şunlar için geçerlidir: Windows PowerShell 5.0, Windows PowerShell 5.1

Yapılandırmada otomatik PsDscRunAsCredential özelliğini kullanarak belirtilen kimlik bilgileri kümesi altında bir DSC kaynağı çalıştırabilirsiniz. Varsayılan olarak, DSC her kaynağı sistem hesabı olarak çalıştırır. Belirli bir kullanıcı bağlamında MSI paketlerini yükleme, kullanıcının kayıt defteri anahtarlarını ayarlama, kullanıcının belirli bir yerel dizinine erişme veya ağ paylaşımına erişme gibi kullanıcı olarak çalıştırmanın gerekli olduğu zamanlar vardır. SeInteractiveLogonRight hedef makine tarafından PSDSCRunAsCredential için belirttiğiniz herhangi bir hesap için gereklidir. Daha fazla bilgi için bkz. Hesap Hakları Sabitleri.

Her DSC kaynağı, herhangi bir kullanıcı kimlik bilgilerine (PSCredential nesnesi) ayarlanabilen bir PsDscRunAsCredential özelliğine sahiptir. Kimlik bilgisi yapılandırmadaki özelliğin değeri olarak sabit kodlanabilir veya değeri Get-Credential olarak ayarlayabilirsiniz. Bu ayar, yapılandırma derlendiğinde kullanıcıdan kimlik bilgisi ister (yapılandırmaları derleme hakkında bilgi için bkz. Yapılandırmalar.

Not

PowerShell 5.0'da, bileşik kaynakları çağıran yapılandırmalarda PsDscRunAsCredential özelliğinin kullanılması desteklenmiyordu. PowerShell 5.1'de PsDscRunAsCredential özelliği, bileşik kaynakları çağıran yapılandırmalarda desteklenir. PsDscRunAsCredential özelliği PowerShell 4.0'da kullanılamaz.

Aşağıdaki örnekte, Get-Credential kullanıcıdan kimlik bilgileri istemesi için kullanılır. Kayıt Defteri kaynağı, Windows komut istemi penceresinin arka plan rengini belirten kayıt defteri anahtarını değiştirmek için kullanılır.

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

Not

Bu örnekte, konumunda C:\publicKeys\targetNode.cergeçerli bir sertifikanız olduğu ve bu sertifikanın parmak izinin gösterilen değer olduğu varsayılır. DSC yapılandırma MOF dosyalarında kimlik bilgilerini şifreleme hakkında bilgi için bkz . MOF dosyasının güvenliğini sağlama.