Несмотря на то, что обновления происходят автоматически в Windows 10, и вы даже можете загружать их через Центр обновления Windows вручную, если вам нужно управлять несколькими системами, вы пытаетесь исправить новую установку или хотите создать собственный сценарий для автоматизации процесса в другим способом, вы также можете использовать командные строки для запроса и установки отсутствующих исправлений с помощью PSWindowsUpdate в PowerShell.
PSWindowsUpdate — это модуль сообщества Michal Gajda, который доступен через галерею PowerShell, и включает в себя компоненты, облегчающие проверку, загрузку и установку качественных обновлений в Windows 10.
В этом руководстве вы узнаете, как проверить и установить обновления для Windows 10. с помощью PowerShell.
Чтобы проверить и установить обновления с помощью PowerShell, выполните следующие действия.
- Откройте Пуск.
- Найдите PowerShell, щелкните правой кнопкой мыши верхний результат и выберите параметр «Запуск от имени администратора».
- Введите следующую команду, чтобы установить модуль для запуска Центра обновления Windows, и нажмите Enter:
Install-Module PSWindowsUpdate
Краткое примечание: после установки модуля вам больше не нужно повторять шаг № 3, чтобы использовать модуль и управлять обновлениями.
- Введите A и нажмите Enter для подтверждения.
- Введите следующую команду, чтобы проверить наличие обновлений с помощью PowerShell, и нажмите Enter:
Get-WindowsUpdate
- Введите следующую команду для установки доступных обновлений Windows 10 и нажмите Enter :
Install-WindowsUpdate
- Введите A и нажмите Enter для подтверждения.
После того, как вы выполните эти шаги, последние накопительные обновления будут загружены и установлены на ваш компьютер.
Управление обновлениями с помощью PowerShell
Модуль PSWindowsUpdate включает в себя множество опций, которые вы можете использовать для управления обновлениями. Вы всегда можете использовать команду Get-Command –Module PSWindowsUpdate
для запроса списка доступных команд.
Например, следующие шаги загрузите, установите, а затем перезагрузите компьютер, чтобы завершить процесс обновления:
- Откройте Пуск.
- Найдите PowerShell, щелкните правой кнопкой мыши верхний результат и выберите параметр « Запуск от имени администратора».
- Введите следующую команду, чтобы загрузить и установить все доступные обновления, перезагрузить систему и нажать Enter:
Get-WindowsUpdate -AcceptAll -Install -AutoReboot
После выполнения этих действий Windows 10 загрузит и установит все доступные обновления и перезагрузит компьютер, чтобы применить изменения автоматически.
Также есть возможность загрузить и установить указанное обновление:
- Откройте Пуск.
- Найдите PowerShell, щелкните правой кнопкой мыши верхний результат и выберите параметр « Запуск от имени администратора».
- Введите следующую команду, чтобы вывести список доступных обновлений вместе с их номерами КБ в PowerShell, и нажмите Enter:
Get-WindowsUpdate
- Введите следующую команду для загрузки и установки конкретного и перезагрузите систему и нажмите Enter:
Get-WindowsUpdate -Install -KBArticleID 'KB4560960'
В этой команде обязательно замените «KB4560960» именем КБ обновления, которое вы хотите установить.
После выполнения этих действий в этом случае Windows 10 загрузит и установит обновление KB4560960 на ваше устройство.
Windows 10 поставляется с поставщиком обновлений Windows , но имеет ограниченные возможности по сравнению с модулем PSWindowsUpdate, и его использование сложнее.
Вы можете использовать PowerShell модуль PSWindowsUpdate для управления обновлениями Windows из командной строки. Модуль PSWindowsUpdate не встроен в Windows и доступен для установки из репозитория PowerShell Gallery. PSWindowsUpdate позволяет администраторам удаленно проверять, устанавливать, удалять и скрывать обновления на рабочих станциях и серверах Windows. Модуль PSWindowsUpdate особо ценен при использовании для управления обновлениями в Core редакциях Windows Server (в которых отсутствуют графический интерфейс), а также при настройке образа Windows в режиме аудита.
Содержание:
- Установка модуля управления обновлениями PSWindowsUpdate
- Обзор команд модуля PSWindowsUpdate
- Управление обновлениями Windows на удаленных компьютерах через PowerShell
- Получить список доступных обновлений Windows из PowerShell
- Установка обновлений Windows с помощью Install-WindowsUpdate
- Просмотр истории установленных обновлений Windows (Get-WUHistory)
- Удаление обновлений в Windows с помощью Remove-WindowsUpdate
- Как скрыть ненужные обновления Windows с помощью PowerShell (Hide-WindowsUpdate)?
Установка модуля управления обновлениями PSWindowsUpdate
Если вы используете Windows 10/11 или Windows Server 2022/2019/2016, вы можете установить (обновить) модуль PSWindowsUpdate из онлайн репозитория через менеджер пакетов PackageManagement всего одной командой:
Install-Module -Name PSWindowsUpdate
После окончания установки нужно проверить наличие пакета:
Get-Package -Name PSWindowsUpdate
В старых версиях Windows 2012R2/Windows 8.1 и ниже при установке PowerShell модуля может появится ошибка:
Install-Module: Unable to download from URI.Unable to download the list of available providers. Check your internet connection.
Для установки модуля нужно использовать для подключения протокол TLS 1.2. Включите его:
[Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12
Если у вас установлена более старая версия Windows (Windows 7/8.1/ Windows Server 2008 R2/ 2012 R2) или отсутствует прямой доступ в Интернет, вы можете установить модуль PSWindowsUpdate вручную (см. полную инструкцию по офлайн установке модулей PowerShell).
- Скачайте модуль PSWindowsUpdate на любой онлайн компьютер:
Save-Module –Name PSWindowsUpdate –Path C:ps
; - Скопируйте модуль на целевой компьютер, и поместите его в каталог
%WINDIR%System32WindowsPowerShellv1.0Modules
(при постоянном использовании модуля это лучший вариант); - Разрешите выполнение PowerShell скриптов:
Set-ExecutionPolicy –ExecutionPolicy RemoteSigned -force
- Теперь вы можете импортировать модуль в свою сессию PowerShell:
Import-Module PSWindowsUpdate
Примечание. В Windows 7 / Server 2008 R2 при импорте модуля PSWindowsUpdate вы можете столкнутся с ошибкой вида:
Имя "Unblock-File" не распознано как имя командлета
. Дело в том, что в модуле используются некоторые функции, которые появились только в PowerShell 3.0. Для использования этих функций вам придется обновить PowerShell, либо вручную удалить строку | Unblock-File из файла PSWindowsUpdate.psm1.
После установки модуля PSWindowsUpdate на своем компьютере вы можете удаленно установить его на другие компьютеры или сервера с помощью командлета Update-WUModule. Например, чтобы скопировать PSWindowsUpdate модуль с вашего компьютера на два удаленных сервера, выполните команды (нужен доступ к удаленным серверам по протоколу WinRM):
$Targets = "Server1", "Server2"
Update-WUModule -ComputerName $Targets -local
Чтобы сохранить модуль в сетевой каталог для дальнейшего импорта модуля на других компьютерах, выполните:
Save-Module -Name PSWindowsUpdate –Path \fs01ps
Обзор команд модуля PSWindowsUpdate
Список доступных командлетов модуля можно вывести так:
get-command -module PSWindowsUpdate
Вкратце опишем назначение команд модуля:
- Clear-WUJob – использовать Get-WUJob для вызова задания WUJob в планировщике;
- Download-WindowsUpdate (алиас для Get-WindowsUpdate –Download) — получить список обновлений и скачать их;
- Get-WUInstall, Install-WindowsUpdate (алиас для Get-WindowsUpdate –Install) – установить обвновления;
- Hide-WindowsUpdate (алиас для Get-WindowsUpdate -Hide:$false) – скрыть обновление;
- Uninstall-WindowsUpdate -удалить обновление с помощью Remove-WindowsUpdate;
- Add-WUServiceManager – регистрация сервера обновления (Windows Update Service Manager) на компьютере;
- Enable-WURemoting — включить правила Windows Defender файервола, разрешающие удаленное использование командлета PSWindowsUpdate;
- Get-WindowsUpdate (Get-WUList) — выводит список обновлений, соответствующим указанным критериям, позволяет найти и установить нужное обновление. Это основной командлет модуля PSWindowsUpdate. Позволяет скачать и установить обновления с сервера WSUS или Microsoft Update. Позволяет выбрать категории обновлений, конкретные обновления и указать правила перезагрузки компьютера при установке обновлений;
- Get-WUApiVersion – получить версию агента Windows Update Agent на компьютере;
- Get-WUHistory – вывести список установленных обновлений (история обновлений);
- Get-WUInstallerStatus — проверка состояния службы Windows Installer;
- Get-WUJob – запуска заданий обновления WUJob в Task Scheduler;
- Get-WULastResults — даты последнего поиска и установки обновлений (LastSearchSuccessDate и LastInstallationSuccessDate);
- Get-WURebootStatus — позволяет проверить, нужна ли перезагрузка для применения конкретного обновления;
- Get-WUServiceManager – вывод источников обновлений;
- Get-WUSettings – получить настройки клиента Windows Update;
- Invoke-WUJob – удаленное вызов заданий WUJobs в Task Schduler для немедленного выполнения заданий PSWindowsUpdate.
- Remove-WindowsUpdate – удалить обновление;
- Remove-WUServiceManager – отключить Windows Update Service Manager;
- Set-PSWUSettings – сохранить настройки модуля PSWindowsUpdate в XML файл;
- Set-WUSettings – настройка параметров клиента Windows Update;
- Update-WUModule – обновить модуль PSWindowsUpdate (можно обновить модуль на удаленном компьютере, скопировав его с текущего, или обновить из PSGallery);
- Reset-WUComponents – позволяет сбросить настройка агента Windows Update на компьютере к настройкам по-умолчанию.
Чтобы проверить текущие настройки клиента Windows Update, выполните команду:
Get-WUSettings
ComputerName : WKS22122 WUServer : http://MS-WSUS:8530 WUStatusServer : http://MS-WSUS:8530 AcceptTrustedPublisherCerts : 1 ElevateNonAdmins : 1 DoNotConnectToWindowsUpdateInternetLocations : 1 TargetGroupEnabled : 1 TargetGroup : WorkstationsProd NoAutoUpdate : 0 AUOptions : 3 - Notify before installation ScheduledInstallDay : 0 - Every Day ScheduledInstallTime : 3 UseWUServer : 1 AutoInstallMinorUpdates : 0 AlwaysAutoRebootAtScheduledTime : 0 DetectionFrequencyEnabled : 1 DetectionFrequency : 4
В данном примере клиент Windows Update на компьютере настроен с помощью GPO на получение обновлений с локального сервера WSUS.
Команда
Reset-WUComponents –Verbose
позволяет сбросить все настройки агента Windows Update, перерегистрировать библиотеки и восстановить исходное состояние службы wususerv.
Управление обновлениями Windows на удаленных компьютерах через PowerShell
Практически все командлеты модуля PSWindowsUpdate позволяют управлять установкой обновлений на удаленных компьютерах. Для этого используется атрибут
-Computername Host1, Host2, Host3
. На удаленных компьютерах должен быть включен и настроен WinRM (вручную или через GPO).
Установите модуль PSWindowsUpdate на удаленных компьютерах и разрешите в файерволе доступ по динамическим RPC портам к процессу dllhost.exe. Можно использовать Invoke-Command для настройки модуля PSWindowsUpdate на удаленных компьютерах:
Invoke-Command -ComputerName $computer -ScriptBlock {Set-ExecutionPolicy RemoteSigned -force }
Invoke-Command -ComputerName $computer -ScriptBlock {Import-Module PSWindowsUpdate; Enable-WURemoting}
Модуль PSWindowsUpdate можно использовать для удаленного управлений обновлениями Windows как на компьютерах в домене AD, так и в рабочей группе (потребует определенной настройки PowerShell Remoting)
Для удаленного управления обновлениями компьютерах, нужно добавить имена компьютеров доверенных хостов winrm, или настроить удаленное управление PSRemoting через WinRM HTTPS:
winrm set winrm/config/client ‘@{TrustedHosts="HOST1,HOST2,…"}’
Или с помощью PowerShell:
Set-Item wsman:localhostclientTrustedHosts -Value wsk-w10BO1 -Force
Получить список доступных обновлений Windows из PowerShell
Вывести список обновлений, доступных для данного компьютера на сервере обновлений можно с помощью команд Get-WindowsUpdate или Get-WUList.
Чтобы проверить список доступных обновлений на удаленном компьютере, выполните:
Get-WUList –ComputerName server2
Вы можете проверить, откуда должна получать обновления ваша ОС Windows. Выполните команду:
Get-WUServiceManager
ServiceID IsManaged IsDefault Name --------- --------- --------- ---- 8b24b027-1dee-babb-9a95-3517dfb9c552 False False DCat Flighting Prod 855e8a7c-ecb4-4ca3-b045-1dfa50104289 False False Windows Store (DCat Prod) 3da21691-e39d-4da6-8a4b-b43877bcb1b7 True True Windows Server Update Service 9482f4b4-e343-43b6-b170-9a65bc822c77 False False Windows Update
Как вы видите, компьютер настроен на получение обновлений с локального сервера WSUS (Windows Server Update Service = True). В этом случае вы должны увидеть список обновлений, одобренных для вашего компьютера на WSUS.
Если вы хотите просканировать ваш компьютер на серверах Microsoft Update (кроме обновлений Windows на этих серверах содержатся обновления Office и других продуктов) в Интернете, выполните команду:
Get-WUlist -MicrosoftUpdate
Вы получаете предупреждение:
Get-WUlist : Service Windows Update was not found on computer
Чтобы разрешить сканирование на Microsoft Update, выполните команду:
Add-WUServiceManager -ServiceID "7971f918-a847-4430-9279-4a52d1efe18d" -AddServiceFlag 7
Теперь можете выполнить сканирование на Microsoft Update. Как вы видите, в данном случае были найдены дополнительные обновления для Microsoft Visual C++ 2008 и Microsoft Silverlight.
Чтобы проверить версию агента Windows Update на компьютере, выполните команду:
Get-WUApiVersion
ComputerName PSWindowsUpdate PSWUModuleDll ApiVersion WuapiDllVersion ------------ --------------- ------------- ---------- --------------- FS01 2.2.0.2 2.2.0.2 8.0 10.0.19041.1320
Чтобы убрать определенные продукты или конкретные KB из списка обновлений, которые получает ваш компьютер, вы их можете исключить по:
- Категории (-NotCategory);
- Названию (-NotTitle);
- Номеру обновления (-NotKBArticleID).
Например, исключим из списка обновления драйверов, OneDrive и одну конкретную KB:
Get-WUlist -NotCategory "Drivers" -NotTitle OneDrive -NotKBArticleID KB4533002
Установка обновлений Windows с помощью Install-WindowsUpdate
Чтобы автоматически загрузить и установить все доступные обновления для вашей версии Windows с серверов Windows Update (вместо локального WSUS), выполните:
Install-WindowsUpdate -MicrosoftUpdate -AcceptAll -AutoReboot
Ключ AcceptAll включает одобрение установки для всех пакетов, а AutoReboot разрешает автоматическую перезагрузку Windows после установки обновлений.
Также можно использовать следующе параметры:
- IgnoreReboot – запретить автоматическую перезагрузку;
- ScheduleReboot – задать точное время перезагрузки компьютера.
Можете сохранить историю установки обновлений в лог файл (можно использовать вместо WindowsUpdate.log).
Install-WindowsUpdate -AcceptAll -Install -AutoReboot | Out-File "c:$(get-date -f yyyy-MM-dd)-WindowsUpdate.log" -force
Можно установить только конкретные обновления по номерам KB:
Get-WindowsUpdate -KBArticleID KB2267602, KB4533002 -Install
В данном случае нужно подтверждать установку каждого обновления вручную.
Если вы хотите исключить некоторые обновления из списка на установку, выполните:
Install-WindowsUpdate -NotCategory "Drivers" -NotTitle OneDrive -NotKBArticleID KB4011670 -AcceptAll -IgnoreReboot
Модуль позволяет удаленно запустить установку обновлений сразу на нескольких компьютерах или серверах (на компьютерах должен присутствовать модуль PSWindowsUpdate). Это особенно удобно, так как позволяет администратору не заходить вручную на все сервера во время плановой установки обновлений. Следующая команда установит все доступные обновление на трех удаленных серверах:
ServerNames = “server1, server2, server3”
Invoke-WUJob -ComputerName $ServerNames -Script {ipmo PSWindowsUpdate; Install-WindowsUpdate -AcceptAll | Out-File C:WindowsPSWindowsUpdate.log } -RunNow -Confirm:$false -Verbose -ErrorAction Ignore
Командлет Invoke-WUJob (ранее командлет назывался Invoke-WUInstall) создаст на удаленном компьютере задание планировщика, запускаемое от SYSTEM. Можно указать точное время для установки обновлений Windows:
Invoke-WUJob -ComputerName $ServerNames -Script {ipmo PSWindowsUpdate; Install-WindowsUpdate –AcceptAll -AutoReboot | Out-File C:WindowsPSWindowsUpdate.log } -Confirm:$false -TriggerDate (Get-Date -Hour 20 -Minute 0 -Second 0)
Можно установить обновления на удаленном компьютере и отправить email отчет администратору:
Install-WindowsUpdate -ComputerName server1 -MicrosoftUpdate -AcceptAll - IgnoreReboot -SendReport –PSWUSettings @{SmtpServer="smtp.winitpro.ru";From="[email protected]";To="[email protected]";Port=25} -Verbose
Проверить статус задания установки обновления можно с помощью Get-WUJob:
Get-WUJob -ComputerName $ServerNames
Если команда вернет пустой список, значит задача установки на всех компьютерах выполнена.
Просмотр истории установленных обновлений Windows (Get-WUHistory)
С помощью команды Get-WUHistory вы можете получить список обновлений, установленных на компьютере ранее автоматически или вручную.
Можно получить информацию о дате установки конкретного обновления:
Get-WUHistory| Where-Object {$_.Title -match "KB4517389"} | Select-Object *|ft
Чтобы получить информацию об наличии установленного обновления на нескольких удаленных компьютерах, можно воспользоваться таким кодом:
"server1","server2" | Get-WUHistory| Where-Object {$_.Title -match "KB4011634"} | Select-Object *|ft
Проверить, нужна ли перезагрузка компьютеру после установки обновления:
Get-WURebootStatus –ComputerName WKS80JT
Проверьте значение атрибутов
RebootRequired
и
RebootScheduled
.
Получить дату последней установки обновлений на всех компьютерах в домене можно с помощью командлета Get-ADComputer из модуля AD PowerShell:
$Computers=Get-ADComputer -Filter {enabled -eq "true" -and OperatingSystem -Like '*Windows*' }
Foreach ($Computer in $Computers)
{
Get-WULastResults -ComputerName $Computer.Name|select ComputerName, LastSearchSuccessDate, LastInstallationSuccessDate
}
По аналогии можно найти компьютеры, которые не устаналивали обновления более 40 дней и вывести результат в графическую таблицу Out-GridView:
[email protected]()
Foreach ($Computer in $Computers) {
$result+= Get-WULastResults -ComputerName $Computer.Name
}
$result| Where-Object { $_.LastInstallationSuccessDate -lt ((Get-Date).AddDays(-30)) }| Out-GridView
Удаление обновлений в Windows с помощью Remove-WindowsUpdate
Для корректного удаления обновлений используется командлет Remove-WindowsUpdate. Вам достаточно указать номер KB в качестве аргумента параметра KBArticleID. Чтобы отложить автоматическую перезагрузку компьютера можно добавить ключ
–NoRestart
:
Remove-WindowsUpdate -KBArticleID KB4011634 -NoRestart
Как скрыть ненужные обновления Windows с помощью PowerShell (Hide-WindowsUpdate)?
Вы можете скрыть определенные обновления, чтобы они никогда не устанавливались службой обновлений Windows Update на вашем компьютер (чаще всего скрывают обновления драйверов). Например, чтобы скрыть обновления KB2538243 и KB4524570, выполните такие команды:
$HideList = "KB2538243", "KB4524570"
Get-WindowsUpdate -KBArticleID $HideList -Hide
или используйте alias:
Hide-WindowsUpdate -KBArticleID $HideList -Verbose
Теперь при следующем сканировании обновлений с помощью команды
Get-WUlist
скрытые обновления не будут отображаться в списке доступных для установки патчей.
Вывести список обновлений, которые скрыты на данном компьютере можно так:
Get-WindowsUpdate –IsHidden
Обратите внимание, что в колонке Status у скрытых обновлений появился атрибут H (Hidden).
Отменить скрытие некоторых обновлений можно так:
Get-WindowsUpdate -KBArticleID $HideList -WithHidden -Hide:$false
или так:
Show-WindowsUpdate -KBArticleID $HideList
Для тех, кто себя некомфортно чувствует в консоли PowerShell, для управления обновлениями Windows 10 могу порекомендовать графическую утилиту Windows Update MiniTool.
Обновления Windows 10 происходят автоматически или вручную через центр обновления Windows. Но знали вы, что можно установить обновления Windows 10 через PowerShell? Давайте разберем как это сделать.
Шаг 1. Запустите PowerShell от имени администратора.
Шаг 2. В окно PowerShell введите следующую команду:
Install-Module PSWindowsUpdate
— Установка модуля.- Нажмите
A
(Да для всех).
После установки модуля вам больше не нужно повторять Шаг 2, чтобы установить или удалить обновления Windows 10.
Шаг 3. Теперь проверим наличие имеющихся обновлений Windows 10 и, если они имеются, то установим их.
Get-WindowsUpdate
— Проверка наличие обновления.Install-WindowsUpdate
— Установка обновления.- Нажмите
A
для подтверждения установки.
Примечание: Модуль PSWindowsUpdate может использовать дополнительные команды. Введите Get-Command –Module PSWindowsUpdate
, чтобы вызвать HELP.
Разберем некоторые важные:
Download-WindowsUpdate
илиGet-WindowsUpdate –Download
— получить список обновлений и загрузить их.Get-WUInstall
илиInstall-WindowsUpdate
— установить обновления.Uninstall-WindowsUpdate
илиRemove-WindowsUpdate
— удалить обновление.Get-WindowsUpdate
илиGet-WUList
— отображает список обновлений, которые имеются на серверах Microsoft.Get-WUHistory
— список истории обновлений.Get-WURebootStatus
— проверить требуется ли перезагрузка ПК для применения установки обновления.Remove-WindowsUpdate
— позволяет удалить обновление по идентификатору КБ
Смотрите еще:
- PowerShell: Выполнение сценариев отключено в этой системе
- Как установить любые обновления Windows без Интернета
- Как ограничить скорость интернета для скачивания обновлений Windows 10
- Как исправить ошибки центра обновлений Windows 10
- Как удалить обновления Windows 10 и откатить к предыдущим
[ Telegram | Поддержать ]
Начиная с версии 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.
Windows 10 updates happen automatically or manually through the Windows Update settings. However, if you try to patch a new installation or create a custom script to automate the process, you can use commands to download and install missing patches with “PSWindowsUpdate” on PowerShell.
PSWindowsUpdate is a community module by Michal Gajda, available through the PowerShell Gallery. It includes the components to make it easy to check, download, and install quality updates on Windows 10.
In this guide, you’ll learn the steps to check and install updates for Windows 10 using PowerShell.
- Update Windows 10 from PowerShell
- Manage updates with PowerShell
To check and install updates with PowerShell, use these steps:
-
Open Start on Windows 10.
-
Search for PowerShell, right-click the top result, and select the Run as administrator option.
-
Type the following command to install the module to run Windows Update and press Enter:
Install-Module PSWindowsUpdate
Quick note: After installing the module, you no longer need to repeat step No. 3 to use the module and manage updates.
-
Type A and press Enter to confirm.
-
Type the following command to check for updates with PowerShell and press Enter:
Get-WindowsUpdate
-
Type the following command to install the available Windows 10 updates and press Enter:
Install-WindowsUpdate
-
Type A and press Enter to confirm.
Once you complete the steps, the latest cumulative updates will download and install on your computer.
Manage updates with PowerShell
The PSWindowsUpdate module includes many options that you can use to manage updates. You can always use the Get-Command –Module PSWindowsUpdate
command to query a list of the available commands.
For example, the following steps will download, install, and then reboot the computer to complete the update process:
-
Open Start.
-
Search for PowerShell, right-click the top result, and select the Run as administrator option.
-
Type the following command to download and install all the available updates and reboot the system, and press Enter:
Get-WindowsUpdate -AcceptAll -Install -AutoReboot
After completing the steps, Windows 10 will download and install all the available updates, rebooting the computer to apply the changes automatically.
Install specific update command
To download and install a specific update on Windows 10 from PowerShell, use these steps:
-
Open Start.
-
Search for PowerShell, right-click the top result, and select the Run as administrator option.
-
Type the following command to list the available updates along with their KB numbers with PowerShell and press Enter:
Get-WindowsUpdate
-
Type the following command to download, install a specific update, reboot the system, and press Enter:
Get-WindowsUpdate -Install -KBArticleID 'KB5021233'
In the command, replace “KB5021233” with the KB name of the update you want to install.
Once you complete the steps, in this case, Windows 10 will download and install update KB5021233 on your device.
Windows 10 comes with the Windows Update Provider, but it has limited options compared to the PSWindowsUpdate module, and it’s more complicated to use.
We may earn commission for purchases using our links to help keep offering the free content. Privacy policy info.
All content on this site is provided with no warranties, express or implied. Use any information at your own risk. Always backup of your device and files before making any changes. Privacy policy info.
Installing Windows Updates manually can be a drag. Why not automate the entire process with PowerShell? Get started controlling Windows updates with the PSWindowsUpdate module in PowerShell!
In this tutorial, you will learn how to download and install updates on your Windows machine through PowerShell.
Prerequisites
This tutorial uses Windows 10 Build 19042 for demonstrations throughout this tutorial, but older ones, such as Windows 7 and 8.1, will work.
Installing the PSWindowsUpdate Module
The PSWindowsUpdate module is a third-party module available in PowerShell Gallery that lets you manage Windows updates from the PowerShell console. The PowerShell Gallery is the central repository where you can find and share PowerShell modules.
With the PSWindowsUpdate module, you can remotely check, install, update and remove updates on Windows servers and workstations. But first, you need to install the PSWindowsUpdate module on your machine.
1. Open PowerShell as administrator.
2. Run the Install-Module
command to download and install the PSWindowUpdate
module from the PowerShell gallery repository. The -Force
parameter tells the command to ignore prompt messages and continue installing the module.
Install-Module -Name PSWindowsUpdate -Force
If you’re on an older version of Windows, you can download the PSWindowsUpdate module manually.
3. Next, run the Import-Module
command below to import the PSWindowsUpdate
module to PowerShell’s current session. Once imported, you can then use the module to manage Windows updates on your machine.
You may run into an error importing the module for the first time saying “The specified module ‘PSWindowsUpdate’ was not loaded”. In that case, you must allow executing scripts on your machine.
Run the command
Set-ExecutionPolicy -ExecutionPolicy RemoteSigned
to enable execute remote scripts on your computer. Now try importing thePSWindowsUpdate
module again.
Import-Module PSWindowsUpdate
4. Finally, run the command below to see all commands (Get-Command
) available for the PSWindowsUpdate
module. Some of these commands are what you will use to manage Windows updates on your machine. Get-Command -Module PSWindowsUpdate
Get-Command -Module PSWindowsUpdate
Checking for Available Windows Updates
With the PSWindowsUpdate module installed, you can now run a command to list the updates available for your computer before installing them. Checking the list of updates is a good practice to avoid installing an update you don’t need.
Run the Get-WindowsUpdate
command to list all the Windows updates
Below, you can see the list of available Windows updates along with their Knowledge-Base (KB) numbers. Take note of any KB number of a Windows update that you may want to prevent installing later, perhaps one that you deem not important.
Perhaps you also want to check where Windows gets an update from to see if the source is trustworthy. If so, the Get-WUServiceManager
command will do the trick.
Run the Get-WUServiceManager
to show the list of available update services.
There’s no official documentation about the update the sources, but each is defined below:
- Microsoft Update – the standard update source
- DCat Flighting Prod – an alternative MS supdate ource for specific flighted update items (from previews, etc)
- Windows Store (DCat Prod) – normally just Windows Store, but has Dcat Prod when for insider preview PC
- Windows Update – an older update source for Windows Vista and older Windows OS.
Excluding Windows Updates from Installing
Now you’ve seen the Windows updates available, perhaps you prefer not to install some of them on your computer. In that case, you can choose not to install them by hiding them.
Run the Hide-WindowsUpdate
command below to hide a Windows update tagged with the specified KB number (-KBArticleID KB4052623
). You can specify the KB number you took note of in the “Checking for Available Windows Updates” section instead.
PowerShell will ask for your confirmation before executing the command. Confirm the command with the “A” key, then press Enter.
Hide-WindowsUpdate -KBArticleID KB4052623
If you change your mind and want to install the update in the future, you can show the update similar to how you hid the update. To show the update, run the
Show-WindowsUpdate
command along with the update’s KB number, like this:Show-WindowsUpdate -KBArticleID KB4052623
Installing Windows Updates
Now that you can discover and exclude some updates from installing, let’s now check out how to install them.
But before installing updates, checking if updates require a system reboot is a good practice. Why? Knowing whether the Windows updates require a reboot beforehand tells you to save all your work and complete other ongoing installations before diving to the Windows update.
Now run the Get-WURebootStatus
command to determine if any of the Windows updates require a reboot. The command returns either True
or False
value to indicate the reboot status
Below, you can see the command returned a False value, which indicates a reboot is not required. So go nuts and install the updates you deem are necessary.
Downloading and Installing All Available Updates
If you’re not picky when it comes to updates, running the Install-WindowsUpdate
command on its own lets you install all available Windows updates. But perhaps, you want to install the updates without having to accept prompts. If so, you need to add the -AcceptAll
parameter as shown below.
Run the Install-WindowsUpdate
command below to install all available Windows updates. The -AcceptAll
parameter tells the command to suppress prompts and continue installing all updates.
If you prefer to reboot your computer once the installation is completed automatically, add the -AutoReboot
parameter.
Install-WindowsUpdate -AcceptAll -AutoReboot
If you prefer to install selected updates only, add the
-KBArticleID
parameter in theInstall-WindowsUpdate
command, followed by the update’s KB number, like this:Install-WindowsUpdate -KBArticleID KB2267602
Checking Windows Update History
Now you have installed windows updates on your computer, but perhaps something has gone wrong during the installation. If so, you can check your update history using the Get-WUHistory
command. The Get-WUHistory
prints out all the installed updates to the console with their installation result.
Run the Get-WUHistory
command below to check Windows update history.
Below, you can see that most of the updates have the Succeeded result status, while some have InProgress status.
Uninstalling Windows Updates
There are times when you install an update you don’t deem important at the moment, or there are updates you suspect of causing an issue on your system. In those times, you can properly uninstall the updates with the Remove-WindowsUpdate
command.
Run the Remove-WindowsUpdate
command below to uninstall a Windows update tagged with a specific KB number (-KBArticleID KB2267602
).
PowerShell will require confirmation before executing the command. Press the “A” key and hit enter to confirm the command.
Remove-WindowsUpdate -KBArticleID KB2267602
Conclusion
Throughout this tutorial, you’ve learned about the PSWindowsUpdate Module. You’ve also gone through selectively installing and uninstalling Windows updates.
You’ve learned that you have full control over the Windows updates with PowerShell. Now, would you prefer installing updates in PowerShell over a GUI method? Perhaps learn more about building a Windows update report?
?
Log in
If this type of authorization does not work for you, convert your account using the link
-
July 28 2021, 07:19
- Компьютеры
- IT
- Cancel
Как провести обновление Windows 10 через командную строку? Обновления Виндовс являются одной из самых известных опций Виндовс 10. Так как когда вышла Десятка, её пользователям предложили, как услугу, а не как товар. Из-за того, что ПО продолжили как услугу, обновления под Виндовс 10 внедрили по умолчанию в ОС. Часть пользователей стали критиковать подобную политику и данный метод Майкрософт. Но, в дальнейшем они поняли, то это делается в интересах пользователей. Так как обновления Виндовс помогают людям защищать их компьютеры от различных вредоносных внедрений в систему и возможных опасностей и дают им новейшие и одни из лучших решений от Майкрософта. Поэтому, ценителям обновлений мы расскажем в данной статье о методах запуска обновлений, используя командную строку и Виндовс PowerShell.
«>
Иногда бывает, что запуск обновлений Виндовс 10, применяя параметры — невозможен. Что интересно, именно обновления могут убрать данный сбой из ОС. Отсюда, мы будем говорить не только об командной строке, но и о иных методах.
Как запустить обновления Виндовс Update применив Виндовс PowerShell?
Для запуска обновлений Виндовс Апдейтес в Виндовс PowerShell нужно ручным методом произвести установку модуля Windows Update, произвести загрузку обновлений и их установку.
- Чтобы это сделать, открываем Виндовс PowerShell как администратор;
- Затем, в открывшемся окошке нам необходимо набрать следующее сочетание: Install-Module PSWindowsUpdate и нажать «Ввод» для установки модуля Виндовс Апдейт под Виндовс PowerShell;
- После этого вставляем выражение: Get-WindowsUpdate чтобы подключиться к серверам Виндовс Апдейт и загрузкам обновлений, в том случае, если они появились;
- Далее, нам необходимо вставить команду: Install-WindowsUpdate которая поможет установить обновления Виндовс, которые мы загрузили на ПК (Разумеется, после ввода каждой из этих команд нажимаем Enter).
Обновляем Виндовс Апдейп, применив командную строку
Необходимо открыть «Командную строку» как Администратор. После этого, нужно вставить в неё следующие сочетания и нажать «Ввод»:
- Чтобы проверить обновления вставим следующую команду: UsoClient StartScan;
- Для запуска загрузки обновлений набираем: UsoClient StartDownload и кликнем по Вводу;
- Для запуска установки обновлений нужно набрать следующую команду: UsoClient StartInstall;
- Для перезапуска компьютера после того, как мы установили обновления нужно набрать команду: UsoClient RestartDevice;
- Если же нам нужно сразу проверить, загрузить и установить обновления, нужно набрать следующую команду: UsoClient ScanInstallWait
Вывод: как провести обновление Windows 10 через командную строку вам теперь понятно. Рекомендуется проводить данную операцию, если не функционирует Центр Обновления Виндовс. Успехов!
https://info-kibersant.ru/obnovlenie-windows-10-cherez-ks.html
Оригинал записи и комментарии на LiveInternet.ru
Windows 10 Powershell is a very powerful command-line tool.
With the latter, you can very easily download and install Windows Update.
This goes even further because you can control Windows Update such as restart expectations to install the updates.
This article gives you most of the Powershell commands and cmdlets to download and install Windows Update updates.
Introduction
There are two solutions for finding and installing PowerShell updates:
- WindowsUpdateProvider: This group of cmdlets is included by default in Windows 10 and Windows Server 2018.
- PSWindowsUpdate: Additional module which offers additional functionalities such as listing the update history.
This article details these two groups of Powershell commands.
To list and display the latest updates installed, the command to use is:
gwmi win32_quickfixengineering |sort installedon -desc
WindowsUpdateProvider
Here is the list of available commands:
- Start-WUScan: Check for available updates.
- Install-WUUpdates: Download and install updates.
- Get-WUIsPendingReboot: Indicates if an update is waiting to install at the next reboot. It returns true in this case.
- Get-WULastInstallationDate: Returns the date of the last installation of an update.
- Get-WULastScanSuccessDate: Returns the date of the last successful Windows Update verification.
- Get-WUAVersion: Returns the version of the Windows Update client.
Check for updates
The Start-WuScan command is used to check for updates.
If you do not specify any parameters, all updates that apply to the system will appear in the results.
To filter on software updates:
Start-WUScan -SearchCriteria "Type='Software' AND IsInstalled=0"
But it can work on a remote computer.
$u = Invoke-Command -ComputerName MonPC -ScriptBlock {Start-WUScan -SearchCriteria "UpdateId='' AND IsInstalled=1"} -Credential administrateuradmin
$ u then contains the list of available updates.
Install updates
Then we use the Powershell command Install-WUUpdates to install the update.
Then to install the pending updates.
$Updates = Start-WUScan
Write-Host "Updates Found: " $Updates.Count
Install-WUUpdates -Updates $Updates
Finally, the command to update a remote PC:
$cs = New-CimSession -ComputerName MonPc -Credential Credential admin admin
Install-WUUpdates -Updates $u -CimSession $cs
The parameter -DownloadOnly allows you to download the update without installing it.
Windows Update PowerShell Module
Installation
By default PowerShell does not allow you to control Windows Update.
But we can extend these functions by installing the Windows Update PowerShell Module.
Set-ExecutionPolicy -ExecutionPolicy Unrestricted
Import-Module PSWindowsUpdate
Powershell Command-List
Here are the Powershell cmdlets available to control Windows Update:
- Download-WindowsUpdate (aka Get-WindowsUpdate -Download) : Download updates
- Get-WUList: Get a list of available updates that meet certain criteria.
- Get-WUInstall, Install-WindowsUpdate: Download and install updates.
- Add-WUOfflineSync: Save the scanner service offline
- Get-WUServiceManager: Display the configuration of the Service Manager.
- Get-WUHistory: Get a list of previous updates.
- Get-WUInstallerStatus: Check the status of the Windows Update installer.
- Get-WURebootStatus: Check the restart status of Windows Update and offers to restart the PC.
- Get-WUUninstall: Uninstall the update.
- Hide-WindowsUpdate (alias Get-WindowsUpdate -Hide: $ false): hide an update.
- Remove-WUOfflineSync: Unregister the offline scanner service.
Check for updates
Here is the Powershell command to list the Windows Update updates awaiting installation:
Get-WUlist
And to list the updates from a remote PC:
Get-WUList -ComputerName NomDeLaMachine
Install updates
Here is the command to install all the updates:
Install-WindowsUpdate -AcceptAll
And to force the restart:
Install-WindowsUpdate -AcceptAll -AutoReboot
But also to install specific updates in PowerShell:
Get-WindowsUpdate -KBArticleID KB2267602, KB4533002 -Install
And finally to exclude updates, here is the PowerShell command:
Install-WindowsUpdate -NotCategory "Drivers" -NotTitle OneDrive -NotKBArticleID KB4011670 -AcceptAll -IgnoreReboot
Install an update on a remote PC
And if you want to install Windows Update updates by PowerShell on remote PCs:
$Serveurs= "serveur1, serveur2, serveur3"
Invoke-WUJob -ComputerName $ServerNames -Script {ipmo PSWindowsUpdate; Install-WindowsUpdate -AcceptAll | Out-File C:WindowsPSWindowsUpdate.log } -RunNow -Confirm:$false
Block and Hide an update
$HideList = "KB4489873", "KB4489243"
Get-WindowsUpdate -KBArticleID $HideList –Hide
Finally to list the hidden updates:
Get-WindowsUpdate –IsHidden
Finally to unlock updates, here are two different Powershell commands:
Get-WindowsUpdate -KBArticleID $HideList -WithHidden -Hide:$false
Show-WindowsUpdate -KBArticleID $HideList
Uninstall an update
To uninstall an update with PowerShell, we use Get-WUUninstall:
Get-WUUninstall -KBArticleID KBXXX
13.06.2020
Просмотров: 2554
Выпуская обновления для своих сборок, компания Microsoft в первую очередь распространяет пакеты апдейтов для тестовых сборок или выполняет рассылку в несколько этапов, чтобы не перегружать свои сервера. Однако все пользователи могут вручную установить обновления через меню «Параметры» или «Центр обновления Windows». Если же по каким-то причинам установить пакеты исправлений и дополнений этими двумя способами не удается, то в этом случае можно воспользоваться аналогом командной строки – консолью PowerShell.
Читайте также: Windows Terminal – новое поколение Windows CMD и PowerShell в одном приложении
Устанавливает обновления Windows 10 через PowerShell
Если способы, как обновить Windows 10 через командную строку. Мы же предлагаем рассмотреть аналогичные методы, только при использовании консоли PowerShell.
- Вводим в поисковую строку Windows 10 запрос PowerShell. Нажимаем на нем правой кнопкой мыши и выбираем «Запустить с правами Администратора».
- Откроется окно консоли. Вводим Install-Module PSWindowsUpdate. Этой командой будет установлен модуль для загрузки апдейтов. Вводим A, чтобы выполнить установку для всех.
- Теперь, чтобы проверить наличие обновлений, стоит ввести такие команды:
- Get-WindowsUpdate — проверка доступных пакетов для загрузки.
- Install-WindowsUpdate — установка обновления.
- А – подтверждение установки обновлений.
Модуль обновления Windows 10 через PowerShell поддерживает дополнительные команды. Чтобы их посмотреть, стоит ввести Get-Command –Module PSWindowsUpdate. Команд достаточно много, рассмотрим только самые главные.
- Download-WindowsUpdate или Get-WindowsUpdate –Download — просмотр списка обновлений и загрузки их.
- Get-WUInstall или Install-WindowsUpdate — установить все обновления.
- Uninstall-WindowsUpdate или Remove-WindowsUpdate — удалить обновление.
- Get-WUHistory – посмотреть историю обновлений.
- Get-WURebootStatus — проверить требуется ли перезагрузка ПК для применения установки обновления.
- Get-WindowsUpdate или Get-WUList — отображает список обновлений, которые имеются на серверах Microsoft.
- Remove-WindowsUpdate — позволяет удалить обновление по идентификатору КБ
Используя эти команды, можно управлять обновлениями операционной системы.