Menentukan dependensi simpul silang
Berlaku Untuk: Windows PowerShell 5.0
DSC menyediakan sumber daya khusus, WaitForAll, WaitForAny, dan WaitForSome yang dapat digunakan dalam konfigurasi untuk menentukan dependensi pada konfigurasi pada node lain. Perilaku sumber daya ini adalah sebagai berikut:
- WaitForAll: Berhasil jika sumber daya yang ditentukan berada dalam status yang diinginkan pada semua simpul target yang ditentukan dalam properti NodeName .
- WaitForAny: Berhasil jika sumber daya yang ditentukan berada dalam status yang diinginkan pada setidaknya salah satu simpul target yang ditentukan dalam properti NodeName .
- WaitForSome: Menentukan properti NodeCount selain properti NodeName . Sumber daya berhasil jika sumber daya berada dalam status yang diinginkan pada jumlah minimum simpul (ditentukan oleh NodeCount) yang ditentukan oleh properti NodeName .
Sintaks
Sumber daya WaitForAll dan WaitForAny memiliki sintaks yang sama. Ganti <ResourceType>
dalam contoh di bawah ini dengan WaitForAny atau WaitForAll. Seperti kata kunci DependsOn , Anda harus memformat nama sebagai [ResourceType]ResourceName
. Jika sumber daya milik Konfigurasi terpisah, sertakan ConfigurationName dalam string [ResourceType]ResourceName::[ConfigurationName]::[ConfigurationName]
yang diformat . NodeName adalah komputer, atau Node, tempat sumber daya saat ini harus menunggu.
<ResourceType> [string] #ResourceName
{
ResourceName = [string]
NodeName = [string]
[ DependsOn = [string[]] ]
[ PsDscRunAsCredential = [PSCredential]]
[ RetryCount = [Uint32] ]
[ RetryIntervalSec = [Uint64] ]
[ ThrottleLimit = [Uint32]]
}
Sumber daya WaitForSome memiliki sintaks yang mirip dengan contoh di atas, tetapi menambahkan kunci NodeCount . NodeCount menunjukkan berapa banyak Node yang harus ditunggu sumber daya saat ini.
WaitForSome [String] #ResourceName
{
NodeCount = [UInt32]
NodeName = [string[]]
ResourceName = [string]
[DependsOn = [string[]]]
[PsDscRunAsCredential = [PSCredential]]
[RetryCount = [UInt32]]
[RetryIntervalSec = [UInt64]]
[ThrottleLimit = [UInt32]]
}
Semua WaitForXXXX berbagi kunci sintaks berikut.
Properti | Deskripsi |
---|---|
Coba lagiIntervalSec | Jumlah detik sebelum mencoba kembali. Minimum adalah 1. |
RetryCount | Jumlah maksimum kali untuk mencoba kembali. |
ThrottleLimit | Jumlah komputer yang akan disambungkan secara bersamaan. Defaultnya adalah New-CimSession default. |
DependsOn | Menunjukkan bahwa konfigurasi sumber daya lain harus berjalan sebelum sumber daya ini dikonfigurasi. Untuk informasi selengkapnya, lihat DependsOn |
PsDscRunAsCredential | Lihat Menggunakan DSC dengan Kredensial Pengguna |
Menggunakan sumber daya WaitForXXXX
Setiap sumber daya WaitForXXXX menunggu sumber daya yang ditentukan selesai pada Node yang ditentukan. Sumber daya lain dalam Konfigurasi yang sama kemudian dapat bergantung pada sumber daya WaitForXXXX menggunakan kunci DependsOn .
Misalnya, dalam konfigurasi berikut, simpul target menunggu sumber daya xADDomain selesai pada simpul MyDC dengan jumlah maksimum 30 percobaan ulang, pada interval 15 detik, sebelum simpul target dapat bergabung dengan domain.
Secara default, sumber daya WaitForXXX coba satu kali lalu gagal. Meskipun tidak diperlukan, Anda biasanya ingin menentukan RetryCount dan RetryIntervalSec.
Configuration JoinDomain
{
Import-DSCResource -ModuleName xComputerManagement, xActiveDirectory
Node myDC
{
WindowsFeature InstallAD
{
Ensure = 'Present'
Name = 'AD-Domain-Services'
}
xADDomain NewDomain
{
DomainName = 'Contoso.com'
DomainAdministratorCredential = (Get-Credential)
SafemodeAdministratorPassword = (Get-Credential)
DatabasePath = "C:\Windows\NTDS"
LogPath = "C:\Windows\NTDS"
SysvolPath = "C:\Windows\Sysvol"
}
}
Node myDomainJoinedServer
{
WaitForAll DC
{
ResourceName = '[xADDomain]NewDomain'
NodeName = 'MyDC'
RetryIntervalSec = 15
RetryCount = 30
}
xComputer JoinDomain
{
Name = 'myPC'
DomainName = 'Contoso.com'
Credential = (Get-Credential)
DependsOn ='[WaitForAll]DC'
}
}
}
Saat Anda mengkompilasi Konfigurasi, dua file ".mof" dihasilkan. Terapkan kedua file ".mof" ke Simpul target menggunakan cmdlet Start-DSCConfiguration
Catatan
Sumber daya WaitForXXX menggunakan Manajemen Jarak Jauh Windows untuk memeriksa status Simpul lain. Untuk informasi selengkapnya tentang persyaratan port dan keamanan untuk WinRM, lihat Pertimbangan Keamanan Jarak Jauh PowerShell.
Lihat juga
Saran dan Komentar
https://aka.ms/ContentUserFeedback.
Segera hadir: Sepanjang tahun 2024 kami akan menghentikan penggunaan GitHub Issues sebagai mekanisme umpan balik untuk konten dan menggantinya dengan sistem umpan balik baru. Untuk mengetahui informasi selengkapnya, lihat:Kirim dan lihat umpan balik untuk