Когда я зарегистрирован на пути удаленный рабочий стол на машине Ядра Windows Server 2012 R2, я могу инициировать обновление окон путем выполнения sconfig.cmd. Это однако перестало работать когда то, что это было названным в рамках удаленного сеанса PS:
Enter-PSSession -ComputerName server2
Это - то, на что жалуется sconfig. Это в основном говорит, что не может найти определенное значение реестра. Забавная вещь отметить состоит в том, что Microsoft выбирает VBScript over 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 Update, будучи зарегистрированным на пути удаленный сеанс PS?
На самом деле вы не можете активировать это напрямую через winrm / winrs.
Существует несколько популярный модуль PowerShell для выполнения обновлений Windows из Powershell и для выполнения обновлений на в удаленной системе он фактически копирует модуль в удаленную систему и планирует новую одноразовую задачу в удаленной системе.
В файле invoke-WUInstall.ps1 имеется этот комментарий об удаленном запуске обновления.
Использование Invoke-WUInstall, чтобы запустить удаленную установку Центра обновления Windows. Он основан на TaskScheduler, поскольку методы CreateUpdateDownloader () и CreateUpdateInstaller () не могут быть вызваны с удаленного компьютера - E_ACCESSDENIED.
Приветствую автора последнего комментария. Это работает.
Получите файлы pswidowsupdate
из Интернета и распакуйте их.
Затем импортируйте модуль и запустите этот код (файл invoke-wsuinstall.ps1
содержит образец кода, но я удалил из него немного, и он все еще работает):
$Script = {Get-WUInstall -AcceptAll -AutoReboot | Out-File C:\PSWindowsUpdate.log}
Invoke-WUInstall -ComputerName computername -Script $Script
Get-Content \ \ computername\c$\PSWindowsUpdate.log
FWIW, в Windows Server 2019 вы можете использовать
$u = Start-WUScan
$b = Install-WUUpdates $u
Массив $u
сообщает вам, какие обновления доступны, если он пуст, все готово.
Логическое значение $b
указывает, требуется ли перезагрузка. После перезагрузки следует снова выполнить поиск обновлений.