问题标签 [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.
powershell - PSSessionStateBroken 与计划任务中的 start-job -credential
下面的行在 Powershell 提示符下工作正常,但在计划任务中失败。
在 c:\temp\err.txt 中,Windows 2008R2 计划任务留下了一个面包屑:
...这将我们带到了这个 Microsoft 错误报告。该报告提到了使用 localhost 环回远程处理的解决方法,这听起来有点脏。我应该去那里吗?
有更好的解决方案吗?也许使用 *session cmdlet 或调用命令之一?计划任务的Start in
值已设置,但后台进程可能以某种不好的方式使用了一些变量,像这样?
–version 2
使用或使用-command "& {bigKlugeyScriptblock}"
语法调用 powershell.exe 还没有运气。
编辑:我试图避免创建一个新的域帐户来运行该任务。该任务不能domainUser
从 from运行$cred
,因为该帐户不应该具有 localhost 的权限。
powershell - 如何从 Start-Job 调用脚本中的 powershell 函数?
所以情况如下:我在脚本(.ps1)文件中有两个函数 DoWork 和 DisplayMessage。这是代码:
我正在创建 3 个后台作业(使用具有 3 个元素的 $array)并使用事件将消息从后台作业传递到主机。我希望powershell主机显示“处理开始”和“处理结束”1次,“开始工作”和“结束工作”各3次。但相反,我没有在控制台中显示“开始工作”/“结束工作”。
事件也被视为 powershell 中的作业,因此当我执行 Get-Job 时,我可以看到与事件作业相关的以下错误:
{术语“DisplayMessage”未被识别为 cmdlet、函数、脚本文件或可运行程序的名称。检查名称的拼写,或者如果包含路径,请验证路径是否正确,然后重试。}
我的问题:我们如何重用(或引用)在我调用 Start-Job 的同一脚本中定义的函数(在我的情况下为 DisplayMessage)?是否可以?我知道我们可以使用 -InitializationScript 将函数/模块传递给 Start-Job,但我不想编写两次 DisplayMessage 函数,一个在脚本中,另一个在 InitializationScript 中。
powershell - Powershell:并行运行多个作业并查看后台作业的流式传输结果
概述
希望调用一个接受参数的 Powershell 脚本,在后台运行每个作业,并向我显示详细的输出。
我遇到的问题
该脚本似乎正在运行,但我想通过在后台作业运行时流式传输结果来确定这一点。
代码
我目前看到的:
我想看到的:
我希望能够看到输出或将其存储在某处,以便我可以回顾以确保脚本运行并查看哪些服务器重新启动等。
结论:
过去,我运行脚本,它一次更新一个服务器,并给了我想要的输出,但是当我开始做更多服务器时 - 这个任务花费了太长时间,这就是我尝试使用后台的原因带有“开始工作”的工作。
谁能帮我解决这个问题,好吗?
powershell - start-job 并行运行命令并在结果到达时输出
我试图在服务器列表上获取特定的 KBXXXXXX 存在,但是一旦我的脚本在一台服务器上,它需要时间并返回结果并返回然后移动到下一个。这个脚本对我来说非常好。我希望我的脚本作为作业和其他进程启动并获取修补程序,只是为了收集结果并显示它们。
它的目标是使列表执行得更快而不是串行运行。
powershell - Powershell将参数传递给后台作业
我有一个带有以下参数的脚本:
我想在后台运行这个脚本,但我一直在努力获取参数。这个脚本是一个模块。我可以从命令行成功运行它
但这是我的脚本中用于启动工作的实际代码:
未注释的 Start-Job 只是运行一个转储 $args 的测试脚本。
结果是:
如何格式化我的 Start-Job 以成功传递参数?我用 -FilePath 尝试了各种格式的 Start-Job,列出参数而不是传递对象等。
它们最终都被阻止等待用户输入提示参数。
powershell - Powershell Start-Job 未执行脚本块
标题说明了一切,我有一个带有脚本块的 Start-Job,它不执行命令,而是输出有关作业的信息。
执行的顺序如下
以及带有 start-job 的模块
我没有收到任何错误,而是没有执行命令,而是为两个启动作业编写了以下命令
这可能与我编写脚本块的方式有关,但我无法弄清楚与我见过的所有其他示例有什么不同。
是否可以使用 read-host 命令启动作业等待用户输入?
编辑:我发现了为什么作业没有执行的问题。参数未正确传递。这是我找到解决方案的链接。
最后一个示例有效,即使对于单个参数,您也必须这样做。
我还有一个问题。我上面写的东西仍然会输出到控制台。有什么方法可以抑制 start-job cmdlet 的不需要的输出?
powershell - 在后台作业中调用命令
我有一个 powershell 2.0 脚本,它应该在多台服务器上运行命令并处理输出。我想在后台作业中为每个服务器运行命令和处理。
该命令可以正常工作,并在半秒或更短的时间内终止:
但是当我在后台作业中运行它时,该作业不会终止:
有人知道问题可能是什么吗?
powershell - 使用 powershell 对象执行脚本
使用的 Powershell 版本:3.0
大家好,
我正在尝试创建一个新的 Powershell 管道并在其中执行一个脚本,然后将它产生的输出获取到一个输出变量中,但是我无法从对象内部(从执行的脚本)中获得任何输出。这样做的重点是我不必管理 $Error 对象,我打算将其用于错误检测。下面是一个示例:
我应该提到我正在尝试使用以下 3 种方法在执行的脚本中产生输出:
- 写主机
- 写输出
- Write-Verbose(使用 $ps.Streams.Verbose 尝试获取输出,但没有)
非常感谢您提供的任何建议或提示!
powershell - 后台作业提前结束
我对使用后台进程有一个理解问题。
我必须将 Linux 上的处理逻辑转换为 Windows。我有一个脚本,在它的处理中,在其他脚本中启动,另一个脚本在后台,并追求它的处理。抛出(启动)处理背景的脚本不必关心这个结果,因此即使背景中的处理仍然执行,也必须结束。
我在 Powershell 中试验的是当我的第一个脚本结束时,看起来在后台抛出的脚本的处理中断了。
这是我在环境中进行的测试示例(PowerShell 2.0 版)
这是我的第一个脚本的简单代码script_1.ps1
:
我的第二个脚本script_2.ps1
:
这是我提交时发生的情况:
结果显示,当第一个脚本终止时(3 秒后),第二个脚本也停止了,因为我们看到只创建了前 2 个日志文件。
我坚持认为这就像在 Linux ( &
) 上一样,后台工作无论如何都会继续进行。它是使用 PowerShell 的方式还是我做错了什么?
powershell - Powershell - 如何为 Start-Job 预先评估脚本块中的变量
我想在 Powershell 中使用后台作业。
如何在 ScriptBlock 定义时评估变量?
我打印出 $v1 和 $v2 的空值。我怎样才能让它们在(传递给)脚本块中进行评估,然后再传递给后台作业?