連載
» 2012年03月01日 00時00分 公開

Windows Thin PCで本格的なシンクライアントを実現する:第3回 Windows Thin PCのセキュリティ強化と統合管理 (2/3)

[小川大地(Microsoft MVP for Virtual Machine),日本ヒューレット・パッカード株式会社]

 ここまでの解説で、エンドユーザーの使い勝手と管理者のメンテナンス性を意識した、本格的なシンクライアントが出来上がったはずだ。しかし、本格展開を考えると、デバイスドライバのインストールや接続ツールの追加、KIOSKモード化などを1台1台に手動で施していくのは無理がある。そこで、カスタマイズが完了した1台のWinTPCをベースに、これをマスタとして大量展開・複製する方法を解説する。

WinTPCはMicrosoft Deployment Toolkitで大量展開が可能

 WinTPCの複製・展開では、Windows 7の場合と同じ展開ツールやノウハウが通用する。展開ツールのうち、無償で大量展開できる手段として、最も使いやすく自由度が高いのは、マイクロソフト純正の展開ツールであるMicrosoft Deployment Toolkit(MDT)である。

Microsoft Deployment Toolkit(MDT)による大量展開
WinTPCはWindows 7と同様の方法で展開できる。MDTを利用すれば、ネットワーク経由はもちろん、遠隔地配布用のリカバリDVDやUSBメモリも作成可能だ。

 2012年1月時点でMDTの最新バージョンは2010 Update1だ。このMDTを利用してWinTPCを展開する手順の概要と、WinTPC固有の注意点に焦点を当てて解説する。MDTのインストールや一般的な利用方法については関連記事を参考にするとよいだろう。

WinTPCのためのMDT 2010の前提条件

 現行のMDT 2010はWinTPCより前にリリースされたが、次のことに留意すれば問題なくWinTPCを展開できる(次期バージョンのMDT 2012ではWinTPCの正式サポートが予定されている)。

  • MDTサーバ(管理コンピュータ)はWinTPCと同じ32bit版Windows上で実行する
  • マスタPC(参照コンピュータ)のシステム・ドライブ(通常はC:ドライブ)はディスクの先頭パーティションにインストールする。先頭にシステム予約領域を配置せざるを得ない場合は、その領域のサイズを300Mbytes以上にして、その後にシステム・ドライブのパーティションを配置する
  • キャプチャと展開の両タスク・シーケンスにおいて、Unattend.xml内の[UpgradeData]項目を削除する
MDT 2010でWinTPCを展開する場合に必要なUnattended.xmlの修正
WinTPCにはアップグレード・インストールがない。そのため、MDT2010のキャプチャと展開の両タスク・シーケンスにおいて、Unattend.xmlの[UpgradeData]項目を削除する必要がある。

カスタマイズ済みWinTPCのキャプチャ

 最初に、接続ツールのインストールや必要なカスタマイズを実施したWinTPCから、そのディスク・イメージをキャプチャしてMDTに取り込む(これがイメージ複製時のマスタとなる)。その主要な手順を以下に記す。なお、MDTでは一般的に「ジョブ」と呼ばれる実行シナリオについて「タスク・シーケンス」という言葉が用いられるが、本稿では「タスク」と略する。

  1. MDTのGUI管理コンソール「DeploymentWorkbench」でキャプチャ・タスクを作成する
    1. WinTPCのDVDメディアをインポートする
    2. インポートしたOSイメージを使い、[Sysprep and Capture]のタスクを作る
    3. タスク設定画面を開き、Unattend.xml内で[UpgradeData]項目を削除する
    4. [Update Deployment Share]を実行する
  2. マスタPCからキャプチャ・タスクを実行する
    1. マスタPC上でライト・フィルタを利用している場合、解除して再起動する
    2. 管理者アカウントでMDTサーバの共有(DeploymentShare)にアクセスし、「LiteTouch.vbs」を直接実行する

カスタマイズしたWinTPCをMDTサーバにキャプチャする
これはマスタとなるWinTPC上で[Sysprep and Capture]のタスクを実行したところ。Sysprepが適用された後にWindows PEで再起動され、Sysprep済みディスク・イメージがキャプチャされる。

展開タスクの作成

 キャプチャが完了したら、そのディスク・イメージをベースに展開タスク[Standard Client Task Sequence]を作成する。このタスクが、以下の一連の展開プロセスをすべて自動実行することになる。

(1) キャプチャしたディスク・イメージをベースにOSインストール
(2) 言語やタイムゾーン・コンピューター名などのOS初期設定
(3) Administratorアカウントで自動ログオン
(4) 事前に定義したアプリケーションの追加やカスタムコマンドの実行

 マスタからキャプチャしたイメージを利用するため、基本的にはマスタPCで実施したインストールや設定などがそのまま複製・展開されるが、一部の設定は継承されない。これは展開完了後に手動で設定してもよいが、タスクを少しカスタマイズするだけで自動設定が可能だ。その手順を説明しよう。

■自動ログオン設定
 展開時に継承されない設定の1つは自動ログオンだ。こちらは前回紹介したAutologonツールを非対話モードで実行させることで対応できる。[Run Command Line]メソッドを利用して、次のコマンドを展開タスクの[State Restore]フェーズに追加しよう。

"C:\Program Files\Autologon\autologon.exe" /accepteula <ユーザー名> . <パスワード>

自動ログオン設定例

 また、デフォルトでは展開タスクの完了時に行われるクリーンアップ処理によって自動ログイン設定はクリアされてしまう。自動ログイン設定がクリアされないように、次の2つの実行スクリプトを編集しよう。

'oShell.RegWrite "HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\CurrentVersion\Winlogon\AutoAdminLogon", "0", "REG_SZ"

LiteTouch.wsfの変更個所
947行目の先頭に「'」を入れてコメントアウトする。

'oShell.RegWrite "HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\CurrentVersion\Winlogon\AutoAdminLogon", "0", "REG_SZ"
'oShell.RegWrite "HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\CurrentVersion\Winlogon\DefaultUserName", "", "REG_SZ"
'oShell.RegWrite "HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\CurrentVersion\Winlogon\DefaultDomainName", "", "REG_SZ"
'oShell.RegDelete "HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\CurrentVersion\Winlogon\DefaultPassword"
'oShell.RegWrite "HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\CurrentVersion\Winlogon\AutoLogonCount", &H00000000, "REG_DWORD"
oShell.RegDelete "HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\CurrentVersion\Winlogon\AutoLogonCount"

LTICleanup.wsfの変更個所
128〜133行目の先頭に「'」を入れてコメントアウトし、最後の1行を追加する。

■ライト・フィルタの有効化
 マスタからのキャプチャの際、ディスク・イメージにSysprepを適用するためにライト・フィルタを解除したはずだ。展開時にライト・フィルタを有効化したい場合は、こちらも[State Restore]フェーズに次の4コマンドを追加しよう。

fbwfmgr /enable
fbwfmgr /addvolume C:
fbwfmgr /addexclusion C: <プロテクト対象外にしたいパス>
bcdedit.exe /set {bootloadersettings} BOOTSTATUSPOLICY IgnoreAllFailures

ライト・フィルタを有効化する設定(FBWFの場合)

■展開タスク終了時に再起動を強制
 展開タスクが完了すると、実行結果を表示するために展開先PCはAdministratorアカウントでログオンしたままの状態となる。展開作業を管理者が行う場合は問題ないが、エンドユーザーに任せる場合はAdministratorでログオンしたまま放置するわけにはいかない。[Set Task Sequence Variable]を利用して、[State Restore]フェーズに次の変数を追加しよう。これにより、タスク完了と同時に再起動が行われる。

Task Sequence Variable: Value:
SkipFinalSummary YES
FinishAction RESTART
展開タスク終了後に再起動を強制する設定

MDT展開タスクのカスタマイズ
MDTの展開タスクに汎用コマンドを組み込むことで、通常のキャプチャ・展開プロセスで継承されない設定についても自動化できる。
  (1)上述の各設定の自動実行を展開タスクに設定したところ。

展開タスクの実行

 MDT展開タスクは、DVDメディアやUSBメモリ、ネットワークなどさまざまなメディア/手段で実行できる。状況によって最適な方法を選択しよう。

  ブート方法 データ・ソース 備考
1 DVDメディア オンライン MDTで自動生成(LiteTouchPE_x86.iso)
2 オフライン MDTで手動生成(LiteTouchMedia.iso)
3 USBメモリ オフライン MDTで手動生成
4 ネットワーク オンライン DHCPやWindows展開サービスが必要
MDT展開タスクの実行方法

 展開先PCの台数がある程度あり、また主要拠点のようにネットワークも高速であれば、ブート・メディアが不要でネットワークだけですべて完結できる4の方法が便利だろう。ネットワーク・ブートにはWindows展開サービス(WDS)を利用する。一方、MDTサーバとの回線の帯域幅が十分に確保できない場合、拠点にもMDTサーバを設置することで回線負荷を抑えることもできる。

 IT管理者が少ない小規模拠点やエンドユーザーにセットアップ作業を任せたい場合は、LANを利用しない2や3の方法が便利だろう。2は市販のPCに付属する「リカバリCD」と同等だ。展開先PCにDVDドライブが搭載されていない場合はMDTで“リカバリUSBメモリ”を作成しよう。

 なお、マイクロソフトから配布されているWinTPCのインストールDVDは、「Windows 7 USB/DVD ダウンロード・ツール(WUDT)」を利用することで、DVDドライブを搭載していないPCでも市販のUSBメモリからインストールできる。

LANを利用せずに展開できる“リカバリDVD”の生成
MDTで自動生成される「LiteTouchPE_x86.iso」はWindows PEでブートするだけのメディアだが、この[Media]機能から完全な“リカバリDVD”を生成することもできる。さらに“リカバリUSBメモリ”の作成も可能だ。
  (1)MDTで手動生成した“リカバリDVD”のISOイメージ。
  (2)このフォルダの内容をUSBメモリにコピーするだけで“リカバリUSBメモリ”を作成できる。

 ブート・メディアやネットワークなどの準備が完了したら実際に展開を実施しよう。ネットワーク速度やPCのスペックにもよるが、15分程度でマスタPCの複製が出来上がるだろう。

MDT 2010によるWinTPC展開タスクの実行
これは展開先PCで、WinTPCのイメージが複製・展開されているところ。MDTはWindows 7のインストール・メディアで使われているwimフォーマットでキャプチャするため、MDTによる展開処理は通常インストールのプロセスに酷似している。

 SysprepやImageXといったWindowsの複製・展開技術に慣れていない場合、MDTは少し敷居が高いツールかもしれない。しかし、一度タスクを作り上げてしまえば簡単に何台でも展開できるうえ、WinTPCだけでなくWindows 7にも利用できる。これほど強力なツールが無償で利用できることも珍しい。いろいろな場面で活用していくことをお勧めする。

Copyright© Digital Advantage Corp. All Rights Reserved.

RSSについて

アイティメディアIDについて

メールマガジン登録

@ITのメールマガジンは、 もちろん、すべて無料です。ぜひメールマガジンをご購読ください。