如何修复"WS管理客户端从服务器收到过多的结果.
描述
这种错误发生在Windows远程管理 (WinRM) 或PowerShell Remote命令请求远程服务器的数据时,返回的数据的大小或体积超过客户机上配置的数据限制.为了防止拒绝服务 (DoS) 攻击和过度内存消耗,WinRM执行了严格的数据传输配额.当查询 (如获取大型事件日志,活跃目录对象或大文件列表) 违反这些限制时,客户端突然终止连接并抛出这个错误.
逐步修复问题
您可以通过增加客户端计算机,远程服务器或两者的最大信封大小或每个包的最大字符来解决这个问题.
方法1:使用PowerShell增加WinRM MaxEnvelopeSize
这是最常见的修复.它提高了客户端可以接收的数据包的总尺寸限制.
- 按下 Start 在您的本地 Windows 机器上的菜单.
- 它们的类型 PowerShell.
- 按下右键 Windows PowerShell 并且选择 Run as administrator.
- 键入下面的命令来检查您当前的最大信封大小 (默认大小通常为500 KB):
Get-WSManInstance -ResourceURI winrm/config | Select-Object MaxEnvelopeSizekb - 运行此命令,将尺寸限制增加到8192 KB (8 MB):
Set-WSManInstance -ResourceURI winrm/config -ValueSet @{MaxEnvelopeSizekb = "8192"} - 如果您在修改客户端后仍然遇到问题,请在远程服务器上运行同样的命令.
方法2:通过WSMan提供者调整MaxProvider响应
如果服务器发送太多单独的XML元素或对象,则需要调整提供商响应限制.
- 打开 Windows PowerShell 作为一个管理员.
- 运行此命令来查看您当前的WSMan客户端配置:
Get-Item WSMan:\localhost\Client\* - 通过执行:
Set-Item WSMan:\localhost\Client\MaxEnvelopeSizekb -Value 8192 - 重新启动 WinRM 服务以立即应用更改:
Restart-Service winrm
方法3:修改集团政策 (企业环境的替代方案)
如果您管理多台计算机,您可以使用本地组策略编辑器在整个网络中部署此修复.
- 按下 Windows Key + R 在键盘上打开运行对话框.
- 它们的类型 gpedit.msc 然后按下. Enter.
- 在左侧中导航到以下路径:
- Computer Configuration 没有. Administrative Templates 没有. Windows Components 没有. Windows Remote Management (WinRM) 没有. WinRM Client
- 找一个名为 Specify maximum envelope size in KB 在右边的窗口.
- 双击它,选择 Enabled,并设置值为 8192.
- 点击 Apply 然后点击 OK.
- 打开命令提示符作为管理员并运行.
gpupdate /force为了实施政策.
方法4:过问题 (最佳做法)
如果更改系统配置不理想,请修改脚本或命令,同时要求更少的结果.
- 使用页面化参数,如果可用.
- 在服务器端过数据,使用参数如
-FilterBy或是-FilterServerSide而不是下载所有内容,Where-Object. - 限制结果使用这样的句子
-First 100或是Select-Object -First 100为了测试小批量是否成功.
可能有一些错误.. Learn Microsoft