どうもミツシマです。
今回はWindowsDefenderについて、色々と検証した内容について書いていこうと思う。
検証環境は以下の通り
PC:Windows10 Pro 1809
WindowsUpdateサービスを停止しておきたい理由としては、通常使用時にエンドユーザーがWindowsUpdateのボタンを押したり、自動でWindowsUpdateされるのを防ぐ目的の為だ。
ウイルス対策ソフトウェア未導入の方は特に理由はない。
おそらくWindows10であればいらないのではないかという考えなのだろう。
私個人的にも色々な情報を確認する限り、サードパーティ製のウイルス対策ソフトウェアの優位性は昔ほどないのではないかと考えている。
かつ、Windows10が半年毎にメジャーバージョンアップすることを考えると、その度にウイルス対策ソフトウェアを対応バージョンに上げたりする労力や何かトラブルで起動しなくなることを考えるとわからなくもない。(なんとかバスターも過去にメジャーバージョンアップで苦労しているようだし。。。。汗)
そんな訳で要望通りWindowsUpdateサービスを無効にしたのだが、ここで一つ疑問が。
WindowsUpdateサービスを止めたら、WindowsDefenderの定義ファイルアップデートも止まるのでないか??
→結果はアップデート出来ない(想定通り)
それでは「設定」-「Windowsセキュリティ」のところから定義ファイルをアップデートしてみる
→結果は定義ファイルの更新が出来たが、なんと、WIndowsUpdateサービスが「手動」に変更され、サービスが開始していた!!!
これだと厳しいのでコマンドで何か出来ないかを模索。
「"C:¥Program Files¥Windows Defender¥MpCmdRun.exe" -SignatureUpdate」というコマンドで定義ファイルがアップデート出来るようなので検証
→結果は、WindowsUpdateサービスが起動していないとエラーになっていた。
この辺りはMpCmdRun.exe のログで「%PROGRAMFILES%¥AppData¥Local¥Temp¥MpCmdRun.log」
や「%Windir%¥Temp¥MpCmdRun.log」辺りを確認するとわかる
しょうがないので苦肉の策として、WindowsDefenderの定義ファイルをアップデートする時だけWindowsUpdateサービスを起動して、定義ファイルのアップデートが完了したら、再度WindowsUpdateサービスを無効にするバッチを作成し、それをタスクスケジューラでPC起動時とその後は1時間毎に実行させるように考えた。
※本当は2時間毎くらいにしたかったが、タスクスケジューラの繰り返し間隔が2時間毎という設定が出来なかったので、、、
完成したスクリプトがこちら↓↓↓
この辺りはそれぞれの実行環境で適したものに修正してもいいと思う。
後は単純にやりたいことをコマンドにしただけ。
何とか今回はこれで動いたのでよしとしよう^^;
P.S. この記事を書いている時に思ったのだが、「-MMPC」というのを使用すればもしかしてWindowsUpdateサービスを停止したままでも、WindowsDefenderの定義ファイルがアップデート出来るのかも!この辺りは時間があれば再検証しよう!!!
もしくは知ってる方コメント下さい!!
今回はWindowsDefenderについて、色々と検証した内容について書いていこうと思う。
検証環境は以下の通り
PC:Windows10 Pro 1809
〜きっかけ〜
そもそも今回の内容を検証するきっかけとなったのが、ある案件で「WindowsUpdateサービスを通常時は停止した状態にしておきたい」という要望があり、かつ、「ウイルス対策ソフトウェアの導入はなし」という条件があったからだ。WindowsUpdateサービスを停止しておきたい理由としては、通常使用時にエンドユーザーがWindowsUpdateのボタンを押したり、自動でWindowsUpdateされるのを防ぐ目的の為だ。
ウイルス対策ソフトウェア未導入の方は特に理由はない。
おそらくWindows10であればいらないのではないかという考えなのだろう。
私個人的にも色々な情報を確認する限り、サードパーティ製のウイルス対策ソフトウェアの優位性は昔ほどないのではないかと考えている。
かつ、Windows10が半年毎にメジャーバージョンアップすることを考えると、その度にウイルス対策ソフトウェアを対応バージョンに上げたりする労力や何かトラブルで起動しなくなることを考えるとわからなくもない。(なんとかバスターも過去にメジャーバージョンアップで苦労しているようだし。。。。汗)
そんな訳で要望通りWindowsUpdateサービスを無効にしたのだが、ここで一つ疑問が。
WindowsUpdateサービスを止めたら、WindowsDefenderの定義ファイルアップデートも止まるのでないか??
〜検証〜
まずはWindowsUpdateサービスを無効にした状態でWindowsUpdateを実施してみる→結果はアップデート出来ない(想定通り)
それでは「設定」-「Windowsセキュリティ」のところから定義ファイルをアップデートしてみる
→結果は定義ファイルの更新が出来たが、なんと、WIndowsUpdateサービスが「手動」に変更され、サービスが開始していた!!!
これだと厳しいのでコマンドで何か出来ないかを模索。
「"C:¥Program Files¥Windows Defender¥MpCmdRun.exe" -SignatureUpdate」というコマンドで定義ファイルがアップデート出来るようなので検証
→結果は、WindowsUpdateサービスが起動していないとエラーになっていた。
この辺りはMpCmdRun.exe のログで「%PROGRAMFILES%¥AppData¥Local¥Temp¥MpCmdRun.log」
や「%Windir%¥Temp¥MpCmdRun.log」辺りを確認するとわかる
しょうがないので苦肉の策として、WindowsDefenderの定義ファイルをアップデートする時だけWindowsUpdateサービスを起動して、定義ファイルのアップデートが完了したら、再度WindowsUpdateサービスを無効にするバッチを作成し、それをタスクスケジューラでPC起動時とその後は1時間毎に実行させるように考えた。
※本当は2時間毎くらいにしたかったが、タスクスケジューラの繰り返し間隔が2時間毎という設定が出来なかったので、、、
完成したスクリプトがこちら↓↓↓
〜WindowsDefenderUpdate.bat〜
REM PC起動直後なので120秒待ってから処理を開始する
timeout /T 120
REM WindowsUpdateサービスを「手動」に変更
sc config wuauserv start= demand
REM WindowsDefender定義ファイルアップデート
"C:¥Program Files¥Windows Defender¥MpCmdRun.exe" -SignatureUpdate
REM アップデート後にWindowsUpdateサービスを再度「無効」に変更
sc config wuauserv start= disabled
REM WindowsUpdateサービスの停止
sc stop wuauserv
〜解説〜
まずはPC起動直後だとうまくサービスが起動しないことがあるので、120秒ウェイトを入れている。この辺りはそれぞれの実行環境で適したものに修正してもいいと思う。
後は単純にやりたいことをコマンドにしただけ。
何とか今回はこれで動いたのでよしとしよう^^;
P.S. この記事を書いている時に思ったのだが、「-MMPC」というのを使用すればもしかしてWindowsUpdateサービスを停止したままでも、WindowsDefenderの定義ファイルがアップデート出来るのかも!この辺りは時間があれば再検証しよう!!!
もしくは知ってる方コメント下さい!!
スポンサードリンク
コメント