デスクトップ展開

BDD 2007 を使用した簡単でスケーラブルな展開

Adam Shepherd

 

概要:

  • BDD 2007 の中核機能
  • SQL Server と統合する
  • スケーラブルな展開ソリューションを構築する

Windows の展開に携わっている大半のユーザーは、Microsoft Solution Accelerator for Business Desktop Deployment という製品をご存知でしょう。これは BDD とも呼ばれており、ベスト プラクティスのガイドと

クライアント デスクトップへの Windows® の展開を支援するために開発されたツールのセットです。Windows Vista® では、BDD 2007 により Solution Accelerator が更新されます。このバージョンの BDD には、新しい Microsoft® 管理コンソール (MMC) と Systems Management Server (SMS) 2003 の後継である System Center Configuration Manager 2007 のタスク シーケンスが含まれています。

あまり理解されていない BDD 2007 の機能の 1 つは、完全な展開ソリューションとして機能できるというものです。以前のバージョンの BDD では、管理しやすく再利用可能な方法でデスクトップ イメージを作成および保守することができました。BDD 2007 には、BDD を Windows 展開サービス (WDS)、SQL ServerTM、および Windows Server® 2003 分散ファイル システム レプリケーション (DFS-R) を組み合わせることにより、スケーラブルな展開ソリューションを構築する機能が追加されています。

Windows クライアントを展開する際に推奨される方法は、SMS 2003 を Operating System Deployment (OSD) Feature Pack と共に使用することではなかったのか、と思っている読者の方もいらっしゃるでしょう。

そのとおりです。SMS 2003 インフラストラクチャが既に構築されている場合は、BDD 2007、SMS 2003、および OSD Feature Pack を使用した展開を検討することをお勧めします。これは、ゼロ タッチ展開を実現する、現時点における最も包括的な方法であり、組織で行う Windows の構成、インストール、および保守にかかるコストが大幅に削減されます。

しかし多くのユーザーは、SMS 2003 やそれに相当するソフトウェア展開ソリューションを所有していません。この記事では、そのようなユーザーが利用できる別のオプションを紹介します。

BDD 2007 の中核概念

BDD 2007 には 2 つの主要な展開方法が用意されています。1 つ目の方法のライト タッチ インストールでは BDD のみを使用してクライアントを展開します。この方法ではクライアントに割り当てるコンピュータ名 (図 1 参照)、使用するキーボード レイアウトやタイム ゾーンなど、展開に関する情報を収集する一連のウィザードを構築時に使用でき、特別な設定を行う必要がありません。この方法では、通常、構築プロセスを開始する前に、必要な情報を収集するための手動入力が最小限に抑えられているので、"ライト タッチ" と呼ばれます。

図 1 BDD 2007 ライト タッチ展開ウィザード

図 1** BDD 2007 ライト タッチ展開ウィザード **(画像を拡大するには、ここをクリックします)

2 つ目の方法のゼロ タッチ インストールは、BDD 2007 と統合することで、SMS 2003 と OSD Feature Pack の機能を拡張しています。この構成では、完全に自動化された、スケーラブルかつ管理しやすい、手動入力が不要な展開ソリューションを提供できます。

構築時、クライアント OS を展開する初期手順の 1 つでは、BDD 2007 によってさまざまなソースから情報が収集されます。このようなソースには、WMI 呼び出しや BDD 2007 構成ファイル (Bootstrap.ini および CustomSettings.ini) があります。情報は、展開全体で使用される変数として収集および保存されます。ライト タッチのシナリオでは、Bootstrap.ini ファイルと CustomSettings.ini ファイルを使用すると、展開ウィザードにユーザーが手動で入力することで収集するすべての情報を事前に定義することができます。

構築時に、ライト タッチ ウィザードで収集する必要があるすべての情報を事前に指定できる機能により、SMS 2003 のサポートがない環境でライト タッチ プロセス全体を自動化し、ゼロ タッチ ソリューションに近づけることができます。事前に定義する情報としては、コンピュータに RDG0001VDT という名前を付ける ComputerName=RDG0001VST や、コンピュータのタイム ゾーンをグリニッジ標準時に設定する TimeZoneName=GMT Standard Time などがあります。BDD を使用した展開中に使用できるすべてのプロパティは、technet.microsoft.com/library/bb490302.aspx で参照できる構成リファレンスで詳しく説明されています。

BDD 2007 のセットアップと使用方法の詳細については、2007 年 9 月号の TechNet Magazine (technetmagazine.com/issues/2007/09/BDD) に掲載されている「BDD 2007 を使用して Windows Vista を展開する」を参照してください。**

BDD と SQL Server

なぜ BDD 2007 と共にデータベースを使用するのでしょうか。その答えは、本来ならライト タッチ インストール ウィザードにユーザーが手動で入力する必要がある詳細情報を、展開時にどのようにして動的に提供するのかという点にあります。既に説明したように、これは CustomSettings.ini ファイルを使用して実現できます。ただし、実際の展開ではそのような詳細情報は、展開先のコンピュータによって異なるという問題があります。また、CustomSettings.ini ファイルは、500 台のコンピュータそれぞれに固有のオプションと設定を定義しようとすれば、その管理は瞬く間に困難になります。BDD コンソールにバックエンド データベースをアタッチすることにより、動的かつ拡張可能で、さらに管理のしやすいソリューションが加わります。

SQL Server がどのように BDD 2007 と統合されているのかを少し詳しく説明しましょう。まず、SQL Server (SQL Server 2005 以降推奨) が展開サーバーにインストールされていることを確認する必要があります。さいわい、BDD 2007 では、データベースを簡単に作成できます。BDD 2007 Deployment Workbench で [Database] (データベース) ノードを右クリックし、[New] (新規作成) をクリックして、後は指示に従うだけです (図 2 参照)。BDD チームは、作成と実行を迅速で簡単に行えるウィザードを提供するというすばらしい仕事をしました。

図 2 BDD 2007 の展開データベースの構成

図 2** BDD 2007 の展開データベースの構成 **(画像を拡大するには、ここをクリックします)

データベースを作成すると、その機能を見ていくことができます。データベースのエントリは、Computer (コンピュータ)、Role (役割)、Location (場所)、Make and Model (メーカーとモデル) という 4 つの主要カテゴリに分類されます。各カテゴリにエントリを定義でき、定義したエントリごとに BDD 2007 変数を設定し、アプリケーションを割り当て、その他の重要な設定を指定することができます (図 3 参照)。

図 3 展開プロパティの割り当て

図 3** 展開プロパティの割り当て **(画像を拡大するには、ここをクリックします)

これらの 4 つのカテゴリは、2 つのグループに分けて考えると便利です。Computer (コンピュータ)、Location (場所)、および Make and Model (メーカーとモデル) カテゴリには、それぞれ構築時にコンピュータを特定する方法が用意されています。特定された各コンピュータは、データベースの特定の Role (役割) カテゴリに関連付けることができるので、営業、マーケティング、財務などの特定の目的に応じてセットアップされ、関連付けられている役割によって、適切な基幹業務アプリケーションが確実にインストールされます。

MAC アドレス、資産タグ、ユニバーサル固有識別子 (UUID)、またはシリアル番号を使用してコンピュータを特定するには、Computer (コンピュータ) セクションを使用します。このセクションには多数のエントリが作成される可能性が高い (組織内の各コンピュータについて 1 つのエントリが作成される) ので、各エントリには ComputerName などの非常に限定的なプロパティだけを追加するようにします。

組織の特定の地理的な場所のエントリを作成するには、Location (場所) セクションを使用します。各エントリは、その場所のデフォルト ゲートウェイによって特定されます。このセクションのエントリは、Active Directory® で場所に基づいた組織単位 (OU) を設定し、ある場所で構築されたコンピュータを、その場所に対応する OU のドメインに追加する必要がある場合に特に有用です。

展開でサポートする必要があるハードウェアの種類ごとにエントリを作成するには、Make and Model (メーカーとモデル) セクションを使用します。BDD 2007 は、これらのエントリを WMI 呼び出しで検出された情報と照合します。開発環境での Make and Model (メーカーとモデル) セクションの一般的な用途としては、Make and Model (メーカーとモデル) セクションのプロパティ "Microsoft Corporation" と "Virtual Machine" を確認して、コンピュータが Virtual PC 2007 と Virtual Server 2005 のどちらのバーチャル マシンなのかを確認するエントリを作成することができます。構築時に、これらのプロパティを照合する場合、バーチャル マシン追加機能アプリケーションを Make and Model (メーカーとモデル) エントリに追加するだけで、展開時にこのアプリケーションをインストールする必要があることを BDD に通知できます。

コンピュータの特定方法を指定したら、Roles (役割) セクションを使用して、セットアップする展開の役割ごとにエントリを作成します。たとえば、BDD で定義された Windows XP または Windows Vista に対応する BuildID プロパティを各エントリに追加して構成された Windows XP の役割と Windows Vista の役割用のエントリを作成できます。また、経理、営業、財務などの部門ごとに役割を指定することもできます。私は、BDD プロパティの大多数 (タイム ゾーン、地域の設定、組織情報など) をこのセクションで指定することにしています。このセクションでプロパティを指定すると、特定のコンピュータ、ハードウェア、または場所にエントリが関連付けられることがないので、データベースの管理を最小限に抑えられます。

BDD 2007 には、現在構築中のコンピュータに一致するすべてのエントリについて、展開時にデータベースを検索すべきことを通知する必要があります。展開中にデータベースを使用するように BDD を構成するには、展開ポイントを右クリックし、[Configure DB] (DB の構成) をクリックします。この操作により、ライト タッチ インストール プロセスでデータベースの情報をクエリするようにするエントリを CustomSettings.ini ファイルに設定する一連のウィザードが起動されます。

展開をスケーラブルにする

ライト タッチ インストールを自動化し、各コンピュータが特定のビジネス上の役割を果たすように動的にセットアップできる展開サーバーの用意が整いました。しかし、このソリューションはどのようにして拡張できるのでしょうか。

このソリューションのアーキテクチャは、図 4 に示すように、ハブとスポークのトポロジに基づいています。最初にセットアップする展開サーバーはハブになり、親の展開サーバーとなります。各子展開サーバーはスポークとして機能します。

図 4 ハブとスポークのアーキテクチャ

図 4** ハブとスポークのアーキテクチャ **(画像を拡大するには、ここをクリックします)

このアーキテクチャを実現にするには、DFS-R を使用して配布共有を各展開サーバーにレプリケートする必要があります。その後、SQL Server のスナップショット レプリケーションを使用して BDD 展開データベースのコピーを各子展開サーバーに準備します。このソリューションで最もすばらしいのは、子展開サーバーの要件が最小限に抑えられている点です。つまり、展開の要件は、各コンピュータに SQL Server Express、WDS、および DFS-R がインストールされていることだけです。

BDD 2007 の配布共有には大量のデータを保存できるので、以前のバージョンの Windows Server のファイル レプリケーション サービスではなく、Windows Server 2003 R2 の DFS-R を使用する必要があります。DFS-R では、Remote Differential Compression (RDC) を使用して、レプリケーション グループのメンバ間でファイル変更の差異 (差分) のみがレプリケートされます。これは、カスタムのイメージ ファイルに対して新しいドライバを追加した場合など、小さな変更が行われた場合のレプリケーション トラフィックの量に大きな影響を与えます。DFS-R を使用すると、イメージ ファイル全体が再配布されることはなく、レプリケーション トラフィックは行われた変更のサイズと同等量になります。

マイクロソフト Web サイトでは、DFS に関するさまざまな情報を提供しています。まずは microsoft.com/windowsserver2003/technologies/storage/dfs をご確認ください。ただし、この記事でも、BDD ベースの展開におけるプロセスの概要を紹介するために必要となる基本的なセットアップ手順と構成手順について説明します。

R2 より前の Windows Server 2003 ベースの Active Directory を実行しているサーバーの場合、レプリケーション サービスで新しいオブジェクト クラスが必要になるので、DFS-R を許可するように Active Directory スキーマの更新が必要になる場合があります。Windows Server 2003 R2 の Active Directory スキーマを拡張する方法の全詳細については、go.microsoft.com/fwlink/?LinkId=99936 を参照してください。

最初の手順は、DFS コンポーネントを Windows Server 2003 R2 展開サーバーにインストールすることです。このインストールはさまざまな方法で行えますが、最も簡単な方法の 1 つは、標準の Windows コンポーネントの追加と削除ウィザードです。DFS コンポーネントをインストールしたら、図 5 に示す DFS の管理コンソールを使用してレプリケーション グループをセットアップする必要があります。

図 5 DFS の管理コンソール

図 5** DFS の管理コンソール **(画像を拡大するには、ここをクリックします)

BDD 2007 展開ソリューションを拡張するには、2 つのフォルダをレプリケートする必要があります。1 つ目のフォルダは、BDD のソース ファイルと構成ファイルのすべてを保持する BDD 2007 配布共有です。これらのファイルは、各展開サーバー上で使用できる必要があります。

2 つ目のフォルダは、WDS で使用される、LiteTouch_x86.wim ファイルを保持するための Boot フォルダです。これは、展開プロセスを開始するために、WDS によってデスクトップ クライアント コンピュータに配信される BDD ブート環境です。親展開サーバーのブート環境に変更が加えられたときに、その変更内容が展開インフラストラクチャ全体にレプリケートされるように、このファイルをレプリケートする必要があります。

レプリケートされるパスは、X:\Distribution (X は BDD 2007 のインストール時に指定するドライブ文字) と Y:\RemoteInstall\boot (Y は WDS の RemoteInstall 共有を格納するボリュームのドライブ文字) です。

DFS-R のレプリケーションはマルチマスタ方式なので、一方向のレプリケーション トポロジを作成することはできません。そのため、配布共有を一元管理できるようにするには、各子展開サーバー上の配布フォルダを読み取り専用として構成します。この構成により、そのフォルダには、バックアップと復元の権利を使用する DFS-R レプリケーションのみが書き込めるようになります。これらの子展開サーバーから構築されるクライアント コンピュータでは、このフォルダに書き込む必要はないので、どのアカウントにも読み取りよりも高いアクセス許可を与える必要はありません。

DFS-R を使用したレプリケーションを完了する最後の構成手順は、ブート構成データ (BCD) ストア更新ポリシーを WDS で設定することです。この設定により、ブート環境に対して行ったすべての変更が、各子展開サーバーに反映されます。この構成の変更は、すべての WDS サーバーで行う必要があります。また、この構成の変更を展開サーバーのセットアップの構築プロセスと構成プロセスに組み込むことをお勧めします。

各展開サーバーで次のコマンドを実行します。

WDSUTIL /set-server /BCDRefreshPolicy /Enabled:yes /RefreshPeriod:<time in minutes> 

更新時間の間隔は、展開サーバー上のデータの更新頻度によって異なります。1 時間ごとにレプリケートするように DFS-R を構成した場合、60 分ごとに更新するように BCD ストア更新ポリシーを構成することが適切です。

SQL Server レプリケーション

ここまでの手順で、BDD 配布共有と WDS ブート イメージをプライマリ展開サーバーから各子展開サーバーにレプリケートするように BDD 2007 を拡張しました。次は、このプロセスを完了し、BDD 2007 Deployment Workbench データベースをレプリケートして、各展開サーバーでローカルにデータベースを使用できるようにする必要があります。

SQL Server の製品ドキュメントに記載されているように、SQL Server では雑誌の出版方法を模したレプリケーション方法が使用されます。雑誌の場合、雑誌を出版 (パブリッシュ) する出版社 (パブリッシャ)、出版社に代わって雑誌を配布する配布業者 (ディストリビュータ)、雑誌を講読 (サブスクライブ) する購読者 (サブスクライバ) が存在します。SQL Server の組み込みのレプリケーション機能では、(英語版の話になりますが) 雑誌の場合と同じ用語が使用されています。

SQL Server データベース パブリッシャにするには、サーバー上では SQL Server Express Edition ではなく、完全バージョンの SQL Server が実行されている必要があります。私の環境では、プライマリ展開サーバーに SQL Server 2005 を使用しています (ただし、SQL Server 2000 もサポートされています)。各子展開サーバーでは、SQL Server 2005 と SQL Server 2005 Express のどちらかを使用できます。

SQL Server レプリケーションの構成を開始する前に、レプリケーションがサポートされるように正しく SQL Server をセットアップするためのいくつかの手順を完了する必要があります。展開サーバーのセットアップ時に、SQL Server 2005 または SQL Server 2005 Express Edition のインストール中にレプリケーション コンポーネントがインストールされていることを確認します。既定では、SQL Server Express のインストール時にレプリケーション コンポーネントはインストールされません。

ライト タッチ ブート環境が SQL Server にリモートに接続するには、リモート接続が SQL Server で有効になっている必要があります。SQL Server でリモート接続を有効にするには、SQL Server セキュリティ構成ツールを起動し、[サービスと接続のセキュリティ構成] を選択し、TCP/IP と名前付きパイプによるローカルおよびリモート接続の両方を受け入れるようにサーバーを構成します。

次に、プライマリ展開サーバーに、レプリケーション スナップショット データを格納する共有フォルダを作成します。各子展開サーバーで実行されているレプリケーション エージェントは、このフォルダからデータを読み取ります。この共有フォルダについては後で説明しますが、私はいつもこのフォルダを、他の展開コンテンツと同じボリューム上に配置しています。

最後のセットアップ手順は、子展開サーバーで SQL Server Express Edition を実行している場合にのみ必要です。既定では、SQL Server Browser サービスは無効になっています。レプリケーションを許可するにはこのサービスのスタートアップの種類を自動にし、サービスが自動的に開始されるようにする必要があります。このサービスは、SQL Server 構成マネージャを使用して構成します。また、子展開サーバー上に、コンテンツのレプリケート先となるデータベースを作成する必要もあります。このデータベースの名前はプライマリ展開サーバー上の BDD 2007 データベースと同じ名前にします。同じ名前を使用することで、追加の構成を最小限に抑えられます。

レプリケーションのセットアップ

これで、SQL Server レプリケーションを構成する用意が整いました。構成作業を開始するには、マスタ展開サーバー (このサーバーでは完全バージョンの SQL Server 2005 を実行している必要があります) 上で SQL Server Management Studio を起動します。最初の手順は、ディストリビューションの作成と構成です。これを行うには、図 6 に示すように、管理コンソールの [レプリケーション] フォルダに移動します。[レプリケーション] フォルダを右クリックし、[ディストリビューションの構成] をクリックして、ディストリビューションの構成ウィザードを起動します。

図 6 SQL Server Management Studio: レプリケーション

図 6** SQL Server Management Studio: レプリケーション **(画像を拡大するには、ここをクリックします)

ウィザードで、プライマリ展開サーバーが、このサーバー自体のディストリビュータとして機能することを確認します。ルートのスナップショット フォルダを先ほど作成した SQL Server レプリケーション共有の UNC パスとして設定します。最後に、パブリッシャとして構成されるようにプライマリ展開サーバーを設定します。

このウィザードを使用してサーバーをパブリッシャ兼ディストリビュータとして正常に構成し終えたら、SQL Server にどのデータベースをパブリッシュするのかを通知する必要があります。これを行うには、[レプリケーション] フォルダを右クリックし、[パブリッシャのプロパティ] をクリックします。プロパティ ダイアログ ボックスで、[パブリケーション データベース] を選択し、図 7 に示すように、トランザクション レプリケーションに使用する BDD 2007 データベースを選択します。ここでは実際にはトランザクション レプリケーションを使用していませんが、スナップショット レプリケーションとトランザクション レプリケーションのどちらの場合も、同じオプションを選択します。

図 7 データベースのパブリッシュ

図 7** データベースのパブリッシュ **(画像を拡大するには、ここをクリックします)

次に、子展開サーバーがサブスクライブできるパブリケーションを作成する必要があります。[レプリケーション] フォルダで、[ローカル パブリケーション] を右クリックし、[新しいパブリケーション] をクリックしてパブリケーションの新規作成ウィザードを起動します。パブリッシュするデータベースとして BDD データベースを選択します。パブリケーションの種類としてスナップショット レプリケーションを選択し、レプリケートするすべてのテーブル、ストアド プロシージャ、およびビューを指定します。初期スナップショットはすぐに作成するように選択する必要があります。スナップショット エージェントのスケジュールは、データベースが頻繁に変更されることが予想される場合を除き、既定の 1 日 1 回実行する設定で十分です。

最後の手順は、各子展開サーバーに、このパブリケーションをサブスクライブさせることです。この手順では、指定した間隔でデータベースのコピーを各子展開サーバーにプッシュするように SQL Server を設定します。[レプリケーション] フォルダの [ローカル パブリケーション] サブフォルダで、先ほど作成したパブリケーションを見つけ、右クリックします。次に、[新しいサブスクリプション] をクリックして、サブスクリプションの新規作成ウィザードを起動します。このウィザードでは、パブリケーションを指定するページで、先ほどの手順で作成した BDD パブリケーションを選択します。すべてのエージェントをディストリビューションで実行することを選択し、レプリケーション トポロジをプッシュ サブスクリプションとして有効にします。次に、サブスクライバとして各子展開サーバーを追加し、各サーバー上に作成したデータベースを指定してレプリケーション データのコピーを受信します (このデータベースは、プライマリ展開サーバーのデータベースと同じ名前にする必要があることを忘れないでください)。最後に、接続に使用するアカウントを構成し、レプリケーションのスケジュールを定義します。このスケジュールは、スナップショット エージェントに設定したスケジュールに合わせる必要があります。このセクションでは、SQL Server レプリケーションの作成と実行に必要な事項について駆け足で説明しました。データがレプリケートされていることがすぐにわかります。

BDD 2007 を構成する

ここまでの手順で、データベースを使用するように BDD 2007 を構成し、子展開サーバーにデータベースと BDD 2007 配布共有のレプリケーションをセットアップしました。展開ソリューションを完成させるには、クライアントが BDD ブート環境をダウンロードしたときに、そのクライアントのローカルの展開サーバーに自動的に接続するように BDD 2007 を構成する必要があります。

ライト タッチ Windows PE 環境でブートした場合、クライアントが WDS サーバーからブートされると、Windows PE には、ブート環境のダウンロード元のサーバーの名前を格納するレジストリ値が設定されます。この値は最初の BDD 2007 展開スクリプトによって取得され、%WDSServer% という環境変数に格納されます。

初回リリースの BDD 2007 を使用している場合、この値が Windows PE レジストリに正しく設定されない場合があります。この動作を修正する更新プログラムは、support.microsoft.com/kb/937191 から入手できます。

BDD 2007 を構成するのに必要な作業は BootStrap.ini 構成ファイルと CustomSettings.ini 構成ファイルを編集して、展開サーバーへのすべての参照を %WDSServer% に置き換えるだけです。この作業では、通常、配布共有を保持するサーバーである DeploymentRoot の値の他に SQL Server インスタンス名の値を置き換える必要があります。サンプルの Bootstrap.ini と CustomSettings.ini ファイルからの抜粋を、図 8図 9 に示します。

Figure 9 CustomSettings.ini

[Settings]
Priority=MMSettings, MMApps, CSettings, CRoles, RSettings, RApps, Default
Properties=Manufacturer

[Default]
OSInstall=Y
DeployRoot=\\%WDSServer%\Distribution$
UserDomain=BUILDLAB
UserID=BddAdmin
UserPassword=Password1234

[CSettings]
SQLServer=%WDSServer%
Database=BDD_DB1
Netlib=DBNMPNTW
Table=ComputerSettings
Parameters=UUID, AssetTag, SerialNumber, MacAddress
ParameterCondition=OR

[CRoles]
SQLServer=%WDSServer%
Database=BDD_DB1
Netlib=DBNMPNTW
Table=ComputerRoles
Parameters=UUID, AssetTag, SerialNumber, MacAddress
ParameterCondition=OR

Figure 8 Bootstrap.ini

[Settings]
Priority=Default

[Default]
DeployRoot=\\%WDSServer%\Distribution$
UserDomain=BUILDLAB
UserID=BddAdmin
UserPassword=Password1234
SkipBDDWelcome=YES

このソリューションでは、レプリケートされた BDD 2007 データベースとレプリケートされた BDD 配布共有が格納されているサーバーで WDS を使用する必要があることに注意してください。その理由は明らかだと思いますが、この構成では、%WDSServer% 変数を使用して、簡単なフェールセーフ方式でローカルの展開サーバーの場所をクライアントに通知し、WAN 経由で応答しないようにすることができるからです。

その他の考慮事項

BDD 2007 に関するすばらしい点は、その拡張性であり、このソリューションを拡張する際には考慮する必要のあることが他にも多くあります。たとえば、組み込みの機能を使用すると、SQL Server と DFS-R を監視したり、資産管理データベースの情報を使用して組織内にあるコンピュータを設定する方法をデザインしたり、SQL ストアド プロシージャを使用してそのような情報を取得したりすることもできます。残念ながら、この記事では、このような機能について取り上げることはできませんが、BDD の機能を組織内で実装できる方法の一部をご紹介できたのであればさいわいです。

Adam Shepherd は、英国 Microsoft Consulting Services のコンサルタントです。最も注目している技術分野は、Windows クライアントの展開、保守、管理です。彼の連絡先は adamshep@microsoft.com (英語のみ) です。

© 2008 Microsoft Corporation and CMP Media, LLC. All rights reserved; 許可なしに一部または全体を複製することは禁止されています.