App Layering

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のインストール

  1. Microsoft Azureポータルで、次を選択してWindows Serverリモートデスクトップイメージから新しい仮想マシンを作成します: 新規 > コンピューティング > 仮想マシン
  2. 仮想マシンの作成ウィザードを完了します:

    基本:

    • 名前: 新しいマシンに指定する名前は、Azureの命名規則に準拠している必要があります。
    • ユーザー名とパスワード: 指定する新しいサーバーマシンのユーザー名とパスワードは、このOSレイヤーを含むパッケージングマシンが作成される際に使用されます。
    • リソースグループの場所: リソースグループの場所の値が、コネクター構成で設定したストレージアカウントの場所と一致していることを確認してください。
  3. 必要なネットワーク設定を選択します。
  4. 概要を確認し、仮想マシンを作成します。
  5. 新しい仮想マシンにログインし、マシンを再起動します。
  6. すべての重要な更新プログラムをインストールします。システムを再起動し、さらに更新プログラムがないか確認してください。一部の更新プログラムは、他の更新プログラムがインストールされた後にのみ利用可能になります。
  7. Windows Ngen.exeを実行します。
  8. C:\Windows\OEMにあるUnattendファイルを削除または名前変更します。
  9. 次を選択してWindows自動更新をクリアします: コントロールパネル > システムとセキュリティ > Windows Update > 設定の変更
  10. このマシンがドメインに参加していないことを確認します。
  11. 組み込みの管理者アカウントを有効にし、パスワードを無期限にするをチェックします。
  12. これがサーバーOSの場合、PowerShellで次のコマンドを実行します:

    Set-ExecutionPolicy Unrestricted
    Enable-PSRemoting
    <!--NeedCopy-->
    

イメージでのApp Layering OSマシンツールの実行

  1. 新しいマシンでWebブラウザーを開き、ダウンロードセンターに移動してOSマシンツールをダウンロードします。
  2. 次のzipファイルをOSイメージにダウンロードします:

    Citrix_App_Layering_OS_Machine_Tools_20.x.x.exe
    <!--NeedCopy-->
    
  3. ファイルを実行すると、ファイルは次の場所にコピーされます:

    c:\windows\setup\scripts

    注記:

    ファイルは上記のディレクトリに抽出する必要があります。ディレクトリを変更しないでください。

Key Management Serviceを使用する場合のライセンスアクティベーションの構成

スクリプトが抽出されると、SetKMSVersionユーティリティはKey Management Service (KMS) ライセンスを使用するかどうかを選択するよう求めます。

注記: KMSとActive Directoryベースのアクティベーション (ADBA) の両方が同時に使用されている環境にイメージを公開すると、アクティベーションに問題が発生します。

  1. 次のダイアログボックスで、Key Management Service (KMS) ライセンスを使用するかどうかを選択します。

    KMSバージョン設定イメージ

KMSのスクリプトを設定するには、次の手順を実行します。

  1. 次の場所に移動します:

    c:\windows\setup\scripts

  2. 管理者としてSetKMSVersion.exeを実行し、c:\windows\setup\scripts\kmsdirフォルダーにスクリプトファイルを作成します。

オペレーティングシステムが起動すると、適切なKMSアクティベーションスクリプトが実行されます。

App Layeringサービスのインストール

  1. 新しいマシンでC:\Windows\Setup\scriptsに移動し、setup_x64.exeを実行してOSマシンにApp Layeringドライバーをインストールします。
  2. インストール時にUnattend.xmlファイルの場所を求められます(デフォルトの場所は「C:\windows\panther」です)。
  3. このマシンがドメインに参加していないことを確認します。
  4. このイメージをレイヤーにインポートできるように、OSマシンで保留中の再起動を実行します。
  5. 続行する前に、新しいOSマシンが次のいずれかの状態であることを確認してください。
    • 実行中
    • 停止済み
    • 停止済み(割り当て解除済み)

必要に応じてMicrosoft Ngen.exe操作を迅速化

すべてのソフトウェア更新プログラムがインストールされたら、Ngen.exeが実質的に.NETバイトコードをネイティブイメージに再コンパイルし、それらを管理するためのレジストリエントリを構築できるようにする必要があります。

Ngen.exeはMicrosoft Native Image Generatorであり、.NETシステムの一部です。Windowsは、インストールされているソフトウェアと構成で検出された内容に基づいて、Ngen.exeを実行するタイミングを決定します。

重要: Ngen.exeが実行中の場合、完了するまで待つ必要があります。中断されたNgen.exe操作は、機能しない.NETアセンブリや.NETシステム内のその他の問題を引き起こす可能性があります。

通常、Ngen.exeはフォアグラウンドアクティビティがある場合に一時停止するバックグラウンド操作です。Ngen.exe操作を迅速化したい場合は、タスクをフォアグラウンドに移行して、できるだけ早く完了させることができます。

タスクをフォアグラウンドに移行するには:

  1. 管理者としてコマンドプロンプトを開きます。
  2. 現在使用中のバージョンのMicrosoft.NET\Frameworkディレクトリに移動します:

    cd C:\Windows\Microsoft.NET\FrameworkNN\vX.X.XXXXX

  3. 次のNgen.exeコマンドを入力して、キュー内のすべての項目を実行します。このコマンドは、アセンブリをビルドする前にキュー内のコンポーネントインストールを処理します。

    ngen eqi 3

    Ngen.exeタスクはコマンドプロンプトでフォアグラウンドに移動し、コンパイルされているアセンブリを一覧表示します。コンパイルメッセージが表示されても問題ありません。

    タスクマネージャーを使用して、MSCORSVW.EXEのインスタンスが実行されているかどうかを確認できます。実行されている場合は、完了するまで待つか、ngen update eqi 3を実行してください。

    注意: タスクを停止するために再起動しないでください。タスクが完了するまで待ってください!

  4. すべてのNgen.exeプロセスが完了したことを確認します。
AzureでのOSイメージのレイヤリング準備