Начатый Windows Update с практическими рекомендациями на ядре сервера от удаленного сеанса PS?

Когда я зарегистрирован на пути удаленный рабочий стол на машине Ядра 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?

8
задан 19 November 2014 в 22:04
3 ответа

На самом деле вы не можете активировать это напрямую через winrm / winrs.

Существует несколько популярный модуль PowerShell для выполнения обновлений Windows из Powershell и для выполнения обновлений на в удаленной системе он фактически копирует модуль в удаленную систему и планирует новую одноразовую задачу в удаленной системе.

В файле invoke-WUInstall.ps1 имеется этот комментарий об удаленном запуске обновления.

Использование Invoke-WUInstall, чтобы запустить удаленную установку Центра обновления Windows. Он основан на TaskScheduler, поскольку методы CreateUpdateDownloader () и CreateUpdateInstaller () не могут быть вызваны с удаленного компьютера - E_ACCESSDENIED.

7
ответ дан 2 December 2019 в 23:02

Приветствую автора последнего комментария. Это работает.

Получите файлы 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
1
ответ дан 2 December 2019 в 23:02

FWIW, в Windows Server 2019 вы можете использовать

$u = Start-WUScan
$b = Install-WUUpdates $u

Массив $u сообщает вам, какие обновления доступны, если он пуст, все готово.

Логическое значение $b указывает, требуется ли перезагрузка. После перезагрузки следует снова выполнить поиск обновлений.

1
ответ дан 24 February 2021 в 23:51

Теги

Похожие вопросы