Menggunakan Kredensial dengan Sumber Daya DSC

Berlaku Untuk: Windows PowerShell 5.0, Windows PowerShell 5.1

Anda dapat menjalankan sumber daya DSC di bawah sekumpulan kredensial tertentu dengan menggunakan properti PsDscRunAsCredential otomatis dalam konfigurasi. Secara default, DSC menjalankan setiap sumber daya sebagai akun sistem. Ada kalanya menjalankan sebagai pengguna diperlukan, seperti menginstal paket MSI dalam konteks pengguna tertentu, mengatur kunci registri pengguna, mengakses direktori lokal tertentu pengguna, atau mengakses berbagi jaringan. SeInteractiveLogonRight diperlukan, oleh komputer target, untuk akun apa pun yang Anda tentukan ke PSDSCRunAsCredential. Untuk informasi selengkapnya, lihat Konstanta Hak Akun.

Setiap sumber daya DSC memiliki properti PsDscRunAsCredential yang dapat diatur ke kredensial pengguna apa pun (objek PSCredential ). Kredensial dapat dikodekan secara permanen sebagai nilai properti dalam konfigurasi, atau Anda dapat mengatur nilai ke Get-Credential, yang akan meminta kredensial kepada pengguna saat konfigurasi dikompilasi (untuk informasi tentang mengkompilasi konfigurasi, lihat Konfigurasi.

Catatan

Di PowerShell 5.0, menggunakan properti PsDscRunAsCredential dalam konfigurasi yang memanggil sumber daya komposit tidak didukung. Di PowerShell 5.1, properti PsDscRunAsCredential didukung dalam konfigurasi yang memanggil sumber daya komposit. Properti PsDscRunAsCredential tidak tersedia di PowerShell 4.0.

Dalam contoh berikut, Get-Credential digunakan untuk meminta kredensial kepada pengguna. Sumber daya Registri digunakan untuk mengubah kunci registri yang menentukan warna latar belakang untuk jendela prompt perintah 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

Catatan

Contoh ini mengasumsikan bahwa Anda memiliki sertifikat yang valid di C:\publicKeys\targetNode.cer, dan bahwa thumbprint sertifikat tersebut adalah nilai yang ditampilkan. Untuk informasi tentang mengenkripsi kredensial dalam file MOF konfigurasi DSC, lihat Mengamankan file MOF.