Especificando dependências de nó cruzadoSpecifying cross-node dependencies

Aplica-se a: Windows PowerShell 5.0Applies To: Windows PowerShell 5.0

O DSC fornece recursos especiais, WaitForAll, WaitForAny, e WaitForSome que podem ser usados em configurações para especificar dependências em configurações em outros nós.DSC provides special resources, WaitForAll, WaitForAny, and WaitForSome that can be used in configurations to specify dependencies on configurations on other nodes. O comportamento desses recursos é o seguinte:The behavior of these resources is as follows:

  • WaitForAll: terá êxito se o recurso especificado estiver no estado desejado em todos os nós de destino definidos na propriedade NodeName.WaitForAll: Succeeds if the specified resource is in the desired state on all target nodes defined in the NodeName property.
  • WaitForAny: terá êxito se o recurso especificado estiver no estado desejado em pelo menos um dos nós de destino definidos na propriedade NodeName.WaitForAny: Succeeds if the specified resource is in the desired state on at least one of the target nodes defined in the NodeName property.
  • WaitForSome: especifica uma propriedade NodeCount além de uma propriedade NodeName.WaitForSome: Specifies a NodeCount property in addition to a NodeName property. O recurso terá êxito se estiver no estado desejado em um número mínimo de nós (especificado por NodeCount) definido pela propriedade NodeName.The resource succeeds if the resource is in the desired state on a minimum number of nodes (specified by NodeCount) defined by the NodeName property.

Usando os recursos WaitForXXXXUsing WaitForXXXX resources

Para usar os recursos WaitForXXXX, você cria um bloco de recursos desse tipo de recurso que especifica o recurso DSC e os nós a serem esperados.To use the WaitForXXXX resources, you create a resource block of that resource type that specifies the DSC resource and node(s) to wait for. Em seguida, use a propriedade DependsOn em quaisquer outros blocos de recursos em sua configuração para aguardar que as condições especificadas no nó WaitForXXXX sejam bem-sucedidas.You then use the DependsOn property in any other resource blocks in your configuration to wait for the conditions specified in the WaitForXXXX node to succeed.

Por exemplo, na configuração a seguir, o nó de destino aguarda que o recurso xADDomain seja concluído no nó MyDC com um número máximo de 30 novas tentativas, em intervalos de 15 segundos, antes que o nó de destino possa se unir ao domínio.For example, in the following configuration, the target node is waiting for the xADDomain resource to finish on the MyDC node with maximum number of 30 retries, at 15-second intervals, before the target node can join the domain.

Configuration JoinDomain

{
    Import-DscResource -Module xComputerManagement, xActiveDirectory

    Node myPC
    {
        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'
        }
    }
}

Observação: por padrão, os recursos WaitForXXX tentam uma vez e, em seguida, falham.Note: By default the WaitForXXX resources try one time and then fail. Embora não seja obrigatório, você geralmente deve especificar um intervalo de repetição e uma contagem.Although it is not required, you will typically want to specify a retry interval and count.

Consulte TambémSee Also