PowerShell高级配置
场景:
远程执行PowerShell脚本传递PSObject对象,提示从远程客户端计算机接收的数据的当前反序列化对象大小超过允许的最大对象大小。当前反序列化对象大小为10572800,允许的最大对象大小为10485760。如下图:
修改远程服务器默认配置限制:
Set-PSSessionConfiguration -name Microsoft.powershell -MaximumReceivedDataSizePerCommandMB 20 -MaximumReceivedObjectSizeMB 20
提示WSMan提供程序主机进程未能返回适当的响应。主机进程中的提供程序的行为不正确。如下图:
查看本地PowerShell日志:
查看远程服务器上PowerShell日志:
有System.OutOfMemoryException错误。重新执行脚本,使用资源监视器观察内存占用,以工作集倒序排序,观察到wsmprovhost.exe进程最大为512MB,脚本运行失败。修改Shell内存配置,暂时不修改插件的内存配置:
再次观察内存使用,wsmprovhost.exe已超过512MB限制,脚本返回成功。
参考:
Learn How to Configure PowerShell Memory
https://stackoverflow.com/questions/13561730/maximum-data-size-in-a-remote-command
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。