デスクトップ ファイルWDS の高度な機能

Wes Miller

目次

コマンド ラインからの管理
イメージ ストア
マルチキャスト
WDS によるログ記録
その他の問題点
まとめ

ここ 2 回のコラムでは、Windows Deployment Services (WDS) について紹介してきました。先々月のコラムでは、マイクロソフトが提供している PXE (Pre-boot eXecution Environment) ベースの展開ツールの歴史を紹介し、先月は WDS の概要を説明しました。今月は、もう少し高度なトピックを紹介します。

具体的には、WDSUtil (WDS の強力なコマンドライン ユーティリティ)、WDS イメージ ストア、WDS のログ記録機能、Windows Server® 2008 に収録されている WDS のマルチキャスト機能を使用する方法を紹介します。

Windows® 2000 と Windows Server 2003 に同梱されていたリモート インストール サービス (RIS) の機能は期待されていましたが、残念ながら、その機能には制限がありました。特に顕著だったのは下記の 3 点でした。

  • パフォーマンス (よりスケーラブルな展開)
  • ログ記録と監査
  • コマンド ラインによる自動化

今月のコラムを読み進めると、WDS の初期リリース (Windows Server 2008 に同梱されている WDS) では、これらの点が大幅に改善されたことがおわかりいただけると思います。

コマンド ラインからの管理

WDS で管理コンソールが大幅に強化されたことについては、先月のコラムでお知らせしました。ですが、多くの企業にとってさらに重要なのは、WDSUtil.exe という新しいコマンドライン ユーティリティ (図 1 参照) が用意されていることです。WDSUtil は、(SP1 と WDS、または SP2 がインストールされている) Windows Server 2003 で WDS オプション コンポーネントをインストールしている場合、または Windows Server 2008 で WDS の役割をインストールしている場合にインストールされます。

fig01.gif

図 1 WDSUtil を使用してアーキテクチャ探索のオプションを有効にする (画像をクリックすると拡大表示されます)

WDSUtil は非常に強力なユーティリティですが、複雑なユーティリティでもあります。実際、WDSUtil を使用すると、Microsoft® 管理コンソール (MMC) を使用して行えるすべての処理だけでなく、それ以外の処理を行うこともできます。その好例をご覧に入れるため、次のコマンドを実行してみてください (このコマンドは、発生している問題を診断するのに最適なコマンドです)。

wdsutil /get-server /show:config

結果は、WDS の MMC で表示されるものとほぼ同じですが、WDSUtil を使用すると、テキスト ファイルにエクスポートできて、簡単に解読できる形式で結果を出力できます。

これでは情報が足りないという方は、次のコマンドを実行してみてください。このコマンドでは、より詳細な情報が返されます。

wdsutil /get-server /show:all /detailed

また、次のコマンドを実行すると WDS サーバーを停止および再開できます。

wdsutil /stop-server
wdsutil /start-server

WDSUtil のコマンドライン リファレンスについては、go.microsoft.com/fwlink/?LinkId=112194 を参照してください。.chm 版をご希望の場合は、go.microsoft.com/fwlink/?LinkId=89381 からダウンロードしてご利用いただけます。

RIS では、Active Directory® サービスのインターフェイスに詳しくない限り、コマンド ラインを使用して、特定の MAC アドレスまたは GUID が Active Directory のコンピュータ アカウント オブジェクト (MAO) と関連付けられているかどうかを簡単に調べることはできませんでした。しかし、WDSUtil では、そのどちらを使用しても関連付けられている MAO をクエリすることができます。

GUID は混乱を招くことがあります。というのも、GUID はバイナリ文字列または GUID 文字列として入力することが可能で、その違いはバイト オーダーとハイフンの有無だけだからです。これに対して MAC アドレスは、次のいずれかのコード行を使用して、ハイフンあり/ハイフンなしのどちらの状態でも入力できます。

wdsutil /get-device /id:01-23-45-67-89-AB
wdsutil /get-device /id:0123456789AB

次のコマンドを実行すると、バイナリ文字列を使用してデバイス情報を取得できます。

wdsutil /get device /id:ACEFA3E81F20694E953EB2DAA1E8B1B6

また、次のコマンドを実行すると、GUID 文字列を使用してデバイス情報を取得できます。

wdsutil /get device /id:E8A3EFAC-201F-4E69-953-B2DAA1E8B1B6

皆さんが使用している多くのコンピュータでは 64 ビット版の Windows を実行できると思いますが、中にはアーキテクチャが適切に報告されないコンピュータもあります。WDS を使用すると、WDS に組み込まれている小規模なネットワーク ブート プログラムを実行して、システムが x64 に対応しているかどうかを特定できます。図 1 に示すように、この処理は次のコマンドを使用して行えます。

wdsutil /set-server /architecturediscovery:yes

実際、WDSUtil /set-server コマンドを実行すると、多数のサーバーの設定を構成できます。次のコマンドを実行して、その動作を確認してください。

wdsutil /set-server /?

Windows Server 2003 を実行している WDS サーバーを Windows Server 2008 にアップグレードした場合は、次のコマンドを実行して、RIPrep イメージを Windows イメージング形式のイメージに変換できます。

WDSUtil /convert-RIPrepImage

WDSUtil を使用して RIPrep イメージを変換することはできますが、それ以外の RISetup イメージ (従来の RIS インストール、WDS でスクリプト化されたレガシ インストール) を変換することはできません。

WDSUtil は、繰り返し作業を自動化できるという点で優れています。図 2 に示すコマンドを参照すると、WDSUtil の機能の考え方がつかめると思います。新しい WDS サーバーを展開している場合でも、複数のサーバーに対してイメージを追加または変更している場合でも、マルチキャスト インフラストラクチャを管理している場合でも、特定のブート クライアントで使用するネットワーク ブート プログラムを指定している場合でも、WDSUtil を使用すると RIS にはなかった強力な機能が提供されます。

図 2 WDSUtil のコマンド

コマンド 説明
/add デバイス、イメージ、またはイメージ グループを追加する。
/approve-AutoAddDevices 保留中の自動追加デバイスを承認し、そのデバイスの構成情報を設定する。
/convert-RiprepImage RIPrep レガシ イメージを WIM イメージに変換する。
/copy-Image イメージ ストア内でイメージを複製する。
/delete-AutoAddDevices すべてまたは特定の保留中の自動追加デバイスを削除する。
/disable WDS サーバーまたはトランスポート サーバーを無効にする。
/disconnect-Client クライアントをマルチキャスト転送または名前空間から切断する。
/enable WDS サーバーまたはトランスポート サーバーを有効にする。
/export-Image イメージ ストアの既存イメージを別の WIM イメージにエクスポートする (ImageX で /export を使用する場合と同等)。
/get デバイス、イメージ、イメージ グループ、WDS サーバー、またはトランスポート サーバーのプロパティと属性を取得する。
/initialize-Server 初期インストール後、WDS サーバーを使用できるように構成する。
/new キャプチャを作成するか、イメージ、マルチキャスト転送、および名前空間を探索する。
/progress 特定のコマンドが実行されているときに進行状況を表示する。
/reject-AutoAddDevices すべてまたは特定の保留中の自動追加デバイスを拒否する。
/remove イメージ、イメージ グループ、マルチキャスト転送、および名前空間を削除する。
/replace-Image イメージを新しいイメージで置き換える (上書きする)。
/set デバイス、イメージ、イメージ グループ、WDS サーバー、またはトランスポート サーバーのプロパティと属性を設定する。
/start WDS サーバーまたはトランスポート サーバーを開始する。
/stop WDS サーバーまたはトランスポート サーバーを停止する。
/uninitialize-Server サーバーの初期設定時に加えた変更を元に戻す (未構成の状態に戻す)。
/update-ServerFiles サーバーの System32\RemInst ディレクトリにある最新バージョンで、サーバーの REMINST 共有にあるファイルを更新する。
/verbose 特定のコマンドが実行されているときに詳細情報を表示する。

イメージ ストア

先月のコラムでは、RIS でディスクにファイルをより効率的に格納するために使用されていた単一インスタンス記憶域 (SIS) が、WDS で廃止されたことを説明しました。現在、すべてのネイティブ モード (WIM) イメージは、OS に関係なく、WDS イメージ ストアに格納されます。また、以前のコラムで、単一インスタンス機能を使用すると、ボリューム イメージに関連ファイルがある場合に、.wim ファイルの領域を節約できることを紹介しましたが、WDS イメージ ストアは、それと同じように機能します。実際、このストアでは、イメージを格納する際に WIM の機能を使用しています。

WDS イメージ ストアを使用するには、少なくとも 1 つのイメージ グループが必要です。ただし、通常、WDS の初期設定時に、イメージ グループを作成するように要求されます。インストール イメージを追加する際に、新しいイメージ グループを作成することは可能です。このようにイメージ グループを作成すると、インストール イメージは作成したイメージ グループに追加されます (図 3 参照)。

fig03.gif

図 3 新しいイメージ グループの作成 (画像をクリックすると拡大表示されます)

イメージ ストアについて説明しましょう。RemoteInstall ディレクトリには、Images という名前のサブディレクトリがあり、作成した各イメージ グループのディレクトリは、ここに格納されます。図 4 に示すように、イメージ グループにインポートした各インストール イメージには、.wim ファイルと .rwm ファイル (リソース WIM) がそれぞれ 1 つずつあります。

fig04.gif

図 4 イメージ グループのコンテンツ (画像をクリックすると拡大表示されます)

図 4 のファイルをよく見ると、このイメージ グループは、次のファイルで構成されています。

  • install.wim (Windows Server 2008, Standard Edition)
  • install-(2).wim (Windows Server 2008, Enterprise Edition)
  • install-(3).wim (Windows Server 2008, Datacenter Edition)
  • install-(4).wim (Windows Server 2008, Standard Edition (Server Core)
  • install-(5).wim (Windows Server 2008, Enterprise Edition (Server Core)
  • install-(6).wim (Windows Server 2008, Datacenter Edition (Server Core)

今度は、これらのファイルのサイズを、MMC に表示されるファイルのサイズ (図 5 参照) と比較してみましょう。図 4 の .wim ファイルのサイズは、対応する Res.rwm ファイルのサイズと比べると、かなり小さいことがわかります。というのも、表示されている .wim ファイルは、使用する領域を抑えるために実際のファイルのスタブになっているからです。.wim ファイルの復元に必要なメタデータは含まれていますが、ファイル リソースは含まれていません。イメージ グループのリソースは、そのイメージ グループの .rwm ファイルに格納されます。

fig05.gif

図 5 サーバー マネージャで表示されるイメージ (画像をクリックすると拡大表示されます)

イメージ ストアのインストール イメージを編集する方法は 2 とおりあります。1 つは、イメージをエクスポートして編集し、既存のイメージを置き換える (または新しいイメージとしてインポートする) 方法です。もう 1 つは、編集するインストール イメージを MMC で無効にし、.wim ファイルをマウントして直接編集する方法です。

RIS でいつも問題となっていたのは、イメージの複製です。SIS ファイルをネットワーク経由でコピーすると、SIS は NTFS 属性なので、SIS の情報が失われます。つまり、40 GB の RISetup イメージと RIPrep イメージを別のサーバーに複製する場合、SIS Groveler を使用してイメージのサイズを 5 GB まで縮小していても、実際にはネットワーク経由で 40 GB のイメージを複製することになりました。しかし、WDS イメージ ストアでは、このような問題は発生しません。イメージ ストアのアーキテクチャの特性により、イメージは分散ファイル システム (DFS) サーバーに保存し、DFS レプリケーション (DFS-R) を使用して、イメージをサイト間で複製できます。

ただし、詳細は WDS のバージョンによって異なります。Windows Server 2003 の場合は、go.microsoft.com/fwlink/?LinkId=81031 からダウンロードできるドキュメントの「第 7 章 : イメージを操作する」を参照してください。Windows Server 2008 については、「DFS を使用してイメージを格納および複製する」(go.microsoft.com/fwlink/?LinkId=121960) を参照してください。サーバー間でイメージ グループをコピーする場合も、すべてのリソースは .rwm ファイルに格納されているので、.wim ファイル全体を転送する場合 (RIS SIS アーキテクチャの場合) と比べると、ネットワーク経由で送信されるデータはごく少量です。

今度は、どのような場合に新しいイメージ グループを作成し、どのような場合に既存のイメージ グループを使用するのかについて説明しましょう。通常、その規則は .wim ファイルの場合と同じです。主に Windows Server 2008 のイメージで構成されているイメージ グループに Windows XP Professional SP3 のイメージを追加することはできますが、それほど領域を節約できるわけではないので、あまり意味がありません。.wim ファイルの場合と同様に、通常、少なくとも次の項目のイメージ グループを用意することをお勧めします。

  • Windows の各リリース (リリースとは、SKU (Windows XP Professional) とサービス パック改定 (SP3) の両方を指します)。
  • Windows Server 2003 以前の (Multilanguage User Interface を使用していない) 各ローカライズ版。Windows Vista® 以前のリリースのローカライズ版ビルドでは、まったく別のバイナリが使用されていたので、単一インスタンスという観点では、.wim ファイルに適切に格納できませんでした。
  • 各リリースのすべてのサービス パック。Windows Server 2008 と Windows Vista SP1 のイメージを同じイメージ グループに格納することはできますが、そのようなことをした場合に、ご使用の環境で意味があるのかを検討する必要があります。

イメージ ストアでは SIS よりも効率的に領域を節約できます。ディスク上の領域もネットワークの帯域幅のどちらも節約することが可能で、通常、イメージ ストアを正常に運用するのに必要な作業はわずかです。

RIS の最大の欠点は、スケーラビリティがないことです。マルチキャスト展開とは名ばかりで、単に展開のプロセスを整えているだけでした。マルチキャスト展開は、迅速な展開であると思われがちですが、ここで焦点となるのは速度ではなく数量です。RIS を使用して複数のシステムを展開することは可能で、実際、約 75 台のシステムを同時に展開することができました。

しかし、すべてのシステムの展開が完了するかなり前の段階で、パフォーマンスが低下し、各システムのインストールにかかる時間は徐々に長くなりました。もっと悪いことに、システムの数が多くなるほど、エラーが発生する可能性も高くなりました。また、複数のインストールを行うと、サーバー メッセージ ブロック (SMB) ネットワーク トラフィックによりネットワークの負荷が過剰に高くなります。そのため展開時には、従業員が Microsoft Exchange Server などの重要なネットワーク リソースにアクセスできない状況が生じる可能性があります。

マルチキャストは、展開するシステムの数を増やすためのものです。マルチキャストを使用すると、4 台のサーバーを展開している場合でも、100 台のシステムを伴うカンファレンス センターを展開している場合でも、ネットワークの負荷が過剰に高くなることなく、適度な時間で展開を完了することができます。マルチキャストを使用して 1 台のシステムを展開することはできますが、複数台のシステムがマルチキャスト転送をリッスンする状況でないとマルチキャストを使用するメリットは実感できません。

マルチキャストを使用するには、マルチキャストをサポートしているルーターが必要です。通常、これはルーターでインターネット グループ管理プロトコル (IGMP) 捜索を有効にする必要があるということになります。また、Windows Vista RTM に同梱されている Windows PE 2.0 では、マルチキャスト転送の受信がサポートされていないので、Windows Server 2008 RTM または Windows Vista SP1 に同梱されている Windows PE 2.1 が必要です。

同一ネットワークに複数の WDS サーバー (または他のマルチキャスト サーバー) がある場合は、カスタマイズした IP アドレス範囲を指定する必要があることにも注意してください。この範囲は、WDS の MMC を使用して簡単に変更できます。必要な操作は、サーバーを右クリックし、[プロパティ] をクリックして、[ネットワーク設定] タブをクリックするだけです。

マルチキャスト サーバーでマルチキャスト ブロードキャストを行う際には、最も低速なクライアントが受信できる速度に合わせることも、それより速い速度で調整し、その速度に対応できないクライアントについてはサポートを断念することもできます。信頼性を確保するため、WDS は、マルチキャスト転送を受信するクライアントの中で最も低速なクライアントが対応できる速度で実行されます。

マルチキャスト転送のパフォーマンスが期待値よりも低いと感じる場合は、「wdsutil /Get-MulticastTransmission /Show-clients」というコマンドを実行してください。このコマンドを実行すると、転送の速度を制限しているクライアントを特定できます。問題のあるクライアントを切断すると、そのクライアントではマルチキャストではなく SMB を使用するように設定がリセットされます。低速なクライアントを自動的に切断するスクリプトのサンプルについては、go.microsoft.com/fwlink/?LinkId=121961 を参照してください。

マルチキャスト転送を作成するには、インストール イメージを右クリックして [マルチキャスト転送の作成] をクリックするか、または WDS コンソールで [マルチキャスト転送] を右クリックして [マルチキャスト転送の作成] をクリックします。マルチキャスト転送を作成する際には、自動キャストまたはスケジュールされたキャストを指定できます。自動キャストは、定期的にオンライン状態になるクライアントが複数あって、各クライアントで同じイメージを使用する場合に便利です。新しいクライアントは、最初にインストール イメージを要求したクライアントのために初期化されたアクティブなマルチキャスト転送に自動的に追加されます。スケジュールされたキャストを使用すると、グループ サイズを設定し、そのサイズに達したときに転送を開始するようにできます。

また、転送の開始時間を設定することもできます。クライアントがマルチキャスト転送を使用しているときには、イメージ名をクリックして、クライアントを確認できます。また、右側のウィンドウでは、マルチキャスト転送に接続しているクライアントの詳細を確認できます。

通常、エンド ユーザーは、WDS セットアップ クライアントでマルチキャストを使用します。ただし、Windows Server 2008 Windows 自動インストール キット (WAIK) に収録されている WDSMCast という名前のコマンド ライン ユーティリティを使用すると、WDS からマルチキャスト転送を使用して .wim ファイルを要求できます。.wim ファイルは、ファイル全体が転送され、クライアントに適用される必要があるので、イメージを格納して適用するのに十分なディスク領域があることを確認する必要があります。来月は、WDSMCast をカスタム展開プロセスに組み込む方法を紹介します。

WDS によるログ記録

WDS では、さまざまな情報をログに記録したり、追跡したりすることができますが、その多くは、領域を節約するために既定で無効になっています。イベント ログには、クライアントが Windows イベント ログに記録するもの、WDS の他の要素についてトレース ログに記録されるものの 2 種類があります。

しかし、Windows Server 2008 では、WDS は、既定で多くの情報をログに記録します。このログは、管理ツールのイベント ビューアで確認できます。また、WDS ログは、イベント ビューアの [アプリケーションとサービス ログ\Microsoft\Windows\Deployment-Services-Diagnostics] で確認できます。これらのログは、MMC (図 6 参照) で WDS の役割を表示したときにも参照できます。

fig06.gif

図 6 サーバー マネージャで表示される WDS イベント (画像をクリックすると拡大表示されます)

WDS クライアントのログ記録 (図 6 に示すようにイベント ログで確認できます) は、次の引数を指定して WDSUtil を実行することで開始できます。

wdsutil /wdsclientlogging /enabled:yes /logginglevel:info

トレース ログは、WDS のサブコンポーネントについても有効にすることができます。トレースを構成するには、図 7 に示すレジストリ キーの下に DWORD レジストリ値を作成します。すべてのトレース ログは、\Windows\tracing に格納されます。ログ記録を開始するには、レジストリ値を作成後に、ログ記録の対象となるサブコンポーネントを再起動する必要があります。

図 7 トレース ログの設定

WDS コンポーネント レジストリ キー レジストリ値 ログ ファイル名
サーバー HKLM\SOFTWARE\Microsoft\Tracing\WDSServer\EnableFileTracing 1 wdsserver.log
マルチキャスト HKLM\System\CurrentControlSet\Services\WDSServer\Providers\WDSMC\TraceDisabled 0 wdsserver.log
管理コンポーネント HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Tracing\WDSMGMT\EnableFileTracing 1 wdsmgmt.log
MMC HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Tracing\WDSMMC\EnableFileTracing 1 wdsmmc.log

WDS にはパフォーマンス カウンタが用意されています。システムのパフォーマンスに問題が生じた場合だけでなく正常時にシステムのパフォーマンスを解析する場合にも、このパフォーマンス カウンタを監視できます。WDS のパフォーマンス カウンタについては、go.microsoft.com/fwlink/?LinkId=121962 を参照してください。既に説明しましたが、問題が発生したときには、WDSUtil で /detailed、/verbose、または /progress スイッチを使用して、詳細情報を入手できます。

WDS クライアントで WDS サーバーとの接続または対話で問題が発生している場合、問題を解決するには Microsoft ネットワーク モニタ (Netmon) を使用することをお勧めします。ネットワーク モニタは、go.microsoft.com/fwlink/?LinkId=121491 からダウンロードしてご利用いただけます。

その他の問題点

私は、これまでに、ここで紹介すべきいくつかの問題に遭遇しました。1 つはメモリです。WDS の中核部分は、Windows PE 2.x ベースです。つまり、WDS クライアントでは、最低 384 MB の RAM が必要であるということになります。また、最適なパフォーマンスを実現するには、512 MB の RAM が必要です。また、Windows PE 2.x は、ACPI (Advanced Configuration and Power Interface) に対応していないシステムではブートできません。ACPI に対応していないハードウェアは、古いハードウェアだけであるとは限らず、比較的新しいシステムでも ACPI をサポートしていないものがあることが報告されています。

このようなシステムでは、Windows Vista または Windows Server 2008 がサポートされない点にも注意してください。ACPI をサポートしないシステムでは、Windows Server 2003 あるいは、以前の WDS サーバーまたは RIS サーバーを維持して、プレステージされたクライアントがサーバーを利用できるようにするか、PXE 以外のメカニズムを使用して Windows をインストールする必要があります。

最後になりますが、サーバーで Windows PE 1.x イメージをブートするには、Windows Server 2003 あるいは以前の WDS サーバーまたは RIS サーバーが必要であることに注意してください。というのも、Windows Server 2008 に同梱されている WDS では、Windows PE 1.x イメージ (RAMDisk または PXE) をブートできないからです。

まとめ

ここ 3 回のコラムでは、WDS の歴史、基本事項、および高度なトピックを取り上げました。来月は、WDS のカスタム シナリオを紹介します。具体的には、WDS を操作および調整して、既存の WDS の動作や設定を使用することなく、必要なタスクを実行する方法を紹介します。

Wes Miller は、テキサス州オースティンにある CoreTrace 社 (www.CoreTrace.com) のシニア テクニカル プロダクト マネージャです。以前は Winternals Software 社に勤務し、その後はマイクロソフトでプログラム マネージャとして働いていました。Wes の連絡先は、technet@getwired.com (英語のみ) です。