Как удалить обновление Windows (патч) в автоматическом режиме с помощью терминала или PowerShell?

Как удалить обновление Windows (патч) в автоматическом режиме с помощью терминала или PowerShell?

Пробовал использовать wusa /uninstall /kb:4497464 /quiet, но с Windows 10 они устарели с quietфлагом. Есть ли другой способ удалить?

решение1

Эта функция устарела, и возможность удаления обновлений в тихом режиме была удалена. См. Устаревшие функции Windows 10 который говорит

Использование wusa для тихого удаления обновления устарело. Команда удаления с ключом /quiet завершается сбоем с идентификатором события 8 в журнале событий установки. Тихое удаление обновлений может представлять угрозу безопасности, поскольку вредоносное ПО может тихо удалить обновление в фоновом режиме без вмешательства пользователя.

Используя PowerShell, выполните следующую команду, чтобы найти идентификатор обновления:

dism /online /get-packages /format:table | findstr /i "package_for"

введите описание изображения здесь

Чтобы удалить его:

Get-WindowsPackage -Online -PackageName "{PACKAGE-NAME}" |Remove-WindowsPackage -Online -NoRestart -Verbose

Источник: невозможно использовать wusa для удаления обновлений в тихом режиме на сервере 2016/2019. удаление старых ОС работает.

решение2

скрипт powershell:

(dism /online /get-packages /format:table) | ForEach-Object {
$tmp=$_ ;
$tmpArr=$tmp.Split("|") ;
if ( $tmpArr.Length -eq 4 )
{
$tmpName=$tmpArr[0].Trim(" ") ;
$tmpType=$tmpArr[2].Trim(" ") ;
if ( $tmpType.ToLower().Contains("update") )
{
Write-Host "--- delete. |$tmpName| . |$tmpType|" ;
Get-WindowsPackage -Online -PackageName "$tmpName" | Remove-WindowsPackage -Online -NoRestart -Verbose ;
}
}
}

Связанный контент