PowerShellでDefenderを管理する
さて、PowerShellには、次の表のようなコマンドが用意されている。
これは、
get-command -module defender
とすることで一覧が得られる。
また、Microsoftのサイトにも「Defender Module」(https://learn.microsoft.com/ja-jp/powershell/module/defender/?view=windowsserver2022-ps)があるのだが、「Start-MpRollback」についての解説がない。そのほか、「PowerShell コマンドレットを使用して Microsoft Defender ウイルス対策を構成する」(https://learn.microsoft.com/ja-jp/microsoft-365/security/defender-endpoint/use-powershell-cmdlets-microsoft-defender-antivirus?view=o365-worldwide)にも情報がある。
ウイルス対策の結果を調べるには「Get-MpThreatDetection」を使う。これは、Windowsセキュリティの「ウィルスと脅威の防止」→「現在の脅威」→「保護の履歴」に相当する情報である(冒頭画面)。
このコマンドが出力するオブジェクトに対象となるファイルパスがResourceプロパティに入る。ただし、このオブジェクトには、脅威(Threat)の名前が含まれていないのでThreatIDプロパティを使って、名前を検索する必要がある。
脅威の情報は、カタログにあり「Get-MpThreatCatalog」で得られる。ただし、カタログには、30万件弱の情報が含まれているため、扱いには注意が必要だ。このコマンドを実行するだけで3分以上時間がかかり、メモリ利用量が警告レベルを超えたというメッセージも表示される。このコマンドは、ThrottleLimitオプションを持つものの、1を指定しても警告は収まらない。使うには、変数などにいったん代入し、繰り返しコマンドを使わないようにした方がいいだろう。変数に入れることで、以後の処理を短時間で終えることができる。
似たようなコマンドに「Get-MpThreat」がある。こちらは、検出された脅威の種類だけを返し、検出履歴などを含まない。しかし、このオブジェクトには脅威の名称とThreatIDが含まれている。「Get-MpThreatDetection」と組み合わせて見ることで、基本的な情報が得られる。
Get-MpThreatには検出された脅威の情報を出力し、Get-MpThreatdetectionは、検出の履歴や対象ファイルなど個々の検出の情報がある。これらを組み合わせることでどのような脅威が検出されたのかを調べることが可能
PowerShellでGet-MpThreatCatalogの出力のような大量のデータから検索をする場合、Where-Objectコマンドでは、条件に一致する全てのオブジェクトを出力するためデータを全部調べるので効率が悪い。「ThreatID」などデータが一件のみと最初から分かっているなら、配列のwhereメソッドを使い、最初のヒットだけを取り出せばよい。具体的には、
$x=Get-MpThreatCatalog
$x.where({$_.ThreatID -eq $p.<ThreatID>},1)
のようにする。
Defender Antivirusには、多くの機能があるが、コマンドラインからもこれを扱うことができる。保護の履歴で対象になったファイル名を得る、脅威の名前をインターネット検索してみるといったことも、コマンドラインからなら簡単に行える。一応「Windowsセキュリティ」の「保護の履歴」では、各項目を開くとファイルのリストがあり、パス部分が選択可能で「Ctrl+C」でコピーできる。

この連載の記事
-
第508回
PC
Scalable Vector Graphics(SVG)そもそも何なのか? -
第507回
PC
Windows 11の「開発者モード」とは何か? -
第506回
PC
Windows 11は早くも来秋登場の26H2プレビューの準備が始まる -
第505回
PC
結構変化しているWindows 11のエクスプローラーの基本設定を見直す -
第504回
PC
新しいOutlookとOutlook Classic、そろそろ古いOutlookとExchangeの組み合わせは引退の頃合いか -
第503回
PC
機能が増えたこともあり、寄せ集めから統合化に進むWindowsの便利ツール「PowerToys」 -
第502回
PC
Windows 11でBluetoothのオーディオ新規格「Bluetooth LE Audio」を試す -
第501回
PC
Windows 11 Ver.25H2での変更点、新機能を整理する -
第500回
PC
Windows 11 Ver.25H2が完成した -
第499回
PC
Windowsでの致命的だが回復可能なエラーに備える手段を2つ紹介 -
第498回
PC
Windows Terminalの安定版V1.23が公開 設定UIが改良される - この連載の一覧へ












