我们有一个部署脚本失败并显示错误消息:没有足够的配额可用于处理此命令。
在它失败的地方,它试图在已经启动同一个可执行文件 10 次后异步启动一个可执行文件。所以11号失败了。一共需要启动17个。此脚本不是用 PowerShell 编写的,但我们使用远程 PowerShell 会话来启动它,并且仅当我们通过 PowerShell 远程运行脚本时才会发生此错误。
如果我们在不使用 PowerShell 远程处理的情况下直接在服务器上运行相同的脚本,我们不会收到此错误,并且该脚本启动所有 exe 实例(总共 17 个)并没有错误地完成也没有问题。
我检查了我怀疑可能是错误原因的典型 WSMAN 限制,据我所知,它们被设置为无限制。起初我想也许MaxProcessesPerShell设置得太低了。以下是运行它的服务器上 WSMAN 驱动器的结果:
我们目前有这些 WSMAN 设置:
> WSMan:\localhost\Shell> dir
WSManConfig: Microsoft.WSMan.Management\WSMan::localhost\Shell
Type Name SourceOfValue Value
---- ---- ------------- -----
System.String AllowRemoteShellAccess true
System.String IdleTimeout 7200000
System.String MaxConcurrentUsers 2147483647
System.String MaxShellRunTime 2147483647
System.String MaxProcessesPerShell 2147483647
System.String MaxMemoryPerShellMB 2147483647
System.String MaxShellsPerUser 2147483647
是否有任何其他 PowerShell 或 WSMAN 设置可能导致此错误?
为Not enough quota...错误推荐的典型解决方案包括使页面文件更大。我还没有尝试过,因为脚本在 PowerShell 会话之外运行时没有错误。
如果需要帮助回答这个问题,我可以提供更多关于我们的脚本正在做什么的细节。