Citrix DaaS™

シリアルポート

ほとんどの新しいPCには、シリアル(COM)ポートが内蔵されていません。USBコンバーターを使用すれば、ポートを簡単に追加できます。シリアルポートに適したアプリケーションには、センサー、コントローラー、古いチェックリーダー、パッドなどがよく含まれます。一部のUSB仮想COMポートデバイスは、Windows提供のドライバー(usbser.sys)の代わりにベンダー固有のドライバーを使用します。これらのドライバーを使用すると、USBデバイスの仮想COMポートを、異なるUSBソケットに接続しても変更されないように強制できます。これは、デバイスマネージャー > ポート (COM と LPT) > プロパティから、またはデバイスを制御するアプリケーションから実行できます。

クライアントCOMポートマッピングにより、ユーザーのエンドポイントのCOMポートに接続されたデバイスを仮想セッション中に使用できます。これらのマッピングは、他のネットワークマッピングと同様に使用できます。

各COMポートには、オペレーティングシステム内のドライバーがCOM1やCOM2などのシンボリックリンク名を割り当てます。アプリケーションは、そのリンクを使用してポートにアクセスします。

重要:

デバイスがUSBを直接使用してエンドポイントに接続できるからといって、汎用USBリダイレクトを使用してリダイレクトできるわけではありません。一部のUSBデバイスは仮想COMポートとして機能し、アプリケーションは物理シリアルポートと同じ方法でアクセスできます。オペレーティングシステムはCOMポートを抽象化し、ファイル共有のように扱うことができます。仮想COMの一般的なプロトコルは、CDC ACMまたはMCTの2つです。RS-485ポートを介して接続した場合、アプリケーションがまったく機能しない可能性があります。RS-485をCOMポートとして使用するには、RS-485-to-RS232コンバーターを入手してください。 重要:

  • 一部のアプリケーションは、デバイス(署名パッドなど)がクライアントワークステーションのCOM1またはCOM2に接続されている場合にのみ、一貫して認識します。

クライアントCOMポートのサーバーCOMポートへのマッピング

クライアントCOMポートをCitrix®セッションにマッピングするには、次の3つの方法があります。

  • Studioポリシー。ポリシーの詳細については、「ポートリダイレクトポリシー設定」を参照してください。
    • VDAコマンドプロンプト。
    • リモートデスクトップ(ターミナルサービス)構成ツール。
  1. クライアントCOMポートリダイレクトおよびクライアントCOMポートの自動接続Studioポリシーを有効にします。適用後、一部の情報はHDX™ Monitorで利用可能になります。

    HDXモニター画像

  2. クライアントCOMポートの自動接続でポートのマッピングに失敗した場合は、手動でポートをマッピングするか、ログオンスクリプトを使用できます。VDAにログオンし、コマンドプロンプトウィンドウで次のように入力します。

    NET USE COMX: \\\CLIENT\COMZ:

    または

    NET USE COMX: \\\CLIENT\\CLIENTPORT:COMZ:

    XはVDA上のCOMポートの番号です(ポート1~9がマッピングに利用可能です)。ZはマッピングしたいクライアントCOMポートの番号です。

    操作が成功したことを確認するには、VDAコマンドプロンプトで「NET USE」と入力します。表示されるリストには、マッピングされたドライブ、LPTポート、およびマッピングされたCOMポートが含まれます。

    NET USEコマンド画像

  3. このCOMポートを仮想デスクトップまたはアプリケーションで使用するには、ユーザーデバイスアプリケーションをインストールし、マッピングされたCOMポート名を指定します。たとえば、クライアントのCOM1をサーバーのCOM3にマッピングする場合、VDAにCOMポートデバイスアプリケーションをインストールし、セッション中にCOM3を指定します。このマッピングされたCOMポートは、ユーザーデバイス上のCOMポートと同様に使用します。

重要:

COMポートマッピングはTAPI互換ではありません。Windows Telephony Application Programming Interface(TAPI)デバイスをクライアントCOMポートにマッピングすることはできません。TAPIは、データ、FAX、音声通話の電話機能をアプリケーションが制御するための標準的な方法を定義します。TAPIは、ダイヤル、応答、通話終了などのシグナリングを管理します。また、保留、転送、会議通話などの補足サービスも管理します。

トラブルシューティング

-  1.  Citrixをバイパスして、エンドポイントからデバイスに直接アクセスできることを確認します。ポートがVDAにマッピングされていない間は、Citrixセッションに接続されていません。デバイスに付属のトラブルシューティング手順に従い、まずローカルで動作することを確認してください。

-  デバイスがシリアルCOMポートに接続されると、ここに示されているハイブにレジストリキーが作成されます。
![トラブルシューティング画像](/en-us/citrix-daas/media/troubleshoot2.png)

この情報は、コマンドプロンプトで「**chgport /query**」を実行することでも確認できます。

![コマンドプロンプトからのトラブルシューティング画像](/en-us/citrix-daas/media/troubleshoot1.png)

デバイスのトラブルシューティング手順が利用できない場合は、PuTTYセッションを開いてみてください。**Session**を選択し、**Serial line**でCOMポートを指定します。

![PuTTYセッションによるトラブルシューティング画像](/en-us/citrix-daas/media/troubleshoot3.png)

ローカルコマンドウィンドウで「**MODE**」を実行できます。出力には、使用中のCOMポートと、PuTTYセッションで必要となるボーレート/パリティ/データビット/ストップビットが表示される場合があります。PuTTY接続が成功した場合は、**Enter**を押してデバイスからのフィードバックを確認します。入力した文字が画面に繰り返されたり、応答されたりする場合があります。この手順が失敗した場合、仮想セッションからデバイスにアクセスすることはできません。
  1. ローカルCOMポートをVDAにマッピングし(ポリシーまたはNET USE COMX: \\CLIENT\COMZ:を使用)、前の手順と同じPuTTY手順を繰り返しますが、今回はVDAのPuTTYから実行します。PuTTYが「Unable to open connection to COM1. Unable to open serial port」というエラーを表示する場合、別のデバイスがCOM1を使用している可能性があります。

  2. chgport /query」を実行します。VDA上の組み込みWindowsシリアルドライバーが\Device\Serial0をVDAのCOM1ポートに自動割り当てしている場合は、次の手順を実行します。 A. VDAでCMDを開き、「NET USE」と入力します。

    B. VDA上の既存のマッピング(例:COM1)を削除します。

    NET USE COM1 /DELETE

    C. デバイスをVDAにマッピングします。

    NET USE COM1: \\\CLIENT\COM3:

    D. VDA上のアプリケーションをCOM3に指定します。

    最後に、ローカルCOMポート(例:COM3)をVDA上の別のCOMポート(COM1以外、例:COM3)にマッピングしてみてください。アプリケーションがそれを指定していることを確認します。 NET USE COM3: \\\CLIENT\COM3

  3. ポートがマッピングされ、PuTTYは動作しているもののデータが通過しない場合、競合状態である可能性があります。アプリケーションがマッピングされる前にポートに接続して開いてしまい、マッピングをロックしている可能性があります。次のいずれかを試してください。

    • 同じサーバーで公開されている2番目のアプリケーションを開きます。ポートがマッピングされるまで数秒待ち、その後、ポートを使用しようとする実際のアプリケーションを開きます。
    • Studioではなく、Active DirectoryのグループポリシーエディターからCOMポートリダイレクトポリシーを有効にします。これらのポリシーは、クライアントCOMポートリダイレクトクライアントCOMポートの自動接続です。この方法で適用されたポリシーは、Studioポリシーよりも前に処理される可能性があり、COMポートがマッピングされることを保証します。CitrixポリシーはVDAにプッシュされ、次の場所に保存されます。 HKLN\SOFTWARE\Policies\Citrix \<user session ID\>

    • ユーザーにこのログオンスクリプトを使用するか、アプリケーションを公開する代わりに、VDA上の既存のマッピングを最初に削除し、仮想COMポートを再マッピングしてからアプリケーションを起動する.batスクリプトを公開します。

    @echo off NET USE COM1 /delete NET USE COM2 /delete NET USE COM1: \\\CLIENT\COM1: NET USE COM2: \\\CLIENT\COM2: MODE COM1: BAUD=1200 (または必要な値) MODE COM2: BAUD=9600 PARITY=N Data=8 Stop=1 (または必要な値) START C:\\Program Files\\\<Your Software Path>\\\<your_software.exe>

  4. SysinternalsのProcess Monitorは、最後の手段となるツールです。VDAでこのツールを実行する際、COM3、picaser.sys、CdmRedirectorなどのオブジェクト、特に<your_app>.exeを検索してフィルターします。エラーは「アクセス拒否」または同様の形で表示される場合があります。

シリアルポート