現象
同じユーザーアカウントを利用して複数の異なるセッションIDを同じサーバーに確立した場合、最初に起動したセッション内のアプリケーション上で、自動生成プリンタが列挙できないため、印刷ができないことがあります。
注:シームレスモードで公開アプリケーションを同一クライアントから同じサーバーに対して複数起動した場合、セッション共有機能により同じセッションIDを共有します。この場合、上記の問題は発生しません。
原因
Citrix Presentation Server 4.0の自動生成プリンタの作成方法(セッション固有のダイナミックなクライアントプリンタ)は、Citrix Presentation Server 3.0とは異なるため、同一セッション(セッションID)内でのみプリンタの参照が可能となります。この機能の追加により、同一ユーザーが複数のセッションIDを同じサーバーに確立している場合、レジストリを直接参照してプリンタを列挙するようなアプリケーション(例:Excelなど)では、最初にログオンしたセッションでは自動生成されたプリンタの列挙ができなくなることがあります。
再現手順(例:EXCELを使用した場合)
1. 公開デスクトップを特定のユーザーアカウントで起動します。
2. 公開デスクトップ上で、EXCELを起動し、[ファイル]メニューから[印刷]を選択して、自動生成プリンタを問題なく使用できることを確認します。
3. 公開デスクトップを起動しているクライアントデバイスから、上記と同じユーザーアカウントを使用して、シームレスモードの公開アプリケーションとしてEXCELを同じサーバー上から起動します。
4. すでに起動している公開デスクトップに戻り、再度EXCELの[ファイル]メニューから[印刷]を選択します。
5. 「指定されたプリンタは使用できません。別のプリンタを選択してください。」(EXCEL 2003の場合)のように、プリンタが使用できないことを通知するエラーメッセージが表示されます。
回避策
シナリオ1:
同じクライアントデバイスから、同一ユーザーアカウントを使用して複数のセッションIDを同じサーバーに確立する環境(図1)で印刷機能を利用する場合
Citrix Presentation Server 3.0と同等の自動生成プリンタ作成方法(従来のクライアントプリンタを作成する)をポリシーより適用します。Presentation Server管理コンソールより下記のポリシールールを適用することで、従来型の自動生成プリンタの作成方法が適用されるために、本問題を回避することができます。
管理コンソールの[ポリシー]で該当するポリシーの[プロパティ]を開きます。[印刷] – [クライアントプリンタ] – [従来のクライアントプリンタ]の順に展開し、[クライアントプリンタの自動作成時]で、[従来のクライアントプリンタを作成する]チェックボックスをオンにします。
図1. 同じデバイスから同じユーザーアカウントによる複数セッション確立
シナリオ2:
異なるクライアントデバイスから、同一ユーザーアカウントを使用して複数のセッションIDを同じサーバーに確立する環境(図2)で印刷機能を利用する場合
本事象を回避する方法は、現在ありません。上記説明のレジストリを直接参照しプリンタ情報を取得するアプリケーションの場合、Citrix Presentation Server 4.0の自動生成プリンタのセキュリティ設定CTX106700 - [Document Not Found]により、異なるデバイスからのプリンタ情報の参照が許可されません。
しかし、ユニバーサルプリンタドライバ(UPD)を使用する場合、ユーザーの[通常使用するプリンタ]が同一ユーザーアカウントの異なるセッションの自動作成プリンタとなることがあります。たとえば、以下の図の例では、Client AがClient Bの自動作成プリンタを使用して印刷することができたり、Client Aでプレビュー操作を行なうと、Client Bを使用しているユーザーの画面に予期せずEMF Viewerが起動したりすることがあります。
図2. 異なるデバイスから同一ユーザーアカウントによる複数セッション確立
ステータス
Citrix社では、この問題をマイクロソフト社にエスカレーションしています。なお、Citrix社では、Hotfix Rolllup Pack 2において、この現象に対する回避策を提供していますが、Windows OSの通常使用するプリンタの選定処理により、この回避策が有効とならない場合があります。
CTX109308 - [Document Not Found]
CTX109309 - [Document Not Found]
注:レジストリエディタの使用を誤ると、深刻な問題が発生する可能性があり、Windows の再インストールが必要になることがあります。レジストリエディタは自己の責任と判断の範囲でご使用ください。
以下は、Hotfix Rollup Pack 2 for Citrix Presentation Server 4.0 - Japaneseの『Readme』より抜粋です。
ユーザーが同一サーバー上で複数のセッションを起動すると、最初のセッションで作成されたデフォルトプリンタにほかのセッションからアクセスできなくなることがありました。この修正により、セッションプリンタのアクセス制御一覧にユーザー名を追加するレジストリ設定がサポートされます。これにより、そのユーザーが同一サーバー上で起動するすべてのセッションで、デフォルトプリンタにアクセスできるようになります。
次のレジストリキーを設定します。
HKEY_LOCAL_MACHINE¥SOFTWARE¥Citrix¥Print
値の名前:DefaultPrnFlags
種類:REG_DWORD
値のデータ:0x20000000
[Hotfix PSJ400W2K3R02より][#129448]
注意:
この問題はMicrosoft社がWindows 2008で修正しました。
現在プリンターはセッションごとにスコープされます。サーバーへ複数のセッションを持つユーザー1のセッション1のプリンタは、ユーザー1のセッション2には表示されません。
これは、現在ではセッションSIDがプリンタのACLの一部となっているためです。
Windows 2008のほかの機能では、セッションごとにデフォルトプリンタを設定できます。これにより、同一のユーザー名を使用していても、サーバーへ確立されたそれぞれのセッションごとのデフォルトプリンタを取得することができます。
http://technet.microsoft.com/ja-jp/library/cc753853(WS.10).aspx
関連情報
この資料は米国のCitrix Knowledge Baseで提供している情報をもとに作成したものです。
Document ID: CTX106744
Autocreated Printers Do Not Appear in the Published Application When Establishing Multiple Session IDs on One Server with the Same User Account