1. 程式人生 > >通過遠端在Window 2008 R2上安裝 .NET 4.5.2遇到的坑

通過遠端在Window 2008 R2上安裝 .NET 4.5.2遇到的坑

這段時間同事寫了一個通過遠端PowerShell命令安裝.NET 4.5.2的PowerShell指令碼,在本地的時候,通過下面的PowerShell命令能安裝成功:

C:\setup.NET-4.5.2-KB2901907-x86-x64-AllOS-ENU.exe /x86 /x64 /q /log C:\setup\13.txt

但是通過遠端PowerShell執行的時候,卻失敗了,失敗命令如下:
unspecified exception

我整整調研了3天,最後才發現,原來是Winrm在Windows Server 2008 R2上的一個記憶體設定有問題,
把其預設的互動記憶體設定成2GB就可以,原因是.net的在安裝的時候需要解壓縮檔案,一個60多M的安裝包,解壓後竟然有1.7個GB,而Winrm預設值最多允許150M, 所以安裝失敗。

Set-Item WSMan:\localhost\Shell\MaxMemoryPerShellMB 2048 -force
Set-Item WSMan:\localhost\Plugin\Microsoft.PowerShell\Quotas\MaxMemoryPerShellMB 2048 -force
Start-Service winrm