技術者の皆さん、PowerShellって実はWindowsのウイルスやマルウェアスキャンにかなり使えるってご存知でしたか?ちょっと変わった機能ですが、便利です。特に、いつものGUI操作を省いてコマンドだけを実行したい、リモートからとか、とにかく高速化したい、という時に便利です。セキュリティスイートの完全な代替品ではありませんが、簡単なチェックや手動スキャンならPowerShellが大活躍します。さらに、Windowsセキュリティアプリがエラーを起こしたり、開かなくなったりする時にも使えることがあります。そこで、PowerShellの使い方を簡単にご紹介します。私が試したいくつかの環境ではうまくいきましたが、もちろんWindowsは予期せぬ動きをするので、毎回うまくいくとは限りません。
Windows で PowerShell を起動する方法
PowerShell を管理者権限で起動することが最初のステップです。基本的には PowerShell を検索し、右クリックして管理者として実行します。簡単ですが、ほとんどのスキャンコマンドは管理者権限を必要とするため、これは非常に重要です。急いでいる場合は、Windows + Xメニューから Windows PowerShell (管理者) を選択してください。そうでない場合は、スタートメニューで検索し、PowerShellを右クリックして「管理者として実行」を選択してください。
- タスクバーまたはスタート メニューでPowerShellを検索します。
- それを右クリックして、「管理者として実行」を選択します。
Windowsセキュリティが実行されているかどうかを確認する
マルウェアスキャンを開始する前に、Windows Defenderのリアルタイム保護が有効になっていることを確認しておくことをお勧めします。このコマンドを実行してGet-MpComputerStatus
結果を確認できます。このコマンドは、ウイルス対策エンジンが有効になっているかどうかを示します。AntivirusEnabledフィールドなどがTrueと表示されるはずです。無効になっている場合(他のウイルス対策ソフトウェアがインストールされているか、Defenderが無効になっているなど)、スキャンが正常に機能しない可能性があります。エンジンが有効になっていない状態でスキャンを実行しても意味がありませんよね?通常、これはセキュリティ統合が無効になっている場合や、グループポリシーでDefenderが無効になっている場合に問題を検出するのに役立ちます。
Windowsセキュリティ署名を更新する
ウイルス定義が古い場合、マルウェアスキャンはあまり効果がありません。そのため、Update-MpSignature
Windows Defender を実行すると、最新のシグネチャが強制的に取得されます。これは、前回のアップデートからかなり時間が経っている場合や、マルウェアが紛れ込んでいる疑いがある場合に非常に重要です。コマンドがエラーなく実行されれば、Windows Defender がウイルスデータベースを更新しているのが確認できます。古いシグネチャはよくある弱点なので、これは安心材料となるでしょう。
完全なウイルススキャンを実行する
疑わしい場合や深刻な感染が疑われる場合は、フルスキャンを実行するのが最善策です。PowerShellを使えば簡単です。 と入力するだけですStart-MpScan -ScanType FullScan
。ディスク上のすべてのファイルを文字通りチェックするため、かなりの時間がかかります。特にリモートセッションから実行している場合や、システムが過負荷になっている場合は、スキャンが停止したり、遅延したりすることがあります。待ちきれない場合や、処理速度の低下が心配な場合は、 を使ってバックグラウンドスキャンを試してみてくださいStart-MpScan -ScanType FullScan -AsJob
。これによりスキャンが開始されますが、コンピューターは他の用途に使用できます。
代わりにクイックスキャンを実行する
すべてを徹底的に調査する必要はありません。PowerShellはクイックスキャンもサポートしていますStart-MpScan -ScanType QuickScan
。これはより高速で、侵入性が低く、通常は明らかな脅威を検出します。システムに問題がなさそうでも、すぐに再確認したい場合に最適です。マシンによっては、フルスキャンで検出できるすべての脅威を検出できない場合もありますが、中間的な対策としては最適です。
オフラインスキャンによる徹底的なマルウェア除去
マルウェアは時に非常に巧妙で、通常のスキャンをすり抜けてしまうことがあります。Microsoftは、信頼できる環境から実行し、頑固な脅威を除去するオフラインスキャンモードを提供しています。PowerShellで起動するには、 と入力してくださいStart-MpWDOScan
。ただし、システムをWindows Defenderオフライン環境に再起動する必要があるため、保存していない作業内容は失われる可能性がありますのでご注意ください。これは、システムの奥深くに潜むマルウェアを徹底的に排除するために、PCをオフラインにするようなものです。
ご参考までに、この作業はかなり時間がかかり、少し不安になるかもしれませんが、まれに頑固な感染症の場合は、必要な場合が多いです。まずは作業内容を保存してください。
総じて言えば、この小さなPowerShellツールキットは完全なセキュリティスイートに取って代わるものではありませんが、簡単なヘルスチェック、強制アップデート、疑わしいファイルの調査などには十分な機能です。GUIが機能しないのにPowerShellツールキットが機能する理由はよく分かりませんが、常に使える便利なツールとして覚えておくと良いでしょう。
まとめ
- 完全な権限を得るには、PowerShell を管理者として起動してください。
- で Windows セキュリティの状態を確認します
Get-MpComputerStatus
。 - 経由で署名を更新します
Update-MpSignature
。 - でフルスキャンまたはクイックスキャンを実行します
Start-MpScan
。 - オフラインスキャンを使用して、頑固なマルウェアを検出します
Start-MpWDOScan
。
まとめ
PowerShellはマルウェアスキャンに驚くほど効果的です。特にGUIが不安定だったり、GUIだけでは不十分な場合などに効果的です。もちろん、マルウェアの緊急事態が発生した場合は、専用の駆除ツールを使用するか、セーフモードで起動する方が良いでしょう。しかし、この設定は迅速なチェックやアップデート、そしてちょっとした安心感を得るのに最適です。誰かの頭痛の種を少しでも救えることを願っています。お役に立てれば幸いです!