Quando estou conectado pela área de trabalho remota em uma máquina Windows Server 2012 R2 Core, posso acionar a atualização do Windows executando o sconfig.cmd. No entanto, isso falha quando é chamado em uma sessão remota do PS:
Enter-PSSession -ComputerName server2
É disso que o sconfig reclama. Basicamente, diz que não consegue encontrar um valor específico do registro. Uma coisa engraçada a se notar é que a Microsoft escolhe o VBScript sobre o PowerShell para programar essa interface CLI ...
[server2]: PS C:\> sconfig
C:\>echo off
sconfig : FEHLER: Der angegebene Registrierungsschl?ssel bzw. Wert wurde nicht gefunden.
+ CategoryInfo : NotSpecified: (FEHLER: Der ang...nicht gefunden.:String) [], RemoteException
+ FullyQualifiedErrorId : NativeCommandError
Microsoft (R) Windows Script Host, Version 5.8
Copyright (C) Microsoft Corporation. Alle Rechte vorbehalten.
System wird ?berpr?ft...
[...]
14) Server herunterfahren
15) Zur Befehlszeile wechseln
C:\Windows\System32\de-DE\sconfig.vbs(326, 1) Laufzeitfehler in Microsoft VBScript: Eingabe hinter Dateiende.
Como devo / posso iniciar um Windows Update ao fazer logon via sessão remota do PS?
Respostas:
Na verdade, você não pode acionar isso diretamente sobre winrm / winrs.
Existe um módulo PowerShell um tanto popular para executar atualizações do Windows a partir do Powershell e, para executar atualizações em um sistema remoto, ele realmente copia o módulo para o sistema remoto e agenda uma nova tarefa única no sistema remoto.
No arquivo invoke-WUInstall.ps1, esse comentário é sobre o acionamento remoto de uma atualização.
fonte
Todos saudam o pôster do último comentário. Funciona.
Obtenha os
pswidowsupdate
arquivos da Web e descompacte-os. Em seguida, importe o módulo e execute este código (oinvoke-wsuinstall.ps1
arquivo tem o código de exemplo, mas eu o removi um pouco e ele ainda funciona):fonte