ページ

2015年5月4日月曜日

Windows7SP1 zero-touch Deployment その4

Windows7SP1 zero-touch Deployment  その4

 

Volumeライセンスでの大量展開は他にかなりのドキュメントがありますのでそちらをご参照ください。
またここではWindows7を扱います。WindowsXP、Windows8~は扱っていません。


ここの続きです。




1. テクニシャンコンピュータの構築


1.7. Windows設定とアプリケーションインストールの準備



無人応答ファイルは優秀で、Windowsセットアップ完了後のおそらくほとんどの設定を記述することができます。
が、それを調べるのは大変で、ドキュメントのほとんどは英語です。

簡単に調べる方法は2つ。
・Windows システムイメージマネージャの「ヘルプ(H)」-「無人リファレンス(U)」
Microsoft TechNet Components


が、どちらも英語・・・

で、やはりWindowsの設定は無人応答ファイルで記述するのではなく、バッチファイルとなります。

特に注意したいのは、ネットワーク設定です。
無人応答ファイルでネットワークの設定は可能ですが、Windowsのインストール時にNICドライバのインストールに失敗していた場合、当然ネットワーク設定がされていない状態になります
つまり応答ファイル以後のインストールシーケンスで、アプリケーションインストールを指示していても、ネットワーク設定がすっからかんのため一切何も起きない、ということになります。

よって、

  • NICドライバのインストールを必ずテストする
  • ネットワーク設定を無人応答ファイルで記述しない
  • ネットワーク設定のバッチファイルに成否のログをつける

がミスしないコツになります。
VirtualBox等の仮想環境ではNICドライバのインストールは問題ないです(Inboxドライバ=Windows標準ドライバがインストールされる)。
実機ではそうもいきませんので、必ずチェックしてください。


で、実際の設定は「FirstLogonCommands」を使用します。




この図だと、ユーザーがログインした直後に「netsh advfirewall set all state off」が実行されます。
「Order」が「1」ですので。

続く「Order」が2から4までありますが、それぞれ

  1. netsh advfirewall set all state off
  2. netsh interface ipv4 set address "ローカル エリア接続" static 172.16.1.111 255.255.255.0 172.16.1.254 1
  3. net use P:  \\172.16.1.2\share /user:username password
  4. P:\setup\setupcommand_OP9020.bat


てな感じで記述していきます。

ただしこれは上で注意したように、上手くいけばもうけもの、です。

Order=3、でネットワークドライブに接続していますが、NICドライバに問題があった場合や、NICドライバを先にインストールしたい場合はこのままではいけません。


ちなみに先の図の補足をすると、

・UAC(ユーザーアカウント制御設定)の無効

EnableLUA

コンポーネント
Microsoft-Windows-LUA-SettingsEnableLUA = true (default:有効) / false (無効)

「2 offlineServicing」に追加します。


・回数を指定したオートログオン設定

AutoLogon

コンポーネント
Microsoft-Windows-Shell-Setup\AutoLogonEnabled = true
LogonCount = 5
Username = Administrator

「7 oobeSystem」に追加します。


・ビルトイン Administrator アカウントを有効または無効にする

ビルトイン Administrator アカウントを有効または無効にする



NICドライバのインストールを先にする場合は


ネットワークが疎通していない状態ではもちろん外部にあるNICドライバをローカルにダウンロードできません。
ここで工夫が必要になります。

やることは簡単で、
「インストールメディアにドライバファイルを仕込む」
です。
Inboxドライバ以外のドライバを仕込む方法は3つ。

  • DISMツールでInstall.wimドライバを追加する
  • WindowsSIMのOut-of-Box Driversに追加する
  • $OEM$フォルダにドライバファイルを仕込む


一番簡単なのは$OEM$フォルダの利用です。


DELLのインストールメディアを利用している場合にはすでに仕込まれています。
ここでインストールメディアをコピーした場合は下の場所にあるはずです。

C:\share\W7SP1_PROFESSIONAL\sources\$OEM$

ここには$$フォルダと$1フォルダがあります。
これらの詳細は「配布共有と構成セットとは」のとおりです。

つまり、
\sources\$OEM$\$1\Drivers\NIC\
フォルダを作成し、そこにドライバファイルとインストールコマンドファイルをコピーしておけばOKです。

こんな感じ。



Windowsのインストール後には、C:\Drivers\NIC\ というフォルダが勝手にできて、そこにこの2つのファイルがコピーされている、という寸法です。


インストールコマンドバッチファイルの中身は

C:\Drivers\NIC\Network_Driver_MXH3C_WN_19.2.0.0_A09.exe /s

です。
DELLのドライバファイルはだいたい/sスイッチでサイレントインストールできます。
だいたいは。

調べるにはコマンドラインから/?スイッチでヘルプメッセージを表示させます。
上のOptiPlex9020用インテルNICドライバの場合は、



C:\Users\user>C:\share\W7SP1_PROFESSIONAL\sources\$OEM$\$1\Drivers\NIC\Network_D
river_MXH3C_WN_19.2.0.0_A09.EXE /?

C:\Users\user>
Update Package: MXH3CA09
Intel I2xx/825xx 10/100/1000 Ethernet Network Drivers, 19.2.0.0, A09

General Usage:
Network_Driver_MXH3C_WN_19.2.0.0_A09.exe [/<option1>[=<value1>]] [/<option2>[=<v
alue2>]]...
See listing below for <option> and <value> information.
Option - Description:
---------------------
(none) - Display of graphical user interface for guided installation/update or e
xtraction.

/? or /h - Displays this  Update Package usage information.

/s - Suppresses all graphical user interfaces of the  Update Package.

/e=<path> - Extraction of update contents to a folder.
(NOTE: Requires /s option)

/drivers=<path> - Extraction of only driver components to a folder.
(NOTE: Requires /s option)

/passthrough ... - (Advanced) Sends all text following the /passthrough option d
irectly to the vendor install software of the  Update Package. This mode suppres
ses any  provided graphical user interfaces, but not necessarily those of the ve
ndor software.

/capabilities - (Advanced) Returns a coded description of this  Update Package's
 supported features.
(NOTE: Requires /s option)

/l=<path> - Define a specific path for the  Update Package log file.
(NOTE: This option can NOT be used in combination with /passthrough or /capabili
ties)


Example(s):
---------------------
Update the system silently
Network_Driver_MXH3C_WN_19.2.0.0_A09.exe /s

Extract the update contents to the folder C:\mydir\
Network_Driver_MXH3C_WN_19.2.0.0_A09.exe /s /e=C:\mydir

Extract the driver components to the folder C:\mydir\
Network_Driver_MXH3C_WN_19.2.0.0_A09.exe /s /drivers=C:\mydir

Change from the default log location to C:\my path with spaces\log.txt
Network_Driver_MXH3C_WN_19.2.0.0_A09.exe /l="C:\my path with spaces\log.txt"





後はこのインストールコマンドバッチファイルを「FirstLogonCommands」の1つ目のOrderに、

C:\Drivers\NIC\SetupNIC_OP9020.bat

と記述すればOK。
もちろん直接、

C:\Drivers\NIC\Network_Driver_MXH3C_WN_19.2.0.0_A09.exe /s

でもOKです。
セットアップする機種ごとに無人応答ファイルを変えるのであれば、FirstLogonCommandsを変えて、SetupNICバッチファイルを使いまわすと便利かもしれません。


ドライバを仕込む方法の残りの、

  • DISMツールでInstall.wimドライバを追加する
  • WindowsSIMのOut-of-Box Driversに追加する
についてはまたの機会に。




アプリケーションのインストールは?


まずはアプリケーションをサイレントインストールできるかどうかにかかっています。
これは地道に探すしか方法はありません。

必ず使うアプリケーション、Adobe Readerを例にとってみます。


通常であればネットワークインストーラなんですが、以下にちゃんとオフライン用のインストーラがあります。

PDF ファイルを開くために必要なソフトのダウンロードとインストール(Adobe Reader XI)
https://helpx.adobe.com/jp/acrobat/kb/cq10181859.html


ページの最後にちゃんと配布使用許諾について書かれています。


配布許諾契約がOKならページ下のFTPサイトからオフライン用インストーラをダウンロードします。

FTPをたどっていくとインストーラがあります。


「AdbeRdr11010_ja_JP.exe」ですね。
今回は Adobe Reader XI を使用しますが、10や9と使い分けてください。

でコマンドラインからおもむろに/?スイッチでサイレントインストールスイッチがあるか調べます。



ありますね。
/sAll か、/sPB を選べばOK。

あとはバッチファイルにセットアップをスイッチ付きで記述すればOK。


pushd P:\app\AdbeRdr11010_ja_JP

P:\app\AdbeRdr11010_ja_JP>start /wait AdbeRdr11010_ja_JP.exe /sPB /rs
popd


こんな感じ。

このバッチファイルをFirstLogonCommandsに付け加えるか、アプリケーションインストールのバッチに記述すればOKです。

ちなみにAdobe Reader XI をもう少しカスタマイズしてインストールしたい場合には、
Adobe Customization Wizard XI
を使用します。

この使い方の詳細はやっぱりここが詳しいです。
参考になります、ありがとうございます。

悩み多き文教市場のインフラ屋さん
カスタマイズした Adobe Reader を展開する




このへんで終わります。
続きはまた次回。