Cuando inicie sesión a través del escritorio remoto en una máquina con Windows Server 2012 R2 Core, puedo activar la actualización de Windows ejecutando sconfig.cmd. Sin embargo, esto falla cuando se llama dentro de una sesión remota de PS:
Enter-PSSession -ComputerName server2
De esto se queja sconfig. Básicamente dice que no puede encontrar un valor de registro específico. Algo curioso es que Microsoft elige VBScript en lugar de PowerShell para programar esta interfaz 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.
¿Cómo debo / puedo iniciar una actualización de Windows al iniciar sesión a través de una sesión remota de PS?
Respuestas:
En realidad, no puede desencadenar eso directamente sobre winrm / winrs.
Existe un módulo de PowerShell algo popular para realizar actualizaciones de Windows de Powershell, y para realizar actualizaciones en un sistema remoto, en realidad copia el módulo al sistema remoto y programa una nueva tarea única en el sistema remoto.
En el archivo invoke-WUInstall.ps1 tiene este comentario sobre la activación remota de una actualización.
fuente
Todos saludan al cartel del último comentario. Funciona.
Obtenga los
pswidowsupdate
archivos de la web y descomprímalos. Luego importe el módulo y ejecute este código (elinvoke-wsuinstall.ps1
archivo tiene el código de muestra pero eliminé un poco y todavía funciona):fuente