创建具有 Windows PowerShell 活动的工作流

可以通过从 Visual Studio 工具箱中选择活动并将其拖到工作流设计器窗口来创建Windows PowerShell工作流。 有关将Windows PowerShell活动添加到 Visual Studio 工具箱的信息,请参阅向 Visual Studio 工具箱添加Windows PowerShell活动

以下过程介绍如何创建一个工作流,该工作流检查一组用户指定的计算机的域状态,如果尚未加入域,则将其加入域,然后再次检查状态。

设置项目

  1. 按照将Windows PowerShell活动添加到 Visual Studio 工具箱中的过程创建工作流项目,并将 Microsoft.Powershell.Activities 和Microsoft.Powershell.Management.Activities 程序集中的活动添加到工具箱。

  2. 将 System.Management.Automation、Microsoft.PowerShell.Activities、System.Management、Microsoft.PowerShell.Management.Activities 和 Microsoft.PowerShell.Commands.Management 作为引用程序集添加到项目。

将活动添加到工作流

  1. 向工作流添加 序列 活动。

  2. 创建一 ComputerName 个名为参数类型的 String[]参数。 此参数表示要检查和联接的计算机的名称。

  3. 创建名为 DomainCredSystem.Management.Automation.PSCredential 类型的参数。 此参数表示有权将计算机加入域的域帐户的域凭据。

  4. 创建名为 MachineCredSystem.Management.Automation.PSCredential 类型的参数。 此参数表示计算机上要检查和加入的管理员的凭据。

  5. Sequence 活动中添加 ParallelForEach 活动。 在文本框中输入 comp 并在 ComputerName 文本框中循环访问数组的 ComputerName 元素。

  6. Sequence 活动添加到 ParallelForEach 活动的正文。 将序列的 DisplayName 属性设置为 JoinDomain.

  7. GetWmiObject 活动添加到 JoinDomain 序列。

  8. 按如下所示编辑 GetWmiObject 活动的属性。

    属性
    “Win32_ComputerSystem”
    PSComputerName {comp}
    PSCredential MachineCred
  9. AddComputer 活动添加到 GetWmiObject 活动之后的 JoinDomain 序列。

  10. 按如下所示编辑 AddComputer 活动的属性。

    属性
    计算机名 {comp}
    DomainCredential DomainCred
  11. RestartComputer 活动添加到 AddComputer 活动之后的 JoinDomain 序列。

  12. 按如下所示编辑 RestartComputer 活动的属性。

    属性
    计算机名 {comp}
    凭据 MachineCred
    对于 Microsoft.PowerShell.Commands.WaitForServiceTypes.PowerShell
    Force True
    Wait True
    PSComputerName {""}
  13. RestartComputer 活动之后,将 GetWmiObject 活动添加到 JoinDomain 序列。 编辑其属性,使其与以前的 GetWmiObject 活动相同。

    完成过程后,工作流设计窗口应如下所示。

    工作流设计器 JoinDomainWorkflow 中工作流设计器 JoinDomain XAML 中的 JoinDomain XAML