Azureでのレイヤー化のためのOSイメージの準備
本トピックでは、新しいOSレイヤーにインポートするためのクリーンなOSイメージを準備する方法について説明します。開始する前に、要件を満たしていることを確認してください。イメージの準備中に、時間がかかりすぎると感じる場合は、Microsoft Ngen.exe操作を迅速化できます。
Windows 10を使用しており、Citrix Provisioning、マシン作成、またはViewを実行していない場合、Windows 10の組み込みアプリケーションを削除することで、デスクトップの起動時間を短縮できます。ただし、アプリケーションはOSイメージ自体ではなく、OSレイヤーの新しいバージョンで削除することをお勧めします。
注:
Machine Creation Services™ (MCS) Azureコネクタで無人応答ファイルを使用しないでください。App Layeringソフトウェアは、無人応答ファイルが存在する場合、それを削除します。これは、MCS Azureコネクタにとって不要であり、推奨されないためです。
仮想マシンへのOSのインストール
- Microsoft Azureポータルで、Windows Server Remote Desktopイメージから新しい仮想マシンを作成するには、以下を選択します。 新規 > コンピューティング > 仮想マシン
-
仮想マシンの作成ウィザードを完了します。
基本:
- 名前: 新しいマシンに指定する名前は、Azureの命名規則に準拠している必要があります。
- ユーザー名とパスワード: 新しいサーバーマシンに指定するユーザー名とパスワードは、このOSレイヤーを含むパッケージングマシンを作成する際に使用されます。
- リソースグループの場所: リソースグループの場所の値が、コネクタ構成で設定したストレージアカウントの場所と一致していることを確認してください。
- 必要なネットワーク設定を選択します。
- 概要を確認し、仮想マシンを作成します。
- 新しい仮想マシンにログインし、マシンを再起動します。
- すべての重要な更新プログラムをインストールします。システムを再起動し、さらに更新プログラムがないか確認してください。一部の更新プログラムは、他の更新プログラムがインストールされた後にのみ利用可能になります。
- Windows Ngen.exeを実行します。
-
C:\Windows\OEMにある無人応答ファイルを削除または名前変更します。 - Windows自動更新をクリアするには、以下を選択します。 コントロールパネル > システムとセキュリティ > Windows Update > 設定の変更
- このマシンがドメインに参加していないことを確認します。
- 組み込みの管理者アカウントを有効にし、パスワードを無期限にするをチェックします。
-
サーバーOSの場合、PowerShellで次のコマンドを実行します。
Set-ExecutionPolicy Unrestricted Enable-PSRemoting <!--NeedCopy-->
イメージ上でのApp Layering OSマシンツールの実行
- 新しいマシンでWebブラウザを開き、ダウンロードセンターに移動してOSマシンツールをダウンロードします。
-
次のzipファイルをOSイメージにダウンロードします。
Citrix_App_Layering_OS_Machine_Tools_20.x.x.exe <!--NeedCopy--> -
ファイルを実行すると、ファイルが次の場所にコピーされます。
c:\windows\setup\scripts注:
ファイルは上記のディレクトリに抽出する必要があります。ディレクトリを変更しないでください。
キー管理サービスを使用する場合のライセンスアクティベーションの構成
スクリプトが抽出されると、SetKMSVersionユーティリティは、キー管理サービス (KMS) ライセンスを使用するかどうかを選択するよう求めます。
注: KMSとActive Directoryベースのアクティベーション (ADBA) の両方が同時に使用されている環境にイメージを公開すると、アクティベーションに問題が発生します。
-
次のダイアログボックスで、キー管理サービス (KMS) ライセンスを使用するかどうかを選択します。

KMS用にスクリプトを設定するには、次の手順を実行します。
-
次の場所に移動します。
c:\windows\setup\scripts -
SetKMSVersion.exeを管理者として実行し、
c:\windows\setup\scripts\kmsdirフォルダーにスクリプトファイルを作成します。
オペレーティングシステムが起動すると、適切なKMSアクティベーションスクリプトが実行されます。
App Layeringサービスのインストール
- 新しいマシンで
C:\Windows\Setup\scriptsに移動し、setup_x64.exeを実行してOSマシンにApp Layeringドライバーをインストールします。 - インストール時にUnattend.xmlファイルの場所を尋ねられます(デフォルトの場所は’C:\windows\panther’です)。
- このマシンがドメインに参加していないことを確認します。
- このイメージをレイヤーにインポートできるように、OSマシンで保留中の再起動を実行します。
- 続行する前に、新しいOSマシンが次のいずれかの状態であることを確認してください。
- 実行中
- 停止済み
- 停止済み (割り当て解除済み)
必要に応じたMicrosoft Ngen.exe操作の迅速化
すべてのソフトウェア更新プログラムがインストールされたら、Ngen.exeが実質的に.NETバイトコードをネイティブイメージに再コンパイルし、それらを管理するためのレジストリエントリを構築できるようにする必要があります。
Ngen.exeは、.NETシステムの一部であるMicrosoft Native Image Generatorです。Windowsは、インストールされているソフトウェアと構成で検出された内容に基づいて、Ngen.exeを実行するタイミングを決定します。
重要:
Ngen.exeが実行されている間は、完了するまで待つ必要があります。中断されたNgen.exe操作は、機能しない.NETアセンブリや.NETシステム内の他の問題を引き起こす可能性があります。
通常、Ngen.exeはフォアグラウンドアクティビティがあるときに一時停止するバックグラウンド操作です。Ngen.exe操作を迅速化したい場合は、タスクをフォアグラウンドに移動して、できるだけ早く完了させることができます。
タスクをフォアグラウンドに移動するには:
- コマンドプロンプトを管理者として開きます。
-
現在使用中のバージョンの
Microsoft.NET\Frameworkディレクトリに移動します。cd C:\Windows\Microsoft.NET\FrameworkNN\vX.X.XXXXX -
次の
Ngen.exeコマンドを入力して、キュー内のすべての項目を実行します。このコマンドは、アセンブリをビルドする前にキュー内のコンポーネントインストールを処理します。ngen eqi 3Ngen.exeタスクはコマンドプロンプトでフォアグラウンドに移動し、コンパイルされているアセンブリを一覧表示します。コンパイルメッセージが表示されても問題ありません。タスクマネージャーを使用して、
MSCORSVW.EXEのインスタンスが実行されているかどうかを確認できます。実行されている場合は、完了するまで待つか、ngen update eqi 3を実行してください。注意: タスクを停止するために再起動しないでください。タスクが完了するまで待ってください!
- すべての
Ngen.exeプロセスが完了したことを確認します。