Microsoft Defender for Endpointでトラブルシューティングモードを有効にして活用してください

Windowsデバイスでは、Microsoft Defender for Endpointのトラブルシューティングモードで、ポリシー管理のMicrosoft Defenderアンチウイルス設定を一時的に変更できます。 トラブルシューティング モードを使用して、パフォーマンス、アプリケーションの互換性、誤検知、その他のウイルス対策に関する問題(改ざん防止によって保護された設定を変更できない場合を含む)を診断してください。

トラブルシューティングモードは、WindowsまたはmacOSを搭載したDefender for Endpointに登録されているデバイスに対して利用可能です。 現在、Linuxデバイス向けのトラブルシューティングモードは利用できません。 macOSではトラブルシューティングモードで改ざん防止を解除できません。 macOSの要件と手順については、macOSのMicrosoft Defender for Endpointのトラブルシューティングモードをご覧ください。

トラブルシューティングモードが有効な間、ローカル管理者は通常ポリシーでロックされている個々のデバイスの設定を変更できます。 ローカル管理者はMicrosoft Defender Antivirusをオフにしたりアンインストールしたりすることはできませんが、クラウド保護や改ざん防止など、他のMicrosoft Defender Antivirusのセキュリティ設定を変更することは可能です。

トラブルシューティングモードは開始に最大15分かかることがあり、4時間後に自動的に終了します。 1台あたり8時間までに制限されており、トラブルシューティングモードが初めて有効になってから24時間でノルマがリセットされます。 トラブルシューティングモードが終了すると、ポリシー管理設定は読み取り専用となり、元の値に戻ります。 デバイスユーザーはトラブルシューティングモードが開始されるとき、終了間近、終了時に通知を受け取ります。

改ざん防止を一時的に無効にすると、セキュリティリスクが高まります。 改ざん防止を一時的に無効にする際には、デバイスがオンラインになっている必要があります。

トラブルシューティングモードが有効な間に管理方針を通じて行われる変更は、トラブルシューティングモードが終了するまで有効になりません。 トラブルシューティングモードが有効な間は、Microsoft Defenderのアンチウイルスプラットフォームのアップデートも適用されません。 プラットフォームアップデートは、トラブルシューティングモード終了後にWindows Updateが実行されたときに適用されます。

前提条件

トラブルシューティングモードを有効にする前に、以下の要件を確認してください:

  • Microsoft Entraセキュリティ管理者の役割。 最小権限アクセスを実現するには、Authorization and settings \ Security settings \ Core security settings (manage) および Authorization and settings \ Security settings \ Detection tuning (manage) のアクセス許可を持つカスタム Microsoft Defender 統一ロールベースのアクセス制御 (RBAC) ロールを使用します。 詳細については、「Microsoft Defender の統合 RBAC」を参照してください。
  • Defender for Endpointに登録され、アクティブなデバイスです。
  • Microsoft Defender アンチウイルスプラットフォームのバージョン4.18.2203(2022年3月)以降、デバイス上でアクティブに動作しています。
  • 以下のいずれかのオペレーティングシステムおよび最小バージョンまたはビルド:
    • Windows 10:

      • 21H2(2021年11月):ビルド 19044.1618 (2022年3月)以降。
      • 21H1(2021年5月):19043.1620(2022年3月)以降にビルド。
      • 20H2(2020年10月): ビルド 19042.1620(2022年3月)以降。
      • 20H1(2020年5月):19041.1620(2022年3月)以降にビルド。

      アップデートについては、KB5011543: Microsoft Update Catalog( アップデートカタログ)をご覧ください。

    • Windows 11:対応バージョン。

      • 21H2(2021年10月):2022年3月 22000.593 以降のビルドが必要です。 更新については、KB5011563: Microsoft Update Catalog(更新カタログ)をご覧ください。
    • Windows Server 2019: ビルド 17763.2746(2022 年 3 月)以降。 最新情報については、KB5011551: Microsoft Update Catalog(更新カタログ)をご覧ください。

    • Windows Server 2022: ビルド 20348.617(2022 年 3 月)以降。 更新については、KB5011558: Microsoft Update Catalog をご覧ください。

    • 後のWindows Serverバージョン。

    • Azure Stack HCI: バージョン 23H2(2023年11月)以降。

    • Windows Server 2012 R2またはWindows Server 2016:以下の最低コンポーネントバージョンすべてを備えたモダンな統一ソリューション:

Microsoft Defenderポータルでトラブルシューティングモードを有効にしてください

Microsoft Defender Antivirus設定の一時的な変更を行う前に、デバイスでトラブルシューティングモードを有効にしてください:

  1. Microsoft Defenderポータルのhttps://security.microsoft.com/machinesのデバイスインベントリページで、デバイス行のチェックボックス以外のどこかを選択します。

  2. デバイス詳細ページで「 その他のオプション (...)」を選択し、「 トラブルシューティングモードをオンにする」を選択してください。

    トラブルシューティングモードをオンにしたデバイスアクションメニューのスクリーンショットです。

    Note

    「 トラブルシューティングモード をオンにするモード」は、前提条件を満たしていなくてもすべてのデバイスに表示されます。

  3. 確認フラインアウトで「 送信」を選択してください。

    トラブルシューティングモードをオンにするための確認フラインアウトのスクリーンショットです。

  4. デバイス詳細ページでトラブルシューティングモードが有効になっているのを待ちましょう。 起動には最大15分かかることがあります。

改ざん防止を一時的に無効にする

トラブルシューティングモードが有効な後は、対応するWindowsデバイスでPowerShellを、または対応するWindowsクライアントデバイスでWindows セキュリティアプリを使って改ざん防止を一時的に無効化します。

PowerShellを使って一時的に改ざん防止を無効にする

デバイスがトラブルシューティングモードに入っている間、改ざん防止を一時的に無効にするには、昇格されたPowerShellセッション(管理者として実行を選択して開いたPowerShellウィンドウ)で以下のSet-MpPreferenceコマンドを実行してください。

Set-MPPreference -DisableTamperProtection $true

デバイスの改ざん防止の状態を確認するには、以下のコマンドを実行します。

Get-MpComputerStatus | Select-Object IsTamperProtected

値 False は、改ざん防止がオフであることを示しています。

Windows セキュリティアプリを使って一時的に改ざん防止を無効にしてください

改ざん防止をオフにするには、Windows セキュリティアプリで「改ざん防止の設定」の手順に従ってください。

Note

手動で改ざん防止をオンにする必要はない。 トラブルシューティングモードが終了すると、一時的な変更は破棄され、改ざん保護は以前のポリシー管理状態に戻ります。 以前に改ざん防止がオンになっていれば、またオンになります。 以前にオフだった場合は、そのままオフのままです。

トラブルシューティングモードの結果を確認

Defender for Endpointはトラブルシューティングの過程でログと調査データを収集します:

  • トラブルシューティング モードが開始される前に、MpPreferenceのスナップショットが実行されます。
  • トラブルシューティング モードの有効期限が切れる直前に、2 つ目のスナップショットが実行されます。
  • トラブルシューティングモードが有効な間に運用ログが収集されます。

トラブルシューティングモードの情報をレビューまたは収集するには、以下の方法をご利用ください。

高度なハンティング クエリ

以下の高度なハンティングクエリを使って、環境内のトラブルシューティングモードのイベントを確認できます。 また、クエリを使って、デバイスがトラブルシューティングモードに入ったときにアラートを発生させる 検出ルールを作成する こともできます。

特定のデバイスのトラブルシューティング イベントを取得する

使用しない行をコメントアウトして、deviceId または deviceName で検索します。

//let deviceName = "<deviceName>";   // update with device name
let deviceId = "<deviceID>";   // update with device id
DeviceEvents
| where DeviceId == deviceId
//| where DeviceName  == deviceName
| where ActionType == "AntivirusTroubleshootModeEvent"
| extend _tsmodeproperties = parse_json(AdditionalFields)
| project Timestamp,DeviceId, DeviceName, _tsmodeproperties,
 _tsmodeproperties.TroubleshootingState, _tsmodeproperties.TroubleshootingPreviousState, _tsmodeproperties.TroubleshootingStartTime,
 _tsmodeproperties.TroubleshootingStateExpiry, _tsmodeproperties.TroubleshootingStateRemainingMinutes,
 _tsmodeproperties.TroubleshootingStateChangeReason, _tsmodeproperties.TroubleshootingStateChangeSource

現在トラブルシューティング モードのデバイス

DeviceEvents
| where Timestamp > ago(3h) // troubleshooting mode automatically disables after 4 hours
| where ActionType == "AntivirusTroubleshootModeEvent"
| extend _tsmodeproperties = parse_json(AdditionalFields)
| where _tsmodeproperties.TroubleshootingStateChangeReason contains "started"
|summarize (Timestamp, ReportId)=arg_max(Timestamp, ReportId), count() by DeviceId
| order by Timestamp desc

デバイス別のトラブルシューティング モード インスタンスの数

DeviceEvents
| where ActionType == "AntivirusTroubleshootModeEvent"
| extend _tsmodeproperties = parse_json(AdditionalFields)
| where Timestamp > ago(30d)  // choose the date range you want
| where _tsmodeproperties.TroubleshootingStateChangeReason contains "started"
| summarize (Timestamp, ReportId)=arg_max(Timestamp, ReportId), count() by DeviceId
| sort by count_

トラブルシューティングモードのインスタンスを一定時間帯で数えましょう

DeviceEvents
| where ActionType == "AntivirusTroubleshootModeEvent"
| extend _tsmodeproperties = parse_json(AdditionalFields)
| where Timestamp > ago(2d) //beginning of time range
| where Timestamp < ago(1d) //end of time range
| where _tsmodeproperties.TroubleshootingStateChangeReason contains "started"
| summarize (Timestamp, ReportId)=arg_max(Timestamp, ReportId), count()
| where count_ > 5          // choose your max # of TS mode instances for your time range