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アクセスデリバリーグループにはアプリケーションを追加できません。
  • アプリケーションの追加ウィザードを使用して、デリバリーグループまたはアプリケーショングループからアプリケーションを削除することはできません。これは別の操作です。

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

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

単一のデリバリーグループまたはアプリケーショングループにアプリケーションを追加する場合のステップ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) デリバリーグループに共有マシンが含まれており、XenDesktop 7.xの7.9より前のバージョンで作成された場合、および (2) Edit delivery group 権限がある場合は、デスクトップのみを配信する共有マシンを含むデリバリーグループを選択することもできます。プロパティダイアログがコミットされると、デリバリーグループの種類は自動的に desktops and applications に変換されます。

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

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

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

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

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

  1. 左側のペインで [アプリケーション] を選択します。
  2. 中央のペインで1つ以上のアプリケーションを選択し、アクションバーで適切なタスクを選択します。
  3. プロンプトが表示されたら、アクションを確認します。

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

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

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

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

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

  1. 左側のペインで [アプリケーション] を選択します。
  2. 中央のペインでアプリケーショングループを選択し、1つ以上のアプリケーションを選択します。
  3. アクションバーで [アプリケーショングループから削除] を選択します。
  4. 削除を確認します。

アプリケーションプロパティの変更

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

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

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

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

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

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

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

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

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

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

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

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

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

  • 同時インスタンスの最大数制限: デリバリーグループで、アプリケーション Alpha の同時インスタンスの最大数を15に構成します。その後、そのデリバリーグループのユーザーは、そのアプリケーションの15インスタンスを同時に実行します。そのデリバリーグループのいずれかのユーザーが Alpha を起動しようとすると、エラーメッセージが生成されます。構成された同時アプリケーションインスタンス制限(15)を超えるため、Alpha は起動されません。
  • ユーザーごとのインスタンス数制限: 別のデリバリーグループで、アプリケーション Beta のユーザーごとのインスタンス数オプションを有効にします。ユーザーTonyはアプリケーション Beta を正常に起動します。その日の後半、そのアプリケーションがTonyのセッションでまだ実行されている間に、彼は Beta の別のインスタンスを起動しようとします。エラーメッセージが生成され、ユーザーごとのインスタンス数制限を超えるため、Beta は起動されません。
  • 同時インスタンスの最大数とユーザーごとのインスタンス数制限: 別のデリバリーグループで、同時インスタンスの最大数を10に構成し、アプリケーション Delta のユーザーごとのインスタンス数オプションを有効にします。その後、そのデリバリーグループの10人のユーザーがそれぞれ Delta のインスタンスを実行している場合、そのデリバリーグループの他のユーザーが Delta を起動しようとすると、エラーメッセージが表示されます。Delta は起動されません。現在の Delta ユーザー10人のいずれかがそのアプリケーションの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 コマンドレットを使用します。例:

Get-Help Set-BrokerApplication –Parameter MaxPerMachineInstances

公開アプリケーションへのパラメーターの引き渡し

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

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

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

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

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

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

注記:

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

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

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

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

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

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

  2. それらの公開アプリケーションが追加の (子) プロセスを生成するかどうかの特定

  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 の詳細については、「公開アプリケーションからの正常なログオフによりセッションがアクティブ状態になる」を参照してください。

ステップバイステップのトラブルシューティングガイド

  1. テスト対象のVDAでリモートレジストリサービスを開始します。

    1. コントロールパネルで、管理ツール > サービス を選択します。

    2. Remote Registry Service」を右クリックし、「Properties」を選択します。

    3. Startup Type」で、ドロップダウンメニューから「Automatic」を選択します。

    公開されたアプリのレジストリ

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

    1. コントロールパネルで、「Windows Defender Firewall > Advanced Settings」を選択します。

    2. Inbound Rules」を右クリックし、「New Rule」を選択します。

    3. New Inbound Rule Wizard」で、「Port」を選択します。

    4. Protocols and Ports」ページで、「TCP and Specific Local Ports」を選択します。ローカルポートとして445を入力します。

    5. Action」ページで、「Allow Connection」を選択します。

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

    7. ファイアウォールルールに名前を付け、「Finish」を選択して「New Inbound Rule wizard」を終了します。

    公開されたアプリのファイアウォールポート

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

    公開されたアプリのレジストリエディター

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

    公開されたアプリのRegedit

  5. 公開されたアプリケーション「Command Prompt」を開きます。

    公開されたアプリの管理

    Command Prompt」アプリがCitrix Workspaceに表示されます。

    公開されたアプリのコマンドプロンプト

  6. クライアントで「Connection Center」を開きます。これは、開いているシームレスアプリを閉じた後にセッションがサインアウトされたときに監視するために使用されます。以下の画像で、Command Promptプロセスc:\Windows\system32\cmd.exeがリモートVDIでアクティブになっていることがわかります。

    公開されたアプリの接続

  7. regeditが実行されているVDAから、次のリモートIPの場所に移動します。 HKEY_USERS\S-1-X-XX-XXXXXXXX-XXXXXXXXXXX-XXXXXXXXXX-XXXX\SOFTWARE\CitrixVolatile\Seamless\Sessions\X\

    注:

    このパスは、新しいセッションを開くたびに変更されます。

  8. ここには読み取るべきキーが2つあります(ここでは変更しないでください): LogoffCheckBlockingProcessLogoffCheckerBlockingVisibleProcess。これらのキーは、サインアウトをブロックしているプログラムを表示します。最初のキーは、開いていてまだ閉じられていないため、C:\Windows\System32\cmd.exeを表示するはずです。

    注:

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

    公開されたアプリ 2

  9. Seamless CMD を終了するには、右上隅にある X をクリックします。

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

    正常なサインアウト

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

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

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

    レジストリエディター

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

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

    注:

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

    レジストリエディター - 最終

  14. クライアントの接続センターからセッションをサインアウトし、リモートアプリケーションを再度開きます。

  15. リモートアプリケーションを閉じてから 30 秒以内にセッションが自動的にサインアウトされるまで、手順 9~16 を繰り返します。

    注:

    トラブルシューティング後、必要に応じて、リモートレジストリへのアクセスを許可するために一時的なファイアウォールの変更を元に戻してください。

公開アプリケーションを開く際に Windows の免責事項メッセージをフルサイズで表示するための LogonUI の変更方法

認証パススルーが発生しないシナリオでは、LogonUI ウィンドウのスケーリングが改善されています。LogonUI ウィンドウは、使用されているモニターの解像度と DPI 設定に基づいてスケーリングされ、LogonUI ウィンドウ全体がクリッピングなしで表示されるようにします。

ウィンドウサイズは、レジストリで手動でピクセル単位で設定することもできます。

  1. ファイル名を指定して実行 コマンドで regedit を使用して レジストリエディター を開きます。

  2. HKEY_LOCAL_MACHINE\Software\Citrix\CtxHook\AppInit_DLLS\Seamless Hook\ に移動します。

  3. 2 つの新しい DWORD キー: LogonUIWidthLogonUIHeight を作成します。

  4. キーの値を、LogonUI ウィンドウに必要な幅と高さ(ピクセル単位)に設定します。

    LogonUI ウィンドウのサイズを手動で設定すると、自動スケーリングは無効になります。

注:

これらのレジストリパスは 2407 以降で変更されました。古いレジストリ値は無視され、非推奨です。

デフォルトでは、LogonUI ウィンドウには閉じるボタン付きのタイトルバーが含まれており、必要に応じてエンドユーザーがセッションから切断できるようになっています。

タイトルバーの無効化

次のレジストリキーを使用して、LogonUI ウィンドウのタイトルバーを無効にできます。

  1. ファイル名を指定して実行 コマンドで regedit を使用してレジストリエディターを開きます。

  2. HKEY_LOCAL_MACHINE\Software\Citrix\CtxHook\AppInit_DLLS\Seamless Hook\ に移動します。

  3. 新しい DWORD キー LogonUICaption を作成し、キーの値を 0 に設定します。

    LogonUI window with tilebar

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

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

知っておくと良いこと:

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

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

    例:

     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 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、Windows向けCitrix Receiver 4.11、およびDelivery Controller 7.17が必要です