プロビジョニングによるWindows10キッティング① プロビジョニングパッケージの作成



#プロビジョニングとは

工場出荷状態のWindows10PCにある程度の共通設定を施す仕組み、それが***プロビジョニング***です。リテールパッケージをインストールしただけのPCや、納品されたばかり、あるいは工場出荷状態に戻したPCに対して、プロビジョニング設定の定義ファイル（プロビジョニングパッケージ）を適用し基本的な設定とソフトウェアのインストールを行えます。
プロビジョニングの利点は、***①OS自体の再インストールを伴わない、②ボリュームライセンスが不要かつ必要なソフトウェアが無料で提供されているため導入コストが低い、③プロビジョニングの適用作業手順がシンプルでネットワーク接続も不要***、などです。対して欠点は、***プロビジョニングによってPCへ施す事ができる設定項目がそこまで多くない***事で[^1]、適用するPCの共通設定がプロビジョニングパッケージで設定できる範囲に収まっている、あるいは収まらない設定は個別に実施する事を事前に理解しておく必要があります。従って、キッティングを行うPCの台数が多く、設定項目がプロビジョニングの範疇を超えている場合は別の手段を検討すべきです。

[^1]: 頑張れば実は出来る事は非常に多い。しかしそこまでプロビジョニングで頑張りたくないというのが普通。

プロビジョニングに必要なものはプロビジョニングパッケージを作成する母艦となるWindowsPCのみです。このPCにプロビジョニングパッケージを作成するソフトウェア「イメージ構成デザイナー」をインストールし、プロビジョニングパッケージを作成し、対象となるPCの初回起動時に適用します。

# イメージ構成デザイナーのインストール

まずイメージ構成デザイナーをインストールします。イメージ構成デザイナーはWindowsADKに同梱されているものを使うか、ストアでダウンロードします。WindowsADKはプロビジョニング以外の展開手法でも使用するため、筆者は専らWindowsADKからインストールしています。

##WindowsADKからのインストール

まず[ここ](https://docs.microsoft.com/ja-jp/windows-hardware/get-started/adk-install)へアクセスしWindowsADKをダウンロードします。Windows10用WindowsADKは基本的にWindows10の機能更新アップデートと同じナンバリングがされており、Windows10のインストールイメージを扱う際にはそのイメージと同じか新しいナンバリングのWindowsADKをダウンロードする必要がありますが、プロビジョニングパッケージを作成するだけならナンバリングをそこまで気にする必要はありません。執筆当時は2004が最新ですので、WindowsADK for Windows10 バージョン2004をダウンロードして実行します。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/306662/b575042c-d0ef-2805-ac9a-2865a3284470.png)

インストールパスはどこでも構いませんが、筆者はWindowsADKに同梱されているdismコマンドを直接叩きたいケースがあるので短めのパスにしています。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/306662/3b10f2b5-0d0b-3ef9-1827-876f4beb626d.png)

「いいえ」で次へ。次の画面は「同意する」として次へ行きます。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/306662/b81e0c2b-c7d8-c252-cbe0-3e5c281bc49b.png)

「イメージおよび構成デザイナー(ICD)」にチェックを入れ（その下２つは勝手にチェックが入ります）、インストールをクリックします。これでイメージ構成デザイナーのインストールは完了です。

##ストアからのインストール

ストアでの名称は「イメージ構成デザイナー」ではなく「Windows Configuration Designer」です。検索フォームに「Windows Conf」まで入れたら今のところこれがヒットします。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/306662/4da6815a-5fc4-d14f-5439-96fdf2613391.png)
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/306662/2d4e9db6-c759-f123-76c1-8f9656d12507.png)
入手ボタンをクリックすればインストールされます。ただし今のところ「Windows Configuration Designer」は日本語化されていないようです。

#プロビジョニングパッケージの作成

それではインストールされたイメージ構成デザイナーを起動してみましょう。スタートメニューでは「Windows イメージングおよび構成デザイナー」と名称が変わっていますが気にしないでください。MSにはよくある事です。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/306662/13935830-8b19-98d9-26fa-355712c21201.png)

初期画面はこんな感じです。タイトルは「Windows構成デザイナー」、本文中は「Windows ICD」ですね。気にしたら負けです。以降の記事中では「ICD」で統一します。
ICDでは初期画面の通り、MSのリリースしている様々なクライアント環境のプロビジョニングが可能です。「プロビジョニングの詳細設定」はプロビジョニングパッケージの全設定を操作できるもので、ICDとプロビジョニングに慣れたら最初から詳細設定を使ってパッケージを作成する事もできます。
今回はWindows10 PCのプロビジョニングパッケージを作成しますので、「デスクトップ デバイスのプロビジョニング」をクリックします。次画面ではプロジェクト保存パスを聞かれますので適当に設定します。

##①「デバイスのセットアップ」画面

最初の画面では以下の項目を設定できます。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/306662/6de2336c-0518-1611-9905-ad1acec95423.png)

<dl>
<dt>デバイス名</dt>
<dd>ホスト名の自動定義です。固定文字列と、PCのシリアル番号またはランダムな文字列を設定できます。あまり使い勝手はよくなく、プロビジョニング後にホスト名を連番などに変更しがちになりますが、例えば外装にシリアル番号がラベリングされたPCなどでは初期運用はやりやすいかも知れません。</dd>
<dt>プロダクトキー</dt>
<dd>工場出荷状態と実運用状態で適用ライセンスを変更したい場合に設定します。ボリュームライセンスなどでしょうか。</dd>
<dt>共有するためのデバイスを構成します</dt>
<dd>複数のユーザで１台のPCを利用する、いわゆる共有PCを作成する際に設定します。ドメインに参加していないPCの場合はゲストユーザでしか使えなくなります。</dd>
<dt>プレインストールされているソフトウェアの削除</dt>
<dd>工場出荷状態のPCに既にインストールされているソフトウェアを削除します（Windows10 EducationまたはEnterpriseのみ）。国内ベンダーのPCによくあるやつですね。</dd>
</dl>

設定したら「次へ」をクリックします。もし不正な入力があった場合はステップに黄色い警告マークが表示されますので、その場合は警告マークが緑のチェックマークに変わるまで設定を修正します。

##②「ネットワークのセットアップ」画面

次の画面ではWifi接続設定を行います。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/306662/b5bbe554-f991-899c-839d-80282da92f40.png)

Wifiを使わない場合はオフにしてください。ネットワークの種類はオープンかWPA2-Personalしか選択できませんので、それ以上の設定のアクセスポイントを使用している場合はここでは設定できません。
設定したら「次へ」をクリックします。

##③「アカウント管理」画面

次はアカウント管理画面です。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/306662/b758fd39-b392-ae1c-7920-036f0ee7ffca.png)

ここではActiveDrirectoryやAzureADなどにコンピュータを自動的に参加させるためのユーザ設定を行います。組織内にActiveDrirectoryがある場合は、ActiveDrirectoryにコンピュータを参加させるための登録ユーザを設定します。またAzureADに登録したい場合はAzureAD登録用のトークンを、ワークグループ運用で問題なければローカル管理者だけを設定します。
設定したら「次へ」をクリックします。

##④「アプリケーションの追加」画面

次は「アプリケーションの追加」画面です。ここではプロビジョニング時に自動的にインストールするアプリケーションを登録します。インストールできるアプリケーションはサイレントインストールできる事が条件です。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/306662/b267dce4-d6ed-4b3e-3f6a-e7b76b5093c7.png)

試しにTeratermを自動インストールする設定をしてみましょう。Teratermは引数に/silentを指定すればサイレントインストールできます。
アプリケーションを追加するには、まず「＋」をクリックします。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/306662/cd53d2fc-7c78-ac50-efb9-f4fd1586c4e0.png)

この画面でまずアプリケーション名とインストーラーのパスを設定します。インストーラは最終的にプロビジョニングパッケージに取り込まれますのでどこに置いていても構いません。インストーラーのパスを設定するとオプションが追加されます。

![68747470733a.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/306662/9a34b1f4-7a77-c443-0bc5-2318ded047bf.png)

コマンドライン引数にサイレントインストールオプションを指定します。リターンコードはほとんどのアプリケーションでデフォルトの通りですのでそのままとし、「エラー後にインストール処理を続行する」は「はい」を指定します。インストールに失敗したらプロビジョニングを停止したい場合は「いいえ」としますが、インストールするアプリケーション数が多い場合はインストールの可否をプロビジョニング後に確認した方がよいです。
設定を終えたら「追加」をクリックするとアプリケーション追加画面上に追加したアプリが並びます。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/306662/8881c1ba-3f3e-ae08-5678-6e4c16b81be0.png)

追加するアプリケーションのインストーラーがMSIインストーラーの場合は設定項目が減ります。以下はEmEditorの例です。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/306662/5a978059-08c2-8118-6ce5-eefc46a3fede.png)

インストーラーのパスにMSIパッケージを指定すると、コマンドライン引数に自動的に「/qn /norestart」が入り、リターンコードの設定も不要になります。

同様にして、Google ChromeやAdobe Readerなども自動インストールできます。アプリケーションの追加が完了したら、「次へ」をクリックします。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/306662/85b767fd-188f-6b72-f877-415fa71473fa.png)

##⑤「証明書を追加する」画面

設定の最後に「証明書を追加する」画面になります。独自のRoot証明書を設定しておきたい場合などに設定します。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/306662/ae1e5613-fb49-bbf7-988c-53f4443740b9.png)

証明書を追加するには、「＋」をクリックし、次画面で「「証明書の名前」「証明書のパス」を指定、「追加」をクリックします。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/306662/1beab87a-47a0-e440-eeea-3d8f0f95306f.png)

完了したら「次へ」をクリックします。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/306662/6033b886-e557-76c7-c25d-c889c2e3ce94.png)

##⑥「完了」画面

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/306662/197eda17-fc57-16d1-a62a-98ea56fc5002.png)

採取画面になります。ここで「作成」をクリックするとプロビジョニングパッケージが作成されます。
詳細に設定を詰める場合はここで「詳細エディターに切り替える」をクリックしますが、詳細エディターが開くとこのウィザード形式の画面には戻れませんので要注意です。
では「作成」をクリックします。生成に成功するとパスが表示されますので、パスをクリックします。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/306662/91d8eb46-69be-cc1a-e5b4-06c1d2bd33e4.png)

はい、作成されました。この拡張子ppkgのファイルがプロビジョニングパッケージです。このパッケージファイルをUSBメモリのルートにコピーします。
PCへのプロビジョニングパッケージの適用については「[プロビジョニングによるWindows10キッティング②プロビジョニングパッケージの適用](https://qiita.com/les_paul/items/1d05ced69f4a5d7f6087)」をご一読ください。

#プロビジョニングの活用シーン

前述の通りそこまで複雑なことはできないプロビジョニングですが、***USBメモリ一本でクライアントPCを設定できるという強みは、実は在宅ワーク主体の状況にはマッチしています。***例えば在宅勤務者の自宅へベンダーから直接納品し、オフィスからはきっちり作り込んだプロビジョニングパッケージを入れたUSBメモリを発送すれば、それで在宅ワーク環境が出来てしまうのです。もっと複雑なユーザー環境を提供する必要がある場合はAutoPilotがマッチしますが、ユーザー管理や機材管理を高度にやる必要がない場合はプロビジョニングでも十分な効果が得られます。
ただしウィザードによって作成するプロビジョニングパッケージは設定項目が少なすぎるため、もうちょっと使えるパッケージを作成するには詳細エディターでカスタマイズを行う必要があります。

#関連文書

- [プロビジョニングによるWindows10キッティング②プロビジョニングパッケージの適用](https://qiita.com/les_paul/items/1d05ced69f4a5d7f6087)
- [プロビジョニングによるWindows10キッティング③プロビジョニングパッケージの詳細設定と応用](https://qiita.com/les_paul/items/1d291dc691b47af46051)
- [Windows10キッティング手法序説 2020](https://qiita.com/les_paul/items/f7504dbe3492dedbe731)