こんにちは。Windows テクノロジー サポートの安達です。
Sysprep 実施中に任意のコマンドを実行する方法についてご紹介したいと思います。
なお、本日ご紹介させていただきますコマンドの実行方法についてはWindows Vista 以降の OS に付属の Sysprep を対象とした内容となります。
Sysprep はシステム準備ツールと呼ばれ、主にマスタ用に構築した環境を複数の端末に展開する場合に SID 等のシステム固有のデータを初期化するために使用されるツールです。
Sysprep は様々な設定を初期化し、クリーンアップ処理を行います。
それらの設定は Sysprep 実行時に指定可能な応答ファイルを用いる事で設定可能な項目もありますが、応答ファイルで用意されていない設定や個別のカスタマイズを行いたい場合は、Sysprep 中に特定のタイミングでコマンドを実行し、設定する方法があります。
Sysprep 中に任意のコマンドを実行する一般的な方法としては、以下の 3 つがあります。
上記 3 つの方法は実行されるタイミングや設定方法がそれぞれ異なりますので、個別にご紹介していきます。
1. SetupComplete.cmd を利用する方法
※ Scripts フォルダは既定で存在しませんので新規に作成します。 メモ帳から直接保存する事は出来ませんので、 一旦任意の場所に作成してから保存してください。
以下 "Windows のセットアップ" の最終処理中に実行されます。
2. 応答ファイルの <RunSynchronousCommand> を利用する方法
Sysprep 実行時に指定可能な応答ファイルに <RunSynchronousCommand> を設定する事により任意のコマンドを実行させる事が可能です。
今回は、Sysprep の Specialize と呼ばれる構成パス中にコマンドを実行する方法について紹介します。
以下 Sysprep の Specialize 構成パスにおける "システム設定の適用中" に実行されます。
3. 応答ファイルの <FirstLogonCommands> を利用する方法
Sysprep 実行時に指定可能な応答ファイルに <FirstLogonCommands> を設定する事により任意のコマンドを実行させる事が可能です。
<FirstLogonCommands> を利用する事により、Sysprep 完了後の初回ログオン時に1 度だけ任意のコマンドを実行させる事が可能です。
なお、ここでご紹介させていただく方法でのコマンド実行はログオンしたアカウントの権限で実行されます。管理者権限を持つアカウントでログオンした場合は、昇格された権限にて実行されます。
以下 Sysprep 後の初回ログオン時に実行されます。
Add a Custom Command to an Answer Filehttp://technet.microsoft.com/ja-jp/library/dd799295(en-us,WS.10).aspx
RunSynchronousCommandhttp://technet.microsoft.com/ja-jp/library/cc722359(WS.10).aspx
FirstLogonCommandshttp://technet.microsoft.com/ja-jp/library/cc722150(WS.10).aspx
Sysprep とはhttp://technet.microsoft.com/ja-jp/library/cc721940(WS.10).aspx
Windows 7 展開センターhttp://technet.microsoft.com/ja-jp/windows/ee517406.aspx
Windows 7 標準クライアント イメージの作成手順http://technet.microsoft.com/ja-jp/windows/ee676462.aspx