![Как удалить обновление Windows (патч) в автоматическом режиме с помощью терминала или PowerShell?](https://rvso.com/image/1665774/%D0%9A%D0%B0%D0%BA%20%D1%83%D0%B4%D0%B0%D0%BB%D0%B8%D1%82%D1%8C%20%D0%BE%D0%B1%D0%BD%D0%BE%D0%B2%D0%BB%D0%B5%D0%BD%D0%B8%D0%B5%20Windows%20(%D0%BF%D0%B0%D1%82%D1%87)%20%D0%B2%20%D0%B0%D0%B2%D1%82%D0%BE%D0%BC%D0%B0%D1%82%D0%B8%D1%87%D0%B5%D1%81%D0%BA%D0%BE%D0%BC%20%D1%80%D0%B5%D0%B6%D0%B8%D0%BC%D0%B5%20%D1%81%20%D0%BF%D0%BE%D0%BC%D0%BE%D1%89%D1%8C%D1%8E%20%D1%82%D0%B5%D1%80%D0%BC%D0%B8%D0%BD%D0%B0%D0%BB%D0%B0%20%D0%B8%D0%BB%D0%B8%20PowerShell%3F.png)
Пробовал использовать 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
решение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 ;
}
}
}