Forefront利用方法のマトメ

苦労話は抜きにしてお急ぎの方でも納得な内容を心がけて書いてみる。

  • 子供:瞬快で保護されている子供たちPC
  • サーバ:瞬快+WSUS+Ghostなサーバー(独自ネットワークを構築しているので、普段の子供たちからは見えない)
  • 配布用:Forefront更新ファイル配布する他の用途につかっているXP

子供とサーバを同一ネットワークで運用すると、自動承認される更新ファイルも適用されてしまうのが厄介になる。そんなことはしたくないのでルーターを置いて独自ネットワークを構築している。そーすると、Forefrontの更新ファイルの取得に問題が生じるので、そのための解決策を考えてみた。
 

配布用

普通にForefrontをインストールする。
 
「haifuyou」という名前にした

REM 配付側で定義ファイルを共有フォルダにコピーするバッチ
cd C:\Documents and Settings\All Users\Application Data\Microsoft\Microsoft Forefront\Client Security\Client\Antimalware\Definition Updates\{*
copy *.* "C:\Documents and Settings\All Users\Application Data\Microsoft\Microsoft Forefront\Client Security\Client\Antimalware\Definition Updates\guid"
cd c:\tools
echo %date% %time% >> guid.txt

「c:\tools\share_guid.bat」として保存する。
 
タスクで30分毎に実行するようにする。
 

子供

普通にForefrontをインストールする。
 

REM 定義ファイルを取得するバッチ
::@ECHO OFF
if exist t:\. net use t: /delete /yes
if not exist t:\. net use t: \\haifuyo.exsample.com\guid /user:kenmituo password
cd "%allusersprofile%\application DATA\MICROSOFT\MICROSOFT FOREFRONT\CLIENT SECURITY\CLIENT\ANTIMALWARE\DEFINITION UPDATES\UPDATES"
xcopy t: /r /d /y
net use t: /delete
::@ECHO ON
cd c:\wsd
echo %date% %time% >> msff.txt

これを「c:\tools\msff.bat」として保存する。
 
msff.batをダブルクリックするとコマンドプロンプトがちょろっと表示されるのがダサいので表示させないvbsを作る

Dim oShell
Set oShell = WScript.CreateObject ("WSCript.shell")
oShell.run "C:\tools\msff.bat",0
Set oShell = Nothing

これを「c:\tools\msff.vbs」として保存する。
 
スタート>コンピュータ(右クリック)>管理>タスクスケジューラ

  • 全般
    • 名前:Forefront定義ファイルの取得
    • 説明:\\haifuyo\guidからMS Forefrontの定義ファイルをコピーする
    • 最上位の特権で取得する
  • トリガー
    • タスクの開始:ログオン時
    • 設定:任意のユーザー
    • 遅延時間:15分
    • 繰り返し間隔:30分間
    • 継続時間:1日間
    • 有効:チェック
  • 操作:プログラムの開始
    • プログラム:c:\tools\msff.vbs
  • 条件:なし
  • 設定
    • タスクを要求時に実行する:チェック
    • タスクを停止するまでの時間:3日間
    • 要求時に実行中のタスクが・・・:チェック