スキャンが完了していない、スキャンが原因でデバイスでパフォーマンスの問題が発生しているなど、Microsoft Defenderウイルス対策スキャンに関する問題が発生している場合は、スキャン プロセスのトラブルシューティングが必要になる場合があります。 この記事では、Microsoft Defenderウイルス対策スキャンに関する問題に対処するための情報を特定する方法について説明します。 スキャンの起動方法、スキャンに適用されるポリシー、スキャンが終了した理由、スキャンのパフォーマンスに影響を与える内容について説明します。
注:
ウイルス対策スキャンの種類の違いについては、「 クイック スキャン、フル スキャン、およびカスタム スキャンの比較」を参照してください。
スキャンの起動方法
スキャンが起動される理由を理解することは、スキャンに適用される設定と調整できる内容を特定するのに役立ちます。 Microsoft Defender for Endpointでは、ウイルス対策スキャンはいくつかの方法で起動できます。 次の表は、これらのオプションをまとめたものです。
メソッド | 説明 |
---|---|
Schedule | ポリシー テーブルごとにポリシーによって定義される |
更新後のスキャン | ポリシーで定義 (Intuneの設定カタログ) |
キャッチアップ スキャン | スケジュールされたスキャンが 2 回実行されなかったときに起動されます |
手動で起動 | スキャンは、次のいずれかの方法を使用して手動で起動されます。 - コマンド プロンプト: MpCmdRun -scan -scantype - Microsoft Defender ポータルでデバイスで応答アクションを実行する - デバイスでWindows セキュリティ アプリまたはMicrosoft Defender アプリを使用する |
Microsoft Defender ウイルス対策での CPU パフォーマンスとスキャン調整
Microsoft Defenderウイルス対策には、スキャン中の CPU 使用率を管理するための構成可能な設定がいくつか含まれています。 これらの設定は、Defender がシステム リソースを積極的に使用する方法を制御することで、システムのパフォーマンスとセキュリティのバランスを取るのに役立ちます。 グループ ポリシーを使用する場合、これらの設定は Computer Configuration > Administrative Templates > Windows Components > Microsoft Defender Antivirus > Scan
にあります。 コンピューターでこれらの設定の現在の値をチェックするには、Get-MpPreference
PowerShell コマンドを使用します。
注意すべき重要な設定を次の表に示します。
設定 | 詳細 |
---|---|
ScanOnlyIfIdle |
説明: 有効にすると、Microsoft Defenderウイルス対策は、システムがアイドル状態のときにのみスキャンを実行します。 目的: これにより、システムが使用されないまでスキャンを延期することで、アクティブな使用中のパフォーマンスへの影響を最小限に抑えることができます。 一般的なユース ケース: ユーザー エクスペリエンスが優先され、セキュリティを損なうことなくスキャンが遅延する可能性がある環境に最適です。 ポリシー名: グループ ポリシー: 使用できません。 - Intune: ./Device/Vendor/MSFT/Defender/Configuration/ScanOnlyIfIdleEnabled 既定値: True (有効) |
DisableCpuThrottleOnIdleScans |
説明: true に設定すると、アイドル時間スキャン中の CPU 調整が無効になります。目的: システムがアイドル状態の場合に、Defender がより多くの CPU リソースを使用できるようになり、スキャンが迅速に完了する可能性があります。 他の設定との対話: ScanOnlyIfIdle で動作します。 両方が有効になっている場合、スキャンはアイドル時にのみ実行され、調整されません。ポリシー名: - グループ ポリシー: 使用できません。 - Intune: ./Device/Vendor/MSFT/Defender/Configuration/DisableCpuThrottleOnIdleScans 既定値: True (有効) |
AvgCPULoadFactor |
説明: スキャン中にウイルス対策Microsoft Defender超過してはならない平均 CPU 負荷 (パーセンテージ) を指定します。 この設定は、リアルタイム保護スキャンには適用されません。 目的: Defender の CPU 使用率を制限することで、システム全体の応答性を維持するのに役立ちます。 例: 50 の値は、スキャン中Microsoft Defenderウイルス対策が CPU 使用率を 50% 未満に抑えようとすることを意味します。その他の設定との対話: この設定は、調整が適用されたときにオーバーライドまたは制限できる DisableCpuThrottleOnIdleScans と ThrottleForScheduledScanOnly の影響を受けます。ポリシー名: - グループ ポリシー: Specify the maximum percentage of CPU utilization during a scan - Intune: ./Device/Vendor/MSFT/Policy/Config/Defender/AvgCPULoadFactor |
ThrottleForScheduledScanOnly |
説明: 有効にすると、CPU 調整は手動スキャンではなく、スケジュールされたスキャンにのみ適用されます。 目的: スケジュールされたスキャンの侵入を減らし、必要に応じて手動スキャンを全速力で実行できるようにします。 他の設定との対話: AvgCPULoadFactor で使用する場合、調整制限はスケジュールされたスキャンにのみ適用されます。 手動スキャンでは CPU 負荷率が無視され、より多くのリソースが使用される場合があります。ポリシー名: - グループ ポリシー: Cpu throttling type - Intune: ./Device/Vendor/MSFT/Policy/Config/Defender/ThrottleForScheduledScanOnly 既定値: True (有効) |
EnableLowCpuPriority |
説明: このポリシー設定を使用すると、スケジュールされたスキャンの CPU 優先度を低く設定できます。 目的: ウイルス対策のスキャン タスクよりも他のプロセスを優先できるようにすることで、システム パフォーマンスに対するスキャンの影響を軽減Microsoft Defender役立ちます。 その他の設定との対話: ウイルス対策の CPU 使用率をさらに枯渇させることで、 AvgCPULoadFactor とThrottleForScheduledScanOnly Microsoft Defender補完します。 これは、スキャン中の応答性の維持が重要な環境で特に便利です。ポリシー名: - グループ ポリシー: Configure low CPU priority for scheduled scans - Intune: ./Device/Vendor/MSFT/Policy/Config/Defender/EnableLowCPUPriority 既定値: False (無効) |
スキャンに影響を与えるポリシー
スキャンに適用されるポリシーを理解すると、スキャンの動作と、スキャンの課題を修復するために調整できる内容を理解できます。
次の表は、Windows デバイスのMicrosoft Intuneのウイルス対策設定をまとめたものです。
Group | 設定 | 説明 |
---|---|---|
スキャン | マップされたネットワーク ドライブでフル スキャンを許可する | このポリシー設定を使用すると、マップされたネットワーク ドライブのスキャンを構成できます。 この設定を構成すると、フル スキャンのパフォーマンスが低下する可能性があることに注意してください。 |
スキャン | フル スキャンリムーバブル ドライブのスキャンを許可する | このポリシー設定を使用すると、フル スキャンを実行するときに、USB フラッシュ ドライブなどのリムーバブル ドライブの内容で悪意のあるソフトウェアと不要なソフトウェアをスキャンするかどうかを管理できます。 |
スキャン | ネットワーク ファイルのスキャンを許可する | このポリシー設定を使用すると、ネットワーク経由でアクセスされるファイルのスケジュールされたスキャンとオンデマンド (手動で開始) スキャンを構成できます。 この設定を有効にすることをお勧めします。 |
スキャン | 平均 CPU 負荷率 | このポリシー設定を使用すると、スキャン中に許可される最大 CPU 使用率を構成できます。 この設定の有効な値は、5 から 100 の整数で表されるパーセンテージです。 値 0 は、CPU 使用率の調整を行う必要がないことを示します。 既定値は 50 です。 |
スキャン | アーカイブスキャンを許可する | このポリシー設定を使用すると、.ZIP ファイルや .CAB ファイルなどのアーカイブ ファイル内の悪意のあるソフトウェアと不要なソフトウェアのスキャンを構成できます。 この設定を構成すると、スキャンのパフォーマンスが低下する可能性があることに注意してください。 |
スキャン | 最大深度をアーカイブする | |
スキャン | アーカイブ最大サイズ | |
スキャン | スキャンを実行する前に署名を確認する | このポリシー設定を使用すると、スキャンを実行する前に、新しいウイルスとスパイウェアのセキュリティ インテリジェンスのチェックが発生するかどうかを管理できます。 スケジュールされたスキャンには適用されますが、ユーザー インターフェイスから手動で開始されたスキャンや、コマンド プロンプトを使用して開始されたスキャンには影響 mpcmdrun -Scan 。 |
スキャン | キャッチアップ フル スキャンを無効にする | このポリシー設定を使用すると、スケジュールされたフル スキャンのキャッチアップ スキャンを構成できます。 キャッチアップ スキャンは、定期的にスケジュールされたスキャンが見つからなかったために開始されたスキャンです。 通常、スケジュールされた時刻にコンピューターがオフになっていたため、これらのスケジュールされたスキャンは実行されません。 この設定を無効にした場合、または構成していない場合は、スケジュールされた完全スキャンのキャッチアップ スキャンが発生します。 2 回連続したスケジュールされたスキャンでコンピューターがオフラインの場合、次回コンピューターにサインインするとキャッチアップ スキャンが開始されます。 スケジュールされたスキャンが構成されていない場合、キャッチアップ スキャンは実行されません。 この設定を有効にすると、スケジュールされたフル スキャンのキャッチアップ スキャンは無効になります。 |
スキャン | 低 CPU 優先度を有効にする | このポリシー設定を使用すると、スケジュールされたスキャンの CPU 優先度を低く設定できます。 - この設定を有効にすると、スケジュールされたスキャン中に低い CPU 優先度が使用されます。 - この設定を無効にした場合、または構成しなかった場合、スケジュールされたスキャンの CPU 優先度は変更されません。 |
全般 | 除外された拡張機能 | |
全般 | 除外されたパス | |
全般 | 除外されたプロセス | |
スキャン スケジュール | Scan パラメーター | このポリシー設定を使用すると、スケジュールされたスキャン中に使用するスキャンの種類を指定できます。 スキャンの種類のオプションは次のとおりです。 - 1 = クイック スキャン (既定値) - 2 = フル スキャン この設定を有効にすると、スキャンの種類が指定した値に設定されます。 この設定を無効にするか、構成しない場合は、既定のスキャンの種類が使用されます。 |
スキャン スケジュール | クイック スキャン時間をスケジュールする | このポリシー設定を使用すると、毎日のクイック スキャンを実行する時刻を指定できます。 時刻の値は、午前 0 時 (00:00) を過ぎた分数として表されます。 たとえば、120 (0x78) は午前 2 時 00 分と同じです。 既定では、この設定は無効に設定されています。 スケジュールは、スキャンが実行されているコンピューターのローカル時刻に基づいています。 この設定を有効にすると、指定した時刻に毎日のクイック スキャンが実行されます。 この設定を無効にするか、構成しない場合、この構成によって制御される毎日のクイック スキャンは実行されません。 |
スキャン スケジュール | スキャン日のスケジュール | このポリシー設定では、スケジュールされたスキャンを実行する曜日を指定できます。 スキャンは、毎日実行するように、またはまったく実行されないように構成することもできます。 この設定は、次の序数の値で構成できます。 - (0x0) 毎日 - (0x1) 日曜日 - (0x2) 月曜日 - (0x3) 火曜日 - (0x4) 水曜日 - (0x5) 木曜日 - (0x6) 金曜日 - (0x7) 土曜日 - (0x8) なし (既定値) この設定を有効にすると、指定した頻度でスケジュールされたスキャンが実行されます。 この設定を無効にするか、構成しなかった場合、スケジュールされたスキャンは既定の頻度で実行されます。 |
スキャン スケジュール | スキャン時間をスケジュールする | このポリシー設定では、スケジュールされたスキャンを実行する時刻を指定できます。 時刻の値は、午前 0 時 (00:00) を過ぎた分数として表されます。 たとえば、120 (0x78) は午前 2 時 00 分と同じです。 既定では、この設定は午前 2:00 の時刻値に設定されます。 スケジュールは、スキャンが実行されているコンピューターのローカル時刻に基づいています。 この設定を有効にすると、指定した時刻にスケジュールされたスキャンが実行されます。 この設定を無効にするか、構成しない場合、スケジュールされたスキャンは既定の時刻に実行されます。 |
スキャン スケジュール | タスク時間のスケジュールをランダム化する | スケジュールされたスキャンのランダム化期間を拡大または縮小します。 設定 SchedulerRandomizationTime を使用して、1 から 23 時間のランダム化ウィンドウを指定します。 |
スキャン スケジュール | スケジューラのランダム化時間 | |
スキャン スケジュール | セキュリティ インテリジェンスの更新後にスキャンを有効にする | セキュリティ インテリジェンスの更新後にスキャンを有効にします。 この設定は、[設定カタログ] でのみ使用できます。 |
Intune ポリシーと Defender for Endpoint Security Settings Management では、次の 2 つのスキャン スケジュールを構成できます。
毎日のクイック スキャン: 毎日のクイック スキャンの実行時間を構成できます。 構成を無効または無効にすると、毎日のクイック スキャンが無効になります。
設定:
Schedule Quick Scan Time
スケジュールされたスキャン: スケジュールされたスキャンを実行するときに、スキャンの種類と実行タイミングを選択できます。
設定:
Scan Parameter
、Schedule Scan Day
、およびSchedule Scan Time
グループ ポリシーを使用してデバイスを管理する場合は、「グループ ポリシーを使用してMicrosoft Defenderウイルス対策を構成する」を参照してください。
ウイルス対策設定のトラブルシューティングの詳細については、「Microsoft Defenderウイルス対策設定のトラブルシューティング」を参照してください。
Microsoft Defenderウイルス対策がパッシブ モードの場合のスキャン動作の詳細については、「Microsoft Defenderウイルス対策と他のセキュリティ製品との互換性」を参照してください。
スキャンに関してよく寄せられる質問
質問: クイック スキャンは月曜日にスケジュールされていますが、毎日行われます。 理由を教えてください。
回答: スケジュールされたスキャンを唯一のスキャンにする場合は、
ScheduleQuickScanTime
を0
に設定します。質問:
DisableCatchupQuickScan
が0
に設定されていても、キャッチアップ スキャンがマシンで実行されないのはなぜですか?回答: デバイスがバッテリで実行されている場合、キャッチアップ スキャンは実行されません。
質問: スケジュールしたにもかかわらず、毎日のクイック スキャンがマシンで実行されないのはなぜですか?
回答: マシンで毎日のクイック スキャンが構成されているかどうかを確認します。
ScanParameters
が2
に設定されている場合、既定のスケジュールされたスキャンの種類はFull Scan
。ScheduledQuickScanTime
が0
に設定されている場合、毎日のクイック スキャンは設定されません。質問: メモリの問題 (メモリ消費/制約超過) が原因でフル スキャンが失敗するのはなぜですか?
回答: マシンに多数の cab/zip ファイルがある可能性があります。 サイズの大きいフォルダーを使用し、未使用のファイルをクリーンアップまたは削除するか、特定のケース (
C:\Windows
下のファイルなど) の除外を実装することをお勧めします。 Configuration Managerの推奨されるウイルス対策の除外に関するページを参照してください。
スキャンの状態を確認する方法
スキャンが取り消されたか正常に完了したかどうかを確認すると、スキャンに失敗したデバイスをターゲットにできます。 何が起こったかを調べるには、Windows のイベント ビューアー、レポート、高度なハンティング、Microsoft Defender ポータルの [デバイス] ページ、または API を使用できます。
イベント ビューアー
次のイベント ID は、デバイスでのスキャン操作に関連しています。
- イベント ID 1000 - マルウェア対策スキャンが開始されました。
- イベント ID 1001 - マルウェア対策スキャンが完了しました。
- イベント ID 1002 - マルウェア対策スキャンが完了する前に停止しました。
詳細については、「ウイルス対策イベント ID とエラー コードMicrosoft Defender」を参照してください。
イベント ビューアーは、アプリケーションまたは PowerShell によってマシン上でアクセスできます。 詳細については、「イベント ビューアーのログを確認する(この記事)」を参照してください。
Microsoft Defender ポータルのレポート
現在のスキャン状態を含むレポートを使用できます。 ビューを展開し、詳細をエクスポートできます。 詳細については、「 デバイス正常性レポート」を参照してください。
高度な追及
高度なハンティングでスキャンの完了とキャンセルに関する情報を見つけることもできます。 高度なハンティングに関するヘルプを表示するには、次の記事を参照してください。
- Microsoft Defenderで高度なハンティングを使用して脅威を積極的に探す
- Microsoft Defender XDRで狩りをするガイド付きモードと高度なモードを選択する
- 高度な捜索のクエリ言語について学習する
Microsoft Defender ポータルの [デバイス] ページ
Microsoft Defender ポータルでは、デバイス ページでスキャンに関する情報を表示できます。 詳細については、次の記事を参照してください。
API
スキャン状態に関するデータは、次のように、エクスポート正常性レポート API を使用してエクスポートできます。
"quickScanResult": "Completed",
"quickScanError": "",
"quickScanTime": "2202-08-02T18:40:15.882Z",
"fullScanResult": "",
"fullScanError": "",
"fullScanTime": null,
詳細については、「 デバイス ウイルス対策の正常性レポートをエクスポートする」を参照してください。
スキャンがキャンセルまたは終了する理由
スキャンが取り消された理由を特定すると、スキャンを正常に完了するために確認する必要がある内容を特定できます。 次の表に、スキャンが完了しなかった理由を示します。
理由 | 詳細 |
---|---|
デバイスが再起動する | デバイスの再起動の詳細は、デバイスのイベント ビューアーを使用して確認できます。 - イベント ログ: システム - イベント ID: 6005、6006、6007、6008 |
スキャンがタイムアウトする | スケジュールされたスキャンでは mpcmdrun が使用されますが、誰かが mpcmdrun を使用してオンデマンド スキャンを実行する場合、タイマーは引き続き適用されます。 Windows セキュリティ アプリ (ローカル) とMicrosoft Defender ポータルによって起動されたウイルス対策スキャンでは、mpcmdrun は使用されません。各メソッドは、mpclient を使用して直接スキャンを開始します。 - Microsoft Defender ポータルまたはWindows セキュリティ アプリで開始されたスキャン (クイックまたはフル): 時間制限なし - スケジュールされたフル スキャンまたは MpCmdRun -scan : 7 日間の制限- スケジュールされたクイック スキャンまたは MpCmdRun -scan : 1 日の制限 |
デバイスがバッテリで実行されている | スケジュールされたフル スキャン中にデバイスが取り外され、バッテリで実行されている場合、スケジュールされたスキャンはイベント 1002 で停止し、完了前にスキャンが停止したことを示します。 Microsoft Defenderウイルス対策は、次にスケジュールされた時刻にフル スキャンを実行します。 詳細については、「 ウイルス対策スキャンのスケジュール: 留意すべき重要なポイント」を参照してください。 |
その他の電源関連イベント | 次のイベント ID (Kernel-Power から) は、デバイスの電源状態の変更を示しています。これは、スキャンの仕上げにタイムリーに影響を与える可能性があります。 - 107: システムがスリープ状態から再開しました。 - 42: システムがスリープ状態に入ります。 スリープ理由: スリープから休止状態 - スタンバイ バッテリーの予算を超えました - 507: システムがモダン スタンバイを終了しています。 理由: スリープ、休止状態、またはシャットダウン。 - 506: システムがモダン スタンバイに入ります。 理由: ふた。 - 105: 電源の変更。 |
デバイスでパフォーマンス アナライザーを使用する
この記事のガイダンスに従った後で、デバイスの構成ミスの問題を特定していない場合は、 New-MpPerformanceRecording
コマンドを使用して、デバイス上の問題を特定するためのトレースを生成できます。 このパフォーマンス アナライザーは、次の情報を提供します。
- スキャン時間に影響を与える上位パス
- スキャン時間に影響を与える上位のファイル
- スキャン時間に影響を与える上位のプロセス
- スキャン時間に影響を与える上位のファイル拡張子
- 次のような組み合わせ:
- 拡張子あたりの上位ファイル数
- 拡張機能ごとの上位パス
- パスあたりの上位プロセス数
- ファイルあたりの上位スキャン数
- プロセスごとのファイルあたりの上位スキャン数
詳細については、「Microsoft Defender ウイルス対策用のパフォーマンス アナライザー」を参照してください。
このプロセスの結果の 1 つは、パフォーマンスを向上させるためにウイルス対策スキャンから除外するファイルまたはパスを特定することです。 次の記事を必ず確認してください。
イベント ログの確認
ローカル イベント ログは、イベント ビューアー アプリケーションを使用するか、PowerShell を使用して確認できます。
イベント ビューアーのログを確認する
Windows デバイスでは、Microsoft Defenderウイルス対策ログは、アプリケーション ログとサービス ログ>Microsoft>Windows>Windows Defender>Operational にあります。
次のスクリーンショットは、イベント ビューアーのスキャン ログを示しています。
イベント ビューアーのイベント 1000 の例を次に示します。
PowerShell を使用してイベントを確認する
この情報には、 Get-WinEvent コマンドレットを使用して PowerShell を使用してアクセスすることもできます。
たとえば、すべてのイベントを取得するには、次のコマンドを使用します。
Get-WinEvent -LogName 'Microsoft-Windows-Windows Defender/Operational'
スキャン イベントを表示するには、次のコマンドを使用します。
Get-WinEvent -LogName 'Microsoft-Windows-Windows Defender/Operational' | where id -eq '1000'