如何同时运行多个Powershell脚本?

如何同时运行多个Powershell脚本?,powershell,Powershell,所以我有两个.ps1脚本,每60秒检查一次新任务,我想同时运行它们。我每天都使用它们,开始使用它们会有点烦人。 理想情况下,我想写一个脚本,我可以运行,运行这两个为我 问题是,由于它们不会在某个点停止,我不能一个接一个地启动它们,也找不到打开新PS ISE实例的命令。但是,一个实例不能同时运行两个脚本。Ctrl+T选项将是完美的,但我找不到等效的命令 有人知道如何解决这个问题吗? 谢谢 如果您有Powershell 3.0+您可以使用工作流。它们与函数类似,但具有可以并行运行命令的优点 因此,您

所以我有两个.ps1脚本,每60秒检查一次新任务,我想同时运行它们。我每天都使用它们,开始使用它们会有点烦人。 理想情况下,我想写一个脚本,我可以运行,运行这两个为我

问题是,由于它们不会在某个点停止,我不能一个接一个地启动它们,也找不到打开新PS ISE实例的命令。但是,一个实例不能同时运行两个脚本。Ctrl+T选项将是完美的,但我找不到等效的命令

有人知道如何解决这个问题吗?
谢谢

如果您有Powershell 3.0+您可以使用
工作流
。它们与函数类似,但具有可以并行运行命令的优点

因此,您的工作流程如下所示:

workflow RunScripts {
    parallel {
        InlineScript { C:\myscript.ps1 }   
        InlineScript { C:\myotherscript.ps1 }
    }
}
请记住,工作流的行为类似于函数。因此,需要首先将其加载到缓存中,然后通过运行
RunScripts
命令来调用它

更多信息:
我想你想要的是

Start-Process Powershell.exe -Argumentlist "-file C:\myscript.ps1"
Start-Process Powershell.exe -Argumentlist "-file C:\myscript2.ps1"

除此之外:在脚本中使用
导入模块$Modulepath
,以确保模块的可用性。

使用CTRL+T在powershell ISE中创建一个新的powershell实例(创建了一个选项卡,我相信它被称为powershell 2)


现在,您可以从新的Powershell选项卡打开第二个Powershell脚本,并将其放在其他Powershell选项卡中运行的脚本旁边运行。

是否需要在ISE中运行这两个脚本?如果是:为什么?是的,因为它们都加载本地模块…您可以在没有ISE的情况下加载模块。但是,应该提到的是,并非所有cmdlet都在工作流中受支持,弄清楚为什么脚本在工作流中不能按预期工作可能是一件非常痛苦的事情*。尽管如此,工作流还是很棒的,但是如果其中的代码是按照“应该在工作流中运行”的思想开发的,那么就更有趣了。