定期スキャンを自動化したいけどどこから手をつければいいかわからず不安になっていませんか。
この記事を読むとタスクスケジューラでWindowsDefenderを安全に自動化するための具体的な手順がわかります。さらに運用でよくあるつまずきの対処法やプログラマーならではの便利なコツも紹介します。
| 項目 | 内容 |
|---|---|
| 実体験手順 | 実際に試して成功した手順をわかりやすく順を追って説明します。 |
| トラブル対処 | エラーやスケジュールが動かないときにまず確認すべきポイントを現場目線で伝えます。 |
| 応用設定例 | スキャン時間の調整や除外ルールなど日常で使える設定例をいくつか紹介します。 |
順に進めれば短時間で設定が終わるようにまとめてあるので気軽に取り組んでください。
Windowsマニア心配しなくて大丈夫です。つまずいたら何度でも読み返して少しずつ進めていきましょう。設定が終わったときの安心感を一緒に味わいましょう。
WindowsでWindowsDefenderの定期スキャンをタスクスケジューラで設定する方法


定期的にWindowsDefenderを自動実行しておくと安心です。ここではタスクスケジューラのGUIで毎日のクイックスキャンを回す方法とPowerShellで週次のフルスキャンや特定フォルダスキャンを組む方法を扱います。実際に動かす際の引数や実行ユーザー周りの注意点も具体的に伝えます。毎日の軽いチェックと週次のしっかり掃除を組み合わせると運用が楽になります。
- GUI手順で毎日クイックスキャンを設定する方法。
- PowerShellスクリプトで週次にフルスキャンやフォルダスキャンを実行する方法。
- MpCmdRun.exeを使ったコマンドライン起動の具体例。



初めてでも大丈夫です。小さな設定を積み重ねれば手間は減りますので気軽に試してみてくださいね。
タスクスケジューラのGUIで毎日のクイックスキャンを設定するやり方


タスクスケジューラのGUIなら直感的に毎日のクイックスキャンが作れます。基本は起動してウィザードに沿って名前を付けトリガーを毎日に設定しアクションに実行ファイルを割り当てるだけです。使用しない時間帯を選ぶとユーザー体験を邪魔しません。
スタートでタスクスケジューラを検索して管理者権限で開きます。管理者権限がないとDefender関連の処理が実行できないことがあります。
基本タスクの作成ウィザードで名前を付けます。説明を入れておくと後で探しやすくなります。
トリガーで毎日を選び時間を指定します。アクションでMpCmdRun.exeまたはpowershell.exeを指定して引数を入れます。
タスクスケジューラを管理者として開く場所と最初の画面の操作
スタートを押してタスクスケジューラを検索し右クリックで管理者として実行を選びます。UACの確認が出たら許可してください。
開くと左側にタスクスケジューラライブラリが表示されます。ここから既存タスクの確認や新規作成が行えます。
新しい基本タスクを作成してトリガーを毎日に設定する手順
アクションメニューで基本タスクの作成を選び名前と説明を入力します。わかりやすい名前にするとあとで管理しやすいです。
トリガーで毎日を選び開始日と時間を指定します。CPU負荷が低い時間を選ぶのがおすすめです。
アクション設定後に設定内容を確認して完了します。作成後は該当タスクを右クリックして実行して動作を確認します。
アクションに指定する実行ファイルと引数の具体的な入力例(MpCmdRun.exeとPowerShell)
| 項目 | 内容 |
|---|---|
| MpCmdRunの例 | 実行ファイル:MpCmdRun.exe引数例:-Scan-ScanTypeQuick(クイックスキャン)または-Scan-ScanTypeFull(フルスキャン) |
| PowerShell直接実行の例 | 実行ファイル:powershell.exe引数例:-NoProfile-ExecutionPolicyBypass-File”C:\scripts\scan.ps1″ |
| フォルダ指定例 | PowerShell内で:Start-MpScan-ScanTypeCustom-ScanPath”C:\Users\Public\Documents” |
PowerShellスクリプトでフルスキャンや指定フォルダスキャンを週次で実行するやり方


PowerShellを使うと柔軟にフルスキャンや特定フォルダのスキャンを組めます。スクリプト化しておけばログ出力や条件分岐を入れられるので運用しやすくなります。管理者権限や実行ポリシー設定を合わせて整えておくことが重要です。
Start-MpScanコマンドでフルやフォルダ指定のコマンドを作りログ出力を組み込みます。エラー時にメール送信やイベントログ記録を入れると便利です。
作成した.ps1をタスクスケジューラで週次のトリガーに登録します。実行ユーザーは管理者権限を持つアカウントにしてください。
Start-MpScanを使ったフルスキャンとフォルダ指定スキャンのスクリプト例
- フルスキャン例:Start-MpScan-ScanTypeFull
- フォルダ指定例:Start-MpScan-ScanTypeCustom-ScanPath”C:\path\to\folder”
- クイックスキャン例:Start-MpScan-ScanTypeQuick
スクリプトを.ps1で保存して実行ポリシーと実行ユーザーを整える手順
作成したスクリプトをUTF-8BOM推奨で拡張子.ps1として保存します。管理しやすいフォルダに置いてください。
管理者としてSet-ExecutionPolicy-ExecutionPolicyRemoteSigned-ScopeCurrentUserなどで実行許可を調整します。タスクは管理者権限で実行するユーザーを指定してください。
タスクスケジューラでPowerShellスクリプトを呼び出すアクション設定と動作確認
タスクのアクションでプログラムにpowershell.exeを指定し引数に-NoProfile-ExecutionPolicyBypass-File”C:\scripts\scan.ps1″を入れます。
タスクを右クリックして実行を選び実行履歴とスクリプトのログを確認します。エラーが出たら履歴とEventViewerを確認して原因を潰してください。
Windowsで検出イベントをトリガーに通知やログ保存を自動化する方法


Windows Defenderが脅威を検出したときに、自動で通知を送ったり検出ログを保存したりする仕組みをやさしくお伝えします。タスクスケジューラでイベントをトリガーにして、PowerShellスクリプトを動かすやり方が現実的で管理しやすいです。
通知はメールやWebhookで送れるほか、Get-WinEventで抽出してCSVに保存すると履歴管理がしやすくなります。管理者権限で動かす点やスクリプトの署名と安全な資格情報の扱いには気をつけてください。



小さな検出テストを使ってまず動作確認してみてください。設定は慌てず一つずつ試すと安心して運用できますよ。
検出イベントをきっかけにメール通知とログ保存を行うやり方


ざっくり流れを書くと、まず検出イベントの発生元ログとイベントIDを特定します。次にタスクスケジューラで「イベント発生時」をトリガーにして、PowerShellスクリプトをアクションに設定します。
スクリプト側では通知送信とCSVへの追記を行い、テストで正しくログが取れるかを確認します。運用ではログのローテーションや重複除去を決めておくと後が楽になります。
Windows Defenderの検出ログがあるイベントログ名と該当イベントの見つけ方
| 項目 | 内容 |
|---|---|
| イベントログ名 | Microsoft-Windows-Windows Defender/Operational(Operationalログ) |
| 確認する内容 | 検出関連のイベントはOperationalに出るため、プロバイダやメッセージで検出を特定するのが基本です。 |
| 見つけ方のヒント | イベントビューアーでプロバイダをMicrosoft-Windows-Windows Defenderに絞るか、PowerShellのGet-WinEventでフィルターして探します。 |
タスクスケジューラでイベントログをトリガーにするタスク作成の具体手順
タスクスケジューラで基本タスクの作成またはタスクの作成を選んで、わかりやすい名前を付けます。
トリガーで「イベント発生時」を選び、ログ名をMicrosoft-Windows-Windows Defender/Operationalに指定してフィルター条件を入れます。
アクションにPowerShellとスクリプトのパスを指定して、必要なら引数で出力先や通知先を渡します。
実行ユーザーを管理者権限のサービスアカウントにして、スクリプト実行ポリシーや資格情報の保護を設定します。
通知送信用PowerShellスクリプト例とGet-WinEventでCSVに出力する方法
- 通知送信用PowerShellはSend-MailMessageかInvoke-RestMethodでWebhookに送る方法が一般的です。資格情報はWindows資格情報マネージャーや安全なファイルで管理してください。
- ログ保存はGet-WinEventで該当ログをフィルターして必要なプロパティだけ抽出し、Select-Objectで整形してExport-Csvで追記保存すると扱いやすいです。
- 運用のコツはまずローカルで手動実行して動作確認し、重複検出の扱いやログ保持期間を決めてから自動化することです。
よくある質問


- スケジュールどおりスキャンが動かない原因は何ですか。
まずはトリガーと実行アカウントを確認してください。ログオンしていないと動かない設定や権限不足で止まることが多いです。イベントビューアのタスク履歴とWindowsDefenderのログを見ると原因の手がかりが得られます。
- スキャン中にPCがスリープして止まってしまう場合はどうすればよいですか。
タスクの設定で「スリープを解除して実行」を有効にしてください。加えてアカウントをSYSTEMにするとログオン不要で確実に動きやすくなります。電源プランでスリープまでの時間を見直すのも効果的です。
- 定期スキャンの負荷を抑える良い方法はありますか。
実行タイミングをPCの使用時間外にするのが手っ取り早いです。クイックスキャンを選ぶかスキャン対象を絞るとCPUとディスク負荷が下がります。頻度は週1回などで様子を見ると安心です。
- スキャン結果やエラーはどこで確認できますか。
イベントビューアのWindowsDefenderとタスクスケジューラの履歴をまず確認してください。ここに検出やエラーの詳細が出ます。必要ならログを保存してから対処手順を実行すると安全です。
- タスク作成時に気をつけるポイントは何ですか。
アクションにWindowsDefenderの実行ファイルを指定し引数でスキャン種類を設定してください。実行ユーザーはSYSTEMか管理者にしてログオン不要で動くようにすると安定します。作成後に手動で一度実行して動作確認するのがおすすめです。
まとめ


このまとめではWindowsのタスクスケジューラを使ってWindowsDefenderの定期スキャンを自動化するポイントをやさしく振り返ります。スキャンの種類や頻度、管理者権限での実行、除外フォルダの設定など現場でよく使う項目を整理しています。
実用的なコツとしては、PowerShellコマンドで動作確認を先に行うこと、タスクを「最上位の特権で実行」にして権限トラブルを防ぐこと、夜間やアイドル時に実行するトリガーを選ぶことが重要です。イベントログを定期的にチェックすると問題の原因が見つけやすくなります。
まずは短いクイックスキャンで試運用してからフルスキャンを週次で設定すると安全です。設定は後から何度でも調整できるので、PCの負荷や使い方に合わせて微調整してください。



焦らず少しずつ設定を試してみてください。ログを見れば原因がほとんど分かりますし、慣れれば自動化はとても頼りになる味方になりますよ。
