- Сообщения
- 25,496
- Решения
- 10
- Реакции
- 13,914
PSWindowsUpdate — это модуль PowerShell, который позволяет управлять обновлениями Windows через командную строку. С его помощью можно искать, загружать и устанавливать обновления, а также удалять ненужные обновления.
В рамках исследования удалось заставить работать PSWindowsUpdate на Windows 7 SP1, установив Windows Management Framework 5.1 и разобраться с несколькими ошибками, но это уже другая история.
2. Установите модуль PSWindowsUpdate.
Согласитесь с условиями использования репозитория NuGet.
3. Измените политику выполнения скриптов PowerShell, а именно разрешите запуск локально созданных скриптов без подписи, но требуйте цифровой подписи для скриптов, загруженных из Интернета или удалённых источников.
4. Импортируйте модуль в сессию PowerShell, это позволит использовать модуль без перезагрузки PowerShell.
Или запустить поиск обновлений по определенной категории обновлений
Также можно задать следующие параметры:
1. Если требуется установить одно обновление
2. Если требуется установить несколько обновлений, то перечислите их KB через запятую
3. Если выбирать отдельные обновления неудобно, то можно установить обновления, относящиеся к определенной категории обновлений, например:
Обновления определений (Definition Update)
Накопительные обновления (Update Rollup)
Обновления безопасности (Security Update)
4. Можно установить обновления по имени пакета, например, установить пакеты содержащие имя
Исключаем обновление с идентификатором
Исключаем все обновления из категории "Drivers":
Исключаем обновление с заголовком, содержащим "Office":
Для удаления установленных обновлений нам понадобится следующие шаги:
1. Список установленных обновлений:
2. Для удаления конкретного KB воспользуйтесь командлетом
Или воспользуйтесь данной инструкцией
Для чего может понадобиться модуль:
Модуль PSWindowsUpdate полезен, если нужно вручную управлять обновлениями системы, например, когда требуется больше контроля над установкой обновлений или их откладыванием. С его помощью можно легко проверить наличие обновлений, установить только нужные, удалить проблемные обновления или скрыть нежелательные.Системные требования
Для работы модуля понадобится PowerShell минимальной версии 5.1.0.0, то есть, начиная с версии Windows 10 Anniversary Update (1607) и Windows Server 2016.В рамках исследования удалось заставить работать PSWindowsUpdate на Windows 7 SP1, установив Windows Management Framework 5.1 и разобраться с несколькими ошибками, но это уже другая история.
Установка
1. Запустите PowerShell или Терминал от имени администратора.2. Установите модуль PSWindowsUpdate.
PowerShell:
Install-Module -Name PSWindowsUpdate -Force
3. Измените политику выполнения скриптов PowerShell, а именно разрешите запуск локально созданных скриптов без подписи, но требуйте цифровой подписи для скриптов, загруженных из Интернета или удалённых источников.
PowerShell:
Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Force
4. Импортируйте модуль в сессию PowerShell, это позволит использовать модуль без перезагрузки PowerShell.
Код:
Import-Module PSWindowsUpdate
Работа с модулем PSWindowsUpdate.
Поиск обновлений
Для проверки доступных обновлений используйте команду
PowerShell:
Get-WindowsUpdate
Или запустить поиск обновлений по определенной категории обновлений
PowerShell:
Get-WindowsUpdate -Category "Security Update"
Установка обновлений
PowerShell:
Install-WindowsUpdate -AcceptAll -AutoReboot
-AcceptAll
- параметр, который автоматически подтверждает установку всех найденных обновлений без запроса подтверждения у пользователя.-AutoReboot
- параметр, который позволяет автоматически перезапустить операционную систему (ОС).Также можно задать следующие параметры:
-IgnoreReboot
– запретить автоматическую перезагрузку.-ScheduleReboot
– задать точное время перезагрузки компьютера.Установка только выбранных обновлений
Для установки отдельных обновлений, а не всех доступных, можно использовать следующие команды1. Если требуется установить одно обновление
PowerShell:
Install-WindowsUpdate -KBArticleID "KB5044273" -AcceptAll -AutoReboot
2. Если требуется установить несколько обновлений, то перечислите их KB через запятую
PowerShell:
Install-WindowsUpdate -KBArticleID "KB5044273", "KB2267602" -AcceptAll -AutoReboot
3. Если выбирать отдельные обновления неудобно, то можно установить обновления, относящиеся к определенной категории обновлений, например:
Обновления определений (Definition Update)
PowerShell:
Install-WindowsUpdate -Category "Definition Update" -AcceptAll
Накопительные обновления (Update Rollup)
PowerShell:
Install-WindowsUpdate -Category "Update Rollup" -AcceptAll
Обновления безопасности (Security Update)
PowerShell:
Install-WindowsUpdate -Category "Security Update" -AcceptAll
4. Можно установить обновления по имени пакета, например, установить пакеты содержащие имя
Defender
:
PowerShell:
Install-WindowsUpdate -Title "Defender" -AcceptAll
Как установить обновления, исключив некоторые из них по KB или категории
Также можно установить все обновления, исключив некоторые из них по следующим критериям:- Категории (-NotCategory);
- Названию (-NotTitle);
- Номеру обновления (-NotKBArticleID).
Исключаем обновление с идентификатором
KB5044273
:
PowerShell:
Install-WindowsUpdate -NotKBArticleID "KB5044273" -AcceptAll
Исключаем все обновления из категории "Drivers":
PowerShell:
Install-WindowsUpdate -NotCategory "Drivers" -AcceptAll
Исключаем обновление с заголовком, содержащим "Office":
PowerShell:
Install-WindowsUpdate -NotTitle "Office" -AcceptAll
Удаление установленных обновлений при помощи модуля PSWindowsUpdate
Некоторые обновления невозможно удалить.Для удаления установленных обновлений нам понадобится следующие шаги:
1. Список установленных обновлений:
PowerShell:
Get-WUHistory | Where-Object { $_.Result -eq "Succeeded" } |
Select-Object ComputerName,
OperationName,
Result,
Date,
@{Name='KB'; Expression={($_.Title -replace '.*(KB\d+).*', '$1')}},
Title |
Format-Table -AutoSize
2. Для удаления конкретного KB воспользуйтесь командлетом
PowerShell:
Remove-WindowsUpdate -KBArticleID "KB5045991"
Или воспользуйтесь данной инструкцией
Полезные заметки по использованию PSWindowsUpdate
Как получить список доступных командлетов
PowerShell:
Get-command -module PSWindowsUpdate
Команда | Описание |
---|---|
Get-WindowsUpdate | Основной командлет модуля. Список, загрузка, установка или скрытие обновлений, соответствующих заданным критериям, а также установка правил перезагрузки при установке обновлений. |
Remove-WindowsUpdate | Удаляет обновление. |
Add-WUServiceManager | Регистрирует новый менеджер службы API обновлений Windows. |
Get-WUHistory | Показывает список установленных обновлений. |
Get-WUSettings | Получает настройки клиента обновлений Windows. |
Get-WUInstallerStatus | Получает статус установщика обновлений Windows, занят он или нет. |
Enable-WURemoting | Включает правила брандмауэра для удаленного доступа к PSWindowsUpdate. |
Invoke-WUJob | Вызывает действия PSWindowsUpdate удалённо. |
Clear-WUJob | Очищает WUJob в планировщике задач. |
Get-WUInstall / Install-WindowsUpdate | Устанавливает обновления Windows. |
Uninstall-WindowsUpdate | Удаляет обновления с помощью команды Remove-WindowsUpdate. |
Get-WULastResults | Получает даты последнего поиска и установки обновлений. |
Get-WURebootStatus | Проверяет, требуется ли перезагрузка для применения обновления. |
Remove-WUServiceManager | Отключает менеджер службы обновлений Windows. |
Set-PSWUSettings | Сохраняет настройки модуля PSWindowsUpdate в XML файл. |
Set-WUSettings | Настраивает параметры клиента обновлений Windows. |
Reset-WUComponents | Сбрасывает агент обновлений Windows до состояния по умолчанию. |
Как проверить текущие настройки клиента Windows Update, а также откуда Windows получает обновление.
PowerShell:
Get-WUSettings
PowerShell:
Get-WUServiceManager
Microsoft поддерживает следующие категории обновлений:
- Критические обновления (Critical Update)
- Обновления безопасности (Security Update)
- Обновления определений (Definition Update)
- Накопительные обновления (Update Rollup)
- Пакеты обслуживания (Service Pack)
- Инструменты (Tool)
- Пакеты возможностей (Feature Pack)
- Обновления (Update).
Ссылки по теме:
Последнее редактирование: