假设我有cmdlet1和cmdlet2,两者都是长时间运行的任务。通常我会有一个批处理文件按顺序调用两个cmdlet:
call powershell cmdlet1
call powershell cmdlet2
无论如何都要异步设置它们吗?
答案 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