Когда я вошел в систему через удаленный рабочий стол на компьютере под управлением Windows Server 2012 R2 Core, я могу запустить обновление Windows, запустив sconfig.cmd. Это однако терпит неудачу, когда его вызывают в удаленном сеансе PS:
Enter-PSSession -ComputerName server2
Это то, на что жалуется sconfig. Это в основном говорит, что он не может найти конкретное значение реестра. Забавно отметить, что Microsoft выбирает VBScript вместо PowerShell для программирования интерфейса 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.
Как / можно запускать Центр обновления Windows при входе через удаленный сеанс PS?
Ответы:
Вы не можете вызвать это непосредственно через winrm / winrs.
Существует довольно популярный модуль powershell для выполнения обновлений Windows из Powershell, и для выполнения обновлений в удаленной системе он фактически копирует модуль в удаленную систему и планирует новую одноразовую задачу в удаленной системе.
В файле invoke-WUInstall.ps1 есть комментарий об удаленном запуске обновления.
источник
Приветствую вас на постере последнего комментария. Оно работает.
Получить
pswidowsupdate
файлы из Интернета и разархивировать их. Затем импортируйте модуль и запустите этот код (вinvoke-wsuinstall.ps1
файле есть пример кода, но я немного удалил его, и он все еще работает):источник