既に影響を受けた企業は回復に大変なご苦労をされた(されている)と思いますが、2023年1月13日夜〜深夜に提供された「Microsoft Defenderウイルス対策」のインテリジェンスの更新プログラムが原因で、企業向けMicrosoft Defenderでプログラムのショートカット(.lnk)がデスクトップやタスクバー上から削除されてしまうという、大事件が発生したようです。
この記事は会員限定です。会員登録(無料)すると全てご覧いただけます。
スタートメニューやタスクバー上のショートカットが利用できなくなるという今回の問題は、既に発生してから時間が経過しているため、IT系メディアの記事やSNSなどを通じて知っている人は多いと思います。影響を受ける可能性がある企業向け「Microsoft Defender」の管理者であれば、「Microsoft 365」の管理ポータルでインシデントをいち早く確認したでしょう(画面1)。
“Microsoft Defender”という製品名を目にして、Windows標準搭載のウイルス対策ソフトウェアの問題と勘違いした人もいるかもしれません。そう思わせるようなタイトルのメディア記事も幾つか見掛けました。先に指摘しておくと、“個人ユーザーには影響しない”問題です。
この問題の原因は、2023年1月13〜14日(インシデントのタイムフレームは「19:00〜0:53」)に提供された「Microsoft Defender Antivirusのインテリジェンスの更新プログラム」のバージョン「1.381.2134.0」〜「1.381.2134.0」にあり、影響を受けたのは企業向けMicrosoft Defenderである「Microsoft 365 Defender」「Microsoft Defender for Endpoint P1/P2」で、「攻撃面の縮小(Attack Surface Reduction、ASR)ルール」の「OfficeマクロからのWin32 API呼び出しをブロックする(Block Win32 API calls from Office macro)」を有効にしていた一部の企業ユーザーです。
インシデントの対象サービスには含まれていませんが、「Microsoft Defender for Business」のも「攻撃面の縮小」機能が含まれているため、影響する可能性があります。個人で「Windows 10」や「Windows 11」標準搭載のMicrosoft Defenderウイルス対策を使用している場合には全く影響しません(現時点で、個人向けMicrosoft Defender《Microsoft Defender for Individuals》に影響するという情報は出ていません)。
幸いなことに、日本時間では金曜日の夜から深夜にかけて配布された更新プログラムなので、影響を受ける可能性があった企業でも、実際に影響を受けたデバイスは少数だったかもしれません。1月14日未明(3時ごろ)には更新プログラムの問題は解消されたため、「OfficeマクロからのWin32 API呼び出しをブロックする」が有効になっていても影響は受けませんでした。
更新プログラムの問題が解消されたとはいっても、この問題の影響を受けて削除されてしまったショートカットがユーザーのデスクトップに戻ってくることはありません。IT管理者が自分の手で復元してあげるしかないのです。
もちろん、「Microsoft Intune」や「グループポリシー」を利用して作業を自動化することもできるかもしれませんが、そう簡単にいかないのがこの問題の厄介なところです。実際のところ、直前のフルバックアップが利用可能でない限り、完全に元に戻すのは不可能かもしれません。
上記の「Microsoft Defender for Endpoint Blog」のブログポストには、確実に復旧できるとはいえない「ショートカット復元スクリプト」(当初、バージョン1、AddShortCutsV1.ps1)と、インストール済みアプリの修復でショートカットを復元する方法、問題の影響範囲を検証する方法が説明されています。
スクリプト(バージョン1)の内容を確認すると、全てのユーザーのスタートメニューフォルダ(C:\ProgramData\Microsoft\Windows\Start Menu\Programs)内にあるショートカット(.lnk)だけを復元しているように見えます。
そこで、問題を疑似的に再現するために、このパスにある全てのショートカット(*.lnk)を削除してみました。筆者の環境では、デスクトップに貼り付けたショートカットやタスクバーにピン留めしたショートカットに変化はなく、使用不能になるものもありませんでしたが、「スタート」や「スタートメニュー」からはピン留めされていたアプリのアイコンが幾つか消えてしまいました(画面2〜4)。
復元スクリプトをダウンロードして、内容を変更することなく、そのまま管理者として実行してみると、「スタート」や「スタートメニュー」から消えたアイコンの一部が復元されました。しかし、削除されたショートカット全てが復元されたわけではありません。
復元スクリプトの「$programs」に定義されたアプリの情報がレジストリ(HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\App Paths\)に存在すれば、ショートカットが復元されます。全てのショートカットを復元するには、削除されたショートカットを調査し、復元スクリプトの一覧に追加する必要があるのです。
例えば、復元スクリプトの一覧には「Firefox Private Browsing」が存在しますが、日本語環境の場合の「Firefox プライベート ブラウジング.lnk」は復元されませんでした。「Skype for Business.lnk」や「Windows Sandbox.lnnk」も復元されません。
「Office のバージョン情報.lnk」と「Office の更新.lnk」は筆者が自分で作成したバッチスクリプトのショートカットを「スタートメニュー」フォルダに直接コピーしたものなので、もちろん復元されませんし、レジストリに情報があるわけではないため、そもそもこの復元スクリプトでは対応できません(画面5)。
どのショートカットが削除されてしまったのか、問題の影響範囲の検証には、企業向けMicrosoft Defenderで利用可能な「高度な捜索(Advanced Hunting)クエリ(AHQ)」を使用した方法が説明されていませんが、この機能はMicrosoft Defender for Businessでは利用できないことがコメント欄でユーザーから指摘されています。
なお、2023年1月15日の夕方には、更新された復元スクリプト(バージョン1.1、AddShortcuts.ps1)が公開されました。更新されたスクリプトには「$programs」に定義済みのアプリがさらに増えた他、新たに「ボリュームシャドウコピーサービス(VSS)」を利用した復元オプション(VssRecovery)が追加されています。このVSSを利用した方法は、コメント欄でのユーザーからの提案をMicrosoftが確認して実装したものです。
ただし、C:ドライブのボリュームシャドウコピーが存在(「システムの復元」が有効など)しなければ利用できませんし、この方法でも全てのショートカットを確実に復元できるわけではありませんでした(画面6)。
「Microsoft Defender for Endpoint Blog」のコメント欄によると、影響は全てのユーザーの「スタートメニュー」だけではないという指摘もあります。
この問題の騒動はまだ続くかもしれません。2023年1月17日には「お気に入り」の復元や非英語環境にも対応したという、更新された復元スクリプトの「バージョン2」が公開されました。新しい復元スクリプトでも、1つのショートカットがさらに復元されたものの、まだ全てが復元されたわけではありません。
さらに、その翌日には「バージョン3」とタスクバー復元用の実行ファイル(MpRecoverTaskbar.exe)が公開されていますが(Windows PowerShell 5.1で実行する必要があり、PowerShell 7は現状サポートされないという新しい要件が追加されています)、1月20日には「バージョン4」が出ていますが、筆者自身が影響を受けていない以上(疑似的に問題を簡単に再現しただけ)、この問題についてもう追いかけることはやめにします。
岩手県花巻市在住。Microsoft MVP 2008 to 2023(Cloud and Datacenter Management)。SIer、IT出版社、中堅企業のシステム管理者を経て、フリーのテクニカルライターに。Microsoft製品、テクノロジーを中心に、IT雑誌、Webサイトへの記事の寄稿、ドキュメント作成、事例取材などを手掛ける。個人ブログは『山市良のえぬなんとかわーるど』。近著は『Windows版Docker&Windowsコンテナーテクノロジ入門』(日経BP社)、『ITプロフェッショナル向けWindowsトラブル解決 コマンド&テクニック集』(日経BP社)。
Copyright © ITmedia, Inc. All Rights Reserved.