Microsoft Defender ウイルス対策をコマンドで操作する方法

Microsoft Defender ウイルス対策をコマンドで操作する方法

Windows 10に標準搭載されている「Microsoft Defender ウイルス対策」では、通常はGUI画面から各種操作を行いますが、コマンドによる操作も可能で、MpCmdRun.exeを使った方法とPowerShellコマンドレットを使った方法があります。

そこでここでは、Windows 10の「Microsoft Defender ウイルス対策」をコマンドで操作する方法を紹介します。

Microsoft Defenderウイルス対策で手動でスキャンを実行する方法
ここでは、Microsoft Defenderウイルス対策で実行できる4種類のスキャン方法(クイックスキャン/フルスキャン/カスタムスキャン/オフラインスキャン)それぞれの特徴と実行方法を紹介します。

この記事は、以下の環境での動作結果を基にしています。他のエディションやバージョンでは、動作結果が異なる場合があることをご了承ください。

ソフトウェアバージョン
Windows 10 Pro 64bit21H2

MpCmdRun.exeで操作する

Microsoft Defenderウイルス対策には、コマンドで機能を実行するツールとしてMpCmdRun.exeが用意されており、スキャンを実行したり、定義ファイルをアップデートしたり、検疫されたファイルの復元などが行えます。

コマンドの使用例

MpCmdRun.exeの使い方は、次のとおりです。

まず、コマンドプロンプトを起動し、カレントディレクトリを移動します。

C:\> cd "C:\Program Files\Windows Defender"

あとはMpCmdRun.exeを利用していろいろな機能の実行が可能になります。以下にいくつかの使用例を紹介します。

クイックスキャンを実行するときは、以下のコマンドを実行します。

C:\> mpcmdrun -scan -scantype 1

フルスキャンを実行するときは、以下のコマンドを実行します。

C:\> mpcmdrun -scan -scantype 2

特定のフォルダーやファイルをスキャンするカスタムスキャンを実行するときは、以下のコマンドを実行します。

C:\> mpcmdrun -scan -scantype 3 -File <フォルダーやファイルのパス>

カスタムスキャン実行時は「-bootsectorsan」オプションを付加して、ブートセクターをスキャンしたり「-disableremediation」オプションを付加して、脅威が検出されたときに脅威を駆除せずに検疫することもできます。

また、上記の各コマンドに「-signatureupdate」オプションを付加すれば、スキャン前に定義ファイルの更新を合わせて行うことができます。

コマンドの進捗と実行結果

上で紹介した各種スキャンコマンドの進捗は、コマンドプロンプト上に次のように表示されます。

Scan starting...
Scan finished.

また、スキャン結果はリターンコードでも確認でき、スキャンが正常に完了して脅威が検出されなかったときや、脅威が自動的に駆除されユーザーによる追加の操作が不要の場合は「0」、それ以外の場合は「2」が返されます。

コマンドのヘルプ

なお、MpCmdRunコマンドで利用できるオプションなどは、コマンドのヘルプで確認できます。

C:\> mpcmdrun -h

Microsoft Defender ウイルス対策をコマンドで操作する方法

PowerShellコマンドレットで操作する

PowerShellには、Microsoft Defenderウイルス対策を操作するためのコマンドレットが用意されています。

ちなみに、MpCmdRun.exeは、スキャンなどの機能の実行しかできませんが、PowerShellコマンドレットでは機能の実行だけでなく、各種の設定も行えます。

コマンドの使用例

以下にいくつかの操作例を紹介します。

クイックスキャンを実行するときは、以下のコマンドを実行します。

PS C:\> Start-MpScan -Scantype QuickScan

フルスキャンを実行するときは、以下のコマンドを実行します。

PS C:\> Start-MpScan –Scantype FullScan

特定のフォルダーやファイルをスキャンするカスタムスキャンを実行するときは、以下のコマンドを実行します。

PS C:\> Start-MpScan -ScanType CustomScan -ScanPath <フォルダーやファイルのパス>

Microsoft Defender オフラインスキャンを実行するときは、以下のコマンドを実行します。

PS C:\> Start-MpWDOScan

定義ファイルを更新するときは、以下のコマンドを実行します。

PS C:\> Update-MpSignature

現在の定義ファイルのバージョンや最終スキャン日時などを確認するときは、以下のコマンドを実行します。

PS C:\> Get-MpComputerStatus

Microsoft Defender ウイルス対策をコマンドで操作する方法

設定を変更する

PowerShellコマンドレットを利用すれば、Microsoft Defender ウイルス対策の設定を変更することもできます。

Memo

Microsoft Defender ウイルス対策の設定を変更するコマンドレットは、管理者権限でPowerShellを起動してコマンドを実行する必要があります。

以下にいくつかの使用例を紹介します。

リアルタイム保護機能を無効化するときは、以下のコマンドを実行します。

PS> Set-MpPreference -DisableRealtimeMonitoring 1

リアルタイム保護機能を有効化するには、以下のコマンドを実行します。

PS C:\> Set-MpPreference -DisableRealtimeMonitoring 0

特定のフォルダーをスキャン対象から除外したいときは、以下のコマンドを実行します。

PS C:\> Add-MpPreference -ExclusionPath "<除外したいフォルダーのパス>"

コマンドのヘルプ

Microsoft Defender ウイルス対策を操作するためのコマンドレットは、ここで紹介した以外にもいろいろあります。

PS C:¥> Get-Command -Module Defender

Add-MpPreference
Get-MpComputerStatus
Get-MpPreference
Get-MpThreat
Get-MpThreatCatalog
Get-MpThreatDetection
Remove-MpPreference
Remove-MpThreat
Set-MpPreference
Start-MpScan
Start-MpWDOScan
Update-MpSignature

それぞれのコマンドでどのようなことができるかや、コマンドのオプションについて知りたい方は「Get-Help」コマンドレットでコマンドのヘルプを参照するか、以下のオンラインヘルプが役立つでしょう。

Defender Module | Microsoft Docs

あとがき

コマンドで操作できると、スクリプト化したり、他のツールから呼び出せたりと、いろいろと便利な使い方ができますよ。