App Layering

ユーザーレイヤーのデプロイ

ユーザーレイヤーは、各ユーザーの以下を永続化します。

  • プロファイル設定
  • データ
  • 非永続VDI環境にローカルインストールされたアプリケーション

イメージテンプレートでユーザーレイヤーを有効にすると、結果として得られるレイヤー化されたイメージを使用してプロビジョニングされたシステムは、すべてのユーザーにユーザーレイヤーを提供します。

ユーザーがユーザーレイヤーが有効なデスクトップにログインすると、新しい検索インデックスデータベースが作成されます。このインデックスには、ユーザーレイヤーおよび任意のElastic Layerからの検索情報が組み込まれます。検索機能は、インデックス作成が完了した場合にのみ利用可能です。

このトピックでは、イメージテンプレートでユーザーレイヤーを有効にする方法、および結果として得られるレイヤー化されたイメージについて説明します。イメージを使用してプロビジョニングするシステムは、すべてのユーザーにユーザーレイヤーを提供します。

ユーザーレイヤーの種類

以下の種類のユーザーレイヤーを有効にできます。

  • フル: ユーザーのすべてのデータ、設定、およびローカルインストールされたアプリケーションは、ユーザーレイヤーに保存されます。
  • Office 365: (デスクトップシステム) ユーザーのOutlookデータと設定のみがユーザーレイヤーに保存されます。
  • Session Office 365: (セッションホスト) ユーザーのOutlookデータと設定のみがユーザーレイヤーに保存されます。

フルユーザーレイヤー、Office 365ユーザーレイヤー、またはSession Office 365ユーザーレイヤーを有効にできます。フルユーザーレイヤーには、Office 365/Session Office 365ユーザーレイヤーが保存するすべてのものに加え、他のアプリケーションの設定とデータが含まれます。

注:

Office 365およびSession Office 365は非推奨です。

要件

ユーザーレイヤーを有効にする前に、以下の種類のユーザーレイヤーに適用される要件を満たしていることを確認してください。

  • すべての種類のユーザーレイヤー
  • フルユーザーレイヤー
  • Office 365およびSession Office 365ユーザーレイヤー

すべてのユーザーレイヤー

ユーザーレイヤーを有効にするには、以下が必要です。

  • 十分なネットワーク帯域幅。帯域幅と遅延は、ユーザーレイヤーに大きな影響を与えます。すべての書き込みはネットワークを介して行われます。
  • ユーザーのデータ、構成設定、およびローカルインストールされたアプリケーションに割り当てられた十分なストレージスペース。(アプライアンスは、レイヤーのパッケージ化、レイヤー化されたイメージの公開、およびElastic Layerの提供にメインのストレージロケーションを使用します。)

フルユーザーレイヤー

  • フルユーザーレイヤーでプロファイル管理を使用する場合、ログオフ時のユーザー情報の削除を無効にする必要があります。設定を展開する方法に応じて、以下のいずれかを使用して削除を無効にできます。

    • グループポリシーオブジェクト。
    • Delivery Controller™ (DDC)上のポリシー。

Office 365およびSession Office 365ユーザーレイヤー

  • Citrix Profile Managerなどのプロファイルマネージャーを使用します。そうしないと、Outlookはログインするすべてのユーザーを新規と見なし、そのユーザーのOSファイルを作成します。
  • Officeレイヤーはイメージテンプレートに含め、レイヤー化されたイメージに展開する必要があります。ただし、Office 365ユーザーレイヤーで他のElastic Layerを使用できます。
  • Microsoft Officeは、公開されたイメージ内のアプリレイヤーとしてのみサポートされており、Elastic Layerとしてはサポートされていません。
  • 検索インデックスファイルのデフォルトの場所への変更は、Office 365レイヤーには保持されません
  • この機能は、一度に1ユーザーあたり1デスクトップでテストされています(シングルサインオン)。

注:

Office 365およびSession Office 365は非推奨です。

互換性

フルユーザーレイヤーは、以下のプラットフォームでサポートされています。

  • オペレーティングシステム: すべてのオペレーティングシステムは、ユーザーレイヤーで動作するためにシングルユーザーモードで構成する必要があります。サーバーはマルチユーザーモードでは使用できません。セッションホスト上のユーザーレイヤーはサポートされていません。
    • Windows 10、64ビット
    • Windows 11、64ビット(オフロードコンポジティングが有効なプラットフォームに展開されている場合のみ)
    • Windows Server 2016、シングルユーザーモードのみ
    • Windows Server 2019、シングルユーザーモードのみ
  • 公開プラットフォーム: ユーザーレイヤーは、以下の公開プラットフォームでサポートされています。
    • Citrix Virtual Desktops™

ユーザーレイヤーでサポートされていないアプリケーション

以下のアプリケーションはユーザーレイヤーではサポートされていません。これらのアプリケーションをローカルにインストールしないでください

  • エンタープライズアプリケーション: MS OfficeやVisual Studioなどのエンタープライズアプリケーションは、アプリレイヤーにインストールする必要があります。ユーザーレイヤーはElastic Layerと同じテクノロジーに基づいています。Elastic Layerと同様に、これらのエンタープライズアプリケーションにユーザーレイヤーを決して使用しないでください!
  • ドライバーストアを使用するドライバーを持つアプリケーション。例: プリンタードライバー。

    注:

    グループポリシーを使用してプリンターを利用可能にできます。次のセクションの「GPOインストール済みプリンター」を参照してください。

  • ネットワークスタックまたはハードウェアを変更するアプリケーション。例: VPNクライアント。
  • ブートレベルドライバーを持つアプリケーション。例: ウイルススキャナー。
  • ローカルユーザーまたはグループの追加を必要とするアプリケーション。アプリケーションのインストールの一部として追加するローカルユーザーおよびグループは、OSレイヤーにのみ永続化されます。必要なユーザーまたは管理者がOSレイヤーに追加された状態で、ベースイメージに含まれるレイヤーにアプリケーションをインストールすることを検討してください。

Windowsアップデート

Windowsアップデートは、ユーザーレイヤーで無効にする必要があります。

Outlookストアアドイン

Citrix Profile Managementは、ストアアドインを無効にします。

Outlookが初めて起動すると、リボンのストア/アドインアイコンに、アドインの長いリストを含むウィンドウが表示されます。初回ログイン時にアドインをインストールすると、その後のログイン時にリボンに表示されます。アドインをインストールしない場合、ストア/アドインアイコンには空白の白いウィンドウが表示されます。

GPOインストール済みプリンター

Windows 10を実行している非永続デスクトップのユーザーの場合、グループポリシーを使用してプリンターをインストールできます。ポリシーが適用されている場合、プリンターはユーザーの[デバイスとプリンター]、アプリケーションのプリンター設定、およびデバイスマネージャーに表示されます。

GPOインストール済みプリンターを設定するには:

  1. イメージテンプレートでユーザーレイヤーを有効にします。
  2. デスクトップがドメインに参加していることを確認します(プラットフォームレイヤー上)。
  3. 各ネットワークプリンターを展開するためのグループポリシーを作成し、それをマシンに割り当てます。
  4. ドメインユーザーとしてログインしているときに、プリンターが[デバイスとプリンター]、メモ帳、およびデバイスマネージャーに表示されていることを確認します。

ユーザーレイヤーの形式

ユーザーレイヤーの仮想ディスクはVHDX形式を使用して作成されます。既存のユーザーレイヤーVHDファイルは、変換または再作成することなく引き続き使用できます。ただし、VHDファイルとVHDXファイルの両方が同じフォルダーに存在する場合、VHDXファイルが優先されます。

ユーザーレイヤー仮想ディスク作成のVHDX形式を上書きする方法

作成されるユーザーレイヤーにVHD形式を使用させるように動作を変更できます。この動作を上書きするには、以下のシステムレジストリパラメーターを使用します。

  • パス: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\ulayer
  • 名前: DefaultUserLayerVHDXDisabled
  • 種類: DWORD
  • データ: 1

ユーザーレイヤー/UPL領域の再利用

ユーザーレイヤー/UPL領域の再利用を使用して、ユーザーがログオフするたびにVHDXファイルを自動的に最適化できます。

ユーザーレイヤー/UPL領域の再利用を有効にする方法

ユーザーレイヤー/UPL領域の再利用を有効にする前に:

  • ドライブの最適化サービスdefragsvcが有効になっており、実行されている必要があります このサービスは、既存のOSレイヤーでは無効になっています。
  • Citrixは、この機能を有効にする前に新しいOSレイヤーバージョンを作成することを推奨します。

ユーザーレイヤー/UPL領域の再利用は、以下のいずれかの方法で有効にできます。

  • Citrix Studioを使用する
  • Windowsレジストリエディターを使用する

    • パス: HKLM\SOFTWARE\Policies\Citrix\UserPersonalizationLayerConfig
    • 名前: UserLayerCompactionEnabled
    • 種類: DWORD
    • データ: 1 (デフォルト値: 0)

この機能はデフォルトで無効になっています。

レイヤー化されたイメージでユーザーレイヤーを有効にする

ユーザーレイヤーを展開するには、イメージテンプレートの設定を使用してレイヤーを有効にします。詳細な手順については、「イメージテンプレートの作成またはクローン作成」を参照してください。この記事の残りの部分では、ユーザーレイヤーのサイズ設定、保存、セキュリティ設定、移動、および修復に関する詳細を説明します。また、エンドユーザーへの通知をカスタマイズする手順についても説明します。

ユーザーレイヤーの場所

イメージテンプレートでユーザーレイヤーが有効になっている場合、公開するイメージはユーザーのデータ、設定、およびローカルインストールされたアプリケーションを永続化します。

ユーザーレイヤーが有効になっている場合、レイヤーのストレージロケーションを追加する必要があります。

重要:

ユーザーレイヤーをアプライアンスのメインファイル共有に保存しないでください。そうしないと、以下の目的でスペースが枯渇する可能性があります。

  • ソフトウェアのアップグレード。
  • ユーザーへのElastic Layerの提供。
  • サポートされているコネクターがないハイパーバイザーに移動しているファイルの保存。

アプライアンスに追加された最初のストレージロケーションは、他のストレージロケーションに関連付けられていないユーザーレイヤーのデフォルトの場所になります。さらにストレージロケーションを追加すると、それらは優先順位でリストされます。

追加する各ストレージロケーションにユーザーグループを割り当てることができます。

ユーザーが複数のグループに属している場合のユーザーレイヤーの保存場所

ユーザーが複数のグループに属しており、それらのグループが異なるストレージロケーションに割り当てられている場合、そのユーザーのユーザーレイヤーは最も優先順位の高いストレージロケーションに保存されます。

ユーザーが割り当てられているストレージロケーションの優先順位を、そのユーザーのユーザーレイヤーが最も優先順位の高い場所に保存されたに変更した場合、その時点までに保存されたデータは元の場所に残ります。そのユーザーのユーザーレイヤーを保持するには、ユーザーレイヤーを新しい最も優先順位の高い場所にコピーする必要があります。

特定のイメージでユーザーレイヤーのファイル共有場所を指定する方法

同時に2つの異なるイメージにアクセスする必要があるユーザーをサポートできます。両方のイメージは以下を満たします。

  • ユーザーレイヤーの永続性が必要。
  • 同じOSレイヤーを使用して作成された。

ユーザーレイヤーのファイル共有割り当てを構成するには:

  1. ユーザーがログインするに、公開されたイメージの1つ以上に以下のレジストリキーを追加します。

    [HKLM\Software\Unidesk\ULayer]
    "UserLayerSharePath"
    <!--NeedCopy-->
    

上記のキーは、プラットフォームレイヤー、アプリレイヤー、またはマシングループポリシーとして追加できます。

ユーザーがログインする前にイメージにUserLayerSharePathキーを追加すると、アプライアンスはユーザーレイヤーの共有割り当てを無視します。代わりに、マシン上のすべてのユーザーは、ユーザーレイヤーのVHDXまたはVHDに指定された共有を使用します。実際のレイヤーを見つけるために、このキーに\Usersサブツリーが追加されます。

カスタムユーザーレイヤーパスを指定する方法

HKLM\Software\Unidesk\UlayerキーにCustomUserLayerPathという名前のREG_SZ値を作成することで、カスタムパスを設定できます。HKLM\Software\Unidesk\Ulayerキーには、環境変数とActive Directory (AD)属性を含めることができます。

CustomUserLayerPath値では、すべてのシステム変数を展開できますが、展開できるユーザー変数は%USERNAME%%USERDOMAIN%のみです。完全なパスは次のとおりです。

<CustomUserLayerPath>\<OSID_OSNAME>

GPOを使用してカスタムユーザーレイヤーパスを設定する場合、GPOがパスを展開するのを防ぐために%<USERNAME>%%<USERDOMAIN>%を使用します。

  • CustomUserLayerPathが定義されている場合、他のパスの代わりにそれが使用されます。
  • CustomUserLayerPathが未定義の場合、同じキー内にあるUserLayerSharePathが使用されます。
  • UserLayerSharePathが未定義の場合、App LayeringアプライアンスのJSONにリストされているStorageLocationが使用されます。管理コンソールのシステム > ユーザーレイヤーストレージの場所設定でUserLayerSharePathを編集できます。
  • App LayeringアプライアンスからのJSONにStorageLocationがリストされていない場合、RepositoryPathが使用されます。RepositoryPathは、CustomUserLayerPathおよびUserLayerSharePathと同じレジストリの場所で編集できます。
  • CustomUserLayerPathが定義されている場合、ユーザーレイヤーが作成されるパスは、展開されたパスに\<OSID_OSNAME>が追加されたものです。他のすべてのパスは共有パスであり、\Users\<Domain_UserName>\<OSID_OSNAME>に追加されます。

AD属性を使用する場合、属性はハッシュで囲む必要があります(例: #aAMAccountName#)。カスタムAD属性は、場所やユーザーなどの組織変数を定義するために使用できます。属性は大文字と小文字を区別します。

例:

  • \\server\share\#sAMAccountName#は、UNCパスにユーザー設定を保存します
  • \\server\share\JohnSmith(現在のユーザーに対して#sAMAccountName#がJohnSmithに解決される場合)

アプライアンスでユーザーレイヤーが作成される場所

アプライアンスのネットワークファイル共有では、ユーザーレイヤーはUsersフォルダーに作成されます。例:

\MyServer\\*MyShare*\Users
<!--NeedCopy-->

各ユーザーは、Usersディレクトリ内に自身のディレクトリを持ちます。ユーザーのディレクトリは次のように命名されます。

Users\\*DomainName_username*\\*OS-Layer-ID-in-hex*_*OS-Layer-name*\\*username*.vhd
<!--NeedCopy-->

例:

  • ユーザーのログイン名: jdoe
  • ユーザーのドメイン: testdomain1
  • OSレイヤー: MyOSLayer(IDは16進形式: 123456
  • ユーザーレイヤーは以下に作成されます:
\MyServer\MyShare\Users\testdomain1_jdoe\123456_MyOSLayer\jdoe.vhd
<!--NeedCopy-->

ユーザーがユーザーレイヤーにアクセスできる場所

フルユーザーレイヤーが作成されると、ユーザーはC:\全体にアクセスできます(Windowsの権限とディレクトリに対する会社のセキュリティに従って)。

Office 365レイヤーが作成されると、ユーザーレイヤーディレクトリはOffice 365レイヤーにリダイレクトされます。

C:\user\\<username\>\Appdata\local\Microsoft\Outlook
<!--NeedCopy-->

ストレージロケーションの追加

イメージのユーザーレイヤーのストレージロケーションを追加するには:

  1. 管理コンソールにログインします。

  2. システム > ユーザーレイヤーストレージの場所を選択します。アプライアンスのメインファイル共有を除く、ファイル共有のリストが表示されます。

  3. ストレージロケーションの追加を選択し、新しいロケーションの名前ネットワークパスを入力します。

  4. 割り当ての下で、グループの追加をクリックします。

  5. ディレクトリを展開し、目的のユーザーを選択して、保存をクリックします。

  6. 確認して完了をクリックして、ストレージロケーションを追加します。

ストレージロケーションが追加されたら、ユーザーレイヤーフォルダーにセキュリティを設定する必要があります。

ユーザーレイヤーフォルダーのセキュリティ設定の構成

ユーザーレイヤーには複数のストレージロケーションを指定できます。各ストレージロケーション(デフォルトの場所を含む)には、\Usersサブフォルダーを作成し、その場所を保護する必要があります。

ドメイン管理者は、各ユーザーレイヤーフォルダーのセキュリティを以下の値に設定する必要があります。

設定名 適用先
作成者/所有者 サブフォルダーとファイルの変更/削除* サブフォルダーとファイルのみ
所有者の権限 変更 サブフォルダーとファイルのみ
ユーザーまたはグループ フォルダーの作成/データの追加; フォルダーの横断/ファイルの実行; フォルダーのリスト/データの読み取り; 属性の読み取り 選択したフォルダーのみ
システム フルコントロール 選択したフォルダー、サブフォルダー、およびファイル
ドメイン管理者、および選択した管理者グループ フルコントロール 選択したフォルダー、サブフォルダー、およびファイル

*一部のサーバーでは、App Layeringがユーザーレイヤーの修復後にクリーンアップできるように、作成者/所有者サブフォルダーとファイルの削除(高度な権限)が必要です。

ユーザーレイヤーフォルダーにセキュリティを構成するには:

  1. 管理コンソールにログインします。

  2. システム > ユーザーレイヤーストレージの場所をクリックします。表示されるファイル共有は、ユーザーレイヤー用に定義されたストレージロケーションです。組織内の他のすべてのユーザーとは別にGroup1とGroup2のストレージを管理できるように、3つのストレージロケーションを定義したとします。

    • デフォルトの場所 - \\MyDefaultShare\UserLayerFolder\
    • Group1 - \\MyGroup1\Share\UserLayerFolder\
    • Group2 - \\MyGroup2\Share\UserLayerFolder\

    注: OS、アプリ、およびプラットフォームレイヤーの保存に使用されるアプライアンスのメインファイル共有は、ユーザーレイヤーのストレージロケーションとしてリストされていません。App Layeringファイル共有の詳細については、「ファイル共有のセットアップ」を参照してください。

  3. 各ファイル共有の下に\Usersサブディレクトリを作成します。

    \\MyDefaultShare\UserLayerFolder\Users\
    
    \\MyGroup1Share\UserLayerFolder\Users\
    
    \\MyGroup2Share\UserLayerFolder\Users\
    <!--NeedCopy-->
    
  4. \Usersの下の各サブディレクトリに、上記のセキュリティ設定のリストを適用します。

ユーザーパーソナライゼーションレイヤーのStudioポリシーをユーザーレイヤーに適用

レイヤー化されたイメージでユーザーレイヤーが有効になっている場合、対応するCitrix Studioポリシーを構成することで、ユーザーレイヤーのデフォルトのリポジトリパスとレイヤーサイズを上書きできます。

  • ユーザーレイヤーリポジトリパス: ネットワーク上のどこからユーザーレイヤーにアクセスするかを定義します。
  • ユーザーレイヤーサイズGB: ユーザーレイヤーディスクがどれだけ大きくなることを許可するかを定義します。

公開されたイメージがサポートされているバージョンのVDAを実行しており、これらのポリシーが定義されている場合、ポリシーで定義されたパスとサイズに最も高い優先順位が与えられます。

割り当てられたユーザーレイヤーサイズの増加は、ユーザーが次回ログインしたときに有効になります。割り当てられたユーザーレイヤーサイズの減少は、既存のユーザーレイヤーには影響しません。

イメージのユーザーレイヤーのStudioポリシーを定義

レイヤー化されたイメージのユーザーレイヤーのCitrix Studioポリシーを構成するには:

  1. Citrix Studioで、ナビゲーションペインのポリシーを選択します。

    Studioでポリシーを選択

  2. アクションペインでポリシーの作成を選択します。[ポリシーの作成]ウィンドウが表示されます。

  3. 検索フィールドに「user layer」と入力します。利用可能なポリシーのリストに以下の2つのポリシーが表示されます。
    • ユーザーレイヤーリポジトリパス
    • ユーザーレイヤーサイズGB

      注:

      割り当てられたユーザーレイヤーサイズの増加は、ユーザーが次回ログインしたときに有効になります。割り当てられたユーザーレイヤーサイズの減少は、既存のユーザーレイヤーには影響しません。

  4. ユーザーレイヤーリポジトリパスの横にある選択をクリックします。[設定の編集]ウィンドウが表示されます。

    ユーザーレイヤーリポジトリパス

  5. フィールドに\\サーバー名またはアドレス\フォルダー名の形式でパスを入力し、OKをクリックします。

    リポジトリパスを入力

  6. オプション: ユーザーレイヤーサイズGBの横にある選択をクリックします。

    ユーザーレイヤーリポジトリパス

  7. 設定の編集ウィンドウが表示されます。

  8. オプション: デフォルト値の「0」を、ユーザーレイヤーが成長できる最大サイズ(GB単位)に変更します。OKをクリックします。

    注:

    デフォルト値を維持する場合、ユーザーレイヤーの最大サイズは10 GBです。

  9. 次へをクリックして、ユーザーとマシンを構成します。このイメージで強調表示されているデリバリーグループの割り当てリンクをクリックします。

    ユーザーレイヤーリポジトリパス

  10. デリバリーグループメニューで、前のセクションで作成したデリバリーグループを選択します。OKをクリックします。

    デリバリーグループを選択

  11. ポリシーの名前を入力します。チェックボックスをクリックしてポリシーを有効にし、完了をクリックします。

    ユーザーレイヤーポリシー名

既存のユーザーレイヤーを新しいストレージロケーションに移動

各ユーザーレイヤーのストレージロケーションを新しい場所にコピーします。

  1. ユーザーレイヤーが使用中でないことを確認します。

    ユーザーがユーザーレイヤーを移動する前にログインすると、新しいユーザーレイヤーが作成されます。データは失われませんが、そのような事態が発生した場合は、必ず以下を行ってください。

    • 新しく作成されたユーザーレイヤーを新しいディレクトリに移動します。
    • ユーザーのACLを保持します。
  2. ユーザーレイヤーのVHDXまたはVHDファイルを含むディレクトリを参照します。

  3. 以下のコマンドを使用して、各ユーザーレイヤーのVHDXまたはVHDファイルを以前の場所から新しい場所にコピーします。

    xcopy Domain1\User1 Domain1_User1\ /O /X /E /H /K
    <!--NeedCopy-->
    
  4. 以下のディレクトリおよびその中のファイルに対するすべての権限が正しいことを確認します。

    \\\Root\Engineering\Users
    
    \\\Root\Engineering\Users\Domain1_User1\\...
    
    \\\Root\Engineering\Users\Domain2_User2\\...
    <!--NeedCopy-->
    

ユーザーにユーザーレイヤーの作成を許可する場合

ユーザーにユーザーレイヤーの作成を許可することを選択した場合、共有から元のディレクトリとファイルを手動でクリーンアップする必要があります。

ユーザーレイヤーのサイズ

デフォルトでは、イメージのユーザーレイヤーに許可されるディスクスペースは、レイヤーあたり10 GBです。

デフォルトのユーザーレイヤーサイズは、以下の方法で変更できます。

  • ユーザーレイヤー共有のクォータを定義する
  • レジストリの上書きを設定する

Office 365ユーザーレイヤーを使用する場合、Outlookレイヤーはデフォルトで10 GBですが、Outlookは空きディスクスペースの量に基づいてボリュームサイズを設定します。Outlookは、レイヤー化されたイメージで利用可能なものに基づいて、多かれ少なかれスペースを使用します。報告されるサイズは、レイヤー化されたイメージに基づいています。

優先順位

ユーザーレイヤーを展開する際、アプライアンスはユーザーレイヤーのサイズを決定するために以下の優先順位を使用します。

  • 以下のいずれかを使用して設定されたユーザーレイヤーサイズのディスククォータ:
    • Microsoftファイルサーバーリソースマネージャー (FSRM)
    • Microsoftクォータマネージャー
  • ユーザーレイヤーディスクのレジストリ上書き: (HKLM\SOFTWARE\Unidesk\ULayer\DefaultUserLayerSizeInGb)
  • デフォルトのユーザーレイヤーサイズ (10 GB)

ユーザーレイヤーサイズの変更

割り当てられたユーザーレイヤーサイズの増加は、ユーザーが次回ログインしたときに有効になります。割り当てられたユーザーレイヤーサイズの減少は、既存のユーザーレイヤーには影響しません。

ユーザーレイヤーディスクのディスククォータを定義

Microsoftのクォータツールのいずれかを使用して、ユーザーレイヤーディスクサイズにハードクォータを設定できます。

  • ファイルサーバーリソースマネージャー (FSRM)
  • クォータマネージャー

クォータは、Usersという名前のユーザーレイヤーディレクトリに設定する必要があります。

注:

クォータの変更(増加または減少)は、新しいユーザーレイヤーにのみ影響します。既存のユーザーレイヤーの最大サイズは以前に設定されており、クォータが更新されても変更されません。

最大サイズレジストリの上書きを設定

管理対象マシン上のレジストリを使用して、デフォルトのユーザーレイヤーの最大サイズを上書きできます。以下のレジストリキーはオプションです。通常の操作のためにこれらのキーを構成する必要はありません。これらのキーのいずれかが必要な場合は、レイヤーまたはGPO/GPPを使用して手動で追加します。

レジストリのルート: HKLM\Software\Unidesk\Ulayer

キー 種類 デフォルト値 説明
UseQuotaIfAvailable 文字列 True; False Trueでクォータの検出と使用を有効にします。Falseで無効にします。
DefaultUserLayerSizeInGb DWord ユーザー定義 ユーザーレイヤーのサイズ(GB単位、例: 5、10、23など)。指定しない場合、デフォルトは10です。
QuotaQuerySleepMS DWord ユーザー定義 ユーザーレイヤーのディレクトリを作成した後、クォータがあるかどうかを確認するまでに待機するミリ秒数。一部のクォータシステム(FSRMなど)は、新しいディレクトリにクォータを適用するのに時間がかかります。デフォルトのクォータは1000です。

ユーザーレイヤーの修復

ユーザーレイヤーの修復機能を使用すると、ユーザーのユーザーレイヤーからアプリとそのファイルを削除できます。この機能は、すでにユーザーレイヤーにアプリをローカルにインストールしているユーザーにアプリを配信した後に使用できます。この修復機能は、新しいアプリレイヤーをベースイメージの一部として配信するか、Elastic Layerとして配信するかに関わらず、競合するファイルを削除します。

  • 例1: you.txtファイルを含むアプリレイヤーを作成し、そのアプリレイヤーをElastic Layerとしてユーザーに提供します。ユーザーがファイルを変更すると、その変更はユーザーレイヤーに保存されます。変更によってアプリが破損したり、ファイルが破損したりした場合、ユーザーレイヤーの修復機能を使用すると、問題のあるファイルをユーザーレイヤーから削除してクリーンアップできます。その後、ユーザーはアプリレイヤーの一部としてElastic Layerとして提供されるファイルを参照します。

  • 例2: ユーザーがElastic Layerとして割り当てられているアプリを削除します。ユーザーレイヤーが優先されるため、ユーザーのアプリのローカルコピーが削除されると、ユーザーはそのバージョンのアプリを表示できなくなります。ユーザーはElastic Layerとして割り当てられているアプリレイヤーを参照します。

  • 例3: ユーザーがアプリケーションをローカルにインストールし、しばらくして管理者が同じアプリケーションのアプリレイヤーを作成します。ユーザーレイヤーの修復機能は、アプリによってインストールされた競合するファイルをユーザーレイヤーから削除し、ユーザーがアプリレイヤーで提供されるバージョンを参照できるようにします。

ユーザーレイヤーの修復の仕組み

アプライアンスは、ユーザーレイヤーをクリーンアップまたは復元するために使用できるユーザーレイヤー修復JSONファイルを生成します。修復が必要なユーザーレイヤーにJSONファイルを手動でコピーします。

修復アップロードフォルダーがネットワーク共有に存在しない場合、それらは自動的に作成されます。アプライアンスは、修復JSONファイルをファイル共有上の以下のディレクトリに書き込みます。

<StorageLocationShare>\Unidesk\Layers\App\Repair\
<StorageLocationShare>\Unidesk\Layers\App\PackageAppRules
<!--NeedCopy-->

Repairディレクトリには、アプライアンスが認識している各レイヤーの各バージョンのJSONファイルが含まれています。新しいアプリレイヤーまたはそのバージョンを最終処理するたびに、アプライアンスは修復ファイルを生成してアップロードします。

各レイヤーの修復ファイルには以下が含まれます。

UserLayerRepair_LayerIdInDecimal_RevisionIdInDecimal.json
UserLayerRepair_<layer id>_<layer version>.json
<!--NeedCopy-->

コンソールでレイヤーIDを確認するには、レイヤータブをクリックし、レイヤーを選択して、iアイコンをクリックします。レイヤーIDは、他のレイヤーの詳細とともに表示されます。

PackageAppRulesディレクトリには、ユーザーレイヤーの各バージョンのパッケージアプリルールが含まれています。

レイヤーの修復にかかる時間

修復プロセスの時間は、レイヤーのサイズと削除する必要があるオブジェクトの数によって異なります。

マウントする必要があるが、実行する実際の操作がないレイヤーの修復は、ログインプロセスに約5秒追加されます。アプリレイヤーがイメージに含まれている場合、ログイン時間は2秒に短縮されます。

時間は操作によって異なります。一般的なアプリレイヤーの場合、10秒未満であり、合計で12~15秒です。

ユーザーレイヤーの修復

ユーザーのユーザーレイヤーを修復するには:

  1. 修復する必要があるアプリレイヤーのバージョンを特定します。

  2. 事前に生成されたUserLayerRepairファイルを見つけます。ファイルが生成されていない場合は、App Layeringサポートに連絡してください。サポートエンジニアが手動で修復ファイルを生成できます。

  3. ユーザーレイヤーの修復ファイルをユーザーのVHDXまたはVHDの場所に直接コピーします。ユーザーが次回ログインしたときに、修復操作が実行されます。

    ユーザーレイヤーの修復タスクが完了すると、UserLayerRepair.JSONファイルは削除されます。

    注:

    JSONルールファイルが共有上に存在し、ユーザーによって変更されている場合、それは上書きされません。これにより、ユーザーはそれらのファイルを希望どおりに修正できます。

ユーザーレイヤー修復のログファイル

ログファイルulayersvc.logには、ユーザーレイヤー修復実行可能ファイルの出力が含まれています。

C:\ProgramData\Unidesk\Logs\ulayersvc.log
<!--NeedCopy-->

クリーンアップ中に加えられた変更は、サービスがログに記録する他の変更とともに、そこにログが記録されます。

修復が失敗した場合の対処

失敗した場合、ユーザーは修復が失敗したこと、および管理者に連絡する必要があることを示すメッセージを受け取ります。このメッセージは、他のストレージロケーションメッセージと同じ場所で構成できます。

修復の失敗は、以下の場合に発生する可能性があります。

  • UserLayerRepair.jsonの形式が不正(JSONファイルは生成されるため、可能性は低い)。
  • 指定されたアプリレイヤーの.VHDまたはイメージ内のpackage_app_rulesファイルが見つからない。
  • アプリレイヤーのVHDファイルの接続に失敗。
  • 修復プロセスを中断させる予期しない(ランダムな)例外。

これらの問題のいずれかが発生した場合、UserLayerRepair.JSONファイルは削除されず、残りのJSONファイルの処理は停止します。

失敗の正確な理由を特定するには、ユーザーのulayersvc.logファイルを確認してください。その後、その後のログイン時に修復を再度実行させることができます。失敗の原因が解決されたと仮定すると、修復は最終的に成功し、UserLayerRepair.JSONファイルは削除されます。