Partager via


Création d’un workflow avec un script Windows PowerShell

Vous pouvez créer un flux de travail en écrivant un script Windows PowerShell. Pour créer un flux de travail, utilisez le mot clé de flux de travail suivi d’un nom pour le flux de travail avant le corps du script. Par exemple :


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

Vous trouvez le flux de travail de la même façon que vous le feriez pour toute autre commande Windows PowerShell.

Implémentation de parallèles et de séquences

Windows Workflow Foundation prend en charge l’exécution d’activités en parallèle. Pour implémenter cette fonctionnalité dans un script Windows PowerShell, utilisez le parallel mot clé devant un bloc de script. Vous pouvez également utiliser la foreach -parallel construction pour itérer via une collection d’objets en parallèle. Pour exécuter un groupe d’activités dans un ordre séquentiel dans un bloc parallèle, placez ce groupe d’activités dans un bloc de script et précèdez le bloc avec le mot clé de séquence.

Joindre des ordinateurs à un domaine

Le script suivant crée un flux de travail qui vérifie l’état du domaine d’un groupe d’ordinateurs spécifiés par l’utilisateur, les joint à un domaine s’ils ne sont pas déjà joints, puis vérifie à nouveau l’état. Il s’agit d’une version de script du flux de travail XAML expliquée dans Création d’un flux de travail avec des activités 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
        }
    }
}