如何修复 "WinRM客户端向远程WS管理服务发送请求,并被通知请求大小超过配置的MaxEnvelopeSize配额.
WinRM错误消息表示客户机和远程服务器之间传输的数据有效载荷超过了最大尺寸限制 ( MaxEnvelopeSize 通过Windows远程管理 (WinRM) 配置允许.默认情况下,WinRM设置了封包大小的限制 (通常为512 KB),以防止拒绝服务 (DoS) 攻击和过度内存消耗.当您运行脚本,查询大型事件日志或拉出超出这个门的重量配置数据时,WinRM会阻止操作并抛出这个份额违规错误.
为了解决这个问题,你必须增加 MaxEnvelopeSizekb 在源 (客户端) 机器和目标 (远程服务器) 机器上的值,以确保它们能够处理更大的数据包.
一步一步的修复
使用 Windows PowerShell 增加 WinRM 封面大小,请遵循以下步骤.您必须在启动连接的机器和远程目标机器上执行这些步骤.
步骤1: 打开PowerShell作为管理员
- 按下 Start 菜单或按下 Windows Key.
- 它们的类型 PowerShell 在搜索中.
- 按右键按一下 Windows PowerShell 在搜索结果中.
- 选择 Run as administrator 按一下 Yes 如果显示用户帐户控制 (UAC) 提示.
步骤2:检查当前 MaxEnvelopeSize 值
在进行更改之前,请通过执行下面命令检查现有配置值:
Get-WSManInstance -ResourceURI winrm/config | Select-Object MaxEnvelopeSizekb
记下默认值 (通常是512),这样你就有了基线配置.
步骤3:增加 MaxEnvelopeSize 限制
更新配置以允许更大的数据大小. 8192 (相当于8 MB) 通常足以用于大多数重型自动化任务和大型数据传输.运行此命令:
Set-WSManInstance -ResourceURI winrm/config -ValueSet @{MaxEnvelopeSizekb = "8192"}
第四步:验证变化
通过再次运行检索命令,确保系统成功应用了新的配置设置:
Get-WSManInstance -ResourceURI winrm/config | Select-Object MaxEnvelopeSizekb
检查输出现在显示8192.
步骤 5: 重新启动 WinRM 服务
为了确保所有配置生效,并清除活跃会话,请使用以下命令重新启动 Windows 远程管理服务:
Restart-Service -Name WinRM
另类方法:集团政策目标 (GPO)
如果您在Active Directory域环境中管理多台机器,您可以在全球范围内部署此修复:
- 打开门 Group Policy Management Console (
gpmc.msc) 没有. - 导航到:
Computer Configuration-> 没有.Administrative Templates-> 没有.Windows Components-> 没有.Windows Remote Management (WinRM)-> 没有.WinRM Service. - 找到并双击命名的策略 Specify maximum size of WS-Management packets.
- 设置策略状态为 Enabled.
- 输入你想要的值以千兆字节 (例如,
8192) 在 MaxEnvelopeSize 这里是场地. - 点击 Apply 然后 OK.
- 现在就跑吧.
gpupdate /force在目标机器上的命令提示符中,立即应用该策略.
可能有一些错误.. Learn Microsoft