2018-09-14

PowerShell: Скачивание и установка обновлений Windows 10

Начиная с версии Windows 10 1709, PowerShell обзавелся несколькими командлетами позволяющими выполнить установку обновлений.



Содержание




Проверка Наличия Обновлений


Прежде чем выполнить обновление, нужно убедиться в их наличии. Дальнейшие действия предполагают, что командная оболочка PowerShell была запущена от имени администратора (Win+X, выбрать в открывшемся меню пункт Windows PowerShell (администратор)).


Выполняем проверку наличия новых обновлений.

Start-WUScan


Если выполнение команды завершилось выводом списка обновлений, то значит данные обновления в системе отсутствуют. В противном случае обновлений необходимых для установки  нет.


Установка Доступных Обновлений


Установка ранне найденных обновлений выполняется командлетом Install-WUUpdates. Но простой запуск данного командлета ничего не даст. Так же как и подстановка UpdateID в качестве аргумента.


В качестве аргумента командлет Install-WUUpdates ожидает массив объектов типа Microsoft.Management.Infrastructure.CimInstance[], или же любой другой объект который можно привести к данному типу.

Получить подходящий объект можно из вывода командлета Start-WUScan.

$wu = Start-WUScan


Переменная $wu в данном случае будет содержать массив объектов CimInstance. Как раз то, что необходимо командлету Install-WUUpdates.

Install-WUUpdates $wu

Учитывая все вышесказанное составим итоговую команду выполнения установки обновлений.

$wu = Start-WUScan; if ($wu) {$wu; Install-WUUpdates $wu} else {echo "Обновлений пока нет! :)"}



Данная команда запускает процесс получения списка обновлений в переменную $wu, и если список не пуст, то запускается командлет Install-WUUpdates с переданным списком ей списком $wu в качестве аргумента.

Запуск данной команды, при отсутствии доступных обновлений завершится соответствующим сообщением.


Выполнение процедуры по отдельности будет выглядеть следующим образом.

# Выпоолняем получение списка обновлений в переменную $wu
$wu = Start-WUScan

# Выводим содержимое переменной $wu чтобы убедиться в наличии в ней данных (обновлений)
$wu

# Выполняем установку обновлений при условии что переменная $wu не пуста
Install-WUUpdates $wu


Дополнительные Командлеты


Get-WUIsPendingReboot - проверяет, необходимо ли выполнять перезагрузку операционной системы после выполнения процедуры обновления. Возможные варианты вывода True (перезагрузка необходима) или False (перезагружать не нужно).


Get-WULastScanSuccessDate - выводит дату последнего сканирования обновлений выполненного через Центр обновления Windows.


Get-WULastInstallationDate - выводит дату последней установки обновлений выполненных через Центр обновления Windows.


Install-WUUpdates -DownloadOnly ... - выполняет загрузку указанного списка обновлений без установки.


Итог


Темы освещенные в данной статье: Как выполнить обновление Windows 10 последних редакций штатными средствами через PowerShell. Как выполнить проверку наличия обновлений Windows 10 в PowerShell. Как выполнить установку обновлений командлетом Install-WUUpdates.

Комментариев нет :

Отправить комментарий