Задача:
Начиная с MS Windows 10 компания Microsoft убрала штатную возможность скрывать ненужные (сбойные, косячные) обновления так, чтобы предотвращать их установку. Теперь при обновлении устанавливаются ВСЕ обязательные обновления, а можно отменять лишь необязательные.
Однако время от времени выходят такие обновления, в которых и сам производитель признает ошибку, однако с исправляющими патчами не торопится. Либо такие, которые вносят нежелательные для пользователей изменения.
Вот такие обновления необходимо скрывать так, чтобы они не были доступны при дальнейших автоматических установках.
Решение:
При решении таких задач лучше не пользоваться сторонними решениями, тем более когда сам производитель предоставляет возможность управления пакетами для продвинутых пользователей, поэтому мы будем использовать средство PowerShell и конкретно модуль PSWindowsUpdate из онлайн репозитория.
-
Запускаем оболочку PowerShell от имени Администратора и через менеджер пакетов PackageManagement устанавливаем модуль PSWindowsUpdate:
Код: Выделить всё
Install-Module -Name PSWindowsUpdate
-
Импортируем этот модуль в текущую сессию PowerShell и отключаем обновления (например, KB5010793 и KB5009543)
Код: Выделить всё
Import-Module PSWindowsUpdate $HideList = "KB5010793", "KB5009543" Get-WindowsUpdate -KBArticleID $HideList -Hide
либо так:
Код: Выделить всё
Import-Module PSWindowsUpdate $HideList = "KB5010793", "KB5009543" Hide-WindowsUpdate -KBArticleID $HideList -Verbose
Просмотреть скрытые обновления из PowerShell можно так:
Код: Выделить всё
Get-WindowsUpdate –IsHidden
Отменить скрытие обновлений из PowerShell можно так:
Код: Выделить всё
Import-Module PSWindowsUpdate
$HideList = "KB5010793", "KB5009543"
Get-WindowsUpdate -KBArticleID $HideList -WithHidden -Hide:$false
либо так:
Код: Выделить всё
Import-Module PSWindowsUpdate
$HideList = "KB5010793", "KB5009543"
Show-WindowsUpdate -KBArticleID $HideList