本記事では、Microsoft Defender for Endpoint(MDE) の WSL 用プラグインをインストールした後、WSL 2 のディストリビューションが Microsoft Defender ポータルに表示されない、またはオンボードが完了しない場合に確認いただきたい項目と対処方法をご案内します。
WSL 用プラグインの前提要件、インストール方法および既知の制限事項については、以下の公開情報をご参照ください。
参考情報:Linux 用 Windows サブシステム用の Microsoft Defender for Endpoint プラグイン (WSL) | Microsoft Learn
本記事の内容
事象の概要
WSL 用プラグインのインストール後、WSL 2 のディストリビューションを起動しても、Microsoft Defender ポータルの [デバイス] ページに WSL のデバイスが表示されない場合があります。
このような場合は、オンボード処理に必要な時間とディストリビューションの稼働状態を確認します。
オンボードまでの時間に関する既知の制限
WSL 用プラグインは、インストール後に完全にインスタンス化されるまで数分かかります。また、WSL 2 のインスタンスがオンボードされるまでには 30 分 ~ 2 時間程度かかる場合があります。
また、有効期間が短い WSL コンテナーインスタンスでは WSL 2 のデバイスプロファイルが Microsoft Defender ポータル に表示されない場合があります。
ディストリビューションを少なくとも 30 分間起動した状態にすることで、WSL 2 のデバイスプロファイルが表示されることを確認してください。
参考情報:既知の問題と制限事項 | Microsoft Learn
トラブルシューティング手順
WSL 用プラグインのインストール後にオンボードが完了しない場合は、以下の順番で確認します。
- WSL 2 と Windows ホストの前提要件を確認します。
- ディストリビューションを起動し、少なくとも 30 分間起動した状態を維持します。(1 ~ 2 時間程度の時間を要する場合があります。)
healthcheck.exeを実行し、プラグイン、WSL および Defender の正常性を確認します。- 問題が継続する場合、プラグインを再インストールします。
- 問題が解決しない場合、WSL を再起動して、オンボードを再確認します。
WSL 2 と Windows ホストの前提を確認する
WSL 用プラグインを使用するには、Windows ホストが MDE にオンボードされており、WSL 2 が利用可能な状態である必要があります。
管理者権限のコマンドプロンプトまたは PowerShell で、WSL のバージョンとディストリビューションの状態を確認します。
1 | wsl.exe --version |
wsl.exe --list --verbose の実行結果で、対象のディストリビューションについて以下を確認します。
STATEがRunningであることVERSIONが2であること
VERSION が 1 の場合、WSL 用プラグインの対象となる WSL 2 に変換します。
1 | wsl.exe --set-version <ディストリビューション名> 2 |
また、WSL のバージョンが古い場合は、以下のコマンドで更新します。
1 | wsl.exe --update |
WSL のバージョン要件やサポートされる Windows のバージョンについては、以下の公開情報をご参照ください。
参考情報:Linux 用 Windows サブシステム用の Microsoft Defender for Endpoint プラグイン (WSL) | Microsoft Learn
ディストリビューションが起動した状態を維持する
対象のディストリビューションが停止している場合は、以下のコマンドで起動します。
1 | wsl.exe -d <ディストリビューション名> |
ディストリビューションを起動した後は、Linux のターミナルを閉じず、少なくとも 30 分間起動した状態を維持します。
コンテナーやスクリプトの終了に伴ってディストリビューションが自動的に停止する構成では、オンボード処理が完了する前に WSL 2 のインスタンスが終了する場合があります。実行中の処理が終了した後もディストリビューションが起動した状態となるように、運用方法をご確認ください。
healthcheck.exe でプラグインの状態を確認する
プラグインのインストールまたは更新後は、プラグインが初期化され、ログが出力されるまで少なくとも 5 分間待ってから正常性を確認します。
管理者権限のコマンドプロンプトを起動し、以下のコマンドを実行します。
1 | cd /d "%ProgramFiles%\Microsoft Defender for Endpoint plug-in for WSL\tools" |
healthcheck.exe の実行結果で、以下の項目を確認します。
- WSL のバージョンが要件を満たしていること
- プラグインのバージョンが表示されていること
- Defender の正常性状態が
Healthyであること - 接続テストが成功していること
healthcheck.exe の実行時に、WSL ディストリビューションの起動を促すメッセージが表示された場合は、ディストリビューションを起動してから少なくとも 5 分間待ち、再度 healthcheck.exe を実行します。
また、Waiting for Telemetry などのメッセージが表示された場合も、テレメトリの初期化に時間がかかっている可能性があります。5 分程度待ってから、正常性を再確認します。
接続テストの結果が invalid の場合は、WSL 用プラグインから MDE のサービス URL への接続に失敗している可能性があります。プロキシを使用している環境では、以下のコマンドを実行してプロキシ設定の検出結果を確認します。
1 | healthcheck.exe --extendedProxy |
接続テストやプロキシ設定に問題がある場合は、MDE の通信要件、プロキシおよびファイアウォールの構成をご確認ください。解消しない場合は、後述の手順でサポートバンドルを取得します。
オンボードが完了した後、Microsoft Defender ポータルの [デバイス] ページで WSL2 タグを使用して、対象の WSL インスタンスが表示されることを確認します。
プラグインを再インストールする
healthcheck.exe でプラグインの状態を確認できない場合は、以下の手順で再インストールを実施します。
- コントロール パネルを開き、[プログラム]>[プログラムと機能] を選択します。
- インストールされているプログラムの一覧から、WSL 用 Microsoft Defender for Endpoint プラグインをアンインストールします。
- OS を再起動します。
- OS の再起動後、WSL のディストリビューションを起動しないまま、Microsoft Defender ポータルのオンボードページからダウンロードした最新のインストーラーを使用してプラグインをインストールします。
- WSL のディストリビューションを起動し、少なくとも 30 分間お待ちください。
- healthcheck.exe でプラグインの状態を確認する の手順で正常性を確認します。
プラグインのインストーラーは、Microsoft Defender ポータルの [設定]>[エンドポイント]>[オンボード]>[Linux 用 Windows サブシステム 2 (プラグイン)] から取得できます。
WSL を再起動してオンボードを再確認する
管理者権限の PowerShell またはコマンドプロンプトで以下のコマンドを実行し、実行中の WSL インスタンスを停止します。
1 | wsl.exe --shutdown |
wsl.exe --shutdown の実行後、対象のディストリビューションを起動します。
1 | wsl.exe -d <ディストリビューション名> |
ディストリビューションを起動した状態で 30 分程度待ち、その後 healthcheck.exe を実行して正常性を確認します。
WSL のサービスが一時停止していた場合でも、ディストリビューションを起動することで WSL が再度起動します。WSL 用プラグインのインストールや更新直後に問題が発生した場合は、OS の再起動または上記の WSL 再起動を実施してから、オンボードを再確認します。
プラグインログの取得
上記の手順を実施しても問題が解消しない場合は、healthcheck.exe の実行結果とプラグインのログを取得します。
まず、ディストリビューションを起動した状態で 30 分程度待った後、以下のコマンドを実行します。
1 | cd /d "%ProgramFiles%\Microsoft Defender for Endpoint plug-in for WSL\tools" |
healthcheck.exe の実行結果のスクリーンショットと、healthcheck.exe --supportBundle で作成されたサポートバンドルを保存します。
また、Windows ホストの正常性状態を確認するため、MDEClientAnalyzer を使用して情報を採取します。
実展開時の留意事項
WSL 用プラグインを実展開する際は、Microsoft Defender ポータルから取得した最新のインストーラーを使用してください。
また、初回のオンボード処理が完了するまで、WSL 2 のディストリビューションを少なくとも 30 分間起動した状態にしておく運用をご検討ください。
短時間で起動と停止を繰り返すディストリビューションやコンテナーでは、WSL 2 のインスタンスが Microsoft Defender ポータルに表示されない場合があります。
Note
WSL 用プラグインのインストールまたは更新時に WslService が実行中の場合、サービスが一時停止します。
参考情報:Linux 用 Windows サブシステム用の Microsoft Defender for Endpoint プラグイン (WSL) | Microsoft Learn
まとめ
WSL 用プラグインのインストール後にオンボードが完了しない場合は、まず Windows ホストが MDE にオンボードされていること、WSL 2 のディストリビューションが Running の状態であることを確認します。
ディストリビューションを起動した状態で少なくとも 30 分間待っても問題が解消しない場合は、healthcheck.exe でプラグインの正常性を確認し、インストールログにエラーが記録されている場合はプラグインを再インストールしてください。