使用Powershell Invoke-Command进行远程执行的OutOfMemory异常

man*_*thk 10 powershell remote-execution invoke-command

我试图使用invoke-command在远程计算机上执行exe.使用远程桌面登录计算机后,在远程计算机上执行exe需要1GB内存,并在一分钟后执行完成.而当我在同一台机器上使用Invoke-Command执行相同的exe时,进程返回OutOfMemoryException并突然结束.我的invoke命令很简单Invoke-Command -Session $someSessionVariable -ScriptBlock {Invoke-Expression "abc.exe --arg arg"} -AsJob.

我是否遗漏了有关远程调用限制的内容?

提前致谢.

EM0*_*EM0 8

完整的PowerShell脚本,基于mjolinor的答案,适用于任何想要跳过原因并让它工作的人:

Set-Item WSMan:\localhost\Shell\MaxMemoryPerShellMB 1000000
Set-Item WSMan:\localhost\Plugin\Microsoft.PowerShell\Quotas\MaxMemoryPerShellMB 1000000
Restart-Service WinRM
Run Code Online (Sandbox Code Playgroud)


mjo*_*nor 7

从:

http://msdn.microsoft.com/en-us/library/windows/desktop/aa384372(v=vs.85).aspx

远程shell的defult内存限制为150MB

MaxMemoryPerShellMB指定每个shell分配的最大内存量,包括shell的子进程.默认值为150 MB.