本記事では、Microsoft Defender ウイルス対策 (MDAV) のフルスキャンを実行した際に、スキャンが長時間化した場合や、スキャンが進んでいないように見える場合の確認ポイントと対処方法をご案内します。
参考情報:Microsoft Defender ウイルス対策のフルスキャンに関する考慮事項とベスト プラクティス | Microsoft Learn
参考情報:Microsoft Defender ウイルス対策を使用した定期的なクイックスキャンとフルスキャンについて | Microsoft Learn
重要
フルスキャンは、環境によっては完了までに数時間から数日かかる場合があります。Windows セキュリティアプリに表示されるファイル名や進捗が長時間変わらないことだけをもって、スキャンが停止しているとは判断できません。
本記事の内容
フルスキャンの所要時間について
フルスキャンは端末にマウントされているすべての固定ディスクをスキャンします。また、設定によりネットワークドライブもスキャン対象に含めることができます。
そのため、フルスキャンの対象範囲は広く、スキャンする必要があるデータの量や種類に応じて完了までに数時間、環境によっては数日を要する場合があります。
詳細については、以下の公開情報を参照してください。
参考情報:クイックスキャン、フルスキャン、カスタム スキャンの比較 | Microsoft Learn
なお、弊社では通常の定期スキャンにはクイックスキャンを推奨しており、時間とリソースを要するフルスキャンを頻繁にスケジュール実行することは推奨していません。
スキャン時間を左右する要因
スキャンに要する時間は、一般的には以下の要因に左右されます。
- スキャン対象となるデータの量
- アーカイブや圧縮ファイルなど、スキャンするデータの種類と構造
- CPU、メモリ、ストレージの読み取り性能など、MDAV が利用できる端末のリソース
- ネットワーク ストレージをスキャンする場合のネットワーク帯域幅、遅延、アクセス状況
スキャン対象のデータ量が多いほどスキャン時間は長くなる傾向があります。
また、複雑なファイル形式や多数のファイルを含むコンテナーは、単純なファイルと比較してより多くの処理時間とシステムリソースを必要とする場合があります。
一方、スキャン時に MDAV が利用できるシステムリソースが多いほど、スキャン時間は短くなる傾向があります。
スキャンが進んでいないように見える場合の確認ポイント
スキャンが継続しているか確認する
MDAV のスキャンが進行しているか確認するには、タスクマネージャーを開き、[詳細] タブから MsMpEng.exe の CPU、ディスク、ネットワークなどの使用状況を確認します。
MsMpEng.exe に継続的なリソース使用が見られる場合、Windows セキュリティアプリの表示が変わらなくても、スキャン処理が継続している可能性があります。
ただし、CPU 使用率が低い時間帯があることだけをもって、スキャンが停止しているとは判断できない点にはご留意ください。
大容量のアーカイブファイルや圧縮ファイルを確認する
MsMpEng.exe に継続的なリソース使用が見られるにもかかわらずスキャンの進捗が長時間変わらないように見える場合、大容量のアーカイブファイルや圧縮ファイルがスキャン対象に含まれていないか確認します(対象には、一般に ZIP、RAR、7z、ISO、CAB などのファイル形式が含まれます)。
このようなアーカイブファイルのスキャン時には、内部のファイルを展開してスキャンする処理に時間を要するため、フルスキャンが長時間化することがあります。
このような処理では、Windows セキュリティアプリに表示されるファイル名や進捗が変化しないように見えても、アーカイブ内部の項目に対するスキャンが継続している可能性があります。
スキャン時間を短縮するための対処
事前に、進行中のスキャンをキャンセルします。Windows セキュリティアプリからスキャンを実施している場合は、Windows セキュリティアプリからスキャンをキャンセルできます。
それ以外の場合は、管理者権限で起動した PowerShell で以下のコマンドを実行することでスキャンをキャンセルできます。
1
2$DefenderPath = (Get-ItemProperty -Path "HKLM:\SOFTWARE\Microsoft\Windows Defender" -Name "InstallLocation").InstallLocation
& "$DefenderPath\mpcmdrun.exe" -Scan -Cancel問題が発生している端末でエクスプローラーを開き、ZIP ファイルや ISO ファイルなどのアーカイブファイル、大容量のファイルが存在していないか確認します。該当するファイルが存在する場合は、対象のファイルを削除するか、ウイルス対策の除外設定に追加します。
再度スキャンを実行し、問題が解消するか確認します。
問題が解消しない場合は、スキャンをキャンセルした後、以下の手順を実施して MDAV のパフォーマンスアナライザーを使用し、スキャンの長時間化を引き起こしている対象を特定します。その後、特定したファイルを削除または除外し、再度スキャンを実施することで状況が改善するか確認します。
パフォーマンスアナライザーで長時間化の対象を特定する
原因となっているファイルやフォルダーを特定できない場合は、MDAV のパフォーマンスアナライザーを使用して、スキャン時間に影響している上位のファイル、パス、プロセス、拡張子を確認できます。
以下の例では記録ファイルを C:\Temp に保存します。C:\Temp フォルダーが存在しない場合は、事前に作成するか、存在するフォルダーを -RecordTo に指定します。
管理者権限で起動した PowerShell で以下のコマンドを実行し、パフォーマンス記録を開始します。
1 | New-MpPerformanceRecording -RecordTo "C:\Temp\DefenderScan.etl" |
問題が発生しているスキャンを再現し、記録を停止する場合は PowerShell で Enter キーを押します。その後、以下のコマンドでスキャン時間に影響した上位のファイルとスキャン回数を確認します。
1 | Get-MpPerformanceReport -Path "C:\Temp\DefenderScan.etl" -TopFiles 10 -TopScansPerFile 10 |
パフォーマンスアナライザーの結果は、除外候補を検討するための情報として使用します。結果に表示されたファイルやフォルダーを無条件に除外するのではなく、安全性、業務上の必要性、除外によるリスクを確認したうえで設定を判断します。
参考情報:Microsoft Defender ウイルス対策のパフォーマンスアナライザー | Microsoft Learn
スキャンの長時間化を回避するためのその他の対処方法
不要なデータを削除する
スキャン対象に不要なバックアップ、古いインストーラー、重複したアーカイブなどが存在する場合は、組織の保存要件を確認したうえで削除を検討します。
スキャン対象となるデータ量自体を減らすことで、スキャンに要する時間を短縮できる可能性があります。
保存が必要なデータについては、組織のセキュリティ要件およびデータ保管要件に従って管理します。
スキャンに利用できるリソースを増やす
スケジュールされたスキャンでは、MDAV が使用する CPU 使用率の上限を ScanAvgCPULoadFactor で構成できます。既定値は 50 であり、値を大きくするとスキャンが速くなる可能性がある一方、スキャン中の端末や業務アプリケーションへの影響が大きくなる場合があります。
現在の設定値は、以下のコマンドで確認できます。
1 | Get-MpPreference | Select-Object ScanAvgCPULoadFactor, ThrottleForScheduledScanOnly |
詳しい設定方法については、以下の公開情報をご参照ください。
参考情報:Microsoft Defender ウイルス対策のフルスキャンに関する考慮事項とベスト プラクティス | Microsoft Learn
ファイルやフォルダーをスキャン対象から除外する
スキャン時間が長期化する原因となっているファイルやフォルダーが特定でき、そのファイルが安全であることを確認できる場合は、MDAV のウイルス対策の除外設定を追加することでスキャンの対象から除外できます。
スキャンの対象を減らす目的では、一般にプロセス除外ではなく対象となるファイルまたはフォルダーのパス除外を使用します。
参考情報:Windows におけるウイルス対策と除外に関するよくあるお問い合わせ
クイックスキャンやフルスキャン時にのみファイルまたはフォルダーのパス除外を適用したい場合には、コンテキストに基づくウイルス対策の除外設定を使用できます。
参考情報:スキャンタイプのコンテキスト制限
アーカイブファイルのスキャン設定を無効化する方法について
MDAV では、アーカイブファイルをスキャンする設定を構成できます。
しかし、アーカイブファイルのスキャンを無効化すると、アーカイブに含まれる脅威を検出できなくなる可能性があります。
Windows では、アーカイブファイルのスキャンは既定で有効になっており、端末の保護の観点からも有効のまま運用することを推奨します。
また、改ざん防止機能が有効な Windows 端末では、アーカイブファイルのスキャンを無効化することができません。
そのため、スキャンの長時間化を解消する目的でアーカイブファイルのスキャン設定そのものを無効化する方法は、一般的な対処としておすすめしていません。
原因となるファイルやフォルダーが特定できる場合は、前述のとおり、対象のファイルを削除するか、安全性を確認したうえで対象を限定したウイルス対策の除外設定を使用します。
まとめ
本記事では、MDAV のスキャンでファイル名や進捗が長時間変化せず、スキャンが進んでいないように見える場合の確認ポイントと対処方法をご案内しました。
フルスキャンはシステム内の広い範囲を対象とするため、数時間から環境によっては数日かかる場合があります。特に、大容量のアーカイブや圧縮ファイル、大量の大容量ファイル、ネットワークストレージが対象に含まれる場合は、表示上の進捗が変わらない状態でも内部で処理が継続し、スキャンが長時間化する可能性があります。
原因となるファイルやフォルダーを特定できる場合は、安全性とセキュリティ上のリスクを確認したうえで、ファイルを削除いただくか、対象を限定したウイルス対策の除外設定の利用をおすすめいたします。