Home > Windows にまつわる e.t.c. > Windows Server / Windows Client OS の sysprep をカスタマイズする
このページはサブコンテンツです。検索等でこのページに直接来られた方は以下のメインページも参照してください。
Windows Server
/ Windows Client OS の sysprep をカスタマイズする
同一構成のサーバーを展開する時には sysprep を使用しますが、sysprep をしただけだと mini setup の対話処理が入ってしまい展開にひと手間かかってしまいます。
オンプレで数台の展開であれば、この mini setup の対話処理はあまり苦にならないのですが、クラウド環境とかでスケールアウトするためのイメージ作りの場合は、このオペレーションが致命的に邪魔です。
クラウドベンダーがスケールアウト用の OS 環境初期化ツールを準備している場合もありますが、パスワードが初期化されてしまったりと要件に合わないこともままあります。
そんな時は、syspre の自動応答ファイルを自作します。
自動応答ファイルは、インストールメディアの install.wim から作成するので、ワークディレクトリに編集用
install.wim をコピーします。
(インストールメディアの ISO ファイルをダブルクリックして直接マウントした環境で作業しないと ACL
エラーが出る事があります)
PowerShell プロンプトだと変数が簡単に扱えるので、PowerShell プロンプトでのオペレーションを前提に解説します。
以下スクリプトをテキストエディターで必要個所を変更し、PowerShell プロンプトにペーストすると、ワークディレクトリに install.win がコピーされます。
|
Windows SIM (Windows システム イメージ マネージャー)は Windows Kits にあるので、Windows SIM を起動し、コピーした Install.wim を開きます。
Install.wim を開く際に、PowerShell プロンプトに編集場所のフルパスが表示されているので、これをコピペし、Install.wim を開くのが簡単です。
Install.wim を開き、編集対象を選択し、カタログファイルを作成します。
自動応答ファイルには、対話処理が必要なところを設定すればノンタッチで Mini Setup を完了させることができます。
新しい応答ファイル
Compornents を展開し、応答ファイル設定に必要なコンポーネントをセットします
コンポーネントの先頭には以下のプレフィックスがついてます。
amd64 | x64 OS 用コンポーネント |
x86 | x86 OS 用コンポーネント |
wow64 | Wow 用コンポーネント(使わない) |
Windows Server であれば amd64 だけ設定すれば OK ですね。
コンポーネントを右クリックし、セット先(構成パス)を選択して以下のコンポーネントをセットします。
(x86 OS
の場合は、x86 用コンポーネントプレフィックスの「x86_」に読み替えてください)
amd64_Microsoft-Windows-International-Core_xxxx_neutral | 7 oobeSystem |
amd64_Microsoft-Windows-PnpSysprep_xxxx_neutral | 3 generalize |
amd64_Microsoft-Windows-Security-SPP_xxxx_neutral | 3 generalize |
amd64_Microsoft-Windows-Shell-Setup_xxxx_neutral | 4 specialize |
amd64_Microsoft-Windows-Shell-Setup_xxxx_neutral | 7 oobeSystem |
amd64_Microsoft-Windows-International-Core_xxxx_neutral を 7 oobeSystem へ
amd64_Microsoft-Windows-PnpSysprep_xxxx_neutral を 3 generalize へ
amd64_Microsoft-Windows-Security-SPP_xxxx_neutral を 3 generalize へ
amd64_Microsoft-Windows-Shell-Setup_xxxx_neutral を 4 specialize へ
amd64_Microsoft-Windows-Shell-Setup_xxxx_neutral を 7 oobeSystem へ
まずは、システムロケールに関する設定です。
構成パス | 7 oobeSystem |
コンポーネント名 | amd64_Microsoft-Windows-International-Core_xxxx_neutral |
ツリー | \ |
項目 | 日本語環境 | Azure/AWS |
InputLocale | 0411:E0010411 | 0409:00000409 |
SystemLocale | ja-JP | en-US |
UILanguage | ja-JP | en-US |
UserLocale | ja-JP | en-US |
システムロケールなので、タイムゾーンも指定します。
構成パス | 7 oobeSystem |
コンポーネント名 | amd64_Microsoft-Windows-Shell-Setup_xxxx_neutral |
ツリー | \ |
項目 | 日本語環境 | Azure/AWS |
TimeZone | Tokyo Standard Time | UTC |
構成パス | 4 specialize |
コンポーネント名 | amd64_Microsoft-Windows-Shell-Setup_xxxx_neutral |
ツリー | \ |
項目 | 値 |
ProductKey | プロダクトキー |
ちなみに、クラウド環境は ボリューム ライセンス認証サービス サーバーが使われているので、プロダクトキーの設定は不要です。(無入力)
あわせてコンピューター名もランダム生成されるように設定します。
項目 | 値 |
ComputerName | * |
構成パス | 7 oobeSystem |
コンポーネント名 | amd64_Microsoft-Windows-Shell-Setup_xxxx_neutral |
ツリー | \OOBE |
項目 | 値 |
HideEULAPage | true |
構成パス | 7 oobeSystem |
コンポーネント名 | amd64_Microsoft-Windows-Shell-Setup_xxxx_neutral |
ツリー | \UserAccounts\AdministratorPassword |
項目 | 値 |
Value | パスワード |
最後に GUI 設定ではないところを設定します。
■ sysprep実行回数をカウントしない
Windows Server 2012 R2 では sysprep 回数制限が1000回と事実上無制限になりましたが、Windows Server 2008 R2 以前では 3回と回数が少ないので、カウントしない設定を入れます。
構成パス | 3 generalize |
コンポーネント名 | amd64_Microsoft-Windows-Security-SPP_xxxx_neutral |
ツリー | \ |
項目 | 値 |
SkipRearm | 1 |
■ ドライバー設定を保持する
sysprep時にドライバー構成情報を保持するようにします。
構成パス | 3 generalize |
コンポーネント名 | amd64_Microsoft-Windows-PnpSysprep_xxxx_neutral |
ツリー | \ |
項目 | 値 |
DoNotCleanUpNonPresentDevices | true |
PersistAllDeviceInstalls | true |
設定が完了したら、自動応答ファイルを Untitled.xml へ出力します。
PowerShell プロンプトに自動応答ファイルのフルパスが表示されているので、これをコピペし Untitled.xml を保存すると簡単です。
出力済みの Untitled.xml を読み込めば、再編集できます。
sysprep する際は、Untitled.xml を以下のフォルダーにコピーします。
C:\Windows\System32\sysprep
ターゲット PC で、以下スクリプトを PowerShell プロンプトにペーストすると、コビー先がエクスプローラーで開かれるのでコピーします。
|
以下コマンドで自動応答が組み込まれた sysprep になります。
sysprep /generalize /oobe /shutdown /unattend:untitled.xml |
Copyright © MURA All rights reserved.