App Layering

Azure でレイヤ化するための OS イメージの準備

このトピックでは、新しい OS レイヤーにインポートするためのクリーンな OS イメージを準備する方法について説明します。開始する前に、 要件を満たしていることを確認してください。イメージを準備しているときに、時間がかかりすぎると思われる場合は、 Microsoft Ngen.exe の操作を迅速に行うことができます

Windows 10を使用していて、Citrix Provisioning、マシンの作成、 またはViewを実行していない場合はWindows 10の組み込みアプリケーションを削除することで、デスクトップの起動時間を短縮できます。ただし、OS イメージ自体ではなく新しいバージョンの OS レイヤーでアプリを削除することをお勧めします。

注:

マシン作成サービス (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で無人セットアップファイルを削除するか、名前を変更します。
  9. Windows 自動更新をクリアするには、[ コントロールパネル] > [システムとセキュリティ] > [Windows Update] > [設定の変更]を選択します
  10. このマシンがドメインに参加していないことを確認します。
  11. ビルトイン管理者を有効にし、[ パスワードの有効期限なし] をオンにします。
  12. これがサーバーOSの場合は、PowerShellで次のコマンドを実行します。

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

イメージ上でApp Layering OSマシンツールを実行する

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

    Citrix_App_Layering_OS_Machine_Tools_20.x.x.exe
    <!--NeedCopy-->
    
  3. ファイルを実行し、ファイルを次の場所にコピーします。

    c:\windows\setup\scripts

    注:

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

キー管理サービスを使用している場合は、ライセンスのアクティベーションを構成します

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

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

  1. 次のダイアログボックスで、キー管理サービス (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は、 .NET システムの一部であるMicrosoft ネイティブイメージジェネレータです。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 イメージの準備