Creazione di un flusso di lavoro usando uno script di Windows PowerShell

È possibile creare un flusso di lavoro scrivendo uno script Windows PowerShell. Per creare un flusso di lavoro, usare la parola chiave del flusso di lavoro seguita da un nome per il flusso di lavoro prima del corpo dello script. Ad esempio:


workflow Invoke-HelloWorld {"Hello World from workflow"}

Il flusso di lavoro viene trovato nello stesso modo in cui si farebbe qualsiasi altro comando Windows PowerShell.

Implementazione di parallel e sequenza

Windows Workflow Foundation supporta l'esecuzione di attività in parallelo. Per implementare questa funzionalità in uno script di Windows PowerShell, usare la parallel parola chiave davanti a un blocco di script. È anche possibile utilizzare la foreach -parallel costruzione per scorrere una raccolta di oggetti in parallelo. Per eseguire un gruppo di attività in ordine sequenziale all'interno di un blocco parallelo, racchiudere tale gruppo di attività in un blocco di script e precedere il blocco con la parola chiave sequence.

Aggiunta di computer a un dominio

Lo script seguente crea un flusso di lavoro che controlla lo stato del dominio di un gruppo di computer specificati dall'utente, li aggiunge a un dominio se non sono già stati aggiunti e quindi controlla nuovamente lo stato. Si tratta di una versione script del flusso di lavoro XAML illustrata in Creazione di un flusso di lavoro con attività Windows PowerShell.

workflow Join-Domain
{
    param([string[]] $ComputerName, [PSCredential] $DomainCred, [PsCredential] $MachineCred)

    foreach -parallel($Computer in $ComputerName)
    {
        sequence {
        Get-WmiObject -PSComputerName $Computer -PSCredential $MachineCred
        Add-Computer -PSComputerName $Computer -PSCredential $DomainCred
        Restart-Computer -ComputerName $Computer -Credential $MachineCred -For PowerShell -Force -Wait -PSComputerName ""
        Get-WmiObject -PSComputerName $Computer -PSCredential $MachineCred
        }
    }
}