Windows Defender(リアルタイム保護)が勝手にオンになるのを防ぐ
他のセキュリティソフトを入れている場合、Windows Defender は要らない。しかしデフォでは無効にする手段がない(オフにしてもしばらくしたら勝手にオンになってしまう)。
煩わしいので勝手にオンにならないようにする。
手順
「自動でオンにするやつ」を殺すバッチファイルをつくり、これを「指定間隔で実行する仕組み」に登録する。
手順1. defender_off.bat をつくる
以下のようなバッチファイルをつくる。
schtasks /delete /tn "\Microsoft\Windows\Windows Defender\Windows Defender Scheduled Scan" /f schtasks /delete /tn "\Microsoft\Windows\Windows Defender\Windows Defender Cache Maintenance" /f schtasks /delete /tn "\Microsoft\Windows\Windows Defender\Windows Defender Cleanup" /f schtasks /delete /tn "\Microsoft\Windows\Windows Defender\Windows Defender Verification" /f exit /b
手順2. タスクスケジューラに登録する
- control schedtasks を実行(タスクスケジューラを開く)
- タスクスケジューラ(ローカル) > タスクスケジューラライブラリ と辿る
- 右ペイン > 右クリックから新しいタスクの作成
- トリガーは「毎日 xx:yy」に起動にする
- 操作は「プログラムの開始」として defender_off.bat のフルパスを指定する
xx:yy を何時何分にするかを知るには、Microsoft\Windows\Windows Defender のタスクたちの「前回の実行時刻」列を見る。たとえば 15:30 であれば、15:30 にそのタスクが実行されて「勝手にオンにする」が発動した(と思われる)ので、xx:yy は 15:29 とか 15:20 とかちょっと前にすれば良い。
解説
リアルタイム保護が勝手にオンになるのは、上記のスケジュールタスクが働いているせい。そして上記スケジュールは一度消しても勝手に復活させられる(犯人は不明だが Windows Update 系のタスクとか?)。
つまり以下のようなロジックが働いているので、
- a) Microsoft\Windows\Windows Defender のタスクが復活する
- b) タスクたちのトリガー(発動条件)が満たされると、勝手にオンにする処理が発動する
b) に移る前に a) のタスクを消去できればいい。
この消去を行うバッチファイルが手順1. の defender_off.bat で、このバッチファイルを b) の前に呼び出すのが手順2。