问题标签 [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 投票
2 回答
3615 浏览

powershell - Powershell 并行作业输出文件

我已经做了很多研究,但仍然无法弄清楚如何完成我想做的事情。

我想在 100 台 Linux 服务器上并行执行相同的任务。

这是我的脚本的简化示例:

我遇到的问题是我想将某些消息(例如意外的 CPU 使用率)写入单独的文件,并且多个作业正在尝试同时写入该文件。

我的想法是将所有消息保存到一个数组中,并将脚本末尾的内容(第二个 foreach 循环)写入文件。

但 Receive-Job 不返回任何变量/对象。

有没有办法返回一个变量/对象?还是有另一种方法来实现我想做的事情?

我将不胜感激任何帮助。谢谢。

0 投票
1 回答
3625 浏览

powershell - Powershell Start-job 同步输出

我有一个启动工作的 powershell 脚本

然后它继续执行脚本的其余部分。

该工作是一种监视该进程的PID的工作。

我想每隔 n 秒同步打印一次 PID,而不必结束工作。

例如,当脚本的其余部分正在执行时,我想在我的控制台中看到输出。

在powershell中可能有类似的东西吗?

谢谢。

0 投票
1 回答
1795 浏览

powershell - 从 powershell 脚本中运行 powershell 脚本

我有一个 perl 脚本 perl1.pl。在 perl 脚本中,我调用了一个 powershell 脚本 script1.ps1。在 script.ps1 中,我使用局部变量作为参数调用其他脚本,例如 script2.ps1。我准备了一个powershell脚本script3.ps1。我想从 script1.ps1 与 script2.ps1 并行运行 script3.ps1。我需要传递 sample_script2.ps1 运行的相同参数(局部变量作为参数)。首先需要调用 script3,然后调用 script2。

我试过 powershel.exe 如下

C:..\powershell.exe -FilePath script3.ps1 $a,$b,$c

我已经包含了绕过,执行策略。$a $b $c 是局部变量。但似乎发生的是命令行打开(因为它是我们的脚本被调用的方式)并开始执行 script1.ps1 以及何时上面提到的命令它会停止。我在上面的命令行中输入“exit”,然后 script2 启动。

我怎样才能实现相同的效果,即 script3.ps1 与 script2.ps1 的并行运行。

0 投票
1 回答
1668 浏览

powershell - Start-Job - 检查脚本块内 robocopy 的 $lastexicode

我正在尝试做一些简单的事情。

我想创建一个 robocopy 作业来启动副本并检查 $lastexitcode。

LOGMESSAGE 是我编写的一个函数,它将记录事件并在出现错误时发送邮件。

不知何故, $lastexitcode 值总是返回到 16 - 即使副本有效。此外,该函数未执行(它在脚本块之外工作)

有人知道我做错了什么吗?

任何帮助,将不胜感激。

谢谢 !

0 投票
2 回答
736 浏览

powershell - Start-Job cmdlet 删除传递的对象强制转换

Powershell 版本:3.0

各位编剧你好。我有一个问题,我似乎无法找到答案。

摘要:尝试开始工作时,脚本块参数正在删除 [System.Collections.Specialized.OrderedDictionary] 的演员表并将其替换为 [Hashtable] (也就是说,如果我不转换脚本块的参数)。我的场景示例如下:

当尝试将 OrderedDictionary 对象传递给其中包含键/值对的作业时,它就像传递一个具有比该对象类型预期的更多属性的对象:

我正在使用以下行来执行我的工作:

结果:

错误:无法处理参数“Params”的参数转换。无法创建“System.Collections.Specialized.OrderedDictionary”类型的对象。找不到 System.Collections.Specialized.OrderedDictionary 对象的 Param1 属性。可用的属性是: [Count ] 、 [IsReadOnly ] 、 [Keys ] 、 [Values ] 、 [IsFixedSize ] 、 [SyncRoot ] 、 [IsSynchronized ]

注意:当不传递键/值对时,强制转换仍然存在,并且对象可以很好地传递到脚本块(在参数列表中使用强制转换)。

谁能详细说明确切的原因或 Start-Job cmdlet 正在做什么?我只是用错了工作吗?这种对象类型不能在工作中使用吗?是因为它是一个系统对象吗?

0 投票
1 回答
3425 浏览

powershell - Powershell启动作业脚本块未执行

我有一些非常简单的代码,旨在将目录中的每个文件转换为 HTML。我的问题是,虽然为每个文件成功创建了一个作业,但脚本块永远不会运行。

我对powershell相当陌生,并且已经尝试过解决这个问题的方法,但似乎无法弄清楚。

0 投票
0 回答
967 浏览

powershell - Powershell 脚本 - 在启动作业脚本块中增加进度条

我对 powershell 很陌生(大约 1 周),我正在尝试为我们的帮助台创建一个工具来导入和导出打印机。该工具运行良好,除了在运行代码时表单冻结。

为了减轻冻结,我发现将其作为作业运行可以完成任务,但是我遇到了两个问题。

  1. 由于工作完成,我无法让进度条增加 1 步。
  2. 我无法将变量传递给它。(我对此并不担心,因为它有大量信息,我只需要弄清楚它的语法。如果你也能提供帮助,那就太好了。)

    /li>

我找到了解决方案。表单仍然冻结,但我可以在进度条上显示移动。这已经足够好了。

0 投票
1 回答
533 浏览

powershell - Powershell Start-Job 作业未完成

我在启动工作时遇到了一些困难,而且我很难找出问题所在。大多数(如果不是全部)工作都没有完成。下面的代码在没有作为工作开始时正常工作。

0 投票
1 回答
5672 浏览

powershell - Powershell Start-Jobs 节流

我在限制工作和“挂起”或“失败”的工作时遇到了麻烦。这基本上是我想要做的。

我想运行 5 个并发作业,很简单。

问题是当我查询没有响应的服务器时,作业挂起并且脚本永远不会结束。我已经尝试添加...

...在最后一个花括号之上,但所做的只是有效地将并发限制为一个线程,直到 20 秒过去,然后放弃挂起的工作去做其他工作。在那种情况下,整个脚本仍然没有完成。

只要我没有得到无响应的服务器,此代码就可以正常工作,无需节流和工作等待。

0 投票
1 回答
451 浏览

powershell - 我正在尝试远程访问服务器,运行驻留在该服务器上的脚本并捕获显示的信息并存储在本地文件中