以下信息是从微软的博客摘抄的:
下面举例子说明下switch的使用
workflow switchtest {
param (
[string]$os
)
switch ($os) {
"XP" {"Time to upgrade"}
"Windows7" {"OK – but not the lastest"}
"Windows 8" {"Latest and greatest"}
}
}
然而,报错了,说Windows PowerShell 工作流中不支持不区分大小写的 switch 语句,那么我们来改一下句子
我们继续修改
workflow switchtest {
param (
[string]$os
)
InlineScript {
switch ($using:os) {
"XP" {"Time to upgrade"}
"Windows7" {"OK – but not the lastest"}
"Windows 8" {"Latest and greatest"}
}
}
}
继续来看看还有那些限制,依旧是摘抄微软博客的。
继续看看例子
重点请关注$Using:a,不能再像在powershell脚本中直接使用$a,这在workflow里面是不生效的。
继续从微软博客摘抄以下内容:
Unsupported cmdlet (group)
|
Reason |
*Alias, *FormatData, *History, *Location, *PSDrive, *Transcript, *TypeDate, *Variable, Connect/Disconnect-Wsman |
Only change Windows PowerShell session so not needed in workflow |
Show-Command, Show-ControlPanelItem, Get-Credential, Show-EventLog, Out-Gridview, Read-Host, Debug-Process |
Workflows don’t support interactive cmdlets |
*BreakPoint, Get-PSCallStack, Set-PSDebug |
Workflows don’t support script debugging |
*Transaction |
Workflows don’t support transactions |
Format* |
No formatting support |
*PSsession, *PSsessionoption |
Remoting controlled by workflow |
Export-Console,Get-ControlPanelItem, Out-Default, Out-Null, Write-Host, Export-ModuleMember, Add-PSSnapin, Get-PSSnapin, Remove-PSSnapin, Trace-Command |
|
There are a number of cmdlets that are local execution only in workflows.
Add-Member
|
Compare-Object |
ConvertFrom-Csv |
ConvertFrom-Json |
ConvertFrom-StringData |
Convert-Path |
ConvertTo-Csv |
ConvertTo-Html |
ConvertTo-Json |
ConvertTo-Xml |
ForEach-Object |
Get-Host |
Get-Member |
Get-Random |
Get-Unique |
Group-Object |
Measure-Command |
Measure-Object |
New-PSSessionOption |
New-PSTransportOption |
New-TimeSpan |
Out-Default |
Out-Host |
Out-Null |
Out-String |
Select-Object |
Sort-Object |
Update-List |
Where-Object |
Write-Debug |
Write-Error |
Write-Host |
Write-Output |
Write-Progress |
Write-Verbose |
|
可以通过以下方法来查找更多帮助
about_ActivityCommonParameters
about_Checkpoint-Workflow
about_Foreach-Parallel
about_InlineScript
about_Parallel
about_Sequence
about_Suspend-Workflow
about_WorkflowCommonParameters
about_Workflows