Création d’un workflow avec des activités Windows PowerShell

Vous pouvez créer un flux de travail Windows PowerShell en sélectionnant des activités dans la boîte à outils Visual Studio et en les faisant glisser vers la fenêtre concepteur de flux de travail. Pour plus d’informations sur l’ajout d’activités Windows PowerShell à la boîte à outils Visual Studio, consultez Ajout d’activités Windows PowerShell à la boîte à outils Visual Studio.

Les procédures suivantes décrivent comment créer 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.

Configuration du projet

  1. Suivez la procédure d’ajout d’activités Windows PowerShell à la boîte à outils Visual Studio pour créer un projet de flux de travail et ajouter les activités à partir des assemblys Microsoft.Powershell.Activities et Microsoft.Powershell.Management.Activities à la boîte à outils.

  2. Ajoutez System.Management.Automation, Microsoft.PowerShell.Activities, System.Management, Microsoft.PowerShell.Management.Activities et Microsoft.PowerShell.Commands.Management en tant qu’assemblys de référence.

Ajout d’activités au flux de travail

  1. Ajoutez une activité de séquence au flux de travail.

  2. Créez un argument nommé ComputerName avec un type d’argument de String[]. Cet argument représente les noms des ordinateurs à vérifier et à joindre.

  3. Créez un argument nommé DomainCred de type System.Management.Automation.PSCredential. Cet argument représente les informations d’identification de domaine d’un compte de domaine autorisé à joindre un ordinateur au domaine.

  4. Créez un argument nommé MachineCred de type System.Management.Automation.PSCredential. Cet argument représente les informations d’identification d’un administrateur sur les ordinateurs à vérifier et à joindre.

  5. Ajoutez une activité ParallelForEach à l’intérieur de l’activité Sequence . Entrez comp et ComputerName dans les zones de texte afin que la boucle effectue une itération dans les éléments du ComputerName tableau.

  6. Ajoutez une activité sequence au corps de l’activité ParallelForEach . Définissez la propriété DisplayName de la séquence JoinDomainsur .

  7. Ajoutez une activité GetWmiObject à la séquence JoinDomain .

  8. Modifiez les propriétés de l’activité GetWmiObject comme suit.

    Propriété Valeur
    Classe « Win32_ComputerSystem »
    PSComputerName {comp}
    PSCredential MachineCred
  9. Ajoutez une activité AddComputer à la séquence JoinDomain après l’activité GetWmiObject .

  10. Modifiez les propriétés de l’activité AddComputer comme suit.

    Propriété Valeur
    ComputerName {comp}
    DomainCredential DomainCred
  11. Ajoutez une activité RestartComputer à la séquence JoinDomain après l’activité AddComputer .

  12. Modifiez les propriétés de l’activité RestartComputer comme suit.

    Propriété Valeur
    ComputerName {comp}
    Informations d'identification MachineCred
    Pour Microsoft.PowerShell.Commands.WaitForServiceTypes.PowerShell
    Force True
    Wait True
    PSComputerName {""}
  13. Ajoutez une activité GetWmiObject à la séquence JoinDomain après l’activité RestartComputer . Modifiez ses propriétés pour qu’elles soient identiques à l’activité GetWmiObject précédente.

    Une fois les procédures terminées, la fenêtre de conception de flux de travail doit ressembler à ceci.

    XAML JoinDomain dans le xaml du concepteur de flux de travailJoinDomain dans le concepteur de flux de travail