Sysprep応答ファイルは、イメージ展開時に管理対象に適用する固有情報のカスタマイズを行うためのファイルです。Sysprep応答ファイルを使用することで、ホストプロファイルで指定可能なもの以外の固有情報を管理対象マシンに対して適用することができます。Sysprep応答ファイルは、vCenter Server、DeploymentManagerを利用した固有情報の反映で利用可能です。
Sysprep応答ファイルは、下記のフォルダに置きます。oscustomフォルダ上にあるファイルは、ホストプロファイルのSysprep応答ファイルの設定を行うときに選択対象として一覧に表示されます。
<SystemProvisioningのインストールディレクトリ>\conf\oscustom
Sysprep応答ファイルをユーザ間で隠蔽化する必要がある場合は、次のようにprivateフォルダ配下のフォルダにSysprep応答ファイルを置きます。privateフォルダ配下のリソース管理IDの名前が付いたフォルダにSysprep応答ファイルがある場合、同じリソース管理IDが設定されたテナントにアクセスできる権限を持つユーザのみが、privateフォルダ配下のSysprep応答ファイルを指定することができます。
<SystemProvisioningのインストールディレクトリ>\conf\oscustom\private\<リソース管理ID>
Sysprep応答ファイルの編集は、Microsoft社が提供するツールで行うことが可能です。
Windows AIK / Windows ADKを使用します。Windows AIK / Windows ADKで作成されたSysprep応答ファイルの拡張子はxmlです。
上記ツール以外では、エディタで直接編集することも可能です。
上記のツールの使用方法やSysprep応答ファイルの記載方法については、下記のMicrosoft社が提供する資料を参照してください。
Sysprep応答ファイルの編集の際、サンプルのSysprep応答ファイルを参考にしてください。サンプルファイルには、ホスト設定やホストプロファイルなどSigmaSystemCenterで設定できる管理対象マシンの固有情報の項目が、イメージ展開時にSigmaSystemCenterの設定が反映されるように設定されています。
サンプルファイルは、SystemProvisioningのインストール時に下記のフォルダにインストールされます。
<SystemProvisioningのインストールディレクトリ>\conf\oscustom
sysprep_win2k8r2.xml ... Windows Server 2008 R2向けに作成。Windows AIKを使用して作成。
sysprep_win7.xml ... Windows 7向けに作成。Windows AIKを使用して作成。
sysprep_win7x64.xml ... Windows 7(x86_64)向けに作成。Windows AIKを使用して作成。
Windows AIKではサンプルファイルを直接読み込むことができます。ツールを使用してサンプルファイルを編集して新規にSysprep応答ファイルを作成することができます。ただし、ツールで[ファイルの検証]を行うと(5)の説明に記載してあるSigmaSystemCenterが独自に使用するタグ <SscCustomAdminPassword>, <SscCustom>が存在しないという警告が発生します。本警告は無視して使用してください。
また、ホスト設定やホストプロファイルでプロダクトキーの指定を行わないとき、作成するSysprep応答ファイルのプロダクトキー関連の記述を削除してください。
なお、Sysprep応答ファイルに全角空白が含まれている場合、固有情報反映が正常に行われない場合がありますので、エディタで編集を行う際は注意してください。また、XML形式で記載するため、<,>,",',& は、それぞれ < > " ' & にエスケープする必要があります。
Sysprep応答ファイルの指定がある場合、SigmaSystemCenter はSysprep応答ファイルを使用して固有情報の適用を行うように動作します。Sysprep応答ファイルの指定がある場合、Sysprep応答ファイル中に下記に説明する特別な設定がある場合を除き、SigmaSystemCenter の固有情報の設定は無視されます。
SigmaSystemCenter の固有情報の設定が無視されないようにするためには、Sysprep応答ファイル中の固有情報の設定を次の表に記載されている固定文字列を使用して行う必要があります。前述のサンプルファイルでは、表の各項目が設定例として記述されています。
Sysprep応答ファイル中に記載された波かっこで囲まれたタグ(キー)の値は、固有情報適用の処理が行われる際にSigmaSystemCenter の設定内容に置き換えられます。たとえば、Owner名の場合、RegisteredOwner タグの値に{FULL_NAME}を指定すると、SigmaSystemCenter のホストプロファイル上のOwner名の設定内容に置き換えられます。{FULL_NAME}以外の文字列を設定すると、Sysprep応答ファイルに設定した値がそのままOwner名の設定として利用されます。
例外として、言語関連の設定について同様の設定を行うと管理サーバで設定されている言語(UILanguage)の設定に置き換えられます。
固有情報 | タグ | 値 | 備考 |
---|---|---|---|
入力ロケール (InputLocale) | InputLocaleタグ | {InputLocale} | 各タグに{InputLocale}、 {SystemLocale}、 {UILanguage}、 {UserLocale}を設定している場合、管理サーバで設定されている言語(UILanguage)の設定に置き換えられます。 |
システムロケール (SystemLocale) | SystemLocaleタグ | {SystemLocale} | |
言語 (UILanguage) | UILanguageタグ | {UILanguage} | |
形式(UserLocale) | UserLocaleタグ | {UserLocale} | |
管理者パスワード | UserAccountsタグ | <SscCustomAdminPassword/> | |
ローカルアカウント | UserAccounts タグ - LocalAccounts タグ | <SscCustom>LOCAL_ACCOUNT_LIST</SscCustom> | 管理者アカウント以外のアカウント追加用に使用されます。 |
非同期コマンド | RunASynchronous タグ | <SscCustom>ASYNC_COMMAND_LIST</SscCustom> | SigmaSystemCenterから[OSの操作]と[WSMAN]用に使用するアカウントのパスワードを無期限にするために使用されます。 |
タイムゾーン | TimeZoneタグ | {TIME_ZONE_NAME} | ※ タイムゾーンコードの文字列 |
プロダクトキー | ProductKeyタグ | {PRODUCT_KEY} | ホスト設定やホストプロファイルでプロダクトキーの指定を行わない場合は、ProductKeyタグを削除してください。 |
ホスト名 | ComputerNameタグ | {HOST_NAME} | |
Owner名 | RegisteredOwnerタグ | {FULL_NAME} | |
組織名 | RegisteredOrganizationタグ | {ORG_NAME} | |
ワークグループ名 | Identificationタグ - JoinWorkgroupタグ | {JoinWorkgroup} | ワークグループに参加する場合、ドメインのタグの記述があるとエラーになるので、ドメインの設定を削除してください。 サンプルファイルでは、ドメインの設定は記述されていません。 |
ドメイン名 | Identificationタグ - JoinDomainタグ | {DOMAIN_NAME} | ドメインに参加する場合、ワークグループのタグの記述があるとエラーになるので、ワークグループの設定を削除してください。 サンプルファイルではドメインの設定は記述されていないため、ホストプロファイルの設定を有効するためには、サンプルファイルにタグの記述を追加する必要があります。 |
Identificationタグ - Credentialsタグ - Domainタグ | {DOMAIN_NAME} | ||
ドメインアカウント | Identificationタグ - Credentialsタグ - Usernameタグ | {DOMAIN_ADMIN} | |
ドメインパスワード | Identificationタグ - Credentialsタグ - Passwordタグ | {DOMAIN_ADMIN_PASSWORD} | |
拡張設定/コマンド | <component name="Microsoft-Windows-Shell-Setup" ~> タグ | <SscCustom>RUN_ONCE</SscCustom> | |
IPアドレス | <component name="Microsoft-Windows-TCPIP" ~>タグ | <SscCustom>NETWORK_ADAPTER</SscCustom> | |
DNS | <component name="Microsoft-Windows-DNS-Client" ~>タグ | <SscCustom>DNS_LIST</SscCustom> | |
WINS | component name="Microsoft-Windows-NetBT" ~>タグ | <SscCustom>WINS_LIST</SscCustom> |
Sysprep応答ファイルの利用時における注意事項について、説明します。SigmaSystemCenterで提供するSysprep応答ファイルのサンプルファイルを使用しない場合は、参照してください。
プロダクトキーの指定がない場合、固有情報反映の動作が停止する問題の対処方法
ホスト設定やホストプロファイルでプロダクトキーの指定を行わないとき、Sysprep応答ファイルに以下の記述がある場合は削除してください。
-Sysprep応答ファイルの拡張子がinfの場合
ProductKey={PRODUCT_KEY}
-Sysprep応答ファイルの拡張子がXMLの場合
<ProductKey>{PRODUCT_KEY}</ProductKey>
上記の記述は、SigmaSystemCenterがホスト設定やホストプロファイルにあるプロダクトキーの指定を置き替えるために使用するものです。SigmaSystemCenterで提供するSysprep応答ファイルのサンプルファイルに記述されています。
ホストプロファイルにプロダクトキーの指定がなく、ProductKeyタグ/キーに{PRODUCT_KEY}の記述がある場合、固有情報反映の処理中にプロダクトキーの入力画面が表示されるため、自動処理が停止する問題が発生します。この問題を回避するために、上記のように、プロダクトキー関連の記述を削除する必要があります。
Sysprep応答ファイルにパスワード情報が記録されることの対処方法
パスワードの情報は、他のホストプロファイルの設定と同様にSysprep応答ファイル中に平文で置き換えられます。
vCenter Serverで固有情報反映を行う場合、既定ではSysprep応答ファイルを削除する処理が実行されないため、固有情報反映後に削除を行う必要があります。
サンプルファイルでは、SetupComplete.cmd を利用して 固有情報反映の処理が終わるときにSysprep応答ファイルが格納されたSysprep フォルダを削除するように設定されています。
Microsoft-Windows-Deployment コンポーネントの RunSynchronous タグで下記を実行するように記載されています。
cmd.exe /c "mkdir %WINDIR%\Setup\Scripts" cmd.exe /c "copy %WINDIR%\Setup\Scripts\SetupComplete.cmd %WINDIR%\Setup\Scripts\SetupComplete.cmd.bak" cmd.exe /c "echo for %%i in (%SystemDrive%\Sysprep\Autorun\*) do cmd /c "%%i" > %WINDIR%\Setup\Scripts\SetupComplete.cmd" cmd.exe /c "echo if not exist %systemdrive%\sysprep\deplan.exe rd /s /q %systemdrive%\sysprep >> %WINDIR%\Setup\Scripts\SetupComplete.cmd" cmd.exe /c "type %WINDIR%\Setup\Scripts\SetupComplete.cmd.bak >> %WINDIR%\Setup\Scripts\SetupComplete.cmd" cmd.exe /c "del %WINDIR%\Setup\Scripts\SetupComplete.cmd.bak"
上記では、Sysprep\Autorunフォルダにあるスクリプトを実行後 Sysprep フォルダを削除する処理が動作するように、SetupComplete.cmd ファイルが作成されます。
なお、ゲストOS内の%WINDIR%\Setup\Scripts、%WINDIR%\Setup\Scripts\SetupComplete.cmdが削除されないため、手作業で削除してください。
ユーザ作成画面による固有情報反映の動作停止問題の対処方法(Windows Vista, Windows 7)
Windows Vista, Windows 7 などクライアント系 OS の場合、 固有情報反映中に新規ユーザを作成する画面が表示され、自動処理が停止します。そのため、実行した操作がエラーで終了します。
本問題に対応するためには、新規ユーザ作成の画面がスキップされるように、使用するユーザの設定をSysprep応答ファイルに記述する必要があります。
サンプルファイルでは、Microsoft-Windows-Shell-Setup コンポーネントの UserAccounts タグで Administrator を作成するように設定されています。
<LocalAccounts> <LocalAccount wcm:action="add"> <Group>Administrators</Group> <Name>Administrator</Name> </LocalAccount> </LocalAccounts>
[OSの操作]と[WSMAN]用のアカウント指定時の注意点
追加するアカウントを電源制御時のサービス起動待ち制御などの用途で使用する設定を行った場合、対象のアカウントに対してパスワードの期限を無期限に設定するためのスクリプトが、SigmaSystemCenterから自動作成され、固有情報反映の処理で自動で実行されるように配置されます。
ただし、実行するスクリプトを格納するフォルダを事前に作成するようにする必要があります。
SigmaSystemCenterで提供されるSysprep応答ファイルのサンプルファイルでは、Microsoft-Windows-Deployment コンポーネントの RunSynchronous タグで下記が実行されるように設定されています。
cmd.exe /c "mkdir %SystemDrive%\Sysprep\Autorun"