[MECM/SCCM]更新プログラムKB4524244をサイレントでアンインストールする
ここ数日、Windowsの更新プログラム「KB4524244」の取り下げが話題になっています。
MECM(旧SCCM)を使うことを想定しコマンドプロンプトによるアンインストールを試したのですが、思いもよらないトラブルが発生してしまいました。
その顛末をこちらに記載したいと思います。
MicrosoftがKB4524244を取り下げたので急いでアンインストールしよう
レジストリにアンインストールコマンドが無い
レジストリの「Uninstall」に、「MsiExec.exe」か「msu」のアンインストールコマンドが載っているかなと思ったのですが・・・無いです。
ま、更新プログラムですからね。
wusaのパラメータが変わっていた
ということで、正攻法「wusa」でアンインストールしてみます。
wusa /uninstall /kb:4524244 /quiet /norestart
楽勝楽勝!と思っていましたが、何度やってもアンインストールされません。
KB指定では /uninstall /quiet をセットで使えない
そこでwsuaのパラメータを確認しようと以下のコマンドを実行しました。
wusa /?
あれ? /uninstall と /quiet はセットで使えない?
▼試しに /quiet を外して実行してみると確認画面が表示されました
どうやらKB指定ではサイレントでアンインストールできなくなったようです。
ちなみに今年公開されたブログをいくつか見て回ったのですが、/uninstall で /quiet が使えないことに言及している記事は少ししかありませんでした。かなり最近になって変更されたのかもしれません。
MECMでサイレント実行は必須
MECMなどのツールを使う側としては、ユーザーに表示せずに実行するサイレント実行は欠かせません。
困ったな・・・と思いながら別の方法を探ることに。
困った時のdism
色々調べましたが、dismでのアンインストールが一番良さそうです。
他の方法をご存知の方は教えてください。
1. アンインストールしたいKB情報を控える
▼更新プログラムの一覧からKB情報を控えます。
今回アンインストールしたいのは「KB4524244」です。
2. コマンドプロンプトを管理者権限で起動
3. レジストリエディタを起動
regedit
4. KB4524244をレジストリ内で検索
▼検索すると以下のような値がヒットしました
▼「InstallName」の値をメモっておきましょう
この値が「パッケージ名」です。
5. dismコマンドでアンインストール
dismコマンドのパラメータに「パッケージ名」を指定し実行します。
dism /Online /remove-package /PackageName {パッケージ名}
これでアンインストール完了です。
パッケージ名が上記と同じとは限りませんので、必ず自分の環境を確認しましょう。
人力での更新プログラム運用は難しい
数千台・数万台のPCでアンインストールすることを想定し、今回の調査を行いました。
MECMで上記のようなアンインストールするコマンドをPCに展開すれば、複数台であっても簡単にアンインストールできます。
MECMのようなツールで配信する更新プログラムをコントロールし、かつ更新プログラムの最新情報をキャッチアップしないと、今後ますます運用が厳しくなると思います。
最後に
アーザスブログでは、月例の更新プログラム情報や不具合など役立つ情報を公開しています。
更新プログラムがリリースされるたびに混乱が起きている、MECM(旧SCCM)の運用に困っている、などのご相談をお待ちしております。