【发布时间】:2020-05-04 23:01:40
【问题描述】:
我看到过有关并行或同时并行运行函数的不同帖子,但答案中的代码对我来说不太有效。我正在做修补自动化,我拥有的所有功能都可以单独工作,但由于我们使用 200 多台计算机,因此等待每个功能完成其批次的计算机有点违背了目的。我将代码放在一个脚本中,总而言之,其结构如下:
定义全局变量
$global:varN
定义子函数
函数子函数1()
函数子函数N()
定义主要功能
函数 InstallGoogleFunction($global:varN) {
$var1
$result1 = 子函数1
$resultN = 子函数N
}
函数安装VLCFunction($global:varN) {
“类似上面的代码”
}
函数 InstallAppFunction($global:varN) {
“类似上面的代码”
}
这些函数都将安装不同的应用程序/软件并将输出写入文件。唯一的问题是,如果不等待第一个功能完成,我似乎无法运行所有安装功能。我尝试了启动作业代码,但它执行并显示了一个类似输出的表格,但是在验证计算机时任务管理器上没有运行任何东西。有没有办法powershell可以同时运行这个安装功能?如果我不得不求助于一个接一个,我会以最少的时间或最少的计算机调用这些功能,他们需要安装的功能我会,但我只是希望有人更好地解释这是否可以完成.
【问题讨论】:
-
你的意思是说要在同一台机器上同时安装多个软件并行?
-
你的软件安装需要重启目标机器吗?
-
在多台远程机器上同时安装多个软件。无需重新启动其中任何一个。
-
要在多台远程机器上并行运行代码,请使用
Invoke-Command -
请format your code and sample input/output properly。顺便说一句:如果您使用的是全局变量,那么将它们声明为 参数 不仅没有意义,而且实际上也不起作用。
标签: function powershell parallel-processing automation powershell-remoting