是否可以异步调用powershell cmdlet?

时间:2009-09-08 05:44:07

标签: powershell asynchronous

假设我有cmdlet1和cmdlet2,两者都是长时间运行的任务。通常我会有一个批处理文件按顺序调用两个cmdlet:

call powershell cmdlet1
call powershell cmdlet2

无论如何都要异步设置它们吗?

3 个答案:

答案 0 :(得分:9)

如果您使用的是PowerShell 2,则可以使用后台作业。

来自帮助:

  

<强> about_Jobs

     
    

启动后台作业时,命令提示符将返回     立即,         即使工作需要很长时间才能完成。你可以继续         在工作运行期间,在会话中不间断地工作。

  

所以你可以使用

Start-Job -ScriptBlock { cmdlet1 }
Start-Job -ScriptBlock { cmdlet2 }

但是,即使在本地运行作业,也需要为远程处理配置PowerShell。

我也偶然发现了这个:

答案 1 :(得分:1)

如果您需要继续使用PowerShell v1,请查看是否可以使用PSEventing snap-in

答案 2 :(得分:0)

尝试:

cmd.exe /c call powershell cmdlet1
cmd.exe /c call powershell cmdlet2