使用 Windows PowerShell 脚本创建工作流
可以通过编写Windows PowerShell脚本来创建工作流。 若要创建工作流,请在脚本正文之前使用工作流关键字后跟工作流的名称。 例如:
workflow Invoke-HelloWorld {"Hello World from workflow"}
以与任何其他Windows PowerShell命令相同的方式找到工作流。
实现并行和序列
Windows Workflow Foundation 支持并行执行活动。 若要在Windows PowerShell脚本中实现此功能,请使用parallel
脚本块前面的关键字。 还可以使用构造 foreach -parallel
并行循环访问对象的集合。 若要在并行块中按顺序执行一组活动,请将该组活动括在脚本块中,并在块前面加上序列关键字。
将计算机加入域
以下脚本创建一个工作流,用于检查一组用户指定的计算机的域状态,如果尚未加入域,则将其加入域,然后再次检查状态。 这是使用Windows PowerShell活动创建工作流中所述的 XAML 工作流的脚本版本。
workflow Join-Domain
{
param([string[]] $ComputerName, [PSCredential] $DomainCred, [PsCredential] $MachineCred)
foreach -parallel($Computer in $ComputerName)
{
sequence {
Get-WmiObject -PSComputerName $Computer -PSCredential $MachineCred
Add-Computer -PSComputerName $Computer -PSCredential $DomainCred
Restart-Computer -ComputerName $Computer -Credential $MachineCred -For PowerShell -Force -Wait -PSComputerName ""
Get-WmiObject -PSComputerName $Computer -PSCredential $MachineCred
}
}
}