并行和序列执行如何在PowerShell工作流中工作?
PowerShell工作流是设计脚本以在多个节点上并行执行的最佳方法,这样可以节省大量时间来生成输出,但是我们始终不希望并行运行所有命令,但还需要其中一些命令按顺序运行,并且我们可以使用PowerShellWorkflow设计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