![ターミナルまたは PowerShell を使用してサイレント モードで Windows Update (パッチ) をアンインストールする方法を教えてください。](https://rvso.com/image/1665774/%E3%82%BF%E3%83%BC%E3%83%9F%E3%83%8A%E3%83%AB%E3%81%BE%E3%81%9F%E3%81%AF%20PowerShell%20%E3%82%92%E4%BD%BF%E7%94%A8%E3%81%97%E3%81%A6%E3%82%B5%E3%82%A4%E3%83%AC%E3%83%B3%E3%83%88%20%E3%83%A2%E3%83%BC%E3%83%89%E3%81%A7%20Windows%20Update%20(%E3%83%91%E3%83%83%E3%83%81)%20%E3%82%92%E3%82%A2%E3%83%B3%E3%82%A4%E3%83%B3%E3%82%B9%E3%83%88%E3%83%BC%E3%83%AB%E3%81%99%E3%82%8B%E6%96%B9%E6%B3%95%E3%82%92%E6%95%99%E3%81%88%E3%81%A6%E3%81%8F%E3%81%A0%E3%81%95%E3%81%84%E3%80%82.png)
を使用しようとしました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 ;
}
}
}