シリアルポート
ほとんどの新しい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コマンドプロンプト。
-
リモートデスクトップ(ターミナルサービス)構成ツール。
-
クライアントCOMポートリダイレクトポリシーとクライアントCOMポートの自動接続Studioポリシーを有効にします。適用後、HDX™ Monitorで一部の情報を確認できます。

-
クライアント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 ポートが含まれます。
-
仮想デスクトップまたはアプリケーションでこの COM ポートを使用するには、ユーザーデバイスアプリケーションをインストールし、マップされた COM ポート名を指定します。たとえば、クライアント上の COM1 をサーバー上の COM3 にマップする場合、VDA に COM ポートデバイスアプリケーションをインストールし、セッション中に COM3 を指定します。このマップされた COM ポートは、ユーザーデバイス上の COM ポートと同様に使用します。
重要:
COM ポートマッピングは TAPI と互換性がありません。Windows Telephony Application Programming Interface (TAPI) デバイスをクライアント COM ポートにマップすることはできません。TAPI は、アプリケーションがデータ、FAX、音声通話の電話機能を制御するための標準的な方法を定義します。TAPI は、ダイヤル、応答、通話終了などのシグナリングを管理します。また、保留、転送、会議通話などの補足サービスも管理します。
トラブルシューティング
-
Citrix をバイパスして、エンドポイントから直接デバイスにアクセスできることを確認してください。ポートが VDA にマップされていない間は、Citrix セッションに接続されていません。デバイスに付属のトラブルシューティング手順に従い、まずローカルで動作することを確認してください。 シリアル COM ポートにデバイスが接続されると、ここに示されているハイブにレジストリキーが作成されます:
この情報は、コマンドプロンプトで chgport /query を実行することでも確認できます。
デバイスのトラブルシューティング手順が利用できない場合は、PuTTY セッションを開いてみてください。Session を選択し、Serial line で COM ポートを指定します。
ローカルコマンドウィンドウで MODE を実行できます。出力には、使用中のCOMポートと、PuTTYセッションで必要となるBaud/Parity/Data Bits/Stop Bitsが表示される場合があります。PuTTY接続が成功した場合は、Enter を押してデバイスからのフィードバックを確認します。入力した文字は画面に繰り返されたり、応答されたりする場合があります。この手順が失敗した場合、仮想セッションからデバイスにアクセスすることはできません。 -
ローカルのCOMポートをVDAにマッピングし(ポリシーまたは NET USE COMX: \\\CLIENT\COMZ: を使用)、前の手順と同じPuTTYの手順を繰り返しますが、今回はVDAのPuTTYから行います。PuTTYがエラー Unable to open connection to COM1. Unable to open serial port を表示しない場合、別のデバイスがCOM1を使用している可能性があります。
-
chgport /query を実行します。VDA上の組み込みWindowsシリアルドライバーが、\Device\Serial0 をVDAのCOM1ポートに自動割り当てしている場合は、次の操作を行います。 A. VDAでCMDを開き、NET USE. と入力します。B. VDA上の既存のマッピング(例:COM1)を削除します。NET USE COM1 /DELETEC. デバイスをVDAにマッピングします。NET USE COM1:
\CLIENT\COM3:D. VDA上のアプリケーションをCOM3に指定します。最後に、ローカルのCOMポート(例: COM3)をVDA上の別のCOMポート(COM1以外、例: COM3)にマッピングしてみてください。アプリケーションがそれを指していることを確認してください。 NET USE COM3: \\\CLIENT\COM3 -
ポートがマッピングされているのにPuTTYは動作しているがデータが通過しない場合、それは競合状態である可能性があります。アプリケーションがマッピングされる前にポートに接続して開いてしまい、マッピングをロックしている可能性があります。次のいずれかを試してください。
-
同じサーバーで公開されている2番目のアプリケーションを開きます。ポートがマッピングされるまで数秒待ってから、ポートを使用しようとする実際のアプリケーションを開きます。
-
Studioではなく、Active DirectoryのグループポリシーエディターからCOMポートリダイレクトポリシーを有効にします。これらのポリシーは、Client COM port redirection と Auto connect client COM ports です。この方法で適用されたポリシーは、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 (または必要な値) STARTC:\Program Files\<Your Software Path>\<your_software.exe> -
-
SysinternalsのProcess Monitorは、最後の手段となるツールです。VDAでこのツールを実行する際、COM3、picaser.sys、CdmRedirectorなどのオブジェクト、特に\<your_app\>.exe を見つけてフィルターします。エラーは「アクセス拒否」または類似の形で表示される場合があります。