Erstellen eines Workflows mit Windows PowerShell-Aktivitäten

Sie können einen Windows PowerShell Workflow erstellen, indem Sie Aktivitäten aus der Visual Studio-Toolbox auswählen und sie in das Workflow-Designer-Fenster ziehen. Informationen zum Hinzufügen Windows PowerShell Aktivitäten zur Visual Studio-Toolbox finden Sie unter Hinzufügen Windows PowerShell Aktivitäten zur Visual Studio-Toolbox.

In den folgenden Verfahren wird beschrieben, wie Sie einen Workflow erstellen, der den Domänenstatus einer Gruppe von benutzerdefinierten Computern überprüft, sie einer Domäne beitritt, wenn sie noch nicht verbunden sind, und dann den Status erneut überprüft.

Einrichten des Projekts

  1. Befolgen Sie das Verfahren zum Hinzufügen von Windows PowerShell Aktivitäten zur Visual Studio-Toolbox, um ein Workflowprojekt zu erstellen und die Aktivitäten aus den Microsoft.Powershell.Activities und Microsoft.Powershell.Management.Activities-Assemblys der Toolbox hinzuzufügen.

  2. Fügen Sie System.Management.Automation, Microsoft.PowerShell.Activities, System.Management, Microsoft.PowerShell.Management.Activities und Microsoft.PowerShell.Commands.Management als Referenzassemblys hinzu.

Hinzufügen von Aktivitäten zum Workflow

  1. Fügen Sie dem Workflow eine Sequenzaktivität hinzu.

  2. Erstellen Sie ein Argument namens ComputerName mit einem Argumenttyp von String[]. Dieses Argument stellt die Namen der Computer dar, die überprüft und verknüpft werden sollen.

  3. Erstellen Sie ein Argument namens DomainCred " System.Management.Automation.PSCredential". Dieses Argument stellt die Domänenanmeldeinformationen eines Domänenkontos dar, das autorisiert ist, einem Computer zur Domäne beizutreten.

  4. Erstellen Sie ein Argument namens MachineCred " System.Management.Automation.PSCredential". Dieses Argument stellt die Anmeldeinformationen eines Administrators auf den Computern dar, um sie zu überprüfen und zu verknüpfen.

  5. Fügen Sie eine ParallelForEach-Aktivität innerhalb der Sequenzaktivität hinzu. Geben Sie die Textfelder ein comp , ComputerName sodass die Schleife die Elemente des ComputerName Arrays durchläuft.

  6. Fügen Sie dem Textkörper der ParallelForEach-Aktivität eine Sequenzaktivität hinzu. Legen Sie die DisplayName-Eigenschaft der Sequenz auf JoinDomain.

  7. Fügen Sie der JoinDomain-Sequenz eine GetWmiObject-Aktivität hinzu.

  8. Bearbeiten Sie die Eigenschaften der GetWmiObject-Aktivität wie folgt.

    Eigenschaft Wert
    Klasse "Win32_ComputerSystem"
    PSComputerName {comp}
    PSCredential MachineCred
  9. Fügen Sie der JoinDomain-Sequenz nach der GetWmiObject-Aktivität eine AddComputer-Aktivität hinzu.

  10. Bearbeiten Sie die Eigenschaften der AddComputer-Aktivität wie folgt.

    Eigenschaft Wert
    Computername {comp}
    DomainCredential DomainCred
  11. Fügen Sie der JoinDomain-Sequenz nach der AddComputer-Aktivität eine RestartComputer-Aktivität hinzu.

  12. Bearbeiten Sie die Eigenschaften der NeustartComputer-Aktivität wie folgt.

    Eigenschaft Wert
    Computername {comp}
    Credential MachineCred
    For Microsoft.PowerShell.Commands.WaitForServiceTypes.PowerShell
    Force True
    Warten True
    PSComputerName {""}
  13. Fügen Sie der JoinDomain-Sequenz nach der NeustartComputer-Aktivität eine GetWmiObject-Aktivität hinzu. Bearbeiten Sie die Eigenschaften so, dass sie mit der vorherigen GetWmiObject-Aktivität identisch sind.

    Wenn Sie die Prozeduren abgeschlossen haben, sollte das Workflowentwurfsfenster wie folgt aussehen.

    JoinDomain XAML im Workflow-DesignerJoinDomain XAML im Workflow-Designer