アプリケーション

注:

シトリックス バーチャルアップス アンド デスクトップス™展開は、ウェブスタジオ(ウェブベース)とシトリックススタジオ(ウィンドウズベース)の2つの管理コンソールを使用して管理できます。この記事ではウェブスタジオのみを扱います。シトリックススタジオの詳細については、シトリックス バーチャルアップス アンド デスクトップス 7 2212以前の同等の記事を参照してください。

はじめに

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

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

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

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

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

詳細については、以下を参照してください。

アプリケーションの追加

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

知っておくべきこと:

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

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を選択します。詳細については、「Appパッケージの展開と配信」を参照してください。

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

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

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

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

デフォルトでは、追加されたアプリケーションはApplicationsという名前のアプリケーションフォルダーに配置されます。このページから、または後でアプリケーションを変更できます。アプリケーションを追加しようとして、同じ名前のアプリケーションが同じフォルダーに存在する場合、追加しようとしているアプリケーションの名前を変更するよう求められます。提示された新しい名前を受け入れるか、拒否してアプリケーションの名前を変更するか、別のフォルダーを選択できます。たとえば、Applicationsフォルダーにappが既に存在し、そのフォルダーに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アプリにアプリケーションが表示されるカテゴリ/フォルダー デリバリー
コマンドライン引数。(#pass-parameters-to-published-applications)を参照してください。 場所
アプリケーションが利用可能なデリバリーグループおよびアプリケーショングループ グループ
Description 識別情報
ファイル名拡張子とファイルの種類のアソシエーション: アプリケーションが自動的に開く拡張子 ファイルの種類のアソシエーション
アイコン デリバリー
StoreFront™で使用するキーワード 識別情報
制限。(#configure-application-limits)を参照してください。 配信
名前: ユーザーおよび管理者が参照する名前 識別情報
実行可能ファイルへのパス。公開アプリケーションにパラメーターを渡すを参照してください。 場所
ユーザーのデスクトップ上のショートカット: 有効または無効 配信
可視性: 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 は起動されません。現在の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 コマンドレットを使用してください。例:

    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 を右クリックし、プロパティ を選択します。

    3. スタートアップの種類 で、ドロップダウンメニューから 自動 を選択します。

    公開アプリケーションレジストリ

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

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

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

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

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

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

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

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

    公開アプリケーションファイアウォールポート

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

    公開アプリケーションレジストリエディター

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

    公開アプリケーションregedit

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

    公開アプリの管理

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

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

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

    公開アプリの接続

  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. 右上隅のXをクリックして、Seamless CMDを終了します。

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

    正常なサインアウト

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

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

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

    レジストリエディター

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

    • もしそれが LogoffCheckBlockingProcess に表示されているのであれば: HKLM\SYSTEM\CurrentControlSet\Control\Citrix\wfshell\TWILogoffCheckSysModulesInternal
    • If it appears in 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. Create two new DWORD keys: LogonUIWidth and LogonUIHeight.

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

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

注:

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

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

タイトルバーを無効にする

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

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

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

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

    タイルバー付きのLogonUIウィンドウ

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

デフォルトでは、デリバリーグループに追加する新しいアプリケーションは、「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メタデータを追加する必要があります。

    例:

     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 launch」を参照してください。

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 が最低限必要です。