トラブルシューティング

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

アプリケーションを公開する場合、公開アプリケーションのメインの実行可能ファイルのみが指定されます。ただし、一部のアプリケーションは、バックグラウンドで実行され、メインの公開アプリケーションが閉じられたときに、対応するメインの実行可能ファイルによって閉じられない追加の(子)プロセスを生成する場合があります。追加のプロセスは、実行されるスクリプトや、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. ファイアウォール規則に名前を付け、完了を選択して新しい受信規則ウィザードを終了します。

      公開アプリケーションのファイアウォールポート(/ja-jp/citrix-virtual-apps-desktops/2507-ltsr/media/published-app-firewall-port.png)

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

    公開アプリケーションのレジストリエディター(/ja-jp/citrix-virtual-apps-desktops/2507-ltsr/media/published-app-registry-editor.png)

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

    公開アプリケーションのregedit(/ja-jp/citrix-virtual-apps-desktops/2507-ltsr/media/published-app-regedit.png)

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

    公開アプリケーションの管理(/ja-jp/citrix-virtual-apps-desktops/2507-ltsr/media/published-app-manage.png)

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

    公開アプリケーションのコマンドプロンプト(/ja-jp/citrix-virtual-apps-desktops/2507-ltsr/media/published-app-cmd-prompt.png)

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

    公開アプリケーションの接続(/ja-jp/citrix-virtual-apps-desktops/2507-ltsr/media/published-app-citrix-workspace-connection-center.png)

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

    • If it appears in 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を繰り返します。

    注:

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

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

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

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

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

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

  3. LogonUIWidthLogonUIHeight という名前の2つの新しいDWORDキーを作成する必要があります。

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

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

注:

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

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

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

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

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

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

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

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

公開アプリケーションが表示されない

公開アプリケーションが起動しない、または起動中に消える場合、または表示されない場合のトラブルシューティングについては、サポート記事を参照してください。

インスタンスのトラブルシューティングを行うには

その他のシームレス構成設定

ほとんどの場合、デフォルトのサーバー設定でほとんどのアプリケーションには十分であり、公開アプリケーションに追加の設定は必要ありません。

場合によっては、指定されたアプリケーションウィンドウの操作と表示の制御、および公開アプリケーション環境自体の設定など、追加の構成が必要です。

注:

Citrix は、Citrix サポートから明示的に指示されない限り、これらの構成設定を変更することを推奨しません

これらの設定は、シームレス構成設定のKB記事に概説されています。

トラブルシューティング