什么是PowerShell工作流?

PowerShell工作流基于基于.Net的Windows Workflow Foundation(WWF)构建,并且具有用于执行代码的单独的工作流引擎,因为它可以将代码转换为WWF框架的XAML。

PowerShell工作流是一系列步骤,主要用于

  • 在多台计算机上并行运行活动。

  • 长时间运行的脚本。

  • 结构化步骤(哪些步骤将并行执行,并按顺序执行)

  • 经常使用的任务。

  • 通过定义检查点,从由于系统故障或任何其他中断而终止脚本的位置恢复该脚本。

PowerShell工作流是在PowerShell 3.0中引入的,在Core版本(6.0及更高版本)中不再适用于Windows,仅在PowerShell框架版本中受支持。PowerShell工作流被认为是Microsoft Azure Runbook的基础,并且是设计Runbook步骤的必要条件。

此方法的缺点是,并非工作流中支持所有cmdlet,您可以检查MS链接以查找PowerShell工作流和脚本之间的区别。

https://docs.microsoft.com/zh-cn/previous-versions/windows/it-pro/windows-server-2012-R2-and-2012/jj574140(v=ws.11)

PowerShell工作流的定义与PowerShell函数相同,但是使用“ Workflow ”关键字,并且只能使用其名称来调用,就像PowerShell函数一样。

Workflow TestWF{
   Write-Output "First PS Workflow"
}

输出-

PS C:\WINDOWS\system32> TestWF
First PS Workflow

一旦执行TestWF工作流,它将为其创建XAML代码,您可以使用以下命令对其进行检查。

Get-Command TestWF | fl *