トラブルシューティング
公開アプリケーションでのセッションサインアウトの問題のトラブルシューティング
アプリケーションを公開する場合、公開アプリケーションのメイン実行可能ファイルのみが指定されます。しかし、一部のアプリケーションは、メインの公開アプリケーションが閉じられたときに、対応するメイン実行可能ファイルによって閉じられない追加の(子)プロセスをバックグラウンドで生成する場合があります。追加のプロセスは、実行されるスクリプトや、Run や RunOnceKey のような特定のレジストリキーから作成されることもあります。これらのアプリケーションは、正常なサインアウトを妨げ、セッションが残存したりハングしたりする原因となり、セッションが閉じられず、ユーザーがサインアウトされない可能性があります。
この場合、Citrix Director を使用してこれらのセッションをリセットまたは終了する必要があります。
セッションが適切にサインアウトされない問題を特定し、トラブルシューティングするために、Citrix は3つのレジストリエントリを提供しています。これらの問題によりセッションが適切にログオフされない場合の特定とトラブルシューティングは、次の3つのステップからなるプロセスです。
-
どのセッションの公開アプリケーションが正常なサインアウトを妨げているかを特定する
-
それらの公開アプリケーションが追加の(子)プロセスを生成するかどうかを特定する(#step-2-identifying-for-those-published-applications-if-they-produce-any-additional-child-processes)
-
これらのプロセスを指定されたレジストリエントリに追加して、サインアウトを妨げないようにする(#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
<!--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でリモートレジストリサービスを開始します。
-
コントロールパネルで、管理ツール > サービスを選択します。
-
Remote Registry Serviceを右クリックし、プロパティを選択します。
-
スタートアップの種類で、ドロップダウンメニューから自動を選択します。

-
-
テスト対象のVDAでWindowsファイアウォールをオフにするか、ポート455を有効にする受信ファイアウォールルールを作成します。
-
コントロールパネルで、Windows Defender ファイアウォール > 詳細設定を選択します。
-
受信の規則を右クリックし、新しい規則を選択します。
-
新しい受信の規則ウィザードで、ポートを選択します。
-
プロトコルおよびポートページで、TCPと特定のローカルポートを選択します。ローカルポートとして
445を入力します。 -
操作ページで、接続を許可するを選択します。
-
新しい受信規則を適用するファイアウォールプロファイルを選択します。
-
ファイアウォール規則に名前を付け、完了を選択して新しい受信規則ウィザードを終了します。
公開アプリのファイアウォールポート(/ja-jp/citrix-virtual-apps-desktops/2511/media/published-app-firewall-port.png)
-
-
同じドメイン上の別のVM(DC、DDC、または別のVDAでも可)から、
Regeditを実行し、リモートレジストリに接続します。公開アプリのレジストリエディター(/ja-jp/citrix-virtual-apps-desktops/2511/media/published-app-registry-editor.png)
-
テスト対象のVDAのIPアドレスを入力し、OKをクリックします。
regeditツリーには、テスト対象のVDAのブランチが表示されるはずです。公開アプリのregedit(/ja-jp/citrix-virtual-apps-desktops/2511/media/published-app-regedit.png)
-
コマンドプロンプト公開アプリケーションを開きます。
公開アプリの管理(/ja-jp/citrix-virtual-apps-desktops/2511/media/published-app-manage.png)
コマンドプロンプトアプリがCitrix Workspaceに表示されます。
公開アプリのコマンドプロンプト(/ja-jp/citrix-virtual-apps-desktops/2511/media/published-app-cmd-prompt.png)
-
クライアントで接続センターを開きます。これは、開いているシームレスアプリを閉じた後にセッションがサインアウトされたときに監視するために使用されます。次の画像で、コマンドプロンプトプロセス
c:\Windows\system32\cmd.exeがリモートVDIでアクティブであることがわかります。公開アプリの接続(/ja-jp/citrix-virtual-apps-desktops/2511/media/published-app-citrix-workspace-connection-center.png)
-
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\に移動します。 -
Create two new DWORD keys: LogonUIWidth and LogonUIHeight.
-
LogonUIウィンドウに必要な幅と高さ(ピクセル単位)をキーの値に設定します。
LogonUIウィンドウサイズを手動で設定すると、自動スケーリングは無効になります。
注:
これらのレジストリパスは2407以降変更されました。古いレジストリ値は無視され、非推奨です。
デフォルトでは、LogonUIウィンドウには閉じるボタン付きのタイトルバーが含まれており、必要に応じてエンドユーザーがセッションから切断できるようになっています。
タイルバーを無効にする
以下のレジストリキーを使用して、LogonUIウィンドウのタイルバーを無効にできます。
-
ファイル名を指定して実行コマンドで
regeditを使用してレジストリエディターを開きます。 -
HKEY_LOCAL_MACHINE\Software\Citrix\CtxHook\AppInit_DLLS\Seamless Hook\に移動します。 -
新しいDWORDキー「LogonUICaption」を作成し、そのキーの値を
0に設定します。
公開アプリケーションが表示されない
サポート記事を参照して、公開アプリケーションが起動しない、または起動中に消える、または表示されない場合のトラブルシューティングを行ってください。
インスタンスのトラブルシューティングを行うには
その他のシームレス構成設定
ほとんどの場合、デフォルトのサーバー設定でほとんどのアプリケーションには十分であり、公開アプリケーションに追加の設定は必要ありません。
場合によっては、指定されたアプリケーションウィンドウのインタラクションと表示の制御、および公開アプリケーション環境自体の設定など、追加の構成が必要になります。
注:
Citrixサポートから明示的に指示されない限り、これらの構成設定を変更することはお勧めしません。
これらの設定は、シームレス構成設定KB記事に記載されています。