Windows Defender のスケジュールを個別に設定してみた。

概要

Windows Server を使っていて、今までワクチンソフトはサードパーティーのものを使用していたため自動更新していましたが、Windows Defenderに入れ替えるに伴い、定義ファイルは随時更新したいのですが、セキュリティパッチは各ソフトの検証が済んでから個別に手動で適用したいと考えています。

今回は、Windows Update によるパッチの自動適用は停止しつつ、Windows Defender の定義の更新は定期的に行う様に構成してみました。

目次

記事内の環境について

Windows Update を停止する

  1. ローカルコンピューター ポリシー を起動
  2. 「コンピューターの構成」→「管理用テンプレート」→「Windows コンポーネント」→「Windows Update
  3. 「自動更新を構成する」を開く。

    • 「無効」に設定します。
    • ※この設定で、自動的に Windows Updateはされなくなりますが、Windows Updateの設定画面の「更新プログラムのチェック」をクリックすると、セキュリティパッチが適用されますのでご注意ください。

Windows Defender 定義の更新設定

更新の曜日を設定する

  1. ローカルコンピューター ポリシー を起動
  2. 「コンピューターの構成」→「管理用テンプレート」→「Windows コンポーネント」→「Endpoint Protection」→「署名の更新」
  3. 「定義の更新をチェックする曜日を指定する」を開く。

    • 「有効」に設定します。
    • 曜日を指定します。
      毎日(0x0)を指定した場合、なぜか設定が「無効」に変わってしまいますが、問題なさそうです。

更新の時刻を設定する

  1. ローカルコンピューター ポリシー を起動
  2. 「コンピューターの構成」→「管理用テンプレート」→「Windows コンポーネント」→「Endpoint Protection」→「署名の更新」
  3. 「定義の更新をチェックする時刻を指定する」を開く。

    • 「有効」に設定します。
    • 定義ファイルを取得する時刻を 0:00 からの分単位で指定します。
      例えば、1:30 を指定する場合は、90分なので、"90" と指定します。

更新の設定を確認する

Power Shell を起動し、Get-MpPreference コマンドで確認します。

PS > Get-MpPreference
:
SignatureDefinitionUpdateFileSharesSources    :
SignatureDisableUpdateOnStartupWithoutEngine  : False
SignatureFallbackOrder                        : MicrosoftUpdateServer|MMPC
SignatureFirstAuGracePeriod                   : 120
SignatureScheduleDay                          : 0     ←0=毎日。上記で設定した値になっている事を確認する。
SignatureScheduleTime                         : 01:30:00 ←指定した時刻になっていることを確認する。
SignatureUpdateCatchupInterval                : 1
SignatureUpdateInterval                       : 0
SubmitSamplesConsent                          : 1



Windows Defender スキャンの設定

スキャンの曜日を設定する

  1. ローカルコンピューター ポリシー を起動
  2. 「コンピューターの構成」→「管理用テンプレート」→「Windows コンポーネント」→「Endpoint Protection」→「スキャン」
  3. 「スケジュールされたスキャンを実行する曜日を指定する」を開く。

    • 「有効」に設定し、
    • 曜日を指定します。
      毎日(0x0)を指定した場合、なぜか設定が「無効」に変わってしまいますが、問題なさそうです。

スキャンの時刻を設定する

  1. ローカルコンピューター ポリシー を起動
  2. 「コンピューターの構成」→「管理用テンプレート」→「Windows コンポーネント」→「Endpoint Protection」→「スキャン」
  3. 「スケジュールされたスキャンを実行する時刻を指定する」を開く。
    • 「有効」に設定します。
    • スキャンする時刻を 0:00 からの分単位で指定します。
      例えば、3:30 を指定する場合は、210分なので、"210" と指定します。

スキャンの種類を設定する

  1. ローカルコンピューター ポリシー を起動
  2. 「コンピューターの構成」→「管理用テンプレート」→「Windows コンポーネント」→「Endpoint Protection」→「スキャン」
  3. 「スケジュールされたスキャンに使用するスキャンの種類を指定する」を開く。
    • 「有効」に設定します。
    • スキャン方式を設定します。
      ここでは、フルスキャンするので 「2 - フルスキャン」を選択します。

スキャンの設定を確認する

Power Shell を起動し、Get-MpPreference コマンドで確認します。

PS > Get-MpPreference
:
ScanAvgCPULoadFactor                          : 50
ScanOnlyIfIdleEnabled                         : True
ScanParameters                                : 2     ←スキャンの種類:フルスキャン
ScanPurgeItemsAfterDelay                      : 15
ScanScheduleDay                               : 0     ←スキャンする曜日:0=毎日。設定した値になっていることを確認する。
ScanScheduleOffset                            : 210
ScanScheduleQuickScanTime                     : 00:00:00
ScanScheduleTime                              : 03:30:00  ←スキャンする時刻:指定した時刻になっていることを確認する。
SchedulerRandomizationTime                    : 4



Windows Defender を指定した時刻に動作するように設定する

既定では、負荷が集中しないように時刻をランダム化する設定が有効になっていますが、ここでは、サーバ台数が少ないことを踏まえ、動作時刻をわかりやすくするために、ランダム化を解除します。

  1. ローカルコンピューター ポリシー を起動
  2. 「コンピューターの構成」→「管理用テンプレート」→「Windows コンポーネント」→「Endpoint Protection」
  3. 「スケジュールされたタスクの時間をランダム化する」を開く。

    -「無効」に設定します。

動作の確認

スキャン結果の確認

  1. スタートメニュー →「Windows システム ツール」→「Windows Defender」


Windows Defender 定義の更新を確認

  1. イベントビューアを開く。
  2. 左側ツリー「アプリケーションとサービスログ」→「Microsoft」→「Windows」→「Windows Defender」→「Operational」
  3. イベントID = 2000 のイベントを見ることで、更新されていることが確認できます。


    ※但し、指定した時間以外の他の時間帯にも、更新されることがあるようです。

Windows Defender スキャンの実行を確認

■スキャン実行の確認

  1. イベントビューアを開く。
  2. 左側ツリー「アプリケーションとサービスログ」→「Microsoft」→「Windows」→「Windows Defender」→「Operational」
  3. イベントID = 1000、1001 のイベントを見ることで、スキャンの開始/終了が確認できます。