アプリケーション
はじめに
展開でデリバリーグループのみを使用している場合(アプリケーショングループを使用していない場合)、アプリケーションをデリバリーグループに直接追加します。アプリケーショングループが利用可能な場合は、管理が簡素化されるため、アプリケーションをアプリケーショングループに追加する方が適切です。すべてのアプリケーションは、少なくとも1つのデリバリーグループまたはアプリケーショングループに関連付けられている必要があります。
[アプリケーションの追加] ウィザードでは、1つ以上のデリバリーグループ、または1つ以上のアプリケーショングループを選択できますが、両方を同時に選択することはできません。後でアプリケーションのグループ関連付けを変更できる場合でも(たとえば、アプリケーションをアプリケーショングループからデリバリーグループに移動するなど)、このような複雑さを追加することはベストプラクティスとして推奨されません。アプリケーションは1種類のグループに保持してください。
アプリケーションを複数のグループに関連付ける場合、それらのすべてのグループでアプリケーションを表示するのに十分な権限がないと、可視性の問題が発生する可能性があります。そのような場合は、より高い権限を持つ管理者に相談するか、アプリケーションが関連付けられているすべてのグループを含むようにスコープを拡張してください。
- 同じ名前のアプリケーションを2つ(異なるグループからであっても)同じユーザーに公開する場合、Studioで
Application name (for user)プロパティを変更してください。そうしないと、ユーザーはCitrix Workspace™アプリで重複する名前を目にすることになります。
アプリケーションのプロパティ(設定)は、追加時または後で変更できます。アプリケーションが配置されるアプリケーションフォルダーも、アプリケーションの追加時または後で変更できます。
アプリケーションの追加
アプリケーションは、デリバリーグループまたはアプリケーショングループの作成時または編集時に追加できます。以下の手順では、グループ作成後にアプリケーションを追加する方法について説明します。
留意事項:
- Remote PC Accessデリバリーグループにはアプリケーションを追加できません。
- **[アプリケーションの追加]** ウィザードを使用して、デリバリーグループまたはアプリケーショングループからアプリケーションを削除することはできません。これは別の操作です。
複数のデリバリーグループまたはアプリケーショングループへのアプリケーションの追加
複数のグループにアプリケーションを追加するには、次の手順に従います。
- 1. 左側のペインで、アプリケーションを追加する場所を選択します。
- デリバリーグループに追加するには、**[デリバリーグループ]** をクリックし、ターゲットのデリバリーグループを選択します。
- アプリケーショングループに追加するには、**[アプリケーション]** をクリックし、**[アプリケーショングループ]** タブを選択してから、アプリケーショングループを選択します。
- アクションバーで [アプリケーションの追加] を選択します。[アプリケーションの追加] ウィザードが [はじめに] ページとともに起動します。[次へ] をクリックします。
-
ウィザードの手順に従って設定を構成します。
- 1. **[グループ]** ページで、アプリケーションを追加するデリバリーグループとアプリケーショングループを選択し、**[次へ]** をクリックします。詳しくは、「[グループの選択](#select-groups)」を参照してください。 - 1. **[アプリケーション]** ページで、追加するアプリケーションを指定し、**[次へ]** をクリックします。詳しくは、「[アプリケーションの指定](#specify-applications)」を参照してください。 1. **[概要]** ページで、設定を確認します。 - 追加するアプリケーションが10個以下の場合は、**[追加するアプリケーション]** に名前が一覧表示されます。 - 追加するアプリケーションが10個を超える場合は、合計数が指定されます。 1. **[完了]** をクリックします。
デリバリーグループまたはアプリケーショングループへのアプリケーションの追加
グループにアプリケーションを追加するには、次の手順に従います。
- 左側のペインで、アプリケーションを追加する場所を選択します。
- デリバリーグループに追加するには、[デリバリーグループ] をクリックし、ターゲットのデリバリーグループを選択します。
- アプリケーショングループに追加するには、[アプリケーション] をクリックし、[アプリケーショングループ] タブを選択してから、アプリケーショングループを選択します。
-
- アクションバーで [アプリケーションの追加] を選択します。
-
- ウィザードの手順に従って設定を構成します。
-
- [アプリケーション] ページで、追加するアプリケーションを指定し、[次へ] をクリックします。詳しくは、「アプリケーションの指定」を参照してください。
-
-
[概要] ページで、設定を確認します。
- 追加するアプリケーションが10個以下の場合は、[追加するアプリケーション] に名前が一覧表示されます。
- 追加するアプリケーションが10個を超える場合は、合計数が指定されます。
-
[概要] ページで、設定を確認します。
-
- [完了] をクリックします。
グループの選択
[アプリケーションの追加] ウィザードの [グループ] ページには、サイト内のすべてのデリバリーグループが一覧表示されます。アプリケーショングループが存在する場合は、アプリケーショングループとデリバリーグループの両方が一覧表示されます。
デリバリーグループまたはアプリケーショングループのいずれかを選択できますが、同時に 両方 を選択することはできません。つまり、同じ操作でデリバリーグループとアプリケーショングループの両方にアプリケーションを追加することはできません。アプリケーショングループを使用している場合は、デリバリーグループではなく、それらのアプリケーショングループにアプリケーションを追加することをお勧めします。
少なくとも1つのグループの横にあるチェックボックスをオンにします。各アプリケーションは、少なくとも1つのグループに関連付けられている必要があります。
アプリケーションの指定
[アプリケーションの追加] ウィザードの [アプリケーション] ページでは、選択したグループにどのアプリケーションを追加するかを指定できます。
-
[追加] をクリックして、アプリケーションソースを表示します。
-
[スタートメニューから]: 選択したデリバリーグループ内のマシンで検出されたアプリケーション。このソースを選択すると、検出されたアプリケーションのリストを含む新しいページが起動します。追加するアプリケーションのチェックボックスを選択し、[OK] をクリックします。
-
次の場合、このソースは選択できません。
- 関連付けられたデリバリーグループがないアプリケーショングループを選択した場合。
- 関連付けられたデリバリーグループにマシンが含まれていないアプリケーショングループを選択した場合。
- マシンが含まれていないデリバリーグループを選択した場合。
-
-
[手動]: デリバリーグループ内のVDA、またはネットワーク内の他の場所にあるアプリケーション。このソースを選択すると、アプリケーションを追加する方法を指定する新しいページが開きます。
- 実行可能ファイルのパス、作業ディレクトリ、オプションのコマンドライン引数、および管理者とユーザーの表示名を入力します。
- デリバリーグループ内のVDAからアプリケーションを選択します。これを行うには、[参照] をクリックし、VDAにアクセスするための資格情報を入力し、VDAへの接続を待ってから、VDAからアプリケーションを選択します。選択したアプリケーションのプロパティが、ページのフィールドに自動的に入力されます。
-
[既存]: 以前にサイトに追加されたアプリケーション。このソースを選択すると、検出されたアプリケーションのリストを含む新しいページが起動します。追加するアプリケーションのチェックボックスを選択し、[OK] をクリックします。
サイトにアプリケーションがない場合、このソースは選択できません。
-
[アプリパッケージ]: App-V、MSIX、MSIX app attach、またはFlexAppアプリケーションパッケージ内のアプリケーション。このソースを選択すると、[パッケージからアプリケーションを追加] ページが起動します。アプリケーションパッケージソースを選択し、表示された結果から追加するアプリケーションを選択して、[OK] を選択します。詳細については、「App-Vアプリケーションの展開と配信」を参照してください。
-
[アプリケーショングループ]: アプリケーショングループ。このソースを選択すると、アプリケーショングループのリストを含む新しいページが起動します。(表示には各グループ内のアプリケーションもリストされますが、個々のアプリケーションではなくグループのみを選択できます。) 選択したグループ内の現在および将来のすべてのアプリケーションが追加されます。追加するアプリケーショングループのチェックボックスを選択し、[OK] をクリックします。
次の場合、このソースは選択できません。(1) アプリケーショングループがない場合、または (2) 選択したデリバリーグループがアプリケーショングループをサポートしていない場合 (たとえば、静的に割り当てられたマシンを持つデリバリーグループ)。
表に示されているように、[追加] リストの一部のソースは、そのタイプの有効なソースがない場合、選択できません。互換性のないソース (たとえば、アプリケーショングループにアプリケーショングループを追加できないなど) はリストに含まれません。選択したグループにすでに追加されているアプリケーションは選択できません。
アプリケーションのプロパティ (設定) は、このページから、または後で変更できます。
デフォルトでは、追加されたアプリケーションは Applications という名前のアプリケーションフォルダーに配置されます。アプリケーションは、このページから、または後で変更できます。
アプリケーションを追加しようとして、同じ名前のアプリケーションが同じフォルダーに存在する場合、追加しようとしているアプリケーションの名前を変更するよう求められます。提示された新しい名前を受け入れるか、拒否してアプリケーションの名前を変更するか、別のフォルダーを選択できます。
たとえば、[Applications] フォルダーに app が存在し、そのフォルダーに app という名前の別のアプリケーションを追加しようとすると、新しい名前 app_1 が提示されます。
アプリケーションのグループ関連付けの変更
アプリケーションを追加した後、そのアプリケーションが関連付けられているデリバリーグループとアプリケーショングループを変更できます。
アプリケーションを別のグループにドラッグできます。これは、アクションバーのコマンドを使用する代替手段です。
- アプリケーションがアプリケーショングループを使用するか直接使用するかにかかわらず、複数のデリバリーグループに関連付けられている場合、グループの優先順位を使用して、複数のグループが評価される順序を指定できます。
- グループは、アクセスポリシー、ユーザーリスト、スマートアクセスタグなどの要因に基づいて考慮対象から除外でき、グループから選択される特定のマシンは、ゾーンの優先順位、起動準備状況、およびタグの制限などの要因によって影響を受ける可能性があります。デフォルトでは、すべてのグループの優先順位は0 (最高) です。デリバリーグループの優先順位が同じ場合、最も負荷の低いデリバリーグループがアプリケーションの起動に選択されます。この場合、垂直ロードバランシングは考慮されません。
アプリケーションは、アプリケーションを配信できる共有 (プライベートではない) マシンを含むデリバリーグループに関連付けることができます。デスクトップのみを配信する共有マシンを含むデリバリーグループも、次の場合に選択できます。
- デリバリーグループに共有マシンが含まれており、XenDesktop 7.9より前の7.xバージョンで作成された場合
- `Edit delivery group` 権限がある場合。プロパティダイアログがコミットされると、デリバリーグループの種類は自動的に `desktops and applications` に変換されます。
- 左側のペインで [アプリケーション] を選択し、アプリケーションを選択します。
- アクションバーで [プロパティ] を選択します。
- 1. [グループ] ページを選択します。
- グループを追加するには、[追加] をクリックし、[アプリケーショングループ] または [デリバリーグループ] を選択します。(アプリケーショングループを作成していない場合、唯一のエントリは [デリバリーグループ] です。) 次に、1つ以上の利用可能なグループを選択します。アプリケーションと互換性のないグループ、またはすでにアプリケーションに関連付けられているグループは選択できません。
- グループを削除するには、1つ以上のグループを選択し、[削除] をクリックします。グループの関連付けを削除した結果、アプリケーションがどのグループにも関連付けられなくなった場合、アプリケーションが削除されることを警告されます。
- グループの優先順位を変更するには、グループを選択し、[優先順位の編集] をクリックします。優先順位の値を選択し、[OK] をクリックします。
- 完了したら、[適用] をクリックして変更を適用し、ウィンドウを開いたままにするか、[OK] をクリックして変更を適用し、ウィンドウを閉じます。
アプリケーションプロパティの変更
- アプリケーションのプロパティは、一度に1つしか変更できません。
- アプリケーションのプロパティを変更するには:
- 左側のペインで [アプリケーション] を選択します。
- アプリケーションを選択し、アクションバーで [プロパティ] を選択します。
-
- 左側のペインで、変更するプロパティを含むページを選択します。
-
- 完了したら、[適用] をクリックして行った変更を適用し、ウィンドウを開いたままにするか、[保存] をクリックして変更を適用し、ウィンドウを閉じます。
| ページ名 | 説明 | |–|–|
- | 識別 | アプリの説明と名前を指定します: |
- | ^^ | - ユーザーおよび管理者が参照するアプリケーション名。 |
-
^^ - 説明、および必要に応じてStoreFrontのキーワード。
-
配信
このアプリケーションをユーザーに配信する方法を指定します - アイコン
- Citrix Workspaceにアプリケーションが表示されるカテゴリまたはフォルダー。
- ユーザーのデスクトップにショートカットを作成するかどうか。
- 制限。「アプリケーションの制限を構成する」を参照してください。
場所
次の場所を指定します - 実行可能ファイルへのパス。「公開アプリケーションにパラメーターを渡す」を参照してください。
- コマンドライン引数。「公開アプリケーションにパラメーターを渡す」を参照してください。
- 作業ディレクトリ
グループ アプリケーションが利用可能なデリバリーグループまたはアプリケーショングループの優先順位を追加、削除、または変更します。 可視性の制限
Citrix Workspaceアプリでどのユーザーがアプリケーションを参照できるかを制御します。非表示のアプリケーションでも起動できます。利用不可にして非表示にするには、別のグループに追加します。
注: 現在、この機能はADおよびMicrosoft Entraユーザーのみが利用できます。Microsoft Entraユーザーの場合、アプリの可視性制限にはVDAバージョン2411以降が必要です。ファイルタイプの関連付け アプリケーションが自動的に開く拡張子を指定します。 ゾーン サイトに複数のゾーンが含まれている場合、ゾーンがアプリケーションの起動に影響するかどうかを指定します。
アプリケーションの変更は、現在のアプリケーションユーザーがセッションからログオフするまで有効にならない場合があります。
アプリケーション制限の構成
アプリケーション制限を構成して、アプリケーションの使用を管理します。たとえば、アプリケーション制限を使用して、アプリケーションに同時にアクセスするユーザーの数を管理できます。同様に、アプリケーション制限は、リソースを大量に消費するアプリケーションの同時インスタンス数を管理するためにも使用できます。この制限は、サーバーのパフォーマンスを維持し、サービスの劣化を防ぐのに役立ちます。
この機能は、コントローラーによって仲介されるアプリケーションの起動数(Citrix Workspace アプリや StoreFront からの起動など)を制限するものであり、他の方法で起動できる実行中のアプリケーションの数を制限するものではありません。これは、アプリケーション制限が同時使用の管理において管理者を支援するものの、すべてのシナリオで強制力を持つわけではないことを意味します。たとえば、コントローラーが停止モードの場合、アプリケーション制限は適用できません。
デフォルトでは、同時に実行できるアプリケーションインスタンスの数に制限はありません。いくつかのアプリケーション制限設定があります。それらのいずれかまたはすべてを構成できます。
- デリバリーグループ内のすべてのユーザーによるアプリケーションの同時インスタンスの最大数
- デリバリーグループ内のユーザーごとのアプリケーションのインスタンス数(1つ)
- マシンごとのアプリケーションの同時インスタンスの最大数(PowerShell のみ)
制限が構成されている場合、ユーザーが構成された制限を超えるアプリケーションインスタンスを起動しようとすると、エラーメッセージが生成されます。複数の制限が構成されている場合、最初の制限に達したときにエラーが報告されます。
アプリケーション制限の使用例:
-
同時インスタンス数の最大制限: デリバリーグループで、アプリケーション
Alphaの同時インスタンスの最大数を 15 に構成します。その後、そのデリバリーグループのユーザーは、そのアプリケーションの 15 のインスタンスを同時に実行しています。そのデリバリーグループのいずれかのユーザーがAlphaを起動しようとすると、エラーメッセージが生成されます。Alphaは、構成された同時アプリケーションインスタンス制限 (15) を超えるため、起動されません。 -
ユーザーごとのインスタンス数制限 (1つ): 別のデリバリーグループで、アプリケーション
Betaのユーザーごとのインスタンス数(1つ)オプションを有効にします。ユーザー Tony はアプリケーションBetaを正常に起動します。その日の後半、そのアプリケーションが Tony のセッションでまだ実行されている間に、彼はBetaの別のインスタンスを起動しようとします。エラーメッセージが生成され、Betaはユーザーごとのインスタンス数制限を超えるため、起動されません。 -
同時インスタンス数の最大制限とユーザーごとのインスタンス数制限 (1つ): 別のデリバリーグループで、同時インスタンスの最大数を 10 に構成し、アプリケーション
Deltaのユーザーごとのインスタンス数(1つ)オプションを有効にします。その後、そのデリバリーグループの 10 人のユーザーがそれぞれDeltaのインスタンスを実行しているときに、そのデリバリーグループの他のユーザーがDeltaを起動しようとすると、エラーメッセージが表示されます。Deltaは起動されません。現在の 10 人のDeltaユーザーのいずれかがそのアプリケーションの 2 番目のインスタンスを起動しようとすると、エラーメッセージが表示され、2 番目のインスタンスは起動されません。 -
マシンごとの同時インスタンスの最大数とタグ制限の使用: アプリケーション
Charlieには、特定のサーバーで同時に実行できるインスタンスの数を規定するライセンスおよびパフォーマンス要件があります。これらの要件は、サイト内のすべてのサーバーで同時に実行できるインスタンスの数も規定します。アプリケーションのインスタンスごとのマシン制限は、サイト内の任意のサーバーに影響します(特定のデリバリーグループ内のマシンだけでなく)。サイトに 3 台のサーバーがあるとします。アプリケーション
Charlieの場合、マシンごとのアプリインスタンス制限を 2 に構成します。したがって、サイト全体でアプリケーションCharlieのインスタンスを 6 つまでしか起動できません。(これは、3 台のサーバーのそれぞれで Charlie のインスタンスが 2 つという制限です。)アプリケーションの使用をデリバリーグループ内の特定のコンピューターのみに制限するには(サイト全体のすべてのコンピューターでのインスタンス制限に加えて):
- それらのマシンにタグ付け機能を使用します
- そのアプリケーションのマシンごとのインスタンスの最大数を構成します
コントローラーの仲介以外の方法(たとえば、コントローラーが停止モードの場合)でアプリケーションが起動され、構成された制限を超過した場合、ユーザーは制限を超過しないように十分な数のインスタンスを閉じるまで、それ以上のインスタンスを起動できません。制限を超過したインスタンスは強制的にシャットダウンされません。ユーザーがそれらを閉じるまで続行が許可されます。
セッションローミングを無効にする場合は、ユーザーごとのインスタンス数(1つ)のアプリケーション制限を無効にします。ユーザーごとのインスタンス数(1つ)のアプリケーション制限を有効にする場合は、新しいデバイスで新しいセッションを許可する 2 つの値のいずれも構成しないでください。ローミングについて詳しくは、「セッション」を参照してください。
デリバリーグループごとの最大インスタンス数制限とユーザーごとのインスタンス数制限(1つ)を構成するには:
- 左側のペインで [アプリケーション] を選択し、アプリケーションを選択します。
- アクションバーで [プロパティ] を選択します。
-
[デリバリー] ページで、次のいずれかのオプションを選択します。
- 無制限の使用を許可。同時に実行できるインスタンスの数に制限はありません。これがデフォルトです。
-
アプリケーションの制限を設定。2 種類の制限があります。いずれかまたは両方を指定します。
- マシンごとに同時に実行できるインスタンスの最大数を指定します
- ユーザーごとのアプリケーションのインスタンスを 1 つに制限します
- [OK] をクリックして変更を適用し、ダイアログボックスを閉じます。または、[適用] をクリックして変更を適用し、ダイアログボックスを開いたままにします。
マシンごとの最大インスタンス数制限を構成するには(PowerShell のみ):
- PowerShell で(Citrix Cloud™ 展開の場合は Remote PowerShell SDK を使用し、オンプレミス展開の場合は PowerShell SDK を使用して)、適切な
BrokerApplicationコマンドレットをMaxPerMachineInstancesパラメーターとともに実行します -
ガイダンスについては、
Get-Helpコマンドレットを使用してください。例:Get-Help Set-BrokerApplication –Parameter MaxPerMachineInstances
アプリケーションの複製、有効化または無効化、名前変更、または削除
次のアクションが利用可能です:
- 複製: 異なるパラメーターまたはプロパティを持つ別のバージョンを作成するために、アプリケーションを複製したい場合があります。アプリケーションを複製すると、一意のサフィックスで自動的に名前が変更され、元のアプリケーションの隣に配置されます。アプリケーションを複製してから、別のグループに追加することもできます。(複製後、アプリケーションを移動する最も簡単な方法はドラッグすることです。)
- 有効化または無効化: アプリケーションの有効化と無効化は、デリバリーグループまたはアプリケーショングループの有効化と無効化とは異なるアクションです。
- 名前変更: 一度に 1 つのアプリケーションのみ名前を変更できます。アプリケーションの名前を変更しようとして、同じ名前のアプリケーションが同じフォルダーまたはグループに存在する場合、別の名前を指定するように求められます。
- 削除: アプリケーションを削除すると、関連付けられていたデリバリーグループおよびアプリケーショングループから削除されますが、元々アプリケーションを追加するために使用されたソースからは削除されません。アプリケーションの削除は、デリバリーグループまたはアプリケーショングループから削除するのとは異なるアクションです。
アプリケーションを複製、有効化、無効化、名前変更、または削除するには:
- 左側のペインで [アプリケーション] を選択します。
- 1 つまたは複数のアプリケーションを選択し、アクションバーで適切なタスクを選択します。
- プロンプトが表示されたら、アクションを確認します。
デリバリーグループからのアプリケーションの削除
アプリケーションは、少なくとも1つのデリバリーグループまたはアプリケーショングループに関連付けられている(属している)必要があります。アプリケーションをデリバリーグループから削除しようとした際に、そのアプリケーションがどのデリバリーグループまたはアプリケーショングループとも関連付けがなくなる場合、続行するとアプリケーションが削除される旨の通知が表示されます。そのような場合、そのアプリケーションを配信したい場合は、有効なソースから再度追加する必要があります。
- 左ペインで [デリバリーグループ] を選択し、デリバリーグループを選択します
- [アプリケーション] タブで、削除するアプリケーションを選択します
- アクションバーから [デリバリーグループから削除] を選択します
- 削除を確定します
アプリケーショングループからのアプリケーションの削除
アプリケーションは、少なくとも1つのデリバリーグループまたはアプリケーショングループに属している必要があります。アプリケーショングループからアプリケーションを削除しようとして、その結果、そのアプリケーションがどのグループにも属さなくなる場合、続行するとアプリケーションが削除されるという通知が表示されます。その場合、そのアプリケーションを配信したい場合は、有効なソースから再度追加する必要があります。
- 左ペインで [アプリケーション] を選択します。
- アプリケーショングループを選択し、1つまたは複数のアプリケーションを選択します。
- アクションバーで [アプリケーショングループから削除] を選択します。
- 削除を確認します。
公開アプリケーションへのパラメーターの受け渡し
公開アプリケーションにコマンドラインを入力し、パラメーターを渡すには、アプリケーションのプロパティの [場所] ページを使用します。
公開アプリケーションをファイルの種類に関連付けると、"%*" (二重引用符で囲まれたパーセント記号とアスタリスク記号) がアプリケーションのコマンドラインの末尾に追加されます。これらの記号は、ユーザーデバイスに渡されるパラメーターのプレースホルダーとして機能します。
公開アプリケーションが期待どおりに起動しない場合は、そのコマンドラインに正しい記号が含まれていることを確認してください。デフォルトでは、"%*" 記号が追加されると、ユーザーデバイスから提供されるパラメーターが検証されます。ユーザーデバイスから提供されるカスタマイズされたパラメーターを使用する公開アプリケーションの場合、コマンドラインの検証をバイパスするために "%**" 記号がコマンドラインに追加されます。アプリケーションのコマンドラインにこれらの記号が表示されない場合は、手動で追加してください。
実行可能ファイルへのパスにスペースを含むディレクトリ名 (例: "C:\Program Files") が含まれている場合は、スペースがコマンドラインに属することを示すために、アプリケーションのコマンドラインを二重引用符で囲みます。これを行うには、パスを二重引用符で囲み、さらに %* 記号を二重引用符で囲みます。パスの閉じ引用符と %* 記号の開始引用符の間にスペースを含めるようにしてください。
たとえば、公開アプリケーションであるWindows Media Playerのコマンドラインは次のとおりです。
"C:\Program Files\Windows Media Player\mplayer1.exe" "%*"
注:
公開アプリケーションを起動するためのコマンドラインの最大文字数 (引数を含む) は203文字です。
公開アプリケーションでのセッションサインアウトの問題のトラブルシューティング
アプリケーションを公開する場合、公開アプリケーションのメインの実行可能ファイルのみが指定されます。ただし、一部のアプリケーションは、バックグラウンドで実行され、メインの公開アプリケーションが閉じられても対応するメインの実行可能ファイルによって閉じられない追加の (子) プロセスを生成する場合があります。追加のプロセスは、実行されるスクリプトや、Run や RunOnceKey などの特定のレジストリキーから作成されることもあります。これらのアプリケーションは、正常なサインアウトを妨げ、セッションが残留またはハングする原因となり、セッションが閉じられず、ユーザーがサインアウトされない可能性があります。
この場合、Citrix Directorを使用してこれらのセッションをリセットまたは終了する必要があります。
セッションが適切にサインアウトされない問題を特定し、トラブルシューティングを支援するために、Citrixは3つのレジストリエントリを提供しています。これらの問題によりセッションが適切にログオフされないことの特定とトラブルシューティングは、3段階のプロセスです。
-
正常なサインアウトを妨げている公開アプリケーションを持つセッションを特定する
ステップ2:それらの公開アプリケーションが追加の (子) プロセスを生成するかどうかを特定する
-
公開アプリケーションが正常なサインアウトを妨げていると特定されたら、次のステップは、このアプリケーションが実行時に追加のプロセスを生成するかどうかを判断することです。
-
HKCU\Software\CitrixVolatile\Seamless\Sessions\[ID]\LogoffCheckerBlockingProcessを読み取って、公開アプリケーションが閉じられたときに正常なサインアウトをブロックしているプロセスがあるかどうかを判断できます。 -
次の例では、キー
LogoffCheckerBlockingProcessに次のエントリが含まれています。 -
```
PhoneExperienceHost.exe SkypeApp.exe SkypeBackgroundHost.exe
これらのプロセスが正常なサインアウトを妨げていました。
- > **注:**
- >
- > [ID] を、確認したいセッションの正しいセッションIDに置き換えます。
- ### ステップ3:これらのプロセスを指定されたレジストリエントリに追加して、サインアウトを妨げないようにする
これらのプロセスを次のレジストリキーに追加して、今後のセッションでサインアウトを妨げないようにすることができます。
`LogoffCheckSysModules` の詳細については、「[公開アプリケーションからの正常なログオフによりセッションがアクティブな状態になる](https://support.citrix.com/support-home/kbsearch/article?articleNumber=CTX891671/graceful-logoff-from-a-published-application-renders-the-session-in-active-state)」を参照してください。
### ステップバイステップのトラブルシューティング ガイド
1. テスト対象の VDA でリモート レジストリ サービスを開始します。
- 1. コントロール パネルで、**[管理ツール] > [サービス]** を選択します。
- 1. **[リモート レジストリ サービス]** を右クリックし、**[プロパティ]** を選択します。
1. **[スタートアップの種類]** で、ドロップダウン メニューから **[自動]** を選択します。

1. テスト対象の VDA で Windows ファイアウォールをオフにするか、ポート 455 を有効にする受信ファイアウォール規則を作成します。
1. コントロール パネルで、**[Windows Defender ファイアウォール] > [詳細設定]** を選択します。
1. **[受信の規則]** を右クリックし、**[新しい規則]** を選択します。
1. **[新しい受信の規則ウィザード]** で、**[ポート]** を選択します。
1. **[プロトコルおよびポート]** ページで、**[TCP]** と **[特定のローカル ポート]** を選択します。ローカル ポートとして `445` を入力します。
1. **[操作]** ページで、**[接続を許可する]** を選択します。
1. 新しい受信規則を適用するファイアウォール プロファイルを選択します。
1. ファイアウォール規則に名前を付け、**[完了]** を選択して **[新しい受信の規則ウィザード]** を終了します。

1. 同じドメイン上の別の VM (DC、DDC、または別の VDA でも可) から `Regedit` を実行し、リモート レジストリに接続します。

1. テスト対象の VDA の IP アドレスを入力し、**[OK]** をクリックします。`regedit` ツリーにテスト対象の VDA のブランチが表示されるはずです。

1. **[コマンド プロンプト]** 公開アプリケーションを開きます。

**[コマンド プロンプト]** アプリが Citrix Workspace に表示されます。

1. クライアントで **[接続センター]** を開きます。これは、開いているシームレス アプリを閉じた後にセッションがサインアウトされたときに監視するために使用されます。次の画像では、コマンド プロンプト プロセス `c:\Windows\system32\cmd.exe` がリモート VDI でアクティブになっていることがわかります。

1. **regedit** が実行されているVDAから、次のリモートIPロケーションに移動します。
`HKEY_USERS\S-1-X-XX-XXXXXXXX-XXXXXXXXXXX-XXXXXXXXXX-XXXX\SOFTWARE\CitrixVolatile\Seamless\Sessions\X\`
> **注:**
>
> このパスは、新しいセッションを開くたびに変更されます。
1. ここで読み取るべきキーが2つあります (ここでは変更しないでください): **LogoffCheckBlockingProcess** と **LogoffCheckerBlockingVisibleProcess**。これらのキーは、サインアウトをブロックしているプログラムを表示します。最初のキーには `C:\Windows\System32\cmd.exe` が表示されているはずです。これは開いたままで、まだ閉じられていないためです。
> **注:**
>
> **LogoffCheckBlockingProcess** と **LogoffCheckerBlockingVisibleProcess** は手動で編集してはなりません。これらのレジストリ値を手動で編集すると、セッションが不安定になる可能性があります。

1. 右上隅の **X** をクリックして、**Seamless CMD** を終了します。
1. 接続センターを確認し、セッションが閉じるかどうかを確認します。閉じるまでに最大30秒かかる場合があります。閉じられた場合、正常なサインアウトを妨げるアプリケーションやプロセスはなかったことになります。

1. セッションが閉じなかった場合は、F5キーで **regedit** の出力を更新します。
1. **LogoffCheckBlockingProcess** と **LogoffCheckerBlockingVisibleProcess** の内容を再度確認します。CMDはもはや存在しないはずですが、別のプロセスがリストされているはずです。現在セッションのサインアウトをブロックしているプロセスがここに表示されているはずです。
このケースでは、コマンドプロンプトが閉じられる前に公開されたコマンドプロンプトから **Notepad.exe** が開かれており、このリモートのメモ帳プロセスが正常なサインアウトを妨げています。

1. この実行可能ファイルのパスと、それが表示されたキーをメモし、リモートツリーの下にある以下のレジストリキーに入力します。
- もし **LogoffCheckBlockingProcess** に表示される場合: `HKLM\SYSTEM\CurrentControlSet\Control\Citrix\wfshell\TWILogoffCheckSysModulesInternal`
- もし **LogoffCheckerBlockingVisibleProcess** に表示される場合: `HKLM\SYSTEM\CurrentControlSet\Control\Citrix\wfshell\TWILogoffCheckVisibleSysModules`
> **注:**
>
> キーにすでに1つ以上のエントリがある場合は、末尾にコンマを追加し、その後に新しいエントリを配置します。

1. クライアントの接続センターからセッションをサインアウトし、リモートアプリケーションを再度開きます。
1. リモートアプリケーションを閉じてから30秒以内にセッションが自動的にサインアウトされるまで、手順9~16を繰り返します。
> **注:**
>
> トラブルシューティング後、必要に応じてリモートレジストリへのアクセスを許可するために一時的なファイアウォールの変更を元に戻してください。
## 公開アプリケーションを開く際にWindowsの免責事項メッセージをフルサイズで表示するためのLogonUIの変更方法
認証パススルーが発生しないシナリオにおいて、**LogonUI** ウィンドウのスケーリングが改善されました。**LogonUI** ウィンドウは、モニターの解像度と使用されているDPI設定に基づいてスケーリングされ、**LogonUI** ウィンドウ全体がクリッピングなしで表示されることを保証します。
ウィンドウサイズは、レジストリでピクセル単位で手動設定することもできます。
1. **ファイル名を指定して実行** コマンドで `regedit` を使用して、**レジストリエディター** を開きます。
1. `HKEY_LOCAL_MACHINE\Software\Citrix\CtxHook\AppInit_DLLS\Seamless Hook\` に移動します。
1. 2つの新しいDWORDキー、**LogonUIWidth** と **LogonUIHeight** を作成します。
1. **LogonUI** ウィンドウに必要な幅と高さ(ピクセル単位)にキーの値を設定します。
**LogonUI** ウィンドウサイズを手動で設定すると、自動スケーリングは無効になります。
> **注:**
>
> これらのレジストリパスは2407以降で変更されました。古いレジストリ値は無視され、非推奨です。
デフォルトでは、**LogonUI**ウィンドウには、エンドユーザーが必要に応じてセッションから切断できる閉じるボタン付きのタイトルバーが含まれています。
### タイルバーの無効化
以下のレジストリキーを使用して、**LogonUI**ウィンドウのタイルバーを無効にできます。
1. **ファイル名を指定して実行**コマンドで`regedit`を使用してレジストリエディターを開きます。
1. `HKEY_LOCAL_MACHINE\Software\Citrix\CtxHook\AppInit_DLLS\Seamless Hook\`に移動します。
1. 新しいDWORDキー「**LogonUICaption**」を作成し、キーの値を`0`に設定します。

## アプリケーションフォルダーの管理
デフォルトでは、デリバリーグループに追加する新しいアプリケーションは、**Applications**という名前のフォルダーに配置されます。デリバリーグループの作成時、アプリケーションの追加時、または後で別のフォルダーを指定できます。
留意事項:
- Applicationsフォルダーの名前を変更したり削除したりすることはできませんが、その中に含まれるすべてのアプリケーションを、作成した他のフォルダーに移動することはできます。
- フォルダー名には1~64文字を含めることができます。スペースも使用できます。
- フォルダーは最大5レベルまでネストできます。
- フォルダーにアプリケーションが含まれている必要はありません。空のフォルダーも許可されます。
- フォルダーは、移動したり、作成時に別の場所を指定したりしない限り、Web Studioでアルファベット順に表示されます。
- 同じ名前のフォルダーを複数持つことができますが、それぞれ異なる親フォルダーを持つ必要があります。同様に、同じ名前のアプリケーションを複数持つことができますが、それぞれ異なるフォルダーにある必要があります。
- フォルダー内のアプリケーションを表示するには`View Applications`権限が必要です。また、アプリケーションを含むフォルダーを削除、名前変更、または削除するには、そのフォルダー内のすべてのアプリケーションに対して`Edit Application Properties`権限が必要です。
- 以下の手順のほとんどは、Web Studioのアクションバーを使用したアクションを要求します。または、右クリックメニューを使用したり、アイテムをドラッグしたりすることもできます。たとえば、意図しない場所にフォルダーを作成または移動した場合、ドラッグアンドドロップで正しい場所に移動できます。
- Studioのすべてのノード(**マシンカタログ**、**デリバリーグループ**、**アプリケーション**、**アプリケーショングループ**など)は、バックエンドで同じフォルダーツリーを共有します。フォルダーの名前変更または移動時に名前の競合を避けるため、異なるノード間で最上位フォルダーに一意の名前を使用してください。
`New-BrokerAdminFolder` SDKコマンドレットを使用してフォルダーを作成し、それを**Applications**ノードの下に表示させたい場合は、`Set-BrokerAdminFolderMetadata`コマンドレットを使用して`ContainsApplications`メタデータを追加する必要があります。
例:
```powershell
Set-BrokerAdminFolderMetadata -AdminFolderId {adminFolderUid} -Name ContainsApplications -Value true
<!--NeedCopy-->
アプリケーションフォルダーを管理するには、左側のペインでApplicationsを選択します。以下のリストを参考にしてください。
- すべてのフォルダーを表示するには(ネストされたフォルダーを除く): フォルダーリストの上にあるすべて表示をクリックします。
- 最上位レベルにフォルダーを作成するには(ネストなし): Applicationsフォルダーを選択します。新しいフォルダーをApplications以外の既存のフォルダーの下に配置するには、そのフォルダーを選択します。次に、アクションバーでフォルダーの作成を選択します。名前を入力します。
- フォルダーを移動するには: フォルダーを選択し、アクションバーでフォルダーの移動を選択します。フォルダーにネストされたフォルダーが含まれていない限り、一度に1つのフォルダーしか移動できません。(フォルダーを移動する最も簡単な方法は、ドラッグすることです。)
- フォルダーの名前を変更するには: フォルダーを選択し、アクションバーでフォルダー名の変更を選択します。名前を入力します。
- フォルダーを削除するには: フォルダーを選択し、アクションバーでフォルダーの削除を選択します。アプリケーションや他のフォルダーを含むフォルダーを削除すると、それらのオブジェクトも削除されます。アプリケーションを削除すると、デリバリーグループからのアプリケーション割り当てが削除されます。マシンからは削除されません。
- アプリケーションをフォルダーに移動するには: 1つ以上のアプリケーションを選択します。次に、アクションバーでアプリケーションの移動を選択します。フォルダーを選択します。
デリバリーグループまたはアプリケーショングループを作成する際に、アプリケーションページで追加するアプリケーションをフォルダーに配置することもできます。デフォルトでは、追加されたアプリケーションはApplicationsフォルダーに入ります。変更をクリックしてフォルダーを選択または作成します。
公開デスクトップでのアプリケーションのローカル起動の制御
ユーザーが公開デスクトップ内から公開アプリケーションを起動する場合、そのアプリケーションをデスクトップセッション内で起動するか、公開アプリケーションとして起動するかを制御できます。Citrix Workspaceアプリは、VDA上のWindowsレジストリでアプリケーションのインストールパスを検索し、存在する場合はアプリケーションのローカルインスタンスを起動します。それ以外の場合は、アプリケーションのホストされたインスタンスが起動されます。VDAにインストールされていないアプリケーションを起動すると、ホストされたアプリケーションが起動されます。詳細については、「vPrefer起動」を参照してください。
PowerShell(Citrix Cloud展開ではRemote PowerShell SDK、オンプレミス展開ではPowerShell SDKを使用)で、このアクションを変更できます。
New-BrokerアプリケーションまたはSet-BrokerApplicationコマンドレットで、LocalLaunchDisabledオプションを使用します。例:
Set-BrokerApplication -LocalLaunchDisabled <Boolean>
デフォルトでは、このオプションの値はfalse(-LocalLaunchDisabled $false)です。公開デスクトップ内から公開アプリケーションを起動すると、そのデスクトップセッション内でアプリケーションが起動されます。
このオプションの値をtrue(-LocalLaunchDisabled $true)に設定すると、公開アプリケーションが起動されます。これにより、公開デスクトップから(Windows向けCitrix Workspaceアプリを使用して)公開アプリケーションへの個別の追加セッションが作成されます。
要件と制限:
- アプリケーションの
ApplicationType値はHostedOnDesktopである必要があります。 - このオプションは、適切なPowerShell SDKを介してのみ利用可能です。現在、Web Studioのグラフィカルインターフェイスでは利用できません。
- このオプションには、StoreFront 3.14、Windows向けCitrix Receiver 4.11、およびDelivery Controller 7.17が最低限必要です。