Citrixサポートブログ Citrix Virtual Apps and Desktopsの運用TIPS

トラブルシューティング

公開アプリケーションのセッションが残る4つのパターンと試して頂きたいポイント(2)

公開日:
更新日:
トラブルシューティング
#Session
公開アプリケーションのセッションが残る4つのパターンと試して頂きたいポイント(2)

こんにちは。Citrix製品のサポートを担当している川東(かわひがし)です。

前回の記事 は、サンプルアプリケーションの「App」を使用して、セッションがログオフされずに不正な状態で残る4つのパターンを説明しました。

本記事は、パターン別に試して頂きたい対応をご紹介させて頂きます。

目次

(5)不正セッションが残る場合に試して頂きたいこと

(6)(5)で紹介している対応方法

・ 他の正常系のVDAサーバでセッション起動ができるようにする方法

(7)まとめ

(5)不正セッションがVDAサーバ上に残っている場合に試して頂きたいポイント

前回記事の「(4)不正に残るユーザーセッションの4つのパターンと考えられる原因」 の内容をもとに説明させて頂きます。

パターン1

クライアント端末にて公開アプリケーションの画面を閉じた後、業務アプリケーションのメインプロセスも残っている状況です。

Citrix Studio

VDAサーバ上のUser01の各プロセス残留の有無


User01のセッション
表示の有無
※切断 or アクティブ

Windows
のプロセス

Citrix
のプロセス

App.exe

AppBG.exe

パターン1

有

有

有

有

有

メインプロセスが終了できずセッションがアクティブで残る

以下の対応をお試し下さい。各リンクをクリックすると詳細内容に移動します。
改善しない場合は、ご契約先のCitrixヘルプデスクにご相談ください。

Citrix Studio からセッションをログオフできる場合

1

セッションタイムアウト設定 をして経過観察します

2

クライアント端末にてログオフ操作 をする方法で経過観察します

Citrix Studio からセッションをログオフできない場合

1

VDAサーバ上で問題のセッションをログオフ します

2

VDAサーバのタスクマネージャから業務アプリケーションのプロセスを終了 します

3

1と2にてログオフ出来ない場合は問題のVDAサーバのOSを再起動します

※

正常に利用できているユーザセッションがあるため、3のOS再起動が難しい場合は、他の正常系のVDAサーバでセッション起動ができるようにする方法 がございます。こちらの方法はユーザープロファイルのデータの整合性が取れない問題が発生する可能性があります。

パターン2

クライアント端末にて公開アプリケーションの画面を閉じた後、業務アプリケーションのメインプロセスは終了できていますが、バックグラウンドプロセスが残っている状況です。

Citrix Studio

VDAサーバ上のUser01の各プロセス残留の有無


User01のセッション
表示の有無
※切断 or アクティブ

Windows
のプロセス

Citrix
のプロセス

App.exe

AppBG.exe

パターン2

有

有

有

無

有

バックグラウンドプロセスが終了できずアクティブで残る

以下の対応をお試し下さい。各リンクをクリックすると詳細内容に移動します。
改善しない場合は、ご契約先のCitrixヘルプデスクにご相談ください。

Citrix Studio からセッションをログオフできる場合

バックグラウンドで動作するプロセスも終了できるように設定 します

Citrix Studio からセッションをログオフできない場合

1

VDAサーバ上で問題のセッションをログオフ します

2

VDAサーバのタスクマネージャから問題のプロセスを終了 します

3

1と2にてログオフ出来ない場合は問題のVDAサーバのOSを再起動します

※

正常に利用できているユーザセッションがあるため、3のOS再起動が難しい場合は、他の正常系のVDAサーバでセッション起動ができるようにする方法 がございます。こちらの方法はユーザープロファイルのデータの整合性が取れない問題が発生する可能性があります。

パターン3

クライアント端末にて公開アプリケーションの画面を閉じた後、業務アプリケーションのメインプロセスとバックグラウンドプロセスは残っていませんが、WindowsとCitrixのプロセスは残っている状況です。

Citrix Studio

VDAサーバ上のUser01の各プロセス残留の有無


User01のセッション
表示の有無
※切断 or アクティブ

Windows
のプロセス

Citrix
のプロセス

App.exe

AppBG.exe

パターン3

有

有

有

無

無

WindowsとCitrixのプロセスが終了できずアクティブで残る

以下の対応をお試し下さい。各リンクをクリックすると詳細内容に移動します。
改善しない場合は、ご契約先のCitrixヘルプデスクにご相談ください。

Citrix Studio からセッションをログオフできる場合

1

セッションタイムアウト設定 をして経過観察します

2

クライアント端末にてログオフ操作 をする方法で経過観察します

Citrix Studio からセッションをログオフできない場合

1

VDAサーバ上で問題のセッションをログオフ します

2

1にてログオフ出来ない場合は問題のVDAサーバのOSを再起動します

※

2のOS再起動は、正常に利用しているユーザセッションがある都合で難しい場合、他の正常系のVDAサーバでセッション起動ができるようにする方法 がございます。こちらの方法はユーザープロファイルのデータの整合性が取れない問題が発生する可能性があります。

パターン4

クライアント端末にて公開アプリケーションの画面を閉じた後、VDAサーバ上にはセッションが残っていませんが、Citrix Studio上にセッション情報が残っている状況です。

Citrix Studio

VDAサーバ上のUser01の各プロセス残留の有無


User01のセッション
表示の有無
※切断 or アクティブ

Windows
のプロセス

Citrix
のプロセス

App.exe

AppBG.exe

パターン4

有

無

無

無

無

Citrix Studio にセッションがアクティブで残る

以下の対応をお試し下さい。
改善しない場合は、ご契約先のCitrixヘルプデスクにご相談ください。
※こちらのパターンは、Citrix Studioからセッションをログオフ出来ないこと多いため、ログオフできる場合については記載していません。

Citrix Studio からセッションをログオフできない場合

VDAサーバにて Windows のサービス画面を開きCitrix Desktop Service の再起動をします

(6)(5)で紹介している対応方法

セッションタイムアウト設定

公開アプリケーションのセッションの状態は以下の3種類あります。
こちらは、Windowsリモートデスクトップのセッションと同様です。

アクティブ

クライアント端末にアプリケーション画面は表示されており、操作中の状態

アイドル

クライアント端末にアプリケーション画面は表示されていますが、操作をしていない状態

切断

クライアント端末にアプリケーション画面は表示されていませんが、VDAサーバ上にはアプリケーションのプロセスが残っており、再接続できる状態

セッションが不正に残っている場合、アイドル状態、もしくは、切断状態のどちらかになります。Windowsのグループポリシーにて以下の制御ができます。

  • アイドル状態が◯◯分続いた場合にセッションを自動終了する

  • 切断状態が◯◯分続いた場合にセッションを自動終了する

以下にて各VDAサーバで設定する方法をご紹介します。
※ドメインコントローラ側で、Active Directoryのグループポリシーを使用して複数のVDAサーバに対して一括設定することも可能です。

【設定手順】
1.VDAサーバにて「ファイル名を指定して実行」にて、gpedit.msc を起動します。

2.「コンピュータの構成」-「管理用テンプレート」-「Windowsコンポーネント」-「リモートデスクトップサービス」-「リモートデスクトップセッションホスト」-「セッションの時間制限」を開きます。

3.以下を設定します。

切断されたセッションの制限時間を設定する

有効にして時間を設定

アクティブでアイドル状態になっているリモートデスクトップサービスセッションの制限時間を設定する

有効にして時間を設定

時間制限に達したらセッションを終了する

有効

4.VDAサーバにてコマンドプロンプトを開き、gpupdate /force を実行します。

【設定後の動作の一例】
たとえば、以下のように設定した場合、「切断セッションは60分後に終了」「アイドルセッションは10分で終了」になります。

切断されたセッションの制限時間を設定する

有効にして60分

アクティブでアイドル状態になっているリモートデスクトップサービスセッションの制限時間を設定する

有効にして10分

時間制限に達したらセッションを終了する

有効

【懸念事項】
・切断セッションタイムアウト設定後の懸念点
公開アプリケーションのセッションを意図的に切断して再接続して利用するユーザ様がいる場合、管理者様で設定した切断セッションタイムアウト値の時間が経過後に切断セッションが終了するため、再接続できない状態になることを事前にユーザー様にアナウンスして頂く必要があります。

・アイドルセッションタイムアウト設定後の懸念点
公開アプリケーションの画面を表示させたまま(アイドル状態のまま)、他のローカルアプリケーションで作業をするユーザー様がいる場合、管理者様で設定したアイドルセッションタイムアウト値の時間が経過後にセッションが終了するため、公開アプリケーションの画面が消えることを事前に案内して頂く必要があります。

上記が懸念事項となり、セッションタイムアウト設定ができない場合は、「クライアント端末にてログオフ操作」 の方法をご検討ください。

クライアント端末にてログオフ操作

公開アプリケーションが起動されている状態で、タスクトレイに表示されているCitrix Receiver / Citrix Workspace app のアイコン上で右クリックすると、コネクションセンターのメニューから以下の画面が表示されます。こちらのログオフをクリックします。

以下の場所にある concentr.exe のショートカットをデスクトップ画面に配置して頂くとより簡単に開くことができます。

管理者アカウントでインストールした場合

64bit OS

C:\Program Files (x86)\Citrix\ICA Client\concentr.exe

32bit OS

C:\Program Files\Citrix\ICA Client\concentr.exe

一般ユーザアカウントでインストールした場合

%LocalAppData%\Citrix\ICA Client\concentr.exe

もしくは、以下のバッチファイルをクライアント端末上で実行することでログオフすることも可能です。

【管理者アカウントでインストールした場合】
@echo off
"C:\Program Files (x86)\Citrix\ICA Client\SelfServicePlugin\SelfService.exe" -logoffSessions

※CitrixReceiver等の古いバージョンを使用している場合は "-logoffSessions"を "-logoff"に変更
してください。

【一般ユーザアカウントでインストールした場合】
@echo off
"%LocalAppData%\Citrix\SelfService\Program Files\SelfService.exe" -logoffSessions

※CitrixReceiver等の古いバージョンを使用している場合は "-logoffSessions"を "-logoff"に変更
してください。

VDAサーバ上で問題のセッションをログオフ

まず、以下の流れでセッションが残っているVDAサーバを確認します。

  1. 「検索」ノードをクリックします。

  2. 画面右上の検索ボックスに「App」を起動したユーザー名を入力します。

  3. 「セッション」タブを開き、表示されるセッションをクリックします。

  4. 画面下側にセッション情報が表示されます。「マシン」の項目で「App」が起動したVDAサーバを確認できます。

CitrixStudoにてセッションを実行しているマシンを確認

対象のVDAサーバに管理者アカウントでログイン後、コマンドプロンプトを開いて「qwinsta」コマンドを実行します。
問題のセッションIDが確認できた場合は、”logoff セッションID”にてログオフを試します。

バックグラウンドで動作するプロセスも終了できるように設定します

VDAサーバ上で問題のセッションをログオフ の内容で、不正なセッション上に残っている業務アプリケーションのバックグラウンドプロセスが確認できた場合、各VDAサーバにて以下の設定をお試し下さい。

【設定方法】
1.事象が発生するVDAサーバにて以下のレジストリエディタを開きます

2.次の"TWI"レジストリキーに「LogoffCheckSysModules」が無い場合は追加します。

HKEY_LOCAL_MACHINE¥SYSTEM¥CurrentControlSet¥Control¥Citrix¥wfshell¥TWI
名前:LogoffCheckSysModules
種類:REG_SZ
値:バックグラウンドプロセス名

※すでに別のプロセスが登録されている場合は、カンマ区切りで追加してください。
※VDAサーバの再起動は不要です。


【値の設定例】
以下のマシンはすでにXenDpriv.exeが登録されていましたので、カンマ区切りでAppBG.exeを登録しました。

LogoffCheckSysModules

【設定後の動作イメージ】
本ブログで使用している「App」の場合、ユーザーが「App」アプリケーションの「✕」で画面を閉じると、Citrix Studioに登録しているApp.exeの終了を検知します。

メインプロセスの終了を検知

その後、LogoffCheckSysModulesに登録されているAppBG.exeも終了します。

バックグラウンドプロセスも終了

こちらの動作により、セッションをログオフ出来ます。

VDAサーバのタスクマネージャから業務アプリケーションのプロセスを終了します

VDAサーバ上で問題のセッションをログオフ の内容でログオフ出来ない場合、以下の手順でセッションに紐づくプロセスを終了します。

【懸念事項】
業務アプリケーションのプロセスの強制終了になるため、こちらの操作により業務アプリケーション側のデータの整合性が取れなくなる等、問題が発生する可能性がある場合は実施を控えて下さい。

【設定手順】
1.問題のセッションが残っているVDAサーバにてWindowsのタスクマネージャを開きます。

2.適当な列名の項目上で右クリック後、「列の選択」をクリックします。

タスクマネージャのセッションタブにて列の選択

3.「セッションID」にチェックをつけて「OK」をクリックします。

4.セッションIDに紐づくプロセスを終了します。業務アプリケーションに関連するプロセスを終了します。

タスクの終了

5.こちらの操作でセッションがログオフされない場合は、自己責任でのお願いとなりますが、問題のセッションに紐づくwinlogon.exe を終了して1分ほどお待ち頂きセッションがログオフされるかどうかをご確認下さい。

他の正常系のVDAサーバでセッション起動ができるようにする方法


※参考情報
CTX217246
Release User sessions stuck on a hung XenApp Server VDA without rebooting
https://support.citrix.com/article/CTX217246

【設定前の動作イメージ】
標準設定の場合、不正に残っているセッションがある場合でも、こちらのセッションに対して再接続をする動作になります。

【設定後の動作イメージ】
設定時にVDAサーバに残っている不正なセッションに対しては再接続させない動作にすることができます。以下の図のように、別のVDAサーバでUser01のセッションが起動できるようになります。

【懸念事項】
・設定後の動作イメージの場合、User01の不正なユーザセッションが残っている状態で、別のVDAサーバ上でUser01の新しいセッションを起動するため、移動ユーザプロファイルを使用している場合は整合性が取れない問題が発生する可能性があります。
そのため、OS再起動による復旧を推奨致します。

・こちらの設定をするVDAサーバ上で生成されているセッションの中に、不正ではない(再接続可能な)セッションがある場合、こちらのセッションも再接続できないように制御されます。

【手順】
1.デリバリーコントローラサーバ上でPowerShellプロンプトを起動します。

2.以下のコマンド実行します。”ドメイン名\マシン名”は、不正なセッションが残っているVDAサーバになります。

Add-PSSnapin Citrix.Broker.*
Get-BrokerSession -MachineName “ドメイン名\マシン名” | Set-BrokerSession -Hidden $true

Get-BrokerSession -MachineName

こちらを実行することで、コマンド実行時に問題のVDAサーバ上に残っているセッションに対しては、Hidden:True となり、クライアント端末からこちらのセッションに対して再接続しない動作になるため、別の正常系のVDAサーバ上で新規セッションの起動ができます。

Hidden パラメータの値がtrueに変更されたセッションは、ログオフして再度起動し直すと、新しいセッションのHiddenパラメータの値は false に戻りますので、手動で falseに戻して頂く作業は不要です。

トラブル発生時に最短で解決に導くためのコツを動画でご紹介!
「Citrixトラブルシューティングセミナー」を視聴する

(7)まとめ

前回の記事 は、App.exeとAppBG.exe で構成される「App」を公開アプリケーションとして起動した場合を例にして以下を説明させて頂きました。

  • 起動されたセッション上で生成されるプロセス

  • 「✕」ボタンで閉じる場合とログオフで終了する場合の違い

また、不正セッションが発生する原因について4つのパターンに分けて説明をさせて頂きました。

今回の記事は、こちらの4つのパターン別に試して頂きたい対処方法をご案内させて頂きました。不正セッションが残る問題が発生した際に、問題箇所の絞り込みや改善の参考になると幸いです。

最後に、本記事の参考資料もご案内させて頂きます。

CTX200393
Registry Keys to Check When Published Applications or Desktops Do not Launch or Disappear during Launch
https://support.citrix.com/article/CTX200393

CTX891671
Graceful Logoff from a Published Application Renders the Session in Active State
https://support.citrix.com/article/CTX891671

CTX213500
Graceful Logoffs From a Seamless Application Results in Session Disconnect
https://support.citrix.com/article/CTX213500

CTX217246
Release User sessions stuck on a hung XenApp Server VDA without rebooting
https://support.citrix.com/article/CTX217246


Citrix製品紹介セミナーも定期開催しています

クライアント仮想化の基礎知識から、仮想化製品「Citrix Virtual Apps and Desktops(XenAppおよびXenDesktop)」の製品概要、導入検討時に注意すべき点などをご紹介します。
今お持ちのお悩みを解決し、Citrix製品をより有効に活用する方法を具体的に学ぶことができる内容になっております。

CitrixFAQ集ダウンロード

Citrixの設定・トラブル対処方法の良くあるFAQ10選プレゼント中

アシストのCitrixサポートセンターに良くある設定・トラブル対処方法のFAQ10選の資料を無料プレゼント中です。また、Citrix XenApp/XenDesktopの問題発生時に原因を切り分ける方法も掲載しております。以下のバナーからお気軽にダウンロードください。

CitrixFAQ集ダウンロード

この記事をシェアする

著者情報

著者の顔写真

ビジネスインフラ技術本部 アクセスインフラ技術統括部

川東 健吾

ビジネスインフラ技術本部 アクセスインフラ技術統括部

川東 健吾

関連記事

この記事のハッシュタグ #Session から関連する記事を表示しています。