Windows 10の「Microsoft Defender」は、OSが起動していない状態でスキャンを実行できるオフラインスキャン機能を備えています。この機能、Windows Server 2016やWindows Server 2019では使えるようで使えません。Windows 8.1は、Windows 10にMicrosoft Defenderオフラインが追加されたことの影響を間接的に受け、PowerShellモジュールが機能しないという問題が発生します。
この記事は会員限定です。会員登録(無料)すると全てご覧いただけます。
「Microsoft Defenderオフライン」は、「Windows 10」に標準で組み込まれている「Microsoft Defender」の“オフラインスキャン機能”です。これはWindows 10 バージョン2004からの名称で、以前は「Windows Defender」でした。
マルウェアの中には、スキャンエンジンから身を隠して活動するものがありますが、オフラインスキャンを利用すればOSは稼働していないので、活動を停止しているマルウェアの実体を駆除できる可能性があります(画面1〜3)。Microsoft Defenderオフラインは、他社のウイルス対策製品を導入している場合でも、「定期的なスキャン」のオプションの一つとして利用可能です。
以下の連載記事では、Windows 10 バージョン1903からの新機能である「保護の履歴」を紹介し、以前のバージョンのWindows 10がオフラインスキャンの結果を再起動後に提供しないという問題について触れました。
以下のサポート情報の「スキャン結果はどこで確認できますか?」には、最新のWindows 10の「保護の履歴」、または以前のバージョンの「脅威履歴」でスキャン結果を確認できるように書いてありますが、できるようになったのはWindows 10 バージョン1903以降の「保護の履歴」からです。
Windows 10 バージョン1809以前の「脅威履歴」にオフラインスキャンの結果が表示されることは決してありません。スキャン結果を確認するには、前出の画面2をじっと見ているしかありません。見逃すと自動的に再起動され、結果は消えてしまいます。
オフラインスキャンは心強いセキュリティ機能ですが、見ていないとちゃんと動いているのかどうか分からない、本当にちゃんと仕事をしているのかと心配にもなるでしょう。Windows 10 バージョン1903以降はちゃんと仕事をしてくれるようになりましたが、履歴を確認できないWindows 10 バージョン1809やWindows 10 Enterprise LTSB 2016をご利用中の場合はこの点にご注意ください。
オフラインスキャン機能はWindows 10 バージョン1607で初めて搭載され、「設定」アプリの「更新とセキュリティ」の「Windows Defender」から開始できました。現在のWindows 10の「Windowsセキュリティ(セキュリティダッシュボード)」のようなUI(ユーザーインタフェース)はありません。Windows 10 バージョン1703で「Windows Defenderセキュリティセンター」として搭載され、Windows 10 バージョン1903で「Windowsセキュリティ」になりました。
Windows 10 バージョン1607と同じOSビルドである「Windows Server 2016」は、Windows Server OSとしてWindows Defenderを初めて標準搭載しました。こちらもオフラインスキャンが利用できるのではないかと思いましたが、「更新とセキュリティ」の「Windows Defender」にはオフラインスキャンのオプションはありません。
PowerShell用の「Defender」モジュールには、オフラインスキャンを開始する「Start-MpWDOScan」コマンドレットがあり、Windows Server 2016にも存在します。しかし、実行してみると、次のようなエラーを出力して失敗してしまいます(画面4)。
Start-MpWDOScan: Error were encountered when attempted to run WDO scan on your PC.
ユーザーフォーラムを探してみると、同じような問題を報告している人がいましたが、原因や回避策などは見つからず、未解決のままです。
Windows 10ではStart-MpWDOScanコマンドレットを実行すると、1分後に再起動されてオフラインスキャンが始まります。Windows 10で関連しそうなコンポーネントを探してみると、「C:\Program Files\Windows Defender\Offline」ディレクトリに「OfflineScannerShell.exe」を見つけました。一方、Windows Server 2016(デスクトップエクスペリエンス)で確認すると、このディレクトリ自体が存在しませんでした。
「Windows Server 2019」(デスクトップエクスペリエンス)はどうかというと、「Windowsセキュリティ」にオフラインスキャンのオプションはありませんし、Start-MpWDOScanコマンドレットもエラー、「C:\Program Files\Windows Defender\Offline」ディレクトリは存在しますが空っぽの状態でした(画面5)。
つまり、Windows Server 2016/2019に標準搭載されるWindows Defenderには、オフラインスキャン機能は搭載されていないということです。Server Coreインストールおよび半期チャネル(SAC)のWindows Serverも同様です。もし仮にあったとしても、どちらもバージョン1903より前のバージョンなので、オフラインスキャンの検出や駆除状況はリアルタイムに目で見ていなければなりません。同じWindowsなわけですから、ダウンロード提供されているWindows 7/8.1用のWindows Defenderオフライン(前出の「Microsoft Defender オフラインを使って PC を保護する」内のリンクから入手可能)で代替できるかもしれません。
実は、オフラインスキャン機能がWindows 10に標準搭載されたことで、全く別の場所で問題が発生していることをご存じでしょうか。その問題とは、「Windows 8.1」に標準搭載されているWindows DefenderのPowerShell用Defenderモジュールのコマンドレットが、数年前から全く利用できない状態になっているのです(画面6)。
原因は、毎月のセキュリティ更新プログラムであるマンスリーロールアップで、Defenderモジュールの定義ファイルが置き換えられたことにあります。置き換えられた定義ファイルの中に、Windows 8.1には存在しないオフラインスキャン機能への不適切な参照が含まれ、それが原因でDefenderモジュールのインポートに失敗するのです。
Microsoftはこの問題を認識し、以下のサポート情報を2019年4月に公開しましたが、修正プログラムなどで対応するつもりはないようです(現在このサポート情報にはアクセスできません)。
筆者はこの問題を2017年4月ごろに既に認識していましたが、2019年4月になってようやくこの問題に関するサポート情報が公開されました。サポート情報では2018年10月のマンスリーロールアップのインストール以降に問題が発生すると書いてありますが、筆者が確認したところ、2017年3月のマンスリーロールアップのプレビューからの問題です。当時、Windows Defenderオフラインが標準搭載される前のバージョンであるWindows 10 バージョン1511(既にサポート終了)でも同様の問題が発生していました。
サポート情報で説明されている手順は間違いではないのですが、問題の参照を含む「Defender.psd1」はアクセス許可の関係で簡単には修正して上書き保存することができません。そこで、アクセス許可を変更せずに「Defender.psd1」の問題を修正する手順を説明します(画面7)。なお、PowerShellでWindows Defenderを扱うことがないのであれば、何もする必要はありません。
(1)PowerShellを管理者として開き、作業用のディレクトリ(次の例は「C:\work」)を作成して、「Defender.psd1」をコピーし、念のためバックアップとして「Defender.old」も作成しておきます。
mkdir C:\Work copy C:\Windows\System32\WindowsPowerShell\v1.0\modules\Defender\Defender.psd1 C:\work copy C:\work\Defender.psd1 C:\work\Defender.old
(2)「メモ帳」(notepad.exe)で作業用ディレクトリ内の「Defender.psd1」を開き、「, 'MSFT_MpWDOScan.cdxml'」と「, 'Start-MpWDOScan'」を削除して、作業用ディレクトリに上書き保存します。変更した「Defender.psd1」」を「robocopy」コマンドで元の場所に戻し、Defenderモジュールを再度インポートします。
notepad C:\work\Defender.psd1 robocopy C:\work C:\Windows\System32\WindowsPowerShell\v1.0\modules\Defender\ Defender.psd1 /B Import-Module Defender -force
岩手県花巻市在住。Microsoft MVP:Cloud and Datacenter Management(2020-2021)。SIer、IT出版社、中堅企業のシステム管理者を経て、フリーのテクニカルライターに。Microsoft製品、テクノロジーを中心に、IT雑誌、Webサイトへの記事の寄稿、ドキュメント作成、事例取材などを手掛ける。個人ブログは『山市良のえぬなんとかわーるど』。近著は『Windows版Docker&Windowsコンテナーテクノロジ入門』(日経BP社)、『ITプロフェッショナル向けWindowsトラブル解決 コマンド&テクニック集』(日経BP社)。
Copyright © ITmedia, Inc. All Rights Reserved.