首页 > 解决方案 > Powershell Get-Job 文件名或扩展名太长

问题描述

我有一个收集服务器指标的 PS 脚本。当我将它作为单线程运行时,它工作得非常好。但是,当我将其设置为运行多线程时,我收到以下错误。

An error occurred while starting the background process. Error reported: The filename or extension is too long.

$jobs=$serverList|%{ Start-Job -InitializationScript $functions -ArgumentList $_ -ScriptBlock {
Script Line-1
Script Line-2
Script Line-3
Script Line-4
Script Line-5
Script Line-6
Script Line-7
}

$functions有10个功能,总共约350行。

根据我所做的研究,出现此错误是因为初始化脚本的脚本行数过多。让我知道如何在不截断任何脚本的情况下解决此问题。

第一次更新——我能够通过减小脚本块的大小来解决这个问题。基于这个站点,我们只能在脚本块中发送大约 12 个字节的数据。很奇怪的问题。关于如何克服这种尺寸限制的任何解决方案。

目前,该问题已通过删除不需要的空格和写入的附加日志来解决。但是,如果需要进一步修改脚本,此解决方案可能不适用。期待一些建议。

标签: powershellasynchronous

解决方案


推荐阅读