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