可以通过从 Visual Studio 工具箱中选择活动并将其拖到工作流设计器窗口来创建Windows PowerShell工作流。 有关将Windows PowerShell活动添加到 Visual Studio 工具箱的信息,请参阅向 Visual Studio 工具箱添加Windows PowerShell活动。
以下过程介绍如何创建一个工作流,该工作流检查一组用户指定的计算机的域状态,如果尚未加入域,则将其加入域,然后再次检查状态。
设置项目
按照将Windows PowerShell活动添加到 Visual Studio 工具箱中的过程创建工作流项目,并将 Microsoft.Powershell.Activities 和Microsoft.Powershell.Management.Activities 程序集中的活动添加到工具箱。
将 System.Management.Automation、Microsoft.PowerShell.Activities、System.Management、Microsoft.PowerShell.Management.Activities 和 Microsoft.PowerShell.Commands.Management 作为引用程序集添加到项目。
将活动添加到工作流
向工作流添加 序列 活动。
创建一
ComputerName个名为参数类型的String[]参数。 此参数表示要检查和联接的计算机的名称。创建名为
DomainCredSystem.Management.Automation.PSCredential 类型的参数。 此参数表示有权将计算机加入域的域帐户的域凭据。创建名为
MachineCredSystem.Management.Automation.PSCredential 类型的参数。 此参数表示计算机上要检查和加入的管理员的凭据。在 Sequence 活动中添加 ParallelForEach 活动。 在文本框中输入
comp并在ComputerName文本框中循环访问数组的ComputerName元素。将 Sequence 活动添加到 ParallelForEach 活动的正文。 将序列的 DisplayName 属性设置为
JoinDomain.将 GetWmiObject 活动添加到 JoinDomain 序列。
按如下所示编辑 GetWmiObject 活动的属性。
属性 值 类 “Win32_ComputerSystem” PSComputerName {comp} PSCredential MachineCred 将 AddComputer 活动添加到 GetWmiObject 活动之后的 JoinDomain 序列。
按如下所示编辑 AddComputer 活动的属性。
属性 值 计算机名 {comp} DomainCredential DomainCred 将 RestartComputer 活动添加到 AddComputer 活动之后的 JoinDomain 序列。
按如下所示编辑 RestartComputer 活动的属性。
属性 值 计算机名 {comp} 凭据 MachineCred 对于 Microsoft.PowerShell.Commands.WaitForServiceTypes.PowerShell Force True Wait True PSComputerName {""} 在 RestartComputer 活动之后,将 GetWmiObject 活动添加到 JoinDomain 序列。 编辑其属性,使其与以前的 GetWmiObject 活动相同。
完成过程后,工作流设计窗口应如下所示。