问题标签 [start-job]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
910 浏览

multithreading - Powershell:接收作业中的意外结果

我试图更好地了解 powershell 如何处理作业。

这两篇文章都有很大帮助:

但是,使用以下示例脚本,我在调用 Receive-Job 时得到了意想不到的结果。我希望每一行都有一个结果,但有时我会看到每行有多个结果或额外的空白回车。关于如何只写出每个作业从控制台流入的信息的任何想法?

输出可以...

或者有时...

0 投票
3 回答
4213 浏览

powershell - 开始工作中无法识别的功能

我在模块 sysinfo.psm1 中创建了一个函数“Get-Uptime”并导入了该模块。

该功能在 Powershell 中运行良好。但是,每当我在 Start-job -scriptblock {Get-Uptime $servernae} 中使用 Get-Uptime 函数时,作业都会失败并出现以下错误

有人可以让我知道我错过了什么吗?我在网上搜索并找到了在脚本块中编写所有代码而不是使用函数的建议,但我尝试过并遇到了类似的错误。

谢谢你。

0 投票
1 回答
359 浏览

powershell - 如何对永远运行的 Start-job 脚本块进行故障排除?

我在对开始作业中使用的脚本块进行故障排除时遇到了困难。

基本上我想获得服务器的 WMI 属性。如果我从 Powershell 发出以下命令,它就可以工作。

但是,如果我在 start-job 的脚本块中运行该命令,该作业将永远运行。

非常感谢任何帮助或建议。

谢谢

0 投票
1 回答
5764 浏览

powershell - 在 PowerShell 中并行运行多个复制作业

我尝试使用 powershell 脚本加速我们的复制作业。

我遍历服务器列表并尝试为每个副本启动一个作业。

该脚本运行良好,但它在复制时停止,直到它到达下一个服务器。我认为新作业将在后台运行,并且脚本会迭代到下一个服务器。

知道为什么循环会在 robocopy 过程中停止吗?

提前谢谢了

斯特凡

0 投票
1 回答
8772 浏览

powershell - Start-Job 脚本块——如何使用参数调用 cmdlet?

我是 cmdlet 的新手,在Start-Job调用带有 cmdlet 的脚本块时遇到了问题,该脚本块带有参数。这是我到目前为止所拥有的:

当我运行参数为 null 或空且参数为 null 或空时,receive-job我看到错误。在任何情况下都不是这样。上面的代码片段是从两个 foreach 循环内部调用的:-ComputerName-InputObj

我试过-ArgumentList在调用我的脚本块时使用,但也没有运气。我确定我错过了什么?

0 投票
8 回答
206054 浏览

powershell - 使用脚本中的参数调用第二个脚本

我有一个脚本,它读取一个配置文件,该文件产生一组名称值对,我想将它们作为参数传递给第二个 PowerShell 脚本中的函数。

我不知道在设计时会在这个配置文件中放置什么参数,所以就在我需要调用第二个 PowerShell 脚本的时候,我基本上只有一个变量具有第二个脚本的路径,还有一个变量变量,它是要传递给路径变量中标识的脚本的参数数组。

因此,包含第二个脚本 ( $scriptPath) 路径的变量可能具有如下值:

包含参数 ( $argumentList) 的变量可能类似于:

如何使用 $argumentList 中的所有参数从这种事态中执行 script.ps1?

我希望从调用第一个脚本的控制台可以看到来自第二个脚本的任何写入主机命令。

我尝试过点源、Invoke-Command、Invoke-Expression 和 Start-Job,但我还没有找到不会产生错误的方法。

例如,我认为最简单的第一条路线是尝试 Start-Job,如下所示:

...但这失败并出现此错误:

...在这种情况下,“ConfigFilename”是第二个脚本定义的参数列表中的第一个参数,我的调用显然是试图将其值设置为“-ConfigFilename”,这显然是为了通过名称来识别参数,不设置它的值。

我错过了什么?

编辑:

好的,这是一个被调用脚本的模型,在一个名为 invokee.ps1 的文件中

...这是调用脚本的模型,在一个名为 invoker.ps1 的文件中:

当我运行invoker.ps1 时,这是我当前在第一次调用Invoke-Expression 时遇到的错误:

第二个调用工作得很好,但一个显着的区别是第一个版本使用的参数的路径中有空格,而第二个没有。我是否错误地处理了这些路径中存在的空格?

0 投票
2 回答
7314 浏览

powershell - 我可以将 PowerShell 'Start-Job' 设置为低优先级吗?

我想降低在 PowerShell 脚本中以Start-Job 开始的作业的优先级。这可能吗?

0 投票
2 回答
7982 浏览

powershell - PowerShell 作业队列

为列表中的每个服务器运行一个作业。我只希望一次运行 5 个作业。当作业完成时,它应该在列表中的下一个服务器上启动一个新作业。到目前为止,这是我所拥有的,但在前 5 个工作运行之后,我无法让它开始新工作:

0 投票
2 回答
738 浏览

powershell - 同步 PowerShell 后台作业

如果两个后台作业是从同一个会话开始的,其中一个如何确定另一个已经完成?最初我尝试过这样的事情:

当然它不起作用,因为$j2只获取了一个序列化的快照$j1(快照中的作业状态永远不会改变);此外,每个后台作业都有自己的作业存储库,因此$j对象在$j2.

作业可以通过互斥锁、文件系统(如果在同一台机器上)或数据库等进行同步,但我想知道 powershell 是否为此提供了任何远程处理友好的设施?

0 投票
2 回答
7460 浏览

powershell - PowerShell:开始作业,接收作业:无返回值

好的,这是我的脚本

我的问题是我期望 $A|Out-GridView 行能产生一些有意义的东西。但gridview甚至没有弹出。

所以如果我低头看这个剧本,我看不到任何刺眼的东西,但我希望有一双新的眼睛可以回顾......

此脚本的目的是能够在事件查看器中找到一组服务器的所有应用程序挂起 ID,并显示在一个漂亮的网格视图中......

如果我切断了开始工作和接受工作的业务,我可以看到网格视图,但我想让它运行得更快、更高效。

heeeeelp ;) 提前致谢!此外,我不知道如何将 Time 属性放入我的自定义对象中……如果您对此有提示,那也很棒。

更新脚本: