社内 SE にとって、社員に配る PC のセットアップはよくある業務の一つだと思います。社員の入社、退職にあわせてPC を配布、回収する時、また消耗品である PC を新しく調達しなおす時など、PC に OS をインストールする機会はよくあります。この OS をインストールする作業を「キッティング」と呼ぶ企業も多いです。

企業で使う PC では素のままの OS を使うことは無く、業務に必要なアプリケーションやセキュリティポリシーなどを設定した OS イメージを使用します。Windows 環境では、マスター PC と呼ばれる元になる物理マシンを用意して、必要な設定をした後、sysprep を実行してプロファイルを初期化した後、何かツールを使ってHDD を丸ごとコピーする、という方法が一般的でした。

ただこの方法だとキッティング用の物理 PC が1台余分に必要なのと、マスター PC が壊れた時に大変なので、仮想マシンでマスター PC を構築し、カスタマイズした OS イメージを作成/配信する仕組みを作りました。

その時ついでに、PC の電源を入れたら自動で OS イメージがインストールされ、ゼロタッチでキッティングできるようにしたので、その手順を説明します。

環境

今回の記事では以下の環境を使用します。

概要

今回 OS イメージの作成には Microsoft Deployment Toolkit (MDT)を使い、イメージの配信には Windows Deployment Service (WDS) を使いました。どちらも無料で利用できます。

また PC の電源を入れた時に自動で OS をインストールする方法として、PXE ブートを使用しました。PXE ブートは、HDD からではなくネットワーク上のファイルから PC をブートする方法です。WDS サーバーにカスタマイズした OS イメージを登録しておき、PXE ブートでその OS イメージから起動することで自動的に OS をインストールするということが可能です。

本記事では以下の手順で説明します。

  1. 事前準備
  2. マスター PC の構築とカスタマイズ
  3. マスターイメージ抽出
  4. WDS にマスターイメージをインポート
  5. 配信テスト
  6. マスター イメージ 更新時の手順

考慮事項

今回は PXE ブートを使うので、意図しない PC が勝手に自社の OS イメージをインストールするのを防ぐ必要があります。WDS ではどの PC に PXE ブートを許可するかを設定できるのですが、今回は OS のインストールに使うので IP アドレス毎に許可設定できず、全ての PC を許可する必要があります。

なので、今回は隔離されたネットワークにキッティング環境を構築しました。本記事では VirtualBox で同様の環境を構築します。

また今回は Active Directory を使用していません。仕事では Azure AD と Intune でデバイス管理し、ローカルグループポリシーで必要な設定をしていました。AD を利用した構成も可能ですが、選択するオプションなどが本記事の手順と異なりますので注意してください。

手順

1. 事前準備

1-1. VirtualBox のネットワーク設定

VirtualBox の”ファイル” > “環境設定” > “ネットワーク” で NAT Network を追加します。以下の設定を指定しています。今回は Windows Server で DHCP サーバーを動かすので NAT Network の DHCP は無効にしておきます。

VirtualBox 環境設定

1-2. Windows Server 2019 の設定

1-2-1. Windows Server のインストールとネットワーク初期設定

新しい VM を作成し、Windows Server 2019 の評価版をインストールします。これがイメージ管理/配信サーバーとなります。本記事では今後 “WDS サーバー” と呼びます。

インストール直後は DHCP が無いのでインターネット接続ができません。まずは以下の IP アドレスを設定します。

1-2-2. DHCP サーバーの構成

インターネットに繋がったら MDT をインストールするのですが、忘れないうちに DHCP サーバーもインストールしておきます。DHCP はマスター PC に必要なのに加え、PXE ブートにも必要です。

別の場所 (例えば VirtualBox の NAT Network) で DHCP を有効にしても良いですが、それによって WDS 構成時の設定が変わります。今回はわかりやすく WDS サーバーに DHCP サーバーもホストします。

注意点として、DHCP のリース期間は短い方が良いと思います。この環境は新しい PC をキッティングするためのものなので、PC に IP アドレスが必要な期間はインストールを行っている時のみです。長い時間 IP アドレスが払い出されてしまうと、それだけ同時にキッティングできる PC の数が少なくなるので注意が必要です。

DHCP のインストール
  1. WDS サーバーでサーバーマネージャーを開き、”管理” > “役割と機能の追加” を開く
  2. 次へで進んでいき、”役割ベースのインストール” を選択し、”DHCP” を選択
  3. その後はデフォルトのまま “次へ” をクリックしてインストール

インストール後、サーバーマネージャーの通知から “DHCP 構成を完了する” をクリックし、表示されるダイアログで “コミット” をクリック。

DHCP の構成

次にサーバーマネージャーの “ツール” > “DHCP” を開き以下の手順で構成します。

  1. サーバーを展開し、”IPv4″ を右クリック > “新しいスコープ” をクリック
  2. 以下を入力し次へ
    1. 名前: 任意の名前を入力
    2. IP アドレスの範囲: 任意の IP を入力 (例 – 開始: 192.168.200.100、終了: 192.168.200.150 )
    3. 除外と遅延の追加: 任意の IP を入力 (不要なら入力しない)
    4. リース期間: 短い方が良い (例: 1日)
    5. DHCP オプションの構成: 今すぐオプションを構成する を選択
    6. ルーター (デフォルトゲートウェイ): 192.168.200.1 を追加 (WDS サーバーのネットワーク設定と同じ)
    7. ドメイン名および DNS サーバー:
      1. 親ドメイン、サーバー名は入力不要
      2. DNS サーバーの IP アドレスは 8.8.8.8 を追加 (WDS サーバーのネットワーク設定と同じ)
    8. WINS サーバー: 入力不要
    9. スコープのアクティブ化: “今すぐアクティブにする” を選択
    10. 完了
DHCP – IPアドレスの範囲
1-2-3. MDT のインストール

MDT をインストールするには、まず ADK (Windows アセスメント & デプロイメント キット)Windows PE プラグインをインストールする必要があります。必ず以下の順にインストールする必要があるので注意してください。

  1. ADK
  2. Windows PE プラグイン
  3. MDT

ADK のバージョンはマスター PC の Windows のバージョンにあわせる必要があります。今回使用する Windows 10 のバージョンは 21H2 ですが、ADK バージョン 2004 は 21H2 をサポートするので、今回は ADK バージョン 2004 をインストールします。

  1. ADK の website より、Windows ADK for Windows 10、バージョン 2004Windows PE アドオン (ADK 用)、バージョン 2004 をダウンロード
  2. まず ADK (adksetup.exe) を実行し、ウィザードに従ってデフォルトのままインストール
  3. 次に Windows PE プラグイン (adkwinpesetup.exe) を実行し、デフォルトのままインストール
  4. 最後に MDT の website より MDT をダウンロードしてインストール。インストールウィザードではデフォルトのままでOK
1-2-4. WDS サーバーのインストールと構成

最後に WDS のインストールと構成です。

  1. WDS サーバーでサーバーマネージャーを開き、”管理” > “役割と機能の追加” を開く
  2. 次へで進んでいき、”役割ベースのインストール” を選択し、”Windows 展開サービス” を選択
  3. その後はデフォルトのまま “次へ” をクリックしてインストールする
WDS – 役割の選択

インストールが終わったら WDS を構成します。

  1. サーバーマネージャーの “ツール” > “Windows 展開サービス” を開く
WDS – “サーバーの構成” の場所

2. ウィザードが開始するので以下を入力

  1. インストールオプション: スタンドアロンサーバー
  2. リモートインストールフォルダーの場所: デフォルト (C:\RemoteInstall) のままで OK。警告が出ますが無視して問題ありません
  3. プロキシ DHCP サーバー: 以下2つのオプションの両方をチェックする
    1. “DHCP ポートおよび DHCPv6 ポートをリッスンしない”: チェック
    2. “プロキシ DHCP の DHCP オプションを構成する”: チェック
  4. PXE サーバーの初期設定: “すべて (既知および不明) のクライアントコンピューターに応答する” を選択
    1. “不明なコンピューターについては、管理者の承認を要求する…” はチェックしない

3. 構成が終わったら “完了” をクリック

2. マスター PC の構築とカスタマイズ

続いて、マスター PC を構築します。まずはマスター PC にインストールする OS イメージを作成し、そのイメージを VM にインストールした後、必要なアプリのインストールなどのカスタマイズを行います。

マスター PC に初めにインストールする OS は、素のままの Windows 10 です。ただダウンロードしてきた ISO ファイルをそのままインストールしたのでは後のイメージ抽出がうまく動きません。

そこで MDT を使って マスター PC 初期化用のイメージを作成してインストールします。なお 素のままの OS イメージを Vanilla Image (バニライメージ) と呼ぶため、本記事でもマスター PC 初期化用のイメージを Vanilla Image と呼びます。

MDT について

MDT (Microsoft Deployment Toolkit) は OS イメージの作成や抽出を簡単に行うためのツールです。

MDT では Deployment Share と呼ばれるイメージ管理のグループを作成し、その中に複数の Task Sequence を定義することができます。この Task の種類によって OS イメージをインストールしたり逆に抽出したりできます。

ユーザーが Deployment Share に接続するすると、そこで実行する Task を選択できます。例えばここでイメージ抽出の Task が定義されていれば OS イメージを抽出することができ、イメージのインストールを行う Task が定義されていれば OS のインストールを行うことができます。

今回は 2つの Deployment Share を作成します。

  1. Capture Deployment Share : Vanilla Image のインストールおよびマスターイメージ抽出を行う Task を定義
  2. Install Deployement Share : 抽出したマスターイメージを自動インストールするための Task を定義

Deployment Share を 2つに分けた理由は、PXE ブートによる自動インストールを行うためです。複数の Task Sequence が定義されている場合、ユーザーがどの Task を実行するかを選択しなければならないため、手動操作が必要になります。

そのため抽出したイメージをインストールするための Deployment Share は別に分けて、OS インストール用の Task を自動で起動するよう設定することで、ユーザー操作が無くても自動的にインストールできるようにしました。

2-1. マスター PC へインストールする OS イメージ作成

それでは、まずマスター PC 構築/イメージ抽出用に Capture Deployment Share を作成します。

2-1-1. Capture Deployment Share の作成

1. Windows のスタートメニュー > “Microsoft Deployment Toolkit” > “Deployment Workbench” を開く

2. Deployment Shares を右クリック > “New Deployment Share” をクリック

3. “Deployment share path” に C:\CaptureDeploymentShare と入力

4. “Share name” に CaptureDeploymentShare$ と入力

5. “Deployment share description” に Capture Deployment Share と入力

6. “Options” はデフォルトのまま Next をクリック

7. Next をクリックし Deployment Share を追加する

2-1-2. Capture Deployment Share の構成

Deployment Share が作成されたら、Capture Deployment Share を右クリック > “プロパティ” を開きます。

まず General タブで x86 のチェックを外します。これがチェックされているとイメージのビルドが x86 と x64 の2回行われるため時間がかかるため、不要なプラットフォームは除外します。

次に Rules タブで以下の設定を入力します。各設定の意味は MDT のリファレンスを参照してください。

Capture Deployment Share – Rules

[Settings]
Priority=Default
Properties=MyCustomProperty

[Default]
OSInstall=Y
SkipCapture=NO
SkipAdminPassword=YES
SkipProductKey=YES
SkipComputerBackup=YES
SkipBitLocker=YES
SkipBDDWelcome=YES
SkipUserData=YES
UserDataLocation=NONE
DeploymentType=NEWCOMPUTER

;ここでコンピューター名を指定できます。今回は "MYTEST-<シリアル番号の初めの9文字>" としていますが、本番では環境に合わせて変更してください。
OSDComputerName=MYTEST-#left("%SerialNumber%", 9)#

SkipDomainMembership=YES
JoinWorkgroup=WORKGROUP
SkipLocaleSelection=YES
KeyboardLocale=ja-JP
UserLocale=ja-JP
UILanguage=ja-JP
SkipTimeZone=YES
TimeZoneName= Tokyo Standard Time

SkipRearm=YES

SkipFinalSummary=NO

入力したら、次に “Edit Bootstrap.ini” をクリックします。クリックするとメモ帳が起動するので、以下の内容を入力して保存します。

Capture Deployment Share – Bootstrap.ini

[Settings]
Priority=Default

[Default]
;ホスト名が記載されていた場所を IP アドレスに変更します
DeployRoot=\\192.168.200.11\CaptureDeploymentShare$

メモ帳を保存して閉じたら、OK をクリックして設定を保存します。

2-1-3. OS イメージのインポート

1. まず Windows 10 の ISO ファイルをダウンロードしてマウントします。

2. 次に MDT で “Capture Deployment Share” > “Operating Systems” を右クリック > “Import Operating System” をクリック

3. “OS Type” で Full set of source files を選択

4. “Source directory” に ISO ファイルがマウントされているドライブを選択

5. “Destination directory name” には任意の名前を入力

6. Next をクリックして OS のインポートを完了する

2-1-4. Vanilla Image インストール用の Task Sequence 作成

続いて、今インポートした OS イメージをインストールする Task Sequence を作成します。この Task Sequence は DeployVanillaImageTask という名前にします。

1. “Capture Deployment Share” > “Task Sequences” を右クリック > “New Task Sequence” をクリック

2. “General Settings” で以下を入力

  1. Task sequence ID: DEPLOYWIN10
  2. Task sequence name: DeployVanillaImageTask

3. “Select Template” で Standard Client Task Sequence を選択

4. “Select OS” で先ほどインポートした Windows 10 を選択

5. “Specify Product Key” では Do not specify a product key at this time を選択

6. “OS Settings” では任意のユーザー名と Organization 名を入力します。これらの値は使われないため適当で構いません。

7. “Admin Password” では Do not specify an Administrator password at this time を選択

8. 後はNext をクリックして Task Sequence を作成します。

2-1-5. マスターイメージ抽出用の Task Sequence 作成

マスター PC からイメージを抽出するための Task Sequence も作成します。この Task Sequence の名前は CaptureMasterImage とします。

  1. 先ほどと同様に “Capture Deployment Share” > “Task Sequences” を右クリック > “New Task Sequence” をクリック
  2. ウィザードで以下を入力
    1. Task sequence ID: CAPTUREWIN10 と入力
    2. Task sequence name: CaptureMasterImage と入力
    3. Select Template: Sysprep and Capture を選択
    4. 後は先ほどの 2-1-4 と同じように入力し完了
Select Template で “Sysprep and Capture” を選択
2-1-6. Capture Deployment Share のUpdate

ここで一旦 Deployment Share の Update を実行します。Deployment Share の更新を行うとイメージファイルを含む必要なファイルが生成されます。

  1. MDT で “Capture Deployment Share” を右クリック > “Update Deployment Share” をクリック
  2. ウィザードに従ってデフォルトのまま Next をクリックし完了
2-1-7. Vanilla Image インストールメディアの作成

最後にインストールメディアを作成します。

1. “Capture Deployment Share” > “Advanced Configuration” > “Media” を右クリック > “New Media” をクリック

2. “General Setttings” で以下を入力

  1. “Media path” に ISO ファイル出力先のフォルダを指定 (例: C:\media\VanillaWindows10)
  2. “Selection profile” には “Everything” を選択。

3. あとは Next をクリックし完了

これで MEDIA001 という名前のメディアが作成されます。

2-1-8. インストールメディアの構成

次に作成されたメディア MEDIA001 を右クリック > “プロパティ” を開きます。

プロパティで以下の設定を行います。

1. General タブ

  1. “Generate x86 boot image” のチェックを外す
  2. ISO file name にわかりやすい名前を付ける (例: CaptureDeploymentShareVanillaImage.iso)

2. Rules タブで、Capture Deployment Share のプロパティで設定したのと同じ Rule を入力

2-1-9. ISO ファイルの作成

最後に MEDIA001 を右クリック > “Update Media Content” をクリックします。そうすると指定した場所 (例の通りであれば C:\media\VanillaWindows10\CaptureDeploymentShareVanillaImage.iso) に ISO ファイルが出力されます。

2-2. マスター PC への OS インストールとカスタマイズ

VirtualBox で新しい VM を作成し以下を設定します。

  1. ネットワーク: 1-1 で作成した NAT Network を選択
  2. システム: “EFI を有効化 (一部の OS のみ)” をチェック
  3. ストレージ: 先ほど 2-1-8 で作成した CaptureDeploymentShareVanillaImage.iso を設定
2-2-1. Vanilla Image のインストール

VM を起動すると、MDT のウィザードが開始します。

1. Task Sequence で DeployVanillaImageTask を選択

2. その後 コンピューター名 を聞かれるので、任意の名前を入力して次へ

3. “Capture Image” ではDo not capture an image of this computer を選択

4. これで Next をクリックしてインストールを開始すると、Windows 10 がインストールされます。

5. インストールが終わりデスクトップが表示された後、少し待つと MDT の完了画面が表示されるので、”Finish” をクリックしてインストールを完了します。

2-2-2. マスター PC のカスタマイズ

OS がインストールされた後、Windows Update や必要なソフトウェアのインストール、グループポリシーの設定を行います。

今回は例として Firefox をインストールしました。

カスタマイズが終わったら、一度 VM をシャットダウンしてスナップショットを取得しておきます。

3. マスター PC のイメージ抽出

3-1. VM のスナップショット取得

先にも記述しましたが、イメージ抽出の作業を始める前に一度 VM をシャットダウンしてスナップショットを取得しておきます。

イメージ抽出時に sysprep というプロファイルを初期化する操作が行われるので、イメージ抽出後にそのまま VM を起動するとまたアカウント作成から始まることになります。

そのためスナップショットを取得しておいて、イメージ抽出後はスナップショットを復元する、とした方が継続してマスター PC を使えるので便利です。

3-2. マスターイメージの抽出

スナップショットを取得した後 VM を起動したら、マスターイメージを抽出します。

3-2-1. アンチウイルスや資産管理ソフトの固有 ID の削除

アンチウイルスや資産管理ソフトによってはレジストリなどにデバイス固有の ID を登録するものがあります。これが残っていると全ての PC が同じ端末と認識されてしまうため、イメージ抽出前に ID を削除しておきます。やり方は各ソフトの展開手順などに書かれているので参照してください。

3-2-2. イメージの抽出

イメージを抽出するには、まずWDS サーバーにある MDT のスクリプトを実行し、その後イメージキャプチャ用の Task Sequence を実行します

1. MDT のスクリプトを事項するために管理者権限で以下のコマンドを実行します (必ず管理者として実行する必要があります)。IP アドレスやコンピュータ名は環境にあわせて変更してください。

cmd (管理者として実行)

net use * \\192.168.200.11\CaptureDeploymentShare$ /user:<WDSサーバーのコンピューター名>\Administrator
cscript \\192.168.200.11\CaptureDeploymentShare$\Scripts\LiteTouch.wsf

コマンドの実行後にエラーとなったり画面が止まったりする場合、MDT の設定が間違っている可能性があります。本記事の手順を確認して Capture Deployment Share の各設定が正しいか確認してください。

Deployment Share の設定を変更した後は、必ず Deployment Share を Update する必要があります (“Capture Deployment Share” を右クリック > “Update Deployment Share”)。

上記コマンドで LiteTouch.wsf を実行すると C:\MININT フォルダにキャッシュが保存されるため、コマンドを再実行する時は都度キャッシュを削除する必要がある点に注意してください。

2. MDT のウィザードが表示されたら、Task Sequence で CaptureMasterImage 選択します。

3. “Capture image” では Capture an image of this reference computer を選択し、Location と File name を入力します。Location には DeploymentShare 内の Captures フォルダーが使えます。

4. “Credentials” では WDS サーバーの Administrator のパスワードを入力します。ここで “Domain” には WDS サーバーのコンピューター名を入力します。

これでイメージ抽出を開始できます。Task Sequence が開始されるとまず sysprep が実行され、その後 VM が再起動します。再起動後に自動でイメージ抽出の処理が実行され、完了すると以下のような画面が表示されます (イメージの抽出には時間がかかります)。

完了したら、先ほどの手順で指定した WDS サーバーのフォルダー (今回の例では C:\CaptureDeploymentShare\Captures\CAPTUREWIN10.wim ) にイメージファイルが保存されているのを確認します 。ファイルを確認したら VM の電源を切り、スナップショットを復元しましょう。

4. WDS にマスターイメージをインポート

抽出したマスターイメージはそのままでは PC にインストールできないので、MDT でインストールできる形のメディアを作成します。

また、作成されるメディアは MDT の Task Sequence を実行するのですが、デフォルトのままではイメージインストール後、Administrator でログインした状態で完了してしまい、そのままでは PC を配布することができません。社員に PC を配布する前に Administrator プロファイルを削除し、併せて OOBE を有効にする必要があります。

(OOBE とは Out-Of-the-Box Experience の略で、OS インストール後の初回起動時に言語の選択やユーザー作成等を行う一連の操作のことを指します)

プロファイルの削除と OOBE の有効化は sysprep /oobe /shutdown というコマンドで実現できるので、マスターイメージインストール後にこのコマンドを実行する必要があります。

インストール完了後に何かコマンドを実行するには、Deployment Research という会社が公開しているスクリプトをカスタマイズし、Task Sequence 内でそのスクリプトを実行することで実現できます。

スクリプトは Github からダウンロードでき、カスタマイズの方法は “How to show OOBE for AzureAD join after MDT deployment” という記事が参考になります。

4-1. イメージ配信用 Deployment Share の構成

4-1-1. Deployment Share の作成

まず Install Deployment Share という名前でイメージ配信用の Deployment Share を作成します。手順は 2-1-1 と同じです。

  1. MDT で Deployment Shares を右クリック > “New Deployment Share” をクリック
  2. ウィザードが開始するので以下を入力
    1. Deployment share path: C:\InstallDeploymentShare と入力
    2. Share name: InstallDeploymentShare$ と入力
    3. Deployment share description: Install Deployment Share と入力
    4. Options: デフォルトのまま Next をクリック
4-1-2. Install Deployment Share のプロパティ設定

Deployment Share が作成されたら、Install Deployment Share を右クリック > “プロパティ” を開きます。

まず General タブの Platforms Supported で “x86” のチェックを外します (2-1-2 と同じ)。

次に Rules タブで以下のルールを入力します。ここで TaskSequenceIDINSTALLWIN10 と指定しているのに注意してください。後で Task Sequence を作成する際に、ID を同じにする必要があります。

Install Deployment Share – Rules

[Settings]
Priority=Default
Properties=MyCustomProperty

[Default]
SkipTaskSequence=YES
TaskSequenceID=INSTALLWIN10

OSInstall=Y
SkipCapture=YES
SkipAdminPassword=YES
SkipProductKey=YES
SkipComputerBackup=YES
ComputerBackupLocaton=NONE
SkipDeploymentType=YES
DeploymentType=NEWCOMPUTER
SkipBitLocker=YES
SkipBDDWelcome=YES
SkipUserData=YES
UserDataLocation=NONE
SkipApplications=YES
SkipPackageDisplay=YES

SkipComputerName=YES

;ここでコンピューター名を指定できます。今回は "MYTEST-<シリアル番号の初めの9文字>" としていますが、本番では環境に合わせて変更してください。
OSDComputerName=MYTEST-#left("%SerialNumber%", 9)#

SkipDomainMembership=YES
JoinWorkgroup=WORKGROUP

SkipLocaleSelection=YES
KeyboardLocale=ja-JP
UserLocale=ja-JP
UILanguage=ja-JP
SkipTimeZone=YES
TimeZoneName= Tokyo Standard Time

SkipSummary=YES
SkipFinalSummary=YES

Rule を入力したら、同じ画面にある “Edit Bootstrap.ini” をクリックします。メモ帳が開くので以下の内容を入力して保存します。

Install Deployment Share – Bootstrap.ini

[Settings]
Priority=Default

[Default]
DeployRoot=\\192.168.200.11\InstallDeploymentShare$

;WDS サーバーのコンピューター名を入力します
UserDomain=WIN-6BO6MT2QQI6

;WDS サーバーの Administrator のパスワードを入力します
UserPassword=<password>

UserID=Administrator
SkipBDDWelcome=YES

全て入力したら OK をクリックして保存します。

4-1-3. 抽出したイメージのインポート

抽出したイメージにはブートレコードなどが含まれていないため、それだけではインポートできません。Windows 10 の ISO ファイルが必要になるため事前にマウントしておきます。

1. Install Deployment Share で “Operating Systems” を右クリック > “Import Operating System” をクリックします。

2. “OS Type” で Custom image file を選択

3. “Source file” には抽出したイメージファイル (.wim) を指定します (今回の例では C:\CaptureDeploymentShare\Captures\CAPTUREWIN10.wim)

4. “Setup” では Copy Windows 7, WIndows Server 2008 R2, or later setup files from the specified path を選択し、”Setup source directory” にマウントした Windows 10 ISO ファイルのドライブを入力します。

5. “Destination” のディレクトリ名はデフォルトのままで OK です。

6. 最後に Next をクリックしてイメージをインポートします。

4-1-4. インストール後に実行する sysprep コマンドの追加

先に記述した通り、社員に PC を配布する前に sysprep を実行して Administrator プロファイルを削除し OOBE を有効にする必要があります。そのため、ここでイメージインストール後に sysprep コマンドを実行する設定を行います。

スクリプトのカスタマイズ

1. まず Deployment Research が公開しているスクリプトをダウンロードします。Github から以下3つのファイル全てを同じフォルダにダウンロードしてください。

  1. Configure-FinalConfig.wsf
  2. FinalConfig.hta
  3. Servers.png

2. 次に FinalConfig.hta の以下の部分に、インストール完了後に実行するコマンドを追記します。

FInalConfig.hta

' 125行目から
' Reboot the client

' 以下 2行をコメントアウト
' StatusArea.InnerHTML=StatusArea.InnerHTML & "<BR>" & "Configuration Complete, rebooting client in 30 seconds... "
' oShell.run "shutdown /f /r /t 30",1,False		

' 以下 2行を追記
StatusArea.InnerHTML=StatusArea.InnerHTML & "<BR>" & "Configuration Complete, rebooting client... "
oShell.run "c:\windows\system32\sysprep\sysprep.exe /oobe /shutdown",1,False
MDT への登録

修正したスクリプトをアプリケーションとして MDT に登録します。

1. Install Deployment Share を展開し、”Application” を右クリック > “New Application” を開く

2. “Application Type” に Application with source files を選択

3. “Application Name” に FinalConfig を入力

4. “Source directory” で Github からダウンロードしたファイルが全て含まれるフォルダを選択

5. “Destination” で FinalConfig と入力

6. “Command Details” では以下を入力

7. 次へをクリックしアプリケーションを追加を完了する

4-1-5. ドライバのインストール

今回は VM にマスターイメージをインストールするので必要ありませんが、本番ではドライバが必要になります。メーカー各社がドライバファミリーとして MDT で使用できるドライバ一式を公開しているのでそれを利用できます (例: Dell Driver Family Pack)。

もしキッティング対象の端末が 1種類 のみであれば、ドライバ一式が含まれるフォルダを “Out-of-Box Driver” にインポートすればインストールできます。

対象の端末が複数ある場合、プロファイルを分けることで対象のドライバのみインストールすることも可能です。詳しい手順は Microsoft のチュートリアルを参照してください。

4-1-6. イメージ配信用 Task Sequence の作成

マスターイメージをインストールするための Task Sequence を作成します。手順は 2-1-4 とほぼ同じです。

  1. Install Deployment Share の Task Sequences を右クリック > “New Task Sequence” をクリックします。
  2. General Settings: 以下を入力
    1. Task Sequence ID: INSTALLWIN10 と入力。この ID は 4-1-2 で指定した TaskSequenceID と同じにする必要があります。
    2. Task sequence name: InstallMasterImage と入力
  3. Select Template: Standard Client Task Sequence を選択
  4. Select OS: 先ほどインポートしたイメージを選択
  5. Specify Product Key: Do not specify a product key at this time を選択
  6. OS Settings: 任意のユーザー名と Organization 名 を入力
  7. Admin Password: Do not specify an Administrator password at this time を選択
  8. Next をクリックして完了

作成した Task Sequence に、先ほど作成した FinalConfig アプリケーションを追加します。

1. 作成された InstallMasterImage を右クリック > “プロパティ” を開く

1. “Task Sequence” タブで “State Restore” を展開し、”Add” > “General” > “Install Application” をクリック

2. Install a single application を選択し、FinalConfig を選択する。その他の設定はデフォルトのままで OK

3. OK をクリックして保存する

4-1-7. Install Deployment Share の Update

Install Deployment Share を右クリック > “Update Deployment Share” をクリック。

これで配信用イメージが C:\InstallDeploymentShare\Boot\LiteTouchPE_x64.wim というファイルで作成されます。

4-2. WDS へ配信用イメージの登録

最後に WDS へ配信用イメージを登録すれば、自動キッティング環境の準備は完了です。

1. サーバーマネージャーを開き “ツール” > “Windows 展開サービス” を開く

2. “ブートイメージ” を右クリックし、”ブートイメージの追加” を開く

3. “ファイルの場所” で 4-1-6 で作成された配信用イメージファイル (今回の例では C:\InstallDeploymentShare\Boot\LiteTouchPE_x64.wim) を選択

4. “イメージの名前” で任意の名前を入力

5. 次へクリックしてイメージの登録を完了

5. 配信テスト

VM を PXE ブートで起動し、イメージが自動でインストールされるかをテストします。

まず VirtualBox で新しい VM を作成し、以下の通り設定します。

  1. ネットワーク: NAT Network を指定
  2. システム: 起動順序で “ネットワーク” を先頭に移動。また “EFIを有効化 (一部の OS のみ)” をチェック

VirtualBox では PXE ブートが実行可能になるのに少し時間がかかる場合があり、その場合 UEFI の shell が起動します。そうなった場合は exit を入力して Boot Menu を表示します。

Boot Menu を表示したら Boot Manager を開きます。

そして UEFI PXEv4 を選択して Enter を押します。Enter を押しても反応が無い場合は 10秒ほど待ってから再度 Enter を押してみてください。

うまくいくと WDS Boot Manager が表示されるので Enter を押します。

自動的にイメージのダウンロードとブートが始まり、OS がインストールされます。数回シャットダウンするので待ちましょう。

Final Configuration の画像が表示された後、シャットダウンされたらキッティング完了です。

この後 VM を再起動すると、ユーザーの作成から始まり、起動すると Firefox がインストールされた Windows 10 が起動します。

6. マスターイメージ更新時の手順

マスターイメージを更新する時は以下の手順で行います。

1. マスター PC に必要な設定を行います。設定を行った後は VM をシャットダウンしてスナップショットを取得しておきましょう。

2. マスターイメージを抽出します。これは上記 3-2-2 の手順と同じです。

3. Install Deployment Share に抽出したイメージをインポートします (4-1-3 の手順と同じ)。この時インポート先のディレクトリ名には以前と異なる名前を入力します。

4. Install Deployment Share の Task Sequence InstallMasterImage のプロパティを開きます。

  1. Task Sequence タブを開き、”Install” の下にある “Install Operating System” を選択
  2. “Operating System to install” に先ほどインポートした新しいイメージを選択し保存します。

5. Install Deployment Share を右クリック > “Update Deployment Share” をクリックし、配信用イメージを作成します。

6. 最後に Windows 展開サービス の “ブートイメージ” を右クリックし、”イメージの置換” をクリックし、先ほど作成した配信用イメージで置換します。

最後に

自動キッティング環境の構築手順は以上です。MDT はあまり情報も多くないので何かエラーになった時に困ることも多いのですが、仕組みを理解できれば便利なツールです。

MDT の使い方は以下のページで説明されているので、困ったときはこちらも参照してみてください。