没有.
Windows远程管理 (WinRM) 错误 "The WinRS client cannot process the Receive request because the shell plugin returned an empty response to the request" 当一个 WinRS (Windows远程) 会话突然终止或无法提供输出时发生. 这通常是因为远程进程或崩,达到系统资源限制,时间过去了,或者其执行策略被安全软件阻止.
逐步修复问题
按照以下步骤来解决问题.
步骤1:增加WinRM内存限制
最常见的原因是远程 shell 耗尽分配的内存,导致插件崩并返回空响应.
- 打开 PowerShell 作为一个管理员. remote target machine.
- 通过运行检查当前内存限制:
Get-Item WSMan:\localhost\Shell\MaxMemoryPerShellMB - 将内存限制增加到1024 MB (或需要时更高),运行:
Set-Item WSMan:\localhost\Shell\MaxMemoryPerShellMB 1024 - 重新启动 WinRM 服务以应用更改:
Restart-Service WinRM
步骤2:调整同步用户和外限制
如果开启多个会话或脚本产生多个进程,系统可能会阻止插件响应.
- 打开 PowerShell 作为远程机器上的管理员.
- 增加每个用户允许的同时使用的最大数量:
Set-Item WSMan:\localhost\Shell\MaxShellsPerUser 30 - 增加同时使用者的最大数量:
Set-Item WSMan:\localhost\Shell\MaxUsers 10 - 重新启动 WinRM 服务:
Restart-Service WinRM
步骤3:通过事件查看器检查进程崩
如果内存不是问题,那么您远程执行的应用程序或脚本可能会崩.
- 在遥控器上,按下
Win + R, 类型eventvwr.msc,然后按下 Enter. - 导航到 Windows Logs 没有. Application.
- 找一个. Error 在 WinRS 错误发生的确切时间标记时.
- 如果您看到一场与
powershell.exe,cmd.exe,或您的特定应用程序,修复底层代码或应用程序崩.
步骤4:验证组策略控制
有时,集团策略对象 (GPO) 限制了远程的执行时间或资源分配.
- 在遥控器上,按下
Win + R, 类型gpedit.msc,然后按下 Enter. - 导航到: Computer Configuration 没有. Administrative Templates 没有. Windows Components 没有. Windows Remote Shell.
- 检查状态 Specify maximum amount of memory in MB per Shell 如果启用,请确保它与步骤1中设置的高值相匹配.
- 检查 Allow Remote Shell Access 确保它设置为 Not Configured 或是 Enabled.
步骤5:检查防病毒和EDR解决方案
终点检测和响应 (EDR) 工具或反病毒软件通常将意外的背景外标记为可疑活动,并无声结束该过程.
- 在远程机器上暂时禁用您的抗病毒或EDR.
- 运行您的WINRS命令.
- 如果成功,则添加一个排除规则
winrshost.exe您正在执行的脚本的特定路径.
可能有一些错误.. Learn Microsoft