Windows System Image Manager(SIM)を使用すると自動的に応答ファイルを生成してくれます。SIMはWindows AIKをインストールすると入ってきます。
以前はSetup Managerを使用して応答ファイルを作成することができましたが、Vista以降はこのSIMを使用して作成することになります。
しかし、このSIM・・・初心者を寄せ付けない設計です(笑)
以前のSetup Managerは説明書を見なくてもなんとなくウイザードに従っていけばできちゃった感がありました。しかし、これは・・・無理
もうこの時点でパスという人は多いのではないでしょうか?
ということで果敢にも挑戦してみました
今回は私が行うトレーニングコースのセットアップをある程度自動化できればいいと以前から考えていたのでそれを行ってみます。
私が今回行いたいことの条件
・イメージはすでに出来上がっている
・イメージはSYSPREPを行ってから配布
・ノートンゴーストを使用してイメージを配布する
・起動時にライセンス同意とロケールを聞いてくるのでバイパスしたい
・パスワードの入力をバイパスしたい
・コンピューター名やIPアドレス入力をある程度自動化したい
・ドメイン参加をある程度自動化したい
そこでどのようなアプローチがあるか考えてみました
コンピューター名やIPアドレスは全ての端末でことなるのでこれは入力しなくてはならいので全自動は無理。ということで、応答ファイルでのアプローチとしては特にライセンス同意とロケールおよびパスワード入力のバイパスになります。
ではここからSIMを使用した応答ファイルの作り方になります
まずはSIMを起動します

このツールを使用する際の基本としてまず「Windows イメージ」ウインドウから操作します。ここでカタログを選択します。このカタログとはいうなれば、応答ファイルの設定を行うためのひな型になります。各OSごとに用意されているので自分が作成する応答ファイルのOSを選択する必要があります。今回私はWindows Server 2008 R2を選択しました。このカタログはwimファイルから作成することもできますが、OSにはあらかじめカタログファイルが用意されているのでそれを使用します。
そして「応答ファイル」ウインドウで新しい応答ファイルを作成します。
これでとりあえず準備は完了しました
実際の操作はまずカタログのComponentsにある各種設定を応答ファイルに入れ込んでいきます。ここがまず判らないところ・・・
そもそも各種設定が何を行うのか?が判りません。そこは各種設定を開いて名前で判断するか?もしくはそこからヘルプを呼び出せるのでヘルプを参照するしかありません。このヘルプですが英語なんですよね~
そして、応答ファイルには1~7までの段階があります。これは簡単にいうとセットアップフェーズが7段階に分かれていて、各種設定をどの段階で使用するのかを指定する必要があります。ここで難しいのは必ずしも1つのフェーズ設定しか指定できるわけではなく、複数のフェーズ設定が指定できる項目もあります。ですのでこのフェーズの理解も必要になります。
今回インストール済みのイメージに対して実行するコマンドは次のようになる予定です
sysprep /generalize /oobe /reboot /unattend:c:test.xml
generalizeによってSIDの再構成、そして展開を行う際には必ずoobeオプションを付ける必要があります。そこに応答ファイルをくっつける。
ではこの動作はどのようなロジックになるのかは下のフロチャートを見ればなんとなくわかるかな?

このSysprepではOOBEオプションを付けているのでspecialize後にoobesystemに対する設定が適用されることになります。
ここからは試行錯誤で行っていきましたので必ずしも適切ではないかもしれませんがとりあえず、解説していきます。

今回主に使用する設定項目は
amd64_Microsoft-Windows-Shell-Setup
配下になります。
全ての解説は入れませんが設定方法のみ解説します。たとえば、ここのOOBEを選択して右クリックすると応答ファイルに設定項目を渡すことができます。その際にどのフェーズに挿入するかを指定します。この場合は7.oobesystemしかないので迷いません。

そうすると応答ファイルに項目が渡され、右のプロパティに設定を入力できるようになります。この繰り返しを行うことによって応答ファイルを作成することが可能になります。
そして今回目標となる応答ファイルができました
<?xml version="1.0" encoding="utf-8"?>
<unattend xmlns="urn:schemas-microsoft-com:unattend">
<settings pass="oobeSystem">
<component name="Microsoft-Windows-International-Core" processorArchitecture="amd64" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS" xmlns:wcm="http://schemas.microsoft.com/WMIConfig/2002/State" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <InputLocale>ja-JP</InputLocale>
<SystemLocale>ja-JP</SystemLocale>
<UILanguage>ja-JP</UILanguage>
<UserLocale>ja-JP</UserLocale>
</component>
<component name="Microsoft-Windows-Shell-Setup" processorArchitecture="amd64" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS" xmlns:wcm="http://schemas.microsoft.com/WMIConfig/2002/State" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <OOBE>
<HideEULAPage>true</HideEULAPage>
<NetworkLocation>Work</NetworkLocation>
<ProtectYourPC>1</ProtectYourPC>
<SkipUserOOBE>true</SkipUserOOBE>
</OOBE>
<Display>
<ColorDepth>32</ColorDepth>
<HorizontalResolution>800</HorizontalResolution>
<RefreshRate>60</RefreshRate>
<VerticalResolution>600</VerticalResolution>
</Display>
<AutoLogon>
<Password>
<Value>UABhACQAJAB3ADAAcgBkAFAAYQBzAHMAdwBvAHIAZAA=</Value>
<PlainText>false</PlainText>
</Password>
<Enabled>true</Enabled>
<LogonCount>1</LogonCount>
<Username>administrator</Username>
</AutoLogon>
<UserAccounts>
<AdministratorPassword>
<Value>UABhACQAJAB3ADAAcgBkAEEAZABtAGkAbgBpAHMAdAByAGEAdABvAHIAUABhAHMAcwB3AG8AcgBkAA==</Value> <PlainText>false</PlainText>
</AdministratorPassword>
</UserAccounts>
<TimeZone>Tokyo Standard Time</TimeZone>
<RegisteredOwner>Learning Solution</RegisteredOwner>
<RegisteredOrganization>Edifist Learning</RegisteredOrganization>
<FirstLogonCommands>
<SynchronousCommand wcm:action="add">
<CommandLine>c:vmm.bat</CommandLine>
<Order>1</Order>
<RequiresUserInput>true</RequiresUserInput>
</SynchronousCommand>
</FirstLogonCommands>
</component>
</settings>
<cpi:offlineImage cpi:source="catalog:e:/sources/install_windows server 2008 r2 serverenterprise.clg" xmlns:cpi="urn:schemas-microsoft-com:cpi" /></unattend>
|
今回はIPアドレスやコンピューター名、ドメイン参加はバッチファイル(vmm.bat)にしました。それを最初のログオン時に実行させています。