ターミナルまたは PowerShell を使用してサイレント モードで Windows Update (パッチ) をアンインストールする方法を教えてください。

ターミナルまたは PowerShell を使用してサイレント モードで Windows Update (パッチ) をアンインストールする方法を教えてください。

を使用しようとしましたwusa /uninstall /kb:4497464 /quietが、Windows 10 ではquietフラグが非推奨になっています。アンインストールする他の方法はありますか?

答え1

この機能は廃止され、サイレントモードでアップデートをアンインストールする機能は削除されました。 Windows 10 の廃止された機能 それは言う

更新プログラムをサイレント アンインストールするための wusa の使用は非推奨になりました。/quiet スイッチを指定したアンインストール コマンドは、セットアップ イベント ログにイベント ID 8 が記録されて失敗します。更新プログラムをサイレント アンインストールすると、悪意のあるソフトウェアがユーザーの介入なしにバックグラウンドで更新プログラムをサイレント アンインストールする可能性があるため、セキュリティ上のリスクが生じる可能性があります。

PowerShell を使用して次のコマンドを実行し、更新プログラムの識別子を見つけます。

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

ここに画像の説明を入力してください

実際に削除するには:

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

ソース: サーバー 2016/2019 で、WUSA を使用して、サイレント モードで更新プログラムをアンインストールできません。古い OS の削除は機能します

答え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 ;
}
}
}

関連情報