2017年7月28日金曜日

SCEPの定義ファイルを手動で適用するスクリプトを作った

先日、Windows Defenderの定義ファイルを更新するスクリプトを作ってみたのだが、SCEPでも同様にできるものかと試してみた、という小ネタ。

結論から言うと少しコマンドの修正が必要だった(黄色網掛け箇所)。Windows DefenderとSCEPでは、同じ動作をするコマンドレットであっても、微妙にコマンドレット名が違うので注意が必要。

------------------------------
#
# SCEP定義ファイル更新スクリプト
# update_scep.ps1
#

# SCEPのモジュールをインポート
Import-Module "C:\Program Files\Microsoft Security Client\MpProvider\MpProvider.psd1"

# 定義ファイルのダウンロード先を指定
$url = "https://go.microsoft.com/fwlink/?LinkID=87341"

# 定義ファイルのダウンロードフォルダを指定
$workdir = "c:\work\"

# 実行コマンド
$cmd = $workdir + "mpam-fe.exe"

# 定義ファイルをダウンロード
Invoke-WebRequest -Uri $url -OutFile $cmd

# 適用チェック
if ( (Get-Item $cmd).VersionInfo.FileVersion -eq (Get-MProtComputerStatus).AntivirusSignatureVersion ){
   echo "定義ファイルは最新です。"   
}else{
   echo "定義ファイルを更新します。"

   # 更新処理
   Start-Process $cmd -Wait
}
------------------------------

定義ファイルは毎日更新されるようなので、タスクスケジューラーで毎日実行するように仕掛けておけばよい。