PowerShell高級配置

PowerShell高級配置


場景:

遠程執行PowerShell腳本傳遞PSObject對象,提示從遠程客戶端計算機接收的數據的當前反序列化對象大小超過允許的最大對象大小。當前反序列化對象大小爲10572800,允許的最大對象大小爲10485760。如下圖:

clip_image002

修改遠程服務器默認配置限制:

Set-PSSessionConfiguration -name Microsoft.powershell -MaximumReceivedDataSizePerCommandMB 20 -MaximumReceivedObjectSizeMB 20

clip_image004

提示WSMan提供程序主機進程未能返回適當的響應。主機進程中的提供程序的行爲不正確。如下圖:

clip_image006

查看本地PowerShell日誌:

clip_image008

clip_image010

查看遠程服務器上PowerShell日誌:

clip_image012

有System.OutOfMemoryException錯誤。重新執行腳本,使用資源監視器觀察內存佔用,以工作集倒序排序,觀察到wsmprovhost.exe進程最大爲512MB,腳本運行失敗。修改Shell內存配置,暫時不修改插件的內存配置:

clip_image014

再次觀察內存使用,wsmprovhost.exe已超過512MB限制,腳本返回成功。

clip_image015

參考:

Learn How to Configure PowerShell Memory

https://stackoverflow.com/questions/13561730/maximum-data-size-in-a-remote-command

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章