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
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.
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
Fügen Sie dem Workflow eine Sequenzaktivität hinzu.
Erstellen Sie ein Argument namens
ComputerName
mit einem Argumenttyp vonString[]
. Dieses Argument stellt die Namen der Computer dar, die überprüft und verknüpft werden sollen.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.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.Fügen Sie eine ParallelForEach-Aktivität innerhalb der Sequenzaktivität hinzu. Geben Sie die Textfelder ein
comp
,ComputerName
sodass die Schleife die Elemente desComputerName
Arrays durchläuft.Fügen Sie dem Textkörper der ParallelForEach-Aktivität eine Sequenzaktivität hinzu. Legen Sie die DisplayName-Eigenschaft der Sequenz auf
JoinDomain
.Fügen Sie der JoinDomain-Sequenz eine GetWmiObject-Aktivität hinzu.
Bearbeiten Sie die Eigenschaften der GetWmiObject-Aktivität wie folgt.
Eigenschaft Wert Klasse "Win32_ComputerSystem" PSComputerName {comp} PSCredential MachineCred Fügen Sie der JoinDomain-Sequenz nach der GetWmiObject-Aktivität eine AddComputer-Aktivität hinzu.
Bearbeiten Sie die Eigenschaften der AddComputer-Aktivität wie folgt.
Eigenschaft Wert Computername {comp} DomainCredential DomainCred Fügen Sie der JoinDomain-Sequenz nach der AddComputer-Aktivität eine RestartComputer-Aktivität hinzu.
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 {""} 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.