Lorsque je suis connecté via un bureau distant sur une machine Windows Server 2012 R2 Core, je peux déclencher la mise à jour de Windows en exécutant sconfig.cmd. Cela échoue cependant lors de son appel dans une session distante PS:
Enter-PSSession -ComputerName server2
C'est de cela que se plaint sconfig. Il dit essentiellement qu'il ne peut pas trouver une valeur de registre spécifique. Une chose amusante à noter est que Microsoft a choisi VBScript plutôt que PowerShell pour programmer cette 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.
Comment dois-je / puis-je lancer une mise à jour Windows lorsque je suis connecté via une session à distance PS?
Réponses:
Vous ne pouvez pas réellement déclencher cela directement sur winrm / winrs.
Il existe un module PowerShell quelque peu populaire pour effectuer des mises à jour Windows à partir de Powershell, et pour effectuer des mises à jour sur un système distant, il copie en fait le module sur le système distant et planifie une nouvelle tâche ponctuelle sur le système distant.
Dans le fichier invoke-WUInstall.ps1, il contient ce commentaire sur le déclenchement à distance d'une mise à jour.
la source
Salut à l'affiche du dernier commentaire. Ça marche.
Récupérez les
pswidowsupdate
fichiers sur le Web et décompressez-les. Ensuite, importez le module et exécutez ce code (leinvoke-wsuinstall.ps1
fichier contient l'exemple de code mais j'en ai retiré un peu et cela fonctionne toujours):la source