Sysprepでマスタイメージから展開する場合、アンチウィルス製品を提供している各ベンダーから
手法が公開されています。大抵の場合、Sysprep前にコマンドを実行し固有のIDや情報をクリアします。
ツールを実行して固有IDをクリアして起動してきたときの挙動が各アプリケーションによって異なります。
一番違っているのは固有IDの生成。
企業でアンチウィルス製品を利用する場合、管理用のサーバで一括管理し、パターンファイルやフルスキャンの時間、
対象のフォルダ等の設定をポリシーのような形で一括管理しています。
管理サーバが対象を識別するために利用している一位となるキーが端末ごとでセットアップ時に割り当てられる固有ID。
このIDが重複してしまうと管理サーバ側のコンソールにおかしなことになってしまいます。
固有IDの割り当て方がソフトにより色々有るのですが、大抵の場合重複のない一位となるMACアドレスを元に生成
しているようです。MACアドレスをキーに生成してればPVSの様なマスタイメージからネットブートさせる環境でも起動する
度に変更されることは無いのですが、SEPはMACアドレスをキーに使用せず怪しい方式(あくまでも個人的な感想)で
生成しています。
その為、起動する度に固有IDが変更されてしまい管理コンソールを見ると大変なことになっています。
SymantecのサイトでもTECH123419として対応方法が公開されており、サンプルのスクリプトではMACアドレスを
利用してHardwareIDを生成しています。
なら、最初からこの方式でHardwareIDを生成すればいいのに・・・。
HardwareIDの生成の生成を少々稚拙なPowerShellで書き換えてみました。
$MAC=gwmi win32_networkadapter | where-object {$_.Index -eq "環境により異なる"} | select -Expand MACAddress
$MAC="00000000000000000000"+$MAC.Replace(":","") #:で区切られているMACアドレスから:を取り除きます。
REG ADD "HKLM\SOFTWARE\Symantec\Symantec Endpoint Protection\SMC\SYLINK\SyLink" /v HardwareID /t REG_SZ /d $MAC /f
Start-Service SepMasterService
Index番号は「wmic path win32_networkadapter get index,description,macaddress」で表示される一覧から対象のNICを
選択してください。
グループポリシーで対象ゲストのスタートアップスクリプトにこれを仕込んで運用していますが、今のところ快調に動作しています。
レジストリの登録もPowerShellで実行すればっと思ったのですが、ちょっと面倒なのでやめました。
OS標準でコマンドが用意されていましたので。