Citrix Virtual Apps and Desktops

アプリケーション

注記:

バージョン 2511 以降、Citrix Web Studio (Web ベース) は Citrix Virtual Apps and Desktops™ の唯一の管理コンソールです。Citrix Studio (MMC ベース) はインストーラーから削除されました。この記事は Web Studio にのみ適用されます。Citrix Studio の詳細については、Citrix Virtual Apps and Desktops 7 2212 以前の同等の記事を参照してください。

はじめに

展開でデリバリーグループのみを使用し、アプリケーショングループを使用しない場合、アプリケーションをデリバリーグループに追加します。アプリケーショングループも使用している場合は、通常、代わりにアプリケーションをアプリケーショングループに追加します。このガイダンスにより、管理が容易になります。アプリケーションは常に、少なくとも 1 つのデリバリーグループまたはアプリケーショングループに属している必要があります。

アプリケーションの追加ウィザードでは、1 つ以上のデリバリーグループ、または 1 つ以上のアプリケーショングループを選択できますが、両方を同時に選択することはできません。後でアプリケーションのグループ関連付けを変更することはできますが (たとえば、アプリケーションをアプリケーショングループからデリバリーグループに移動するなど)、このような複雑さを追加することはベストプラクティスとして推奨されません。アプリケーションは 1 種類のグループに保持してください。

  • アプリケーションを複数のグループに関連付ける場合、それらのすべてのグループでアプリケーションを表示するのに十分な権限がないと、可視性の問題が発生する可能性があります。そのような場合は、より高い権限を持つ管理者に相談するか、アプリケーションが関連付けられているすべてのグループを含むようにスコープを拡張してください。

同じ名前のアプリケーションを 2 つ (異なるグループからであっても) 同じユーザーに公開する場合、Web Studio で Application name (for user) プロパティを変更してください。そうしないと、ユーザーは Citrix Workspace™ アプリで重複する名前を目にすることになります。

アプリケーションのプロパティ (設定) は、追加時または後で変更できます。アプリケーションが配置されるアプリケーションフォルダーも、アプリケーションの追加時または後で変更できます。

アプリケーションは、デリバリーグループまたはアプリケーショングループの作成時に追加できます。これらの手順は、「デリバリーグループの作成」および「アプリケーショングループの作成」で詳しく説明されています。以下の手順では、グループ作成後にアプリケーションを追加する方法について説明します。

知っておくと良いこと:

  • Remote PC Access デリバリーグループにはアプリケーションを追加できません。
  • アプリケーションの追加ウィザードを使用して、デリバリーグループまたはアプリケーショングループからアプリケーションを削除することはできません。これは別の操作です。

  • 1 つ以上のアプリケーションを追加するには:

      1. 左ペインで [アプリケーション] を選択し、アクションバーで [アプリケーションの追加] を選択します。
      1. アプリケーションの追加ウィザードが [はじめに] ページで起動します。このページは、今後のウィザード起動時に表示しないように設定できます。
  1. ウィザードは、[グループ][アプリケーション][概要] の各ページを案内します。各ページの作業が完了したら、[次へ] をクリックして [概要] ページに進みます。
  • 単一のデリバリーグループまたはアプリケーショングループにアプリケーションを追加する場合のステップ 1 の代替案:

  • 1 つのデリバリーグループにのみアプリケーションを追加する場合: ステップ 1 で、Web Studio の左ペインで [デリバリーグループ] を選択し、中央ペインでデリバリーグループを選択してから、アクションバーで [アプリケーションの追加] を選択します。ウィザードには [グループ] ページが表示されません。
  • 1 つのアプリケーショングループにのみアプリケーションを追加する場合: ステップ 1 で、Web Studio の左ペインで [アプリケーション] を選択し、中央ペインでアプリケーショングループを選択してから、アクションバーのアプリケーショングループ名の下にある [アプリケーションの追加] エントリを選択します。ウィザードには [グループ] ページが表示されません。

グループページ

このページには、サイト内のすべてのデリバリーグループが一覧表示されます。アプリケーショングループも作成している場合は、アプリケーショングループとデリバリーグループが一覧表示されます。いずれかのグループから選択できますが、両方のグループから同時に選択することはできません。つまり、アプリケーションをアプリケーショングループとデリバリーグループに同時に追加することはできません。通常、アプリケーショングループを使用している場合は、デリバリーグループではなくアプリケーショングループにアプリケーションを追加します。

アプリケーションを追加する際は、少なくとも 1 つのデリバリーグループ (または利用可能な場合はアプリケーショングループ) の横にあるチェックボックスをオンにします。すべてのアプリケーションは常に、少なくとも 1 つのグループに関連付けられている必要があります。

アプリケーションページ

[追加] をクリックして、アプリケーションソースを表示します。

-  **[スタートメニューから]:** 選択したデリバリーグループ内のマシンで検出されたアプリケーション。このソースを選択すると、検出されたアプリケーションのリストを含む新しいページが起動します。追加するアプリケーションのチェックボックスをオンにして、**[OK]** をクリックします。

-  このソースは、(1) 関連付けられたデリバリーグループがないアプリケーショングループを選択した場合、(2) マシンを含まない関連付けられたデリバリーグループを持つアプリケーショングループを選択した場合、または (3) マシンを含まないデリバリーグループを選択した場合は選択できません。

-  **[手動]:** デリバリーグループ内の VDA またはネットワーク上の別の場所にあるアプリケーション。このソースを選択すると、新しいページが開き、次の方法で追加するアプリケーションを指定できます。
-  実行可能ファイルへのパス、作業ディレクトリ、オプションのコマンドライン引数、管理者およびユーザー向けの表示名を入力します。
-  デリバリーグループ内の VDA からアプリケーションを選択します。これを行うには、**[参照]** をクリックし、VDA にアクセスするための資格情報を入力し、VDA への接続を待ってから、VDA からアプリケーションを選択します。選択したアプリケーションのプロパティが、ページ上のフィールドに自動的に入力されます。
  • [既存]: 以前にサイトに追加されたアプリケーション。このソースを選択すると、検出されたアプリケーションのリストを含む新しいページが起動します。追加するアプリケーションのチェックボックスをオンにして、[OK] をクリックします。

  • サイトにアプリケーションがない場合、このソースは選択できません。

  • アプリケーションパッケージ: App-V、MSIX、MSIX app attach、またはFlexAppアプリケーションパッケージ内のアプリケーション。このソースを選択すると、パッケージからのアプリケーションの追加ページが起動します。アプリケーションパッケージソースを選択し、表示されたリストから追加するアプリケーションを選択して、OKを選択します。詳細については、「アプリパッケージの展開と配信」を参照してください。

  • アプリケーショングループ: アプリケーショングループ。このソースを選択すると、アプリケーショングループのリストを含む新しいページが起動します。(表示には各グループ内のアプリケーションもリストされますが、個々のアプリケーションではなくグループのみを選択できます。)選択したグループ内の現在および将来のすべてのアプリケーションが追加されます。追加するアプリケーショングループのチェックボックスを選択し、OKをクリックします。

    このソースは、(1)アプリケーショングループがない場合、または(2)選択したデリバリーグループがアプリケーショングループをサポートしていない場合(たとえば、静的に割り当てられたマシンを持つデリバリーグループ)には選択できません。

表に示されているように、追加リストの一部のソースは、そのタイプの有効なソースがない場合は選択できません。互換性のないソース(たとえば、アプリケーショングループにアプリケーショングループを追加することはできません)はリストに含まれません。選択したグループに既に追加されているアプリケーションは選択できません。

このページまたは後で、アプリケーションのプロパティ(設定)を変更できます。

デフォルトでは、追加されたアプリケーションはApplicationsという名前のアプリケーションフォルダーに配置されます。このページまたは後で、アプリケーションを変更できます。アプリケーションを追加しようとして、同じ名前のアプリケーションが同じフォルダーに存在する場合、追加しようとしているアプリケーションの名前を変更するように求められます。提示された新しい名前を受け入れるか、拒否してアプリケーションの名前を変更するか、別のフォルダーを選択できます。たとえば、appがすでにApplicationsフォルダーに存在し、そのフォルダーにappという名前の別のアプリケーションを追加しようとすると、新しい名前app_1が提示されます。

概要ページ

10個以下のアプリケーションを追加する場合、それらの名前は追加するアプリケーションにリストされます。10個を超えるアプリケーションを追加する場合、合計数が指定されます。

概要情報を確認し、完了をクリックします。

アプリケーションのグループ関連付けの変更

アプリケーションを追加した後、アプリケーションが関連付けられているデリバリーグループとアプリケーショングループを変更できます。

アプリケーションを別のグループにドラッグできます。これは、アクションバーのコマンドを使用する代替手段です。

アプリケーションがアプリケーショングループを使用するか直接使用するかにかかわらず、複数のデリバリーグループに関連付けられている場合、グループの優先順位を使用して、複数のグループが評価される順序を指定できます。アクセスポリシー、ユーザーリスト、スマートアクセスタグなどの要因に基づいてグループを考慮対象から除外でき、グループから選択される特定のマシンは、ゾーンの優先順位、起動準備、およびタグの制限などの要因によって影響を受ける可能性があります。デフォルトでは、すべてのグループの優先順位は0(最高)です。デリバリーグループの優先順位が同じ場合、最も負荷の低いデリバリーグループがアプリケーションの起動に選択されます。この場合、垂直ロードバランシングは考慮されません。

アプリケーションは、アプリケーションを配信できる共有(プライベートではない)マシンを含むデリバリーグループに関連付けることができます。また、共有マシンを含むデリバリーグループがデスクトップのみを配信する場合でも、(1)デリバリーグループに共有マシンが含まれており、7.9より前のXenDesktop 7.xバージョンで作成された場合、および(2)Edit delivery group権限がある場合は、そのデリバリーグループを選択できます。プロパティダイアログがコミットされると、デリバリーグループのタイプは自動的にdesktops and applicationsに変換されます。

  1. Web Studioにサインインし、左ペインでアプリケーションを選択し、アプリケーションを選択します。
  2. アクションバーでプロパティを選択します。
  3. グループページを選択します。
    • グループを追加するには、追加をクリックし、アプリケーショングループまたはデリバリーグループを選択します。(アプリケーショングループを作成していない場合、エントリはデリバリーグループのみです。)次に、1つ以上の利用可能なグループを選択します。アプリケーションと互換性のないグループ、またはすでにアプリケーションに関連付けられているグループは選択できません。
    • グループを削除するには、1つ以上のグループを選択し、削除をクリックします。グループの関連付けを削除した結果、アプリケーションがどのグループとも関連付けられなくなる場合、アプリケーションが削除されることを警告されます。
    • グループの優先順位を変更するには、グループを選択し、優先順位の編集をクリックします。優先順位の値を選択し、OKをクリックします。
  4. 完了したら、適用をクリックして変更を適用し、ウィンドウを開いたままにするか、OKをクリックして変更を適用し、ウィンドウを閉じます。

アプリケーションの複製、有効化または無効化、名前変更、または削除

次のアクションが利用可能です。

  • 複製: 異なるパラメーターまたはプロパティを持つ異なるバージョンを作成するために、アプリケーションを複製したい場合があります。アプリケーションを複製すると、一意のサフィックスで自動的に名前が変更され、元のアプリケーションの隣に配置されます。アプリケーションを複製してから、別のグループに追加したい場合もあります。(複製後、アプリケーションを移動する最も簡単な方法はドラッグすることです。)
  • 有効化または無効化: アプリケーションの有効化と無効化は、デリバリーグループまたはアプリケーショングループの有効化と無効化とは異なるアクションです。
    • 名前変更: 一度に1つのアプリケーションのみ名前を変更できます。アプリケーションの名前を変更しようとして、同じ名前のアプリケーションが同じフォルダーまたはグループに存在する場合、別の名前を指定するように求められます。
    • 削除: アプリケーションを削除すると、関連付けられていたデリバリーグループおよびアプリケーショングループから削除されますが、アプリケーションを最初に追加するために使用されたソースからは削除されません。アプリケーションの削除は、デリバリーグループまたはアプリケーショングループから削除するのとは異なるアクションです。

    • アプリケーションを複製、有効化、無効化、名前変更、または削除するには:
  1. 左ペインでアプリケーションを選択します。
  2. 中央ペインで1つ以上のアプリケーションを選択し、アクションバーで適切なタスクを選択します。
      1. プロンプトが表示されたら、アクションを確認します。

デリバリーグループからのアプリケーションの削除

アプリケーションは、少なくとも1つのデリバリーグループまたはアプリケーショングループに関連付けられている(属している)必要があります。アプリケーションをデリバリーグループから削除しようとして、そのアプリケーションがどのデリバリーグループまたはアプリケーショングループとも関連付けられなくなる場合、続行するとアプリケーションが削除されることが通知されます。その場合、そのアプリケーションを配信したい場合は、有効なソースから再度追加する必要があります。

    -  1.  左ペインで**デリバリーグループ**を選択します。
-  1.  デリバリーグループを選択します。下部中央ペインの**アプリケーション**タブで、削除するアプリケーションを選択します。
  1. アクションバーからアプリケーションの削除を選択します。
  2. 削除を確認します。

アプリケーショングループからのアプリケーションの削除

アプリケーションは、少なくとも1つのデリバリーグループまたはアプリケーショングループに属している必要があります。アプリケーションをアプリケーショングループから削除しようとして、そのアプリケーションがどのグループにも属さなくなる場合、続行するとアプリケーションが削除されることが通知されます。その場合、そのアプリケーションを配信したい場合は、有効なソースから再度追加する必要があります。

-  1.  左ペインで**アプリケーション**を選択します。
    -  1.  中央ペインでアプリケーショングループを選択し、1つ以上のアプリケーションを選択します。
    -  1.  アクションバーで**アプリケーショングループから削除**を選択します。
  1. 削除を確認します。
  • アプリケーションプロパティの変更

一度に1つのアプリケーションのプロパティのみを変更できます。

アプリケーションのプロパティを変更するには:

  1. 左ペインでアプリケーションを選択します。
  2. アプリケーションを選択し、アクションバーでアプリケーションプロパティの編集を選択します。
  3. 変更するプロパティを含むページを選択します。
  4. 完了したら、適用をクリックして変更を適用しウィンドウを開いたままにするか、OKをクリックして変更を適用しウィンドウを閉じます。

次のリストでは、ページが括弧内に示されています。

プロパティ ページ
Citrix Workspaceアプリにアプリケーションが表示されるカテゴリ/フォルダー デリバリー
コマンドライン引数。「公開アプリケーションへのパラメーターの受け渡し」を参照してください。 場所
アプリケーションが利用可能なデリバリーグループおよびアプリケーショングループ グループ
説明 識別
ファイル名拡張子とファイルの種類関連付け:アプリケーションが自動的に開く拡張子 ファイルの種類関連付け
アイコン デリバリー
StoreFront™のキーワード 識別
制限。「アプリケーション制限の構成」を参照してください。 デリバリー
名前:ユーザーおよび管理者が参照する名前 識別
実行可能ファイルへのパス。「公開アプリケーションへのパラメーターの受け渡し」を参照してください。 場所
ユーザーのデスクトップ上のショートカット:有効または無効 デリバリー
可視性:Citrix Workspaceアプリでアプリケーションを表示できるユーザーを制限します。非表示のアプリケーションでも起動できます。利用不可かつ非表示にするには、別のグループに追加します。 可視性の制限
作業ディレクトリ 場所

アプリケーションの変更は、現在のアプリケーションユーザーがセッションからログオフするまで有効にならない場合があります。

アプリケーション制限の構成

アプリケーション制限を構成して、アプリケーションの使用を管理できます。たとえば、アプリケーション制限を使用して、アプリケーションに同時にアクセスするユーザーの数を管理できます。同様に、アプリケーション制限は、リソースを大量に消費するアプリケーションの同時インスタンスの数を管理するためにも使用されます。この制限は、サーバーのパフォーマンスを維持し、サービスの劣化を防ぐのに役立ちます。

この機能は、Controllerによって仲介される(たとえば、Citrix WorkspaceアプリやStoreFrontからの)アプリケーション起動の数を制限するものであり、他の方法で起動できる実行中のアプリケーションの数を制限するものではありません。これは、アプリケーション制限が同時使用を管理する際に管理者を支援するものの、すべてのシナリオで強制力を持つわけではないことを意味します。たとえば、Controllerが停止モードの場合、アプリケーション制限は適用できません。

デフォルトでは、同時に実行できるアプリケーションインスタンスの数に制限はありません。いくつかのアプリケーション制限設定があります。それらのいずれかまたはすべてを構成できます。

  • デリバリーグループ内のすべてのユーザーによるアプリケーションの同時インスタンスの最大数。
  • デリバリーグループ内のユーザーごとのアプリケーションのインスタンス数。
  • マシンごとのアプリケーションの同時インスタンスの最大数(PowerShellのみ)。

制限が構成されている場合、ユーザーが構成された制限を超えるアプリケーションインスタンスを起動しようとすると、エラーメッセージが生成されます。複数の制限が構成されている場合、最初の制限に達したときにエラーが報告されます。

アプリケーション制限の使用例:

  • 同時インスタンス数の最大制限: デリバリーグループで、アプリケーションAlphaの同時インスタンスの最大数を15に構成します。その後、そのデリバリーグループのユーザーは、そのアプリケーションの15個のインスタンスを同時に実行します。そのデリバリーグループのいずれかのユーザーがAlphaを起動しようとすると、エラーメッセージが生成されます。Alphaは、構成された同時アプリケーションインスタンス制限(15)を超えるため起動されません。
  • ユーザーごとのインスタンス数制限: 別のデリバリーグループで、アプリケーションBetaに対してユーザーごとのインスタンス数オプションを有効にします。ユーザーのTonyはアプリケーションBetaを正常に起動します。その日の後半、そのアプリケーションがTonyのセッションでまだ実行されている間に、彼はBetaの別のインスタンスを起動しようとします。エラーメッセージが生成され、Betaはユーザーごとのインスタンス数制限を超えるため起動されません。
  • 同時インスタンス数の最大制限とユーザーごとのインスタンス数制限: 別のデリバリーグループで、同時インスタンスの最大数を10に構成し、アプリケーションDeltaに対してユーザーごとのインスタンス数オプションを有効にします。その後、そのデリバリーグループの10人のユーザーがそれぞれDeltaのインスタンスを実行している場合、そのデリバリーグループの他のユーザーがDeltaを起動しようとすると、エラーメッセージが表示されます。Deltaは起動されません。現在の10人のDeltaユーザーのいずれかがそのアプリケーションの2番目のインスタンスを起動しようとすると、エラーメッセージが表示され、2番目のインスタンスは起動されません。
  • マシンごとの同時インスタンス数の最大制限とタグ制限の使用: アプリケーションCharlieには、特定のサーバーで同時に実行できるインスタンスの数を規定するライセンスおよびパフォーマンス要件があります。これらの要件は、サイト内のすべてのサーバーで同時に実行できるインスタンスの数も規定します。

    アプリケーションのインスタンスごとのマシン制限は、サイト内の任意のサーバーに影響します(特定のデリバリーグループ内のマシンだけでなく)。サイトに3台のサーバーがあるとします。アプリケーションCharlieの場合、マシンごとのアプリインスタンス制限を2に構成します。したがって、サイト全体でアプリケーションCharlieのインスタンスは6つまでしか起動できません。(これは、3台のサーバーそれぞれでCharlieのインスタンスが2つという制限です。)

    デリバリーグループ内の特定のマシンのみにアプリケーションの使用を制限するには(サイト全体のすべてのマシンでのインスタンスの制限に加えて):

    • それらのマシンにタグ付け機能を使用します。
    • そのアプリケーションのマシンごとのインスタンス数の最大制限を構成します。

Controllerの仲介以外の方法でアプリケーションが起動され(たとえば、Controllerが停止モードの場合など)、構成された制限を超過した場合、ユーザーは制限を超過しないように十分な数のインスタンスを閉じるまで、それ以上のインスタンスを起動できません。制限を超過したインスタンスは強制的にシャットダウンされません。ユーザーがそれらを閉じるまで、実行が許可されます。

セッションローミングを無効にする場合は、ユーザーごとのインスタンス数アプリケーション制限を無効にします。ユーザーごとのインスタンス数アプリケーション制限を有効にする場合は、新しいデバイスでの新しいセッションを許可する2つの値のいずれも構成しないでください。ローミングの詳細については、「セッション」を参照してください。

デリバリーグループごとの最大インスタンス数制限とユーザーごとのインスタンス数制限を構成するには:

  1. 左ペインでアプリケーションを選択し、アプリケーションを選択します。
  2. アクションバーでアプリケーションプロパティの編集を選択します。
  3. デリバリーページで、次のいずれかのオプションを選択します。

    • アプリケーションの無制限の使用を許可する。同時に実行できるインスタンスの数に制限はありません。これがデフォルトです。
    • アプリケーションの制限を設定する。2種類の制限があります。いずれかまたは両方を指定します。
      • マシンごとに同時に実行できるインスタンスの最大数を指定します
      • ユーザーごとのアプリケーションのインスタンスを1つに制限します
  4. OKをクリックして変更を適用しダイアログボックスを閉じるか、適用をクリックして変更を適用しダイアログボックスを開いたままにします。

マシンごとの最大インスタンス数制限を構成するには(PowerShellのみ):

  • PowerShellで(Citrix Cloud™展開用のRemote PowerShell SDK、またはオンプレミス展開用のPowerShell SDKを使用して)、適切なBrokerApplicationコマンドレットをMaxPerMachineInstancesパラメーターとともに実行します。
  • ガイダンスについては、Get-Helpコマンドレットを使用してください。例:

    ```

PhoneExperienceHost.exe SkypeApp.exe SkypeBackgroundHost.exe


## 公開アプリケーションへのパラメーターの受け渡し

    -  アプリケーションのプロパティの**ロケーション**ページを使用して、コマンドラインを入力し、公開されたアプリケーションにパラメーターを渡します。

公開アプリケーションをファイルタイプに関連付けると、アプリケーションのコマンドラインの末尾に記号 `"%*"` (二重引用符で囲まれたパーセント記号とアスタリスク記号) が追加されます。これらの記号は、ユーザーデバイスに渡されるパラメーターのプレースホルダーとして機能します。

公開アプリケーションが期待どおりに起動しない場合は、そのコマンドラインに正しい記号が含まれていることを確認してください。デフォルトでは、記号 `"%*"` が追加されると、ユーザーデバイスから提供されるパラメーターが検証されます。ユーザーデバイスから提供されるカスタマイズされたパラメーターを使用する公開アプリケーションの場合、コマンドライン検証をバイパスするために、記号 `"%**"` がコマンドラインに追加されます。アプリケーションのコマンドラインにこれらの記号が表示されない場合は、手動で追加してください。

実行可能ファイルへのパスにスペースを含むディレクトリ名 (例: `"C:\Program Files"`) が含まれている場合、そのスペースがコマンドラインの一部であることを示すために、アプリケーションのコマンドラインを二重引用符で囲みます。これを行うには、パスを二重引用符で囲み、さらに `%*` 記号を二重引用符で囲みます。パスの閉じ引用符と `%*` 記号の開き引用符の間にスペースを含めるようにしてください。

たとえば、公開アプリケーションである Windows Media Player のコマンドラインは次のとおりです。

`"C:\Program Files\Windows Media Player\mplayer1.exe" "%*"`

> **注:**
>
> 公開アプリケーションを起動するためのコマンドラインの最大文字数 (引数を含む) は 203 です。

## 公開アプリケーションでのセッションサインアウトの問題のトラブルシューティング

アプリケーションを公開する場合、公開アプリケーションのメイン実行可能ファイルのみが指定されます。しかし、一部のアプリケーションは、メインの公開アプリケーションが閉じられたときに、対応するメイン実行可能ファイルによって閉じられない追加の (子) プロセスをバックグラウンドで生成する場合があります。追加のプロセスは、実行されるスクリプトや、`Run` や `RunOnceKey` のような特定のレジストリキーから作成されることもあります。これらのアプリケーションは、正常なサインアウトを妨げ、セッションが残存したりハングしたりする原因となり、セッションが閉じられず、ユーザーがサインアウトされない結果となる可能性があります。

この場合、Citrix Director を使用してこれらのセッションをリセットまたは終了する必要があります。

セッションが適切にサインアウトされない問題を特定し、トラブルシューティングするために、Citrix は3つのレジストリエントリを提供しています。これらの問題によりセッションが適切にログオフされないことの特定とトラブルシューティングは、3段階のプロセスです。

1.  どのセッションの公開アプリケーションが正常なサインアウトを妨げているかの特定

1.  [それらの公開アプリケーションが追加の (子) プロセスを生成するかどうかの特定](#step-2-identifying-for-those-published-applications-if-they-produce-any-additional-child-processes)

1.  [これらのプロセスを指定されたレジストリエントリに追加して、サインアウトを妨げないようにする](#step-3-add-these-processes-to-a-specified-registry-entry-to-prevent-them-from-holding-up-sign-out)

### ステップ2: 公開アプリケーションが追加の (子) プロセスを生成するかどうかの特定

-  公開アプリケーションが正常なサインアウトを妨げていると特定されたら、次のステップは、このアプリケーションが実行時に追加のプロセスを生成するかどうかを判断することです。

-  公開アプリケーションが閉じられたときに、プロセスが正常なサインアウトをブロックしているかどうかを判断するには、`HKCU\Software\CitrixVolatile\Seamless\Sessions\[ID]\LogoffCheckerBlockingProcess` を読み取ることができます。

-  次の例では、キー `LogoffCheckerBlockingProcess` に次のエントリが含まれています。

  • PhoneExperienceHost.exe SkypeApp.exe SkypeBackgroundHost.exe

これらのプロセスが正常なサインアウトを妨げていました。

-  > **注:**
-  >
-  > [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


-  `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.  **スタートアップの種類**で、ドロップダウンメニューから**自動**を選択します。

    ![公開アプリのレジストリ](/en-us/citrix-virtual-apps-desktops/media/published-app-registry.png)

1.  テスト対象のVDAでWindowsファイアウォールをオフにするか、ポート455を有効にする受信ファイアウォール規則を作成します。

    1.  コントロールパネルで、**Windows Defender ファイアウォール > 詳細設定**を選択します。

    1.  **受信の規則**を右クリックし、**新しい規則**を選択します。

    1.  **新しい受信の規則ウィザード**で、**ポート**を選択します。

    1.  **プロトコルおよびポート**ページで、**TCP および特定のローカルポート**を選択します。ローカルポートとして`445`を入力します。

    1.  **操作**ページで、**接続を許可する**を選択します。

    1.  新しい受信規則を適用するファイアウォールプロファイルを選択します。

    1.  ファイアウォール規則に名前を付け、**完了**を選択して**新しい受信の規則ウィザード**を終了します。

    ![公開アプリのファイアウォールポート](/en-us/citrix-virtual-apps-desktops/media/published-app-firewall-port.png)

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

    ![公開アプリのレジストリエディター](/en-us/citrix-virtual-apps-desktops/media/published-app-registry-editor.png)

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

    ![公開アプリのregedit](/en-us/citrix-virtual-apps-desktops/media/published-app-regedit.png)

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

    ![公開アプリの管理](/en-us/citrix-virtual-apps-desktops/media/published-app-manage.png)

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

    ![公開アプリのコマンドプロンプト](/en-us/citrix-virtual-apps-desktops/media/published-app-cmd-prompt.png)

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

    ![公開アプリの接続](/en-us/citrix-virtual-apps-desktops/media/published-app-citrix-workspace-connection-center.png)

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**は手動で編集してはなりません。これらのレジストリ値を手動で編集すると、セッションが不安定になる可能性があります。

    ![公開アプリ 2](/en-us/citrix-virtual-apps-desktops/media/published-app-regedit-2.png)

1.  「Seamless CMD」を終了するには、右上隅の **X** をクリックします。

1.  セッションが閉じているか接続センターで確認します。閉じるまでに最大30秒かかる場合があります。セッションが閉じている場合、正常なサインアウトを妨げるアプリケーションやプロセスはありませんでした。

    ![正常なサインアウト](/en-us/citrix-virtual-apps-desktops/media/published-app-bwd.png)

1.  セッションが閉じなかった場合は、F5キーで **regedit** の出力を更新します。

1.  **LogoffCheckBlockingProcess** および **LogoffCheckerBlockingVisibleProcess** の内容を再度確認します。CMDは存在しないはずですが、別のプロセスがリストされているはずです。現在セッションのサインアウトをブロックしているプロセスがここに表示されている必要があります。

    この場合、コマンドプロンプトが閉じられる前に公開されたコマンドプロンプトから **Notepad.exe** が開かれており、このリモートのメモ帳プロセスが正常なサインアウトを妨げています。

    ![Regedit](/en-us/citrix-virtual-apps-desktops/media/regedit2.png)

1.  この実行可能ファイルのパスと、それが表示されたキーをメモし、リモートツリーの下にある以下のレジストリキーに入力します。

    -  **LogoffCheckBlockingProcess** に表示される場合: `HKLM\SYSTEM\CurrentControlSet\Control\Citrix\wfshell\TWILogoffCheckSysModulesInternal`
    -  **LogoffCheckerBlockingVisibleProcess** に表示される場合: `HKLM\SYSTEM\CurrentControlSet\Control\Citrix\wfshell\TWILogoffCheckVisibleSysModules`

    > **注:**
    >
    > キーにすでに1つ以上のエントリがある場合は、末尾にコンマを追加し、そのコンマの後に新しいエントリを配置します。

    ![Regedit-final](/en-us/citrix-virtual-apps-desktops/media/regedit-final.png)

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` に設定します。

    ![タイルバー付きのLogonUIウィンドウ](/en-us/citrix-virtual-apps-desktops/media/logonui-window-with-tilebar.png)

## アプリケーションフォルダーの管理

デフォルトでは、デリバリーグループに追加する新しいアプリケーションは、**Applications** という名前のフォルダーに配置されます。デリバリーグループの作成時、アプリケーションの追加時、または後で別のフォルダーを指定できます。

知っておくと良いこと:

-  Applicationsフォルダーの名前を変更したり削除したりすることはできませんが、その中に含まれるすべてのアプリケーションを、作成した他のフォルダーに移動できます
-  フォルダー名には1~64文字を含めることができます。スペースも使用できます
-  フォルダーは最大5レベルまでネストできます
-  フォルダーにアプリケーションを含める必要はありません。空のフォルダーも許可されます
-  フォルダーは、移動したり、作成時に別の場所を指定したりしない限り、Web Studioでアルファベット順に表示されます
-  親フォルダーが異なる限り、同じ名前のフォルダーを複数持つことができます。同様に、異なるフォルダーにある限り、同じ名前のアプリケーションを複数持つことができます
-  フォルダー内のアプリケーションを表示するには `View Applications` 権限が必要です。アプリケーションを含むフォルダーを削除、名前変更、または削除するには、そのフォルダー内のすべてのアプリケーションに対して `Edit Application Properties` 権限が必要です
-  以下の手順のほとんどは、Web Studioのアクションバーを使用したアクションを要求します。または、右クリックメニューを使用するか、アイテムをドラッグすることもできます。たとえば、意図しない場所にフォルダーを作成または移動した場合、正しい場所にドラッグアンドドロップできます
-  Web Studioのすべてのノード(**Machine Catalogs**、**Delivery Groups**、**Applications**、**Application Groups**など)は、バックエンドで同じフォルダーツリーを共有します。フォルダーの名前変更や移動時に名前の競合を避けるため、異なるノード間で最上位フォルダーに一意の名前を使用してください

    `New-BrokerAdminFolder` SDKコマンドレットを使用してフォルダーを作成し、それを **Applications** ノードの下に表示させたい場合は、`Set-BrokerAdminFolderMetadata` コマンドレットを使用して `ContainsApplications` メタデータを追加する必要があります。

    例:

    ```powershell
    Set-BrokerAdminFolderMetadata -AdminFolderId {adminFolderUid} -Name ContainsApplications -Value true
    <!--NeedCopy-->

アプリケーションフォルダーを管理するには、左ペインで Applications を選択します。以下のリストを参考にしてください。

  • すべてのフォルダー(ネストされたフォルダーを除く)を表示するには: フォルダーリストの上にある Show all をクリックします
  • 最上位レベル(ネストされていない)にフォルダーを作成するには: Applications フォルダーを選択します。新しいフォルダーを Applications 以外の既存のフォルダーの下に配置するには、そのフォルダーを選択します。次に、アクションバーで Create Folder を選択します。名前を入力します
  • フォルダーを移動するには: フォルダーを選択し、アクションバーで Move Folder を選択します。フォルダーにネストされたフォルダーが含まれていない限り、一度に1つのフォルダーしか移動できません(フォルダーを移動する最も簡単な方法はドラッグすることです)
  • フォルダーの名前を変更するには: フォルダーを選択し、アクションバーで Rename Folder を選択します。名前を入力します
  • フォルダーを削除するには: フォルダーを選択し、アクションバーで Delete Folder を選択します。アプリケーションや他のフォルダーを含むフォルダーを削除すると、それらのオブジェクトも削除されます。アプリケーションを削除すると、デリバリーグループからのアプリケーションの割り当てが削除されます。マシンからは削除されません
  • アプリケーションをフォルダーに移動するには: 1つ以上のアプリケーションを選択します。次に、アクションバーで Move Application を選択します。フォルダーを選択します

デリバリーグループまたはアプリケーショングループを作成する際に、Application ページで追加するアプリケーションをフォルダーに配置することもできます。デフォルトでは、追加されたアプリケーションは Applications フォルダーに入ります。Change をクリックしてフォルダーを選択または作成します。

公開デスクトップでのアプリケーションのローカル起動の制御

ユーザーが公開デスクトップ内から公開アプリケーションを起動する際、そのアプリケーションをデスクトップセッション内で起動するか、公開アプリケーションとして起動するかを制御できます。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の最小要件があります