このページの本文へ

前へ 1 2 次へ

Windows Info 第416回

Windowsセキュリティ(Defender)をコマンドラインで扱う

2024年01月28日 10時00分更新

文● 塩田紳二 編集● ASCII

  • この記事をはてなブックマークに追加
  • 本文印刷

 Windowsを使っていると、ときどきWindowsセキュリティ(Defender)からの通知を見ることがある。今回は、このWindowsセキュリティの機能をコマンドラインから使う方法を解説する。

Windowsセキュリティ

Windowsセキュリティの「ウィルスと脅威の防止」が、Microsoft Defender Antivirusのウィンドウになる。すべての履歴を見るには、「フィルター」で「フィルターのクリア」を選択する

そもそもDefenderとは?

 以前からWindowsを使っているユーザーからすれば、Windowsのセキュリティ機能といえば「Defender」を思い浮かべるだろう。Defenderの名称は、Windows XP時代の2006年(これ以前にベータ版が配布されていた)にスパイウェア対策ソフトに使われた。これは買収した製品(GIANT Company SoftwareのGIANT AntiSpayware)の名前を変更したものだった。当時のWindowsは標準でコンピューターウイルス対策機能を持っていなかった。

 Windows 7で、ウイルス対策機能を持つMicrosoft Security Essentialsに一旦置き換えられたが、Windows 8では、Defenderの名称でウイルス対策機能を含めて復活する。Windows 10では、ファイアウォールやさまざまなセキュリティ機能にDefenderの名称を使った。

 2017年のRS3(Fall Creater Update。Windows 10 Ver.1709)以後は、Defenderはセキュリティ対策の総合ブランド名になった。ただしそのせいか、「Windows Defenderナントカ」「Microsoft Defenderカントカ」といった名前が氾濫し、さらにそれらの製品が統合されて別の名前になるなど、かなり混乱した様相があった。

 現在では、Windowsのセキュリティ設定には「Windowsセキュリティ」という名称が使われている。ここは、もともとは「Windows Defender セキュリティ・センター」という名称だった。設定ページからはDefenderの名称が消えたものの、ヘルプページには残っている。

 また、個別機能にもDefenderの名前が残る。たとえば、ウイルス対策機能が「Windows Defender Antivirus」(Microsoft Defender Antivirusとも、日本語ではWindows/Microsoft Defenderウイルス対策)、ファイアウォールが「Windows Defenderファイアウォール」である。現状、Microsoft Defenderという用語は、Microsoft 365で提供されるセキュリティ機能の名称として使われているようだ。ただし、Microsoftの常として、文書が混乱していることがある。

 また、後述するmpcmdrun.exeコマンドやPowerShellコマンド、WMIのクラス名などに含まれる「MP」は、Microsoft Security Essentialで開発された「Microsoft Malware Protection Engine(MSMPENG)」の「Malware Protection」に由来する。現在でもmsmpeng.exeというプログラムがWindowsに含まれている。

 ここでは、ウィルス対策のDefender Antivirusの機能を対象とする。Defenderファイアウォールに関しては、本連載の過去記事(「WindowsのファイアウォールをPowerShellから制御する」)を参考にしてほしい。

Defenderをコマンドラインから扱う

 Windowsセキュリティの機能をコマンドラインから使うには、大きく3つの方法がある。1つはcmd.exeからも利用できるmpcmdrun.exeプログラム、もう1つはWIM(CIM)経由、最後はPowerShellコマンドだ。

 なお、グループポリシー(gpedit.msc)の「コンピュータの構成」→「管理用テンプレート」→「Windowsコンポーネント」→「Microsoft Defender ウィルス対策」で、Defenderの挙動や一部設定を変更できる。グループポリシーはHome Editionなどで利用できないため、ここでは解説を省略する。なお、解説は以下のMicrosoftのサイト上にある(https://learn.microsoft.com/ja-jp/microsoft-365/security/defender-endpoint/use-group-policy-microsoft-defender-antivirus?view=o365-worldwide)。

 mpcmdrun.exeに関しては、マイクロソフトのサイトにある「コマンドラインを使用して Microsoft Defender ウイルス対策を管理する」(https://learn.microsoft.com/ja-jp/microsoft-365/security/defender-endpoint/command-line-arguments-microsoft-defender-antivirus?view=o365-worldwide)に情報がある。コマンドは以下のパスにあり、PATH環境変数に設定がないため、パスを直接指定する必要がある。「-?」オプションでオンラインヘルプを表示する。

C:\Program Files\Windows Defender\MpCmdRun.exe

 exeコマンドであるため、cmd.exeでも利用可能である。なお、後述するPowerShell Defender系コマンドとの違いだが、定義ファイルの扱いや各種レポート/ログの出力など、Defenderの「素」の機能に近いのがmpcmdrun.exeで、WMIとPowerShell側は主にDefender関連の管理を中心とした機能になる。

 WMI(CIM)を使う場合には、

Get-CimInstance -ClassName MSFT_MpComputerStatus -Namespace root/microsoft/windows/defender -Property *

などとする。クラス名(以下の表)だけでなく名前空間(Namespace)も指定が必要になる。

Windowsセキュリティ

 これに関しては「WMI を使用してMicrosoft Defenderウイルス対策を構成する」(https://learn.microsoft.com/ja-jp/microsoft-365/security/defender-endpoint/use-wmi-microsoft-defender-antivirus?view=o365-worldwide)に解説があり、クラス名に関しては、「Windows Defender WMIv2 Provider(英語)」(https://learn.microsoft.com/ja-jp/previous-versions/windows/desktop/defender/windows-defender-wmiv2-apis-portal)に記述がある。ここでは、クラス名だけを挙げるのみにしておく。というのは、PowerShellのDefender系コマンドは、出力するオブジェクトがWMIのDefenderクラスをベースとしており、WMIの上に構築されているのだと思われるからだ。

前へ 1 2 次へ

カテゴリートップへ

この連載の記事

注目ニュース

ASCII倶楽部

プレミアムPC試用レポート

ピックアップ

ASCII.jp RSS2.0 配信中

ASCII.jpメール デジタルMac/iPodマガジン