Instale o .NET 4.6.1 remotamente via powershell

7

Estou tentando instalar remotamente o .NET framework4.6.1 em um grande grupo de máquinas. Eu estou usando o powershell para script remotamente isso. O problema é que, por alguma razão, o arquivo .exe não parece querer ser chamado remotamente. Estou assumindo que isso se deve ao fato de que o .exe para a atualização inicia uma sessão da interface do usuário. No entanto, mesmo passando o parâmetro "/ q" que deve permitir que a instalação ocorra remotamente, ainda não funciona. Eu não recebo nenhum erro, e quando o RDP entrou na máquina em questão, ele não parece estar atualizando ou usando qualquer CPU para a atualização.

Meu script:

        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)
        } 

Eu também tentei usar o chocolatey e ele também não funciona, pois eu acho as mesmas razões. executando chocolatey localmente funciona.

    
por Richthofen 27.01.2016 / 20:40

2 respostas

1

O problema é que o powershell tem um limite de memória de memória remota padrão de 150MB. A instalação do .NET 4.6.1 carregaria o conteúdo do exe autoextraível na memória, alguns itens que eram > 150 MB. Esse link forneceu o método correto para aumentar o limite de memória. link

    
por 28.01.2016 / 22:26
2

Esse executável do MS parece ser apenas um arquivo auto-extraível (eu consegui abri-lo com o 7-Zip). Você já tentou descompactar o arquivo .exe em algum lugar e depois tentar a opção /q no Setup.exe contido em?

    
por 27.01.2016 / 20:51