Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować się zalogować lub zmienić katalog.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Dotyczy: Windows PowerShell 5.0
DSC udostępnia specjalne zasoby, WaitForAll, WaitForAny i WaitForSome , które mogą być używane w konfiguracjach do określania zależności od konfiguracji w innych węzłach. Zachowanie tych zasobów jest następujące:
- WaitForAll: powodzenie się, jeśli określony zasób jest w żądanym stanie we wszystkich węzłach docelowych zdefiniowanych we właściwości NodeName .
- WaitForAny: powodzenie się, jeśli określony zasób jest w żądanym stanie w co najmniej jednym z węzłów docelowych zdefiniowanych we właściwości NodeName .
- WaitForSome: określa właściwość NodeCount oprócz właściwości NodeName . Zasób zakończy się pomyślnie, jeśli zasób jest w żądanym stanie na minimalnej liczbie węzłów (określonej przez NodeCount) zdefiniowanej przez właściwość NodeName .
Składnia
Zasoby WaitForAll i WaitForAny mają tę samą składnię. Zamień <ResourceType> w poniższym przykładzie na WaitForAny lub WaitForAll. Podobnie jak w przypadku słowa kluczowego DependsOn , należy sformatować nazwę jako [ResourceType]ResourceName. Jeśli zasób należy do oddzielnej konfiguracji, dołącz ConfigurationName w sformatowanym ciągu [ResourceType]ResourceName::[ConfigurationName]::[ConfigurationName].
NazwaWęzła to komputer lub węzeł, na którym powinien oczekiwać bieżący zasób.
<ResourceType> [string] #ResourceName
{
ResourceName = [string]
NodeName = [string]
[ DependsOn = [string[]] ]
[ PsDscRunAsCredential = [PSCredential]]
[ RetryCount = [Uint32] ]
[ RetryIntervalSec = [Uint64] ]
[ ThrottleLimit = [Uint32]]
}
Zasób WaitForSome ma podobną składnię do powyższego przykładu, ale dodaje klucz NodeCount. NodeCount wskazuje, na ile węzłów powinien czekać bieżący zasób.
WaitForSome [String] #ResourceName
{
NodeCount = [UInt32]
NodeName = [string[]]
ResourceName = [string]
[DependsOn = [string[]]]
[PsDscRunAsCredential = [PSCredential]]
[RetryCount = [UInt32]]
[RetryIntervalSec = [UInt64]]
[ThrottleLimit = [UInt32]]
}
Wszystkie WaitForXXXX współużytkują następujące klucze składni.
| Majątek | Description |
|---|---|
| RetryIntervalSec | Liczba sekund przed ponowieniem próby. Wartość minimalna to 1. |
| RetryCount | Maksymalna liczba ponownych prób. |
| Limit przepustnicy | Liczba maszyn do jednoczesnego podłączenia. Wartość domyślna to New-CimSession wartość domyślna. |
| ZależyOn | Wskazuje, że konfiguracja innego zasobu musi zostać uruchomiona przed skonfigurowaniem tego zasobu. Aby uzyskać więcej informacji, zobacz DependsOn |
| PsDscRunAsCredential | Zobacz Korzystanie z DSC z poświadczeniami użytkownika |
Korzystanie z zasobów WaitForXXXX
Każdy zasób WaitForXXXX czeka na zakończenie określonych zasobów w określonym węźle. Inne zasoby w tej samej konfiguracji mogą następnie zależeć od zasobu WaitForXXXX przy użyciu klucza DependsOn .
Na przykład w poniższej konfiguracji węzeł docelowy czeka na zakończenie zasobu xADDomain w węźle MyDC z maksymalną liczbą 30 ponownych prób w odstępach 15-sekundowych, zanim węzeł docelowy będzie mógł dołączyć do domeny.
Domyślnie zasoby WaitForXXX próbują jeden raz, a następnie kończą się niepowodzeniem. Chociaż nie jest to wymagane, zazwyczaj należy określić RetryCount i 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'
}
}
}
Podczas kompilowania konfiguracji generowane są dwa pliki ".mof". Zastosuj oba pliki ".mof" do węzłów docelowych przy użyciu polecenia cmdlet Start-DSCConfiguration
Uwaga / Notatka
Zasoby WaitForXXX używają zdalnego zarządzania systemem Windows do sprawdzania stanu innych węzłów. Aby uzyskać więcej informacji na temat wymagań dotyczących portów i zabezpieczeń dla usługi WinRM, zobacz Zagadnienia dotyczące zabezpieczeń komunikacji zdalnej programu PowerShell.