Ric*_*fen 7 powershell remote .net
我正在尝试在一大群机器上远程安装 .NET framework4.6.1。我正在使用 powershell 远程编写此脚本。问题是无论出于何种原因,.exe 似乎都不想被远程调用。我假设这是由于升级的 .exe 启动了 UI 会话。但是,即使传递应该允许远程安装的“/q”参数,它仍然不起作用。我没有收到任何错误,当 RDP 进入有问题的机器时,它似乎没有升级或使用任何 CPU 进行升级。
我的脚本:
Write-Host "Executing 'Upgrade dotnet 4.6' for $server"
Invoke-Command -ComputerName $servers -Credential $credentials -ScriptBlock {
$Url = 'https://download.microsoft.com/download/E/4/1/E4173890-A24A-4936-9FC9-AF930FE3FA40/NDP461-KB3102436-x86-x64-AllOS-ENU.exe'
$Exe = "net461.exe"
$Dest = "C:\\" + $Exe
$Params = " /q"
$client = new-object System.Net.WebClient
$client.DownloadFile($Url,$Dest)
Invoke-Expression ("cmd.exe /C " + $Dest + $Params)
}
Run Code Online (Sandbox Code Playgroud)
我也试过使用巧克力,但它也不起作用,因为我认为是同样的原因。在本地运行巧克力作品。
问题是 powershell 的默认远程 shell 内存限制为 150MB。.NET 4.6.1 的安装会将自解压 exe 的内容加载到内存中,其中一些项目大于 150 MB。此链接提供了增加内存限制的正确方法。 http://blogs.technet.com/b/heyscriptingguy/archive/2013/07/30/learn-how-to-configure-powershell-memory.aspx
| 归档时间: |
|
| 查看次数: |
9335 次 |
| 最近记录: |