使用powershell

时间:2015-07-08 22:38:27

标签: powershell

我正在尝试使用PowerShell启动一个exe(它是用内写的)。 exe是内存密集型的,有时使用12 - 15次演出(这是一夜之间的工作)exe工作正常,它被移动到它自己的机器上,有32演出的RAM。我不想使用WINAT或其他东西来安排它,而是想使用powershell来集中所有夜间进程的运行位置并远程执行。但是,我一直在遇到内存问题(从我的搜索显示)。我在调用机器上收到此消息 - “WS Man进程未返回正确的响应。主机中的提供程序可能表现不正常。”所以我开始改变MaxMemoryPerShell的值,我有时可以启动exe,尽管我还没有完成它。这是我所说的设置:

Get-Item WSMan:\ localhost \ Shell \ MaxMemoryPerShellMB

我已经尝试在目标机器上设置为15演出并没有运气。有没有人有任何使用PowerShell调用内存密集型进程的经验?我不清楚maxmemory应该设置什么,需要设置哪些机器,或者是否有其他我不知道的设置。

提前感谢您的帮助。

编辑:这是我在powershell中使用的电话:

invoke-command -ComputerName targetmachine.mydomain.com -Scriptblock{cd "D:\Code";.\MyProcess.exe N 30}

“N”和30以及传入exe的参数。

2 个答案:

答案 0 :(得分:0)

我最终使用PSEXEC,就像一个冠军。根本没有记忆问题。

答案 1 :(得分:0)

更新WSMan:\localhost\Shell\MaxMemoryPerShellMB的值是不够的。您还需要在插件配置中更新该值。因此,以下脚本帮助我将目标计算机上的“WinRM插件的主机进程”(wsmprovhost.exe)的最大允许内存使用量增加到8GB:

Set-Item WSMan:\localhost\Shell\MaxMemoryPerShellMB 8192
Set-Item WSMan:\localhost\Plugin\microsoft.powershell\Quotas\MaxMemoryPerShellMB 8192
Restart-Service WinRM