并行和序列执行如何在PowerShell工作流中工作?

PowerShell工作流是设计脚本以在多个节点上并行执行的最佳方法,这样可以节省大量时间来生成输出,但是我们始终不希望并行运行所有命令,但还需要其中一些命令按顺序运行,并且我们可以使用PowerShell Workflow设计Parallel和Sequence命令。

Workflow TestWorkflow{
   parallel{
      Command1
      Command2
   }
   Sequence{
      Command3
      Command4
   }
}

TestWorkflow

在上面的代码中,Command1,Command2将以任意顺序并行执行,而Command3和Command4将以串行方式执行,因为它们位于序列块内部,如以下示例所示。

示例

Workflow TestWorkflow{
   parallel{
      Get-CimInstance Win32_LogicalDisk
      Get-CimInstance Win32_BIOS
   }
   sequence{
      Get-Service WinRM
      Get-Process Notepad++
   }
}

TestWorkFlow
输出结果
TestWorkFlow

SMBIOSBIOSVersion : F.13
Manufacturer     : AMI
Name : F.13
SerialNumber : 5CD015JY8D
Version : HPQOEM - 1072009
PSComputerName :

DeviceID : C:
DriveType : 3
ProviderName :
FreeSpace : 219602677760
Size : 511123124224
VolumeName : OSDisk
PSComputerName :

Status : Running
Name : WinRM
DisplayName : Windows Remote Management (WS-Management)
PSComputerName : localhost

Id : 676
Handles : 738
CPU : 15.875
Name : notepad++
PSComputerName : localhost

猜你喜欢