リモートデスクトップでの COM リダイレクトについて、確認方法のメモ。
change port を使用します。
- サーバー側のマッピング
サーバー側の COM のマッピングは以下だったとします。
C>change port AUX = \DosDevices\COM1 COM3 = \Device\VCP0
- クライアント側のマッピング
クライアント側の COM のマッピングは以下だったとします。
C>change port AUX = \DosDevices\COM1 COM1 = \Device\Serial0 COM2 = \Device\StnSerial0 COM3 = \Device\StnSerial1
- リモートデスクトップ接続時のマッピング
リモートデスクトップで接続すると以下のようになります。
つまりポート番号が重なる場合はクライアント側が優先されます。C>change port AUX = \DosDevices\COM1 COM1 = \Device\RdpDrPort\;COM1:2\tsclient\COM1 COM2 = \Device\RdpDrPort\;COM2:2\tsclient\COM2 COM3 = \Device\RdpDrPort\;COM3:2\tsclient\COM3
- 重なっているデバイスを削除
重なったポートを削除すると、ローカルの(サーバー側の)ポートが現れます。
C>change port /D COM3 C>change port AUX = \DosDevices\COM1 COM1 = \Device\RdpDrPort\;COM1:2\tsclient\COM1 COM2 = \Device\RdpDrPort\;COM2:2\tsclient\COM2 COM3 = \Device\VCP0 ← ローカルのデバイスが表示される
- 重なっているデバイスをずらしたい
重なったポートをずらしたい場合、コピーを作ったうえで、重なったポートを削除します。
以下はリダイレクトされている COM3 を COM31 にコピーした後に、COM3 を削除してサーバー側の COM ポートを有効にしています。C>change port COM31=COM3 C>change port AUX = \DosDevices\COM1 COM1 = \Device\RdpDrPort\;COM1:2\tsclient\COM1 COM2 = \Device\RdpDrPort\;COM2:2\tsclient\COM2 COM3 = \Device\RdpDrPort\;COM3:2\tsclient\COM3 COM31 = \Device\RdpDrPort\;COM3:2\tsclient\COM3 ← リダイレクトの COM3 がコピーされる C>change port /D COM3 C>change port AUX = \DosDevices\COM1 COM1 = \Device\RdpDrPort\;COM1:2\tsclient\COM1 COM2 = \Device\RdpDrPort\;COM2:2\tsclient\COM2 COM3 = \Device\VCP0 ← ローカルのデバイスが表示される COM31 = \Device\RdpDrPort\;COM3:2\tsclient\COM3
単純に move する方法は知らないので、もし方法があるなら教えてください(汗
もっとも重ならないようにサーバー側の COM ポート番号をあらかじめ重ならないであろう番号にずらしておくのが正解だと思います。COM の番号は 256 まであるので、例えばサーバー側を 200 番台にしておければクライアント側と重なることはまずありません。