Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Platí pro: Windows PowerShell 5.0
DSC poskytuje speciální prostředky WaitForAll, WaitForAny a WaitForSome , které lze použít v konfiguracích k určení závislostí na konfiguracích na jiných uzlech. Chování těchto prostředků je následující:
- WaitForAll: Je úspěšný, pokud je zadaný prostředek v požadovaném stavu na všech cílových uzlech definovaných ve vlastnosti NodeName .
- WaitForAny: Je úspěšná, pokud je zadaný prostředek v požadovaném stavu alespoň na jednom z cílových uzlů definovaných ve vlastnosti NodeName .
- WaitForSome: Kromě vlastnosti NodeName určuje vlastnost NodeCount. Prostředek je úspěšný, pokud je prostředek v požadovaném stavu na minimálním počtu uzlů (určených parametrem NodeCount) definovaných vlastností NodeName .
Syntaxe
Prostředky WaitForAll a WaitForAny sdílejí stejnou syntaxi. V následujícím příkladu nahraďte <ResourceType>buď WaitForAny , nebo WaitForAll. Podobně jako klíčové slovo DependsOn budete muset název naformátovat jako [ResourceType]ResourceName. Pokud prostředek patří do samostatné konfigurace, zahrňte do formátovaného řetězce [ResourceType]ResourceName::[ConfigurationName]::[ConfigurationName]název konfigurace.
NodeName je počítač nebo uzel, na kterém má aktuální prostředek čekat.
<ResourceType> [string] #ResourceName
{
ResourceName = [string]
NodeName = [string]
[ DependsOn = [string[]] ]
[ PsDscRunAsCredential = [PSCredential]]
[ RetryCount = [Uint32] ]
[ RetryIntervalSec = [Uint64] ]
[ ThrottleLimit = [Uint32]]
}
Prostředek WaitForSome má podobnou syntaxi jako výše uvedený příklad, ale přidává klíč NodeCount. NodeCount označuje, na kolik uzlů má aktuální prostředek čekat.
WaitForSome [String] #ResourceName
{
NodeCount = [UInt32]
NodeName = [string[]]
ResourceName = [string]
[DependsOn = [string[]]]
[PsDscRunAsCredential = [PSCredential]]
[RetryCount = [UInt32]]
[RetryIntervalSec = [UInt64]]
[ThrottleLimit = [UInt32]]
}
Všechny WaitForXXXX sdílejí následující klíče syntaxe.
| Vlastnictví | Description |
|---|---|
| IntervalSec opakování | Počet sekund před opakováním pokusu. Minimum je 1. |
| RetryCount | Maximální počet opakování pokusu. |
| Omezení omezení plynu | Počet strojů, které se mají připojit současně. Výchozí je New-CimSession výchozí. |
| Závisí na | Označuje, že před konfigurací tohoto prostředku musí být spuštěna konfigurace jiného prostředku. Další informace naleznete v tématu DependsOn |
| PsDscRunAsCredential | Viz Použití DSC s přihlašovacími údaji uživatele. |
Použití prostředků WaitForXXXX
Každý prostředek WaitForXXXX čeká na dokončení zadaných prostředků na určeném uzlu. Další prostředky ve stejné konfiguraci pak mohou záviset na prostředku WaitForXXXX pomocí klíče DependsOn .
Například v následující konfiguraci cílový uzel čeká na dokončení prostředku xADDomain na uzlu MyDC s maximálním počtem 30 opakování v 15sekundových intervalech, než se cílový uzel může připojit k doméně.
Ve výchozím nastavení se prostředky WaitForXXX pokusí o to jednou a pak selžou. I když to není nutné, obvykle budete chtít zadat RetryCount a 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'
}
}
}
Při kompilaci Konfigurace jsou vygenerovány dva soubory ".mof". Použijte oba soubory ".mof" na cílové uzly pomocí rutiny Start-DSCConfiguration
Poznámka:
Prostředky WaitForXXX používají Vzdálenou správu systému Windows ke kontrole stavu ostatních uzlů. Další informace o požadavcích na port a zabezpečení pro WinRM najdete v tématu Důležité informace o zabezpečení vzdálené komunikace PowerShellu.