Powershell工作流的限制

本文摘自微软博客,探讨了PowerShell工作流的限制,如在workflow中不能直接使用变量$a,以及一些仅限本地执行的cmdlets。提到了可以使用about_系列帮助命令了解更多工作流相关参数和操作。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

以下信息是从微软的博客摘抄的:


下面举例子说明下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 

 

If you want to use them remotely—you’ve guessed it—use an InlineScript.

可以通过以下方法来查找更多帮助

about_ActivityCommonParameters

about_Checkpoint-Workflow

about_Foreach-Parallel

about_InlineScript

about_Parallel

about_Sequence

about_Suspend-Workflow

about_WorkflowCommonParameters

about_Workflows


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值