前回の記事で、DISMコマンドを利用したWindows 更新プログラムをアンインストールするバッチファイルを作成してみましたので、実際に使用ができるように、手順を記載します。
詳細なバッチファイルの解説については、以下の参照をお願いします。
- 設定の手順
- 1.Cドライブに、WindowsUninstallDismというフォルダを作成して、その配下に、LogというフォルダとテキストファイルのPatchListを作成します。
- 2.UninstallUpdateDism.batというバッチファイルを作成します。作成の仕方としては、テキストファイルにて、UninstallUpdateDismというテキストファイルを作成して、最後の拡張子を.txtから.batにします。
- 3.UninstallUpdateDism.batを選択して、右クリック、編集を選択します。
- 4.UninstallUpdateDismバッチのテキストをコピーして、開いたテキストファイルに貼り付けた後、保存して、閉じます。
- 5.バッチを実行する前に、アンインストールしたい更新プログラムを調べるために、dism /online /Get-PackagesでパッケージIDを調べ、アンインストールしたいパッケージIDを控えておいて、PatchListの中に、記載をしておきます。
- 6.バッチを実行するときに、UninstallUpdateDism.batを選択→右クリック→「管理者として実行を選択」します。
設定の手順
1.Cドライブに、WindowsUninstallDismというフォルダを作成して、その配下に、LogというフォルダとテキストファイルのPatchListを作成します。

2.UninstallUpdateDism.batというバッチファイルを作成します。作成の仕方としては、テキストファイルにて、UninstallUpdateDismというテキストファイルを作成して、最後の拡張子を.txtから.batにします。

3.UninstallUpdateDism.batを選択して、右クリック、編集を選択します。

4.UninstallUpdateDismバッチのテキストをコピーして、開いたテキストファイルに貼り付けた後、保存して、閉じます。
※コピーは右上の「Copy」をクリックしたら、コピーができます。
@echo off @chcp 65001 @set str1=開始: @set str2=終了: @set log=C:\WindowsUninstallDism\Log\ @set list=C:\WindowsUninstallDism\PatchList.txt @echo %str1% %DATE% %TIME% > %log%\UninstallUpdateDism.txt @systeminfo >> %log%\UninstallUpdateDism.txt @for /f %%a in (%list%) do ( dism /online /Remove-Package /PackageName:%%a /Quiet /NoRestart ) @echo %str2% %DATE% %TIME% >> %log%\UninstallUpdateDism.txt @systeminfo >> %log%\UninstallUpdateDism.txt
5.バッチを実行する前に、アンインストールしたい更新プログラムを調べるために、dism /online /Get-PackagesでパッケージIDを調べ、アンインストールしたいパッケージIDを控えておいて、PatchListの中に、記載をしておきます。
パッケージIDを調べる方法と、アンインストールしたいKB番号がないの対処方法は、以下の記事の参照をお願いします。
今回は、以下の更新プログラムのKB5016616をアンインストールするために、パッケージIDをPatchListの中に記載してます。

6.バッチを実行するときに、UninstallUpdateDism.batを選択→右クリック→「管理者として実行を選択」します。

UninstallUpdateDismバッチ試験
本試験は、更新プログラムをアンインストールをした結果を記載します。
PC環境は以下の通りです。
- CPU:Intel(R) Core(TM) i7 CPU 870 @ 2.93GHz 2.93 GHz
- RAM:16.0 GB
- ドライブは、C、EともSSD
試験結果
WindowsUnistallDism.txt を確認します。
開始と終了の時間を確認します。(開始と終了の時間だけを抜粋)
開始: 2022/08/25 19:32:49.40
終了: 2022/08/25 19:35:08.32
約3分で終了してました。
KB5016616がアンインストールしたことを確認します。(Hotfixの覧だけを抜粋)
インストール前
Hotfix(s): 17 Hotfix(s) Installed.
[01]: KB5015730
[02]: KB4577586
[03]: KB4580325
[04]: KB4586864
[05]: KB4598481
[06]: KB5003791
[07]: KB5012170
[08]: KB5016616
[09]: KB5006753
[10]: KB5007273
[11]: KB5011352
[12]: KB5011651
[13]: KB5014032
[14]: KB5014035
[15]: KB5014671
[16]: KB5015895
[17]: KB5005699
インストール後
Hotfix(s): 17 Hotfix(s) Installed. [01]: KB5015730 [02]: KB4577586 [03]: KB4580325 [04]: KB4586864 [05]: KB4598481 [06]: KB5003791 [07]: KB5012170 [08]: KB5015807 [09]: KB5006753 [10]: KB5007273 [11]: KB5011352 [12]: KB5011651 [13]: KB5014032 [14]: KB5014035 [15]: KB5014671 [16]: KB5015895 [17]: KB5005699
8番目に、KB5016616がありましたが、無くなって、KB5015807が入っています。
今回は、試験なので、1つだけですが、複数台のPCに、数十個のセキュリティパッチを適用する場合にバッチを実行した後に、Enterキーを押すだけでアンインストールができますので、GUIで一個づつ選択して、アンインストールするよりは、効率的にアンインストールができます。
WUSAコマンドでは、KB番号を指定する場合は、/quietパラメータを付与したらアンインストールができない仕様になっており、完全に自動化ができないので半自動になっていましたが、DISMコマンドでは/quietパラメータが使用でき、ユーザー操作をしないために、自動化ができます。
ただ、パッケージIDがKB番号の記載がない場合は、パッケージIDの詳細を確認して調べないといけなので、少々手間ですね。