アプリケーション
はじめに
展開環境でデリバリーグループのみを使用し(アプリケーショングループを使用しない場合)、アプリケーションをデリバリーグループに直接追加します。アプリケーショングループが利用可能な場合は、管理が簡素化されるため、代わりにアプリケーショングループにアプリケーションを追加する方が良いでしょう。すべてのアプリケーションは、少なくとも1つのデリバリーグループまたはアプリケーショングループに関連付けられている必要があります。
「アプリケーションの追加」ウィザードでは、1つ以上のデリバリーグループ、または1つ以上のアプリケーショングループを選択できますが、両方を同時に選択することはできません。後でアプリケーションのグループ関連付けを変更できますが(たとえば、アプリケーションをアプリケーショングループからデリバリーグループに移動するなど)、ベストプラクティスとしては、そのような複雑さを追加することは推奨されません。アプリケーションは1種類のグループに保持してください。
アプリケーションを複数のグループに関連付ける場合、それらのすべてのグループでアプリケーションを表示するための十分な権限がないと、可視性の問題が発生する可能性があります。そのような場合は、より高い権限を持つ管理者に相談するか、アプリケーションが関連付けられているすべてのグループを含むようにスコープを拡張してもらってください。
同じ名前の2つのアプリケーション(おそらく異なるグループからのもの)を同じユーザーに公開する場合、StudioでApplication name (for user)プロパティを変更してください。そうしないと、ユーザーはCitrix Workspace™アプリで重複する名前を目にします。
アプリケーションのプロパティ(設定)は、追加時または後で変更できます。アプリケーションが配置されるアプリケーションフォルダーも、アプリケーションの追加時または後で変更できます。
アプリケーションの追加
デリバリーグループまたはアプリケーショングループを作成または編集する際に、アプリケーションを追加できます。次の手順では、グループ作成後にアプリケーションを追加する方法について説明します。
知っておくと良いこと:
- Remote PCアクセスデリバリーグループにアプリケーションを追加することはできません。
- 「アプリケーションの追加」ウィザードを使用して、デリバリーグループまたはアプリケーショングループからアプリケーションを削除することはできません。これは別の操作です。
複数のデリバリーグループまたはアプリケーショングループに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.x バージョン 7.9 より前のバージョンで作成されたものであること
-
Edit delivery group権限があること。プロパティダイアログがコミットされると、デリバリーグループの種類は自動的にdesktops and applicationsに変換されます。
- 左ペインで Applications を選択し、アプリケーションを選択します。
- アクションバーで Properties を選択します。
-
Groups ページを選択します。
- グループを追加するには、Add をクリックし、Application Groups または Delivery Groups を選択します。(アプリケーショングループを作成していない場合、唯一の項目は Delivery Groups です。)次に、利用可能なグループを1つ以上選択します。アプリケーションと互換性のないグループ、またはすでにアプリケーションに関連付けられているグループは選択できません。
- グループを削除するには、1つ以上のグループを選択し、Remove をクリックします。グループの関連付けを削除した結果、アプリケーションがどのグループにも関連付けられなくなった場合、アプリケーションが削除されることを警告されます。
- グループの優先度を変更するには、グループを選択し、「優先度の編集」をクリックします。優先度を選択し、「OK」をクリックします。
- 完了したら、変更を適用してウィンドウを開いたままにするには「適用」をクリックするか、変更を適用してウィンドウを閉じるには「OK」をクリックします。
アプリケーションのプロパティを変更する
一度に1つのアプリケーションのプロパティのみを変更できます。
アプリケーションのプロパティを変更するには:
- 左側のペインで「アプリケーション」を選択します。
- アプリケーションを選択し、アクションバーで「プロパティ」を選択します。
- 左側のペインで、変更するプロパティを含むページを選択します。
- 完了したら、加えた変更を適用してウィンドウを開いたままにするには「適用」をクリックするか、変更を適用してウィンドウを閉じるには「保存」をクリックします。
| ページ名 | 説明 |
|---|---|
| 識別
|
アプリケーションの説明と名前を指定します:
|
| 説明と、必要に応じてStoreFrontのキーワード。 | |
| 配信
|
このアプリケーションをユーザーに配信する方法を指定します。 |
| アイコン | |
| アプリケーションがストアに表示されるカテゴリまたはフォルダー。 | |
| ユーザーのデスクトップにショートカットを作成するかどうか。 | |
| 制限。アプリケーション制限の構成を参照してください。 | |
| パッケージ化されたアプリケーションの可視性: Citrix Virtual Desktops、Citrix Virtual Apps、またはその両方。 | |
| 場所
|
以下の場所を指定します:
|
| グループ | アプリケーションが利用可能なデリバリーグループまたはアプリケーショングループの優先順位を追加、削除、または変更します。 |
| 可視性の制限
|
Citrix Workspaceアプリでどのユーザーがアプリケーションを表示できるかを制御します。非表示のアプリケーションでも起動できます。利用不可かつ非表示にするには、別のグループに追加します。
注: 現在、この機能はADユーザーとMicrosoft Entraユーザーのみが利用できます。Microsoft Entraユーザーの場合、アプリの可視性制限にはVDAバージョン2411以降が必要です。 |
| ファイルタイプの関連付け | アプリケーションが自動的に開く拡張子を指定します。 |
| ゾーン | サイトに複数のゾーンが含まれている場合、ゾーンがアプリケーションの起動に影響するかどうかを指定します。 |
アプリケーションの変更は、現在のアプリケーションユーザーがセッションからログオフするまで有効にならない場合があります。
アプリケーション制限の構成
アプリケーションの使用状況を管理するために、アプリケーション制限を構成します。たとえば、アプリケーション制限を使用して、アプリケーションに同時にアクセスするユーザーの数を管理できます。同様に、アプリケーション制限は、リソースを大量に消費するアプリケーションの同時インスタンス数を管理するために使用できます。この制限は、サーバーのパフォーマンスを維持し、サービスの劣化を防ぐのに役立ちます。
この機能は、Controllerによって仲介されるアプリケーションの起動数(Citrix WorkspaceアプリやStoreFrontなどからの起動)を制限するものであり、他の方法で起動できる実行中のアプリケーションの数を制限するものではありません。つまり、アプリケーション制限は管理者が同時使用を管理するのに役立ちますが、すべてのシナリオで強制するものではありません。たとえば、Controllerが停止モードの場合、アプリケーション制限は適用できません。
デフォルトでは、同時に実行できるアプリケーションインスタンスの数に制限はありません。いくつかのアプリケーション制限設定があります。それらのいずれかまたはすべてを構成できます。
- デリバリーグループ内のすべてのユーザーによるアプリケーションの同時インスタンスの最大数。
- デリバリーグループ内のユーザーごとに1つのアプリケーションインスタンス。
- マシンごとのアプリケーションの同時インスタンスの最大数(PowerShellのみ)。
制限が構成されている場合、ユーザーが構成された制限を超えるアプリケーションインスタンスを起動しようとすると、エラーメッセージが生成されます。複数の制限が構成されている場合、最初の制限に達したときにエラーが報告されます。
アプリケーション制限の使用例:
-
同時インスタンスの最大数制限: デリバリーグループで、アプリケーション
Alphaの同時インスタンスの最大数を15に構成します。その後、そのデリバリーグループのユーザーは、そのアプリケーションのインスタンスを15個同時に実行します。そのデリバリーグループのいずれかのユーザーがAlphaを起動しようとすると、エラーメッセージが生成されます。Alphaは、構成された同時アプリケーションインスタンス制限(15)を超えるため、起動されません。 -
ユーザーあたり1インスタンスのアプリケーション制限: 別のデリバリーグループで、アプリケーション
Betaのユーザーあたり1インスタンスオプションを有効にします。ユーザーのTonyはアプリケーションBetaを正常に起動します。その日の後半、そのアプリケーションがTonyのセッションでまだ実行されている間に、彼はBetaの別のインスタンスを起動しようとします。エラーメッセージが生成され、Betaはユーザーあたり1インスタンスの制限を超えるため、起動されません。 -
同時インスタンスの最大数とユーザーあたり1インスタンスの制限: 別のデリバリーグループで、同時インスタンスの最大数を10に構成し、アプリケーション
Deltaのユーザーあたり1インスタンスオプションを有効にします。その後、そのデリバリーグループの10人のユーザーがそれぞれDeltaのインスタンスを実行している場合、そのデリバリーグループの他のユーザーがDeltaを起動しようとすると、エラーメッセージが表示されます。Deltaは起動されません。現在の10人のDeltaユーザーのいずれかがそのアプリケーションの2番目のインスタンスを起動しようとすると、エラーメッセージが表示され、2番目のインスタンスは起動されません。 -
マシンあたりの同時インスタンスの最大数、およびタグ制限の使用: アプリケーション
Charlieには、特定のサーバーで同時に実行できるインスタンスの数を規定するライセンス要件とパフォーマンス要件があります。これらの要件は、サイト内のすべてのサーバーで同時に実行できるインスタンスの数も規定します。アプリケーションのインスタンスごとのマシン制限は、サイト内のすべてのサーバーに影響します(特定のデリバリーグループ内のマシンだけでなく)。サイトに3台のサーバーがあるとします。アプリケーション
Charlieの場合、マシンあたりのアプリインスタンス制限を2に構成します。したがって、サイト全体でアプリケーションCharlieのインスタンスを6つまでしか起動できません。(これは、3台の各サーバーでCharlieのインスタンスが2つという制限です。)デリバリーグループ内の特定のコンピューターにアプリケーションの使用を制限するには(サイト全体のすべてのコンピューターでのインスタンスを制限することに加えて):
- それらのマシンにタグ付け機能を使用します。
- そのアプリケーションのマシンあたりの最大インスタンス数を構成します。
Controllerのブローカー以外の方法でアプリケーションが起動され(たとえば、Controllerが停止モードの場合など)、構成された制限を超過した場合、ユーザーは制限を超過しなくなるまで十分なインスタンスを閉じるまで、それ以上のインスタンスを起動できません。制限を超過したインスタンスは強制的にシャットダウンされません。ユーザーが閉じるまで継続して実行できます。
セッションローミングを無効にする場合は、ユーザーごとのインスタンス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
<!--NeedCopy-->
これらのプロセスが正常なサインアウトを妨げていました。
注:
確認したいセッションの正しいセッションIDで [ID] を置き換えてください。
ステップ3:これらのプロセスを指定されたレジストリエントリに追加して、サインアウトを妨げないようにする
これらのプロセスを以下のレジストリキーに追加することで、今後のセッションでサインアウトが妨げられるのを防ぐことができます。
Add the process file name to the following registry key:
Caution! Refer to the Disclaimer at the end of this article before using the Registry Editor.
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Citrix\wfshell\TWI
Value Name:LogoffCheckSysModules
Type:REG_SZ
String:MyAppName.exe
<!--NeedCopy-->
LogoffCheckSysModules の詳細については、「公開アプリケーションからの正常なログオフによりセッションがアクティブ状態になる」を参照してください。
ステップバイステップのトラブルシューティングガイド
-
テスト対象のVDAでリモートレジストリサービスを開始します。
-
コントロールパネルで、管理ツール > サービス を選択します。
-
リモートレジストリサービス を右クリックし、プロパティ を選択します。
-
スタートアップの種類 で、ドロップダウンメニューから 自動 を選択します。

-
-
テスト対象のVDAでWindowsファイアウォールをオフにするか、ポート455を有効にするための受信ファイアウォールルールを作成します。
-
コントロールパネルで、Windows Defender Firewall > Advanced Settings を選択します。
-
Inbound Rules を右クリックし、New Rule を選択します。
-
New Inbound Rule Wizard で、Port を選択します。
-
Protocols and Ports ページで、TCP and Specific Local Ports を選択します。ローカルポートとして
445を入力します。 -
Action ページで、Allow Connection を選択します。
-
新しい受信規則を適用するファイアウォールプロファイルを選択します。
-
ファイアウォール規則に名前を付け、Finish を選択して New Inbound Rule wizard を終了します。
公開アプリケーションのファイアウォールポート(/en-us/citrix-daas/media/published-app-firewall-port.png)
-
-
同じドメイン上の別のVM(DC、DDC、または別のVDAでも構いません)から、
Regeditを実行し、リモートレジストリに接続します。公開アプリケーションのレジストリエディター(/en-us/citrix-daas/media/published-app-registry-editor.png)
-
テスト対象のVDAのIPアドレスを入力し、OK をクリックします。
regeditツリーには、テスト対象のVDAのブランチが表示される必要があります。公開アプリケーションのregedit(/en-us/citrix-daas/media/published-app-regedit.png)
-
Command Prompt 公開アプリケーションを開きます。
公開アプリケーションの管理(/en-us/citrix-daas/media/published-app-manage.png)
Command Prompt アプリはCitrix Workspaceアプリに表示されます。

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

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

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

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

-
LogoffCheckBlockingProcess に表示される場合:
-
クライアントの接続センターからセッションをサインアウトし、リモートアプリケーションを再度開きます。
-
リモートアプリケーションを閉じてから30秒以内にセッションが自動的にサインアウトされるまで、手順9~16を繰り返します。
注:
トラブルシューティング後、必要に応じて、リモートレジストリアクセスを許可するために一時的なファイアウォール変更を元に戻してください。
公開アプリケーションを開く際にWindowsの免責事項メッセージをフルサイズで表示するようにLogonUIを変更する方法
認証パススルーが発生しないシナリオでは、LogonUI ウィンドウのスケーリングが改善されました。LogonUI ウィンドウは、使用されているモニターの解像度とDPI設定に基づいてスケーリングされ、LogonUI ウィンドウ全体がクリッピングなしで表示されるようにします。
ウィンドウのサイズは、レジストリで手動でピクセル単位で設定することもできます。
-
「ファイル名を指定して実行」コマンドで
regeditを使用して、レジストリエディターを開きます。 -
HKEY_LOCAL_MACHINE\Software\Citrix\CtxHook\AppInit_DLLS\Seamless Hook\に移動します。 -
2つの新しいDWORDキー、LogonUIWidthとLogonUIHeightを作成します。
-
LogonUIウィンドウのキーの値を、必要な幅と高さ(ピクセル単位)に設定します。
LogonUIウィンドウのサイズを手動で設定すると、自動スケーリングは無効になります。
注:
これらのレジストリパスは2407以降変更されました。古いレジストリ値は無視され、非推奨です。
デフォルトでは、LogonUIウィンドウには閉じるボタン付きのタイトルバーが含まれており、必要に応じてエンドユーザーがセッションから切断できます。
タイトルバーを無効にする
次のレジストリキーを使用して、LogonUIウィンドウのタイトルバーを無効にできます。
-
「ファイル名を指定して実行」コマンドで
regeditを使用して、レジストリエディターを開きます。 -
HKEY_LOCAL_MACHINE\Software\Citrix\CtxHook\AppInit_DLLS\Seamless Hook\に移動します。 -
新しいDWORDキーLogonUICaptionを作成し、キーの値を
0に設定します。タイトルバー付きのLogonUIウィンドウ(/en-us/citrix-daas/media/logonui-window-with-tilebar.png)
アプリケーションフォルダーの管理
デフォルトでは、デリバリーグループに追加する新しいアプリケーションは、Applicationsという名前のフォルダーに配置されます。デリバリーグループの作成時、アプリケーションの追加時、または後で別のフォルダーを指定できます。
参考情報:
- Applicationsフォルダーの名前を変更したり、削除したりすることはできませんが、そのフォルダーに含まれるすべてのアプリケーションを、作成した他のフォルダーに移動することはできます。
- フォルダー名には1~64文字を含めることができます。スペースも使用できます。
- フォルダーは最大5レベルまでネストできます。
- フォルダーにアプリケーションを含める必要はありません。空のフォルダーも許可されます。
- フォルダーはWeb Studioでアルファベット順に表示されます。ただし、移動した場合や、作成時に別の場所を指定した場合は除きます。
- それぞれが異なる親フォルダーを持つ限り、同じ名前のフォルダーを複数持つことができます。同様に、それぞれが異なるフォルダーにある限り、同じ名前のアプリケーションを複数持つことができます。
- フォルダー内のアプリケーションを表示するには、
View Applications権限が必要です。また、アプリケーションを含むフォルダーを削除、名前変更、または削除するには、フォルダー内のすべてのアプリケーションに対してEdit Application Properties権限が必要です。 - 以下のほとんどの手順では、Web Studioのアクションバーを使用してアクションを要求します。または、右クリックメニューを使用するか、項目をドラッグすることもできます。たとえば、意図しない場所にフォルダーを作成または移動した場合、ドラッグアンドドロップで正しい場所に移動できます。
-
Studioのすべてのノード(マシンカタログ、デリバリーグループ、アプリケーション、アプリケーショングループなど)は、バックエンドで同じフォルダーツリーを共有します。フォルダーの名前変更や移動時に名前の競合を避けるため、異なるノード間で最上位レベルのフォルダーには一意の名前を使用してください。
New-BrokerAdminFolderSDKコマンドレットを使用してフォルダーを作成し、それをApplicationsノードの下に表示させたい場合、Set-BrokerAdminFolderMetadataコマンドレットを使用してContainsApplicationsメタデータを追加する必要があります。例:
Set-BrokerAdminFolderMetadata -AdminFolderId {adminFolderUid} -Name ContainsApplications -Value true <!--NeedCopy-->
アプリケーションフォルダーを管理するには、左ペインでApplicationsを選択します。以下のリストを参考にしてください。
- すべてのフォルダーを表示するには(ネストされたフォルダーを除く): フォルダーリストの上にあるすべて表示をクリックします。
- 最上位レベル(ネストされていない)でフォルダーを作成するには: アプリケーションフォルダーを選択します。新しいフォルダーをアプリケーション以外の既存のフォルダーの下に配置するには、そのフォルダーを選択します。次に、アクションバーでフォルダーの作成を選択します。名前を入力します。
- フォルダーを移動するには: フォルダーを選択し、アクションバーでフォルダーの移動を選択します。ネストされたフォルダーが含まれていない限り、一度に1つのフォルダーしか移動できません。(フォルダーを移動する最も簡単な方法は、ドラッグすることです。)」
- フォルダーの名前を変更するには: フォルダーを選択し、アクションバーでフォルダー名の変更を選択します。名前を入力します。
- フォルダーを削除するには: フォルダーを選択し、アクションバーでフォルダーの削除を選択します。アプリケーションや他のフォルダーを含むフォルダーを削除すると、それらのオブジェクトも削除されます。アプリケーションを削除すると、デリバリーグループからのアプリケーション割り当てが削除されます。ただし、マシンからは削除されません。
- アプリケーションをフォルダーに移動するには: 1つ以上のアプリケーションを選択します。次に、アクションバーでアプリケーションの移動を選択します。フォルダーを選択します。
デリバリーグループまたはアプリケーショングループを作成する際に、アプリケーションページで追加するアプリケーションをフォルダーに配置することもできます。デフォルトでは、追加されたアプリケーションはアプリケーションフォルダーに入ります。フォルダーを選択または作成するには、変更をクリックします。
公開デスクトップでのアプリケーションのローカル起動を制御する
ユーザーが公開デスクトップ内から公開アプリケーションを起動するときに、そのデスクトップセッションでアプリケーションを起動するか、公開アプリケーションとして起動するかを制御できます。Citrix Workspaceアプリは、VDA上のWindowsレジストリでアプリケーションのインストールパスを検索し、存在する場合はアプリケーションのローカルインスタンスを起動します。それ以外の場合は、ホストされたアプリケーションのインスタンスが起動されます。VDAにインストールされていないアプリケーションを起動すると、ホストされたアプリケーションが起動されます。詳細については、vPrefer起動を参照してください。
PowerShell(Citrix Cloud展開ではRemote PowerShell SDKを使用し、オンプレミス展開ではPowerShell SDKを使用)で、このアクションを変更できます。
New-Broker Applicationまたは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、Citrix Receiver for Windows 4.11、およびDelivery Controller 7.17が必要です。
この記事の概要
- はじめに
- アプリケーションの追加
- アプリケーションのグループ関連付けを変更する
- アプリケーションのプロパティを変更する
- アプリケーション制限の構成
- アプリケーションの複製、有効化または無効化、名前変更、または削除
- デリバリーグループからアプリケーションを削除する
- アプリケーショングループからアプリケーションを削除する
- 公開アプリケーションにパラメーターを渡す
- 公開アプリケーションでのセッションサインアウトの問題のトラブルシューティング
- 公開アプリケーションを開く際にWindowsの免責事項メッセージをフルサイズで表示するようにLogonUIを変更する方法
- アプリケーションフォルダーの管理
- 公開デスクトップでのアプリケーションのローカル起動を制御する