Citrix DaaS™

Serielle Schnittstellen

Die meisten neuen PCs verfügen nicht über integrierte serielle (COM-)Schnittstellen. Die Schnittstellen lassen sich einfach durch die Verwendung von USB-Konvertern hinzufügen. Anwendungen, die für serielle Schnittstellen geeignet sind, umfassen häufig Sensoren, Steuerungen, alte Scheckleser, Pads und so weiter. Einige virtuelle USB-COM-Port-Geräte verwenden herstellerspezifische Treiber anstelle der von Windows bereitgestellten Treiber (usbser.sys). Diese Treiber ermöglichen es Ihnen, den virtuellen COM-Port des USB-Geräts so zu erzwingen, dass er sich nicht ändert, selbst wenn er an verschiedene USB-Buchsen angeschlossen wird. Dies kann über den Geräte-Manager > Anschlüsse (COM & LPT) > Eigenschaften oder über die Anwendung erfolgen, die das Gerät steuert.

Die Client-COM-Port-Zuordnung ermöglicht die Verwendung von Geräten, die an die COM-Ports des Endpunkts des Benutzers angeschlossen sind, während virtueller Sitzungen. Sie können diese Zuordnungen wie jede andere Netzwerkzuordnung verwenden.

Für jeden COM-Port weist ein Treiber im Betriebssystem einen symbolischen Linknamen wie COM1 und COM2 zu. Die Anwendungen verwenden dann den Link, um auf den Port zuzugreifen.

Wichtig:

Nur weil ein Gerät direkt über USB an den Endpunkt angeschlossen werden kann, bedeutet das nicht, dass es über die generische USB-Umleitung umgeleitet werden kann. Einige USB-Geräte fungieren als virtuelle COM-Ports, auf die Anwendungen auf die gleiche Weise wie auf physische serielle Schnittstellen zugreifen können. Das Betriebssystem kann COM-Ports abstrahieren und sie wie Dateifreigaben behandeln. Zwei gängige Protokolle für virtuelle COM sind CDC ACM oder MCT. Beim Anschluss über einen RS-485-Port funktionieren Anwendungen möglicherweise überhaupt nicht. Besorgen Sie sich einen RS-485-zu-RS232-Konverter, um RS-485 als COM-Port zu verwenden. Wichtig:

Einige Anwendungen erkennen das Gerät (z. B. ein Unterschriftenpad) nur dann konsistent, wenn es an COM1 oder COM2 der Client-Workstation angeschlossen ist.

Client-COM-Port einem Server-COM-Port zuordnen

Sie können Client-COM-Ports auf drei Arten einer Citrix®-Sitzung zuordnen:

  1. Aktivieren Sie die Studio-Richtlinien Client-COM-Port-Umleitung und Client-COM-Ports automatisch verbinden. Nach der Anwendung sind einige Informationen im HDX™ Monitor verfügbar.

    HDX-Monitor-Bild

  2. Wenn Client-COM-Ports automatisch verbinden den Port nicht zuordnen konnte, können Sie den Port manuell oder mithilfe von Anmeldeskripts zuordnen. Melden Sie sich am VDA an und geben Sie in einem Eingabeaufforderungsfenster Folgendes ein:

    NET USE COMX: \\CLIENT\COMZ:

    Oder

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

    X ist die Nummer des COM-Ports auf dem VDA (Ports 1 bis 9 stehen für die Zuordnung zur Verfügung). Z ist die Nummer des Client-COM-Ports, den Sie zuordnen möchten.

    Um zu bestätigen, dass der Vorgang erfolgreich war, geben Sie NET USE an einer VDA-Eingabeaufforderung ein. Die angezeigte Liste enthält zugeordnete Laufwerke, LPT-Ports und zugeordnete COM-Ports.

    Net-Use-Befehlsbild

  3. Um diesen COM-Port in einem virtuellen Desktop oder einer Anwendung zu verwenden, installieren Sie Ihre Benutzergeräteanwendung und verweisen Sie sie auf den zugeordneten COM-Port-Namen. Wenn Sie beispielsweise COM1 auf dem Client COM3 auf dem Server zuordnen, installieren Sie Ihre COM-Port-Geräteanwendung im VDA und verweisen Sie sie während der Sitzung auf COM3. Verwenden Sie diesen zugeordneten COM-Port wie einen COM-Port auf dem Benutzergerät.

Wichtig:

Die COM-Port-Zuordnung ist nicht TAPI-kompatibel. Sie können Windows Telephony Application Programming Interface (TAPI)-Geräte nicht Client-COM-Ports zuordnen. TAPI definiert eine Standardmethode für Anwendungen zur Steuerung von Telefonfunktionen für Daten-, Fax- und Sprachanrufe. TAPI verwaltet die Signalisierung, einschließlich Wählen, Annehmen und Beenden von Anrufen. Außerdem Zusatzdienste wie Halten, Weiterleiten und Konferenzschaltungen.

Fehlerbehebung

  1. Stellen Sie sicher, dass Sie direkt vom Endpunkt aus auf das Gerät zugreifen können, ohne Citrix zu verwenden. Solange der Port nicht dem VDA zugeordnet ist, sind Sie nicht mit einer Citrix-Sitzung verbunden. Befolgen Sie alle Anweisungen zur Fehlerbehebung, die mit dem Gerät geliefert wurden, und überprüfen Sie zuerst, ob es lokal funktioniert. Wenn ein Gerät an einen seriellen COM-Port angeschlossen ist, wird ein Registrierungsschlüssel in der hier gezeigten Hive erstellt: Fehlerbehebungsbild

    Sie können diese Informationen auch über die Eingabeaufforderung abrufen, indem Sie chgport /query ausführen.

    Fehlerbehebung über das Eingabeaufforderungsbild

    Wenn keine Anweisungen zur Fehlerbehebung für das Gerät verfügbar sind, versuchen Sie, eine PuTTY-Sitzung zu öffnen. Wählen Sie Sitzung und geben Sie unter Serielle Leitung Ihren COM-Port an.

    Fehlerbehebung durch PuTTY-Sitzungsbild

    Sie können MODE in einem lokalen Befehlsfenster ausführen. Die Ausgabe zeigt möglicherweise den verwendeten COM-Port und die Baud/Parity/Data Bits/Stop Bits an, die Sie in Ihrer PuTTY-Sitzung benötigen. Wenn die PuTTY-Verbindung erfolgreich ist, drücken Sie die Eingabetaste, um eine Rückmeldung vom Gerät zu erhalten. Alle von Ihnen eingegebenen Zeichen können auf dem Bildschirm wiederholt oder beantwortet werden. Wenn dieser Schritt nicht erfolgreich ist, können Sie nicht von einer virtuellen Sitzung aus auf das Gerät zugreifen.

  2. Ordnen Sie den lokalen COM-Port dem VDA zu (mithilfe von Richtlinien oder NET USE COMX: \\CLIENT\COMZ:) und wiederholen Sie die gleichen PuTTY-Verfahren wie im vorherigen Schritt, diesmal jedoch vom VDA-PuTTY aus. Wenn PuTTY den Fehler Unable to open connection to COM1. Unable to open serial port anzeigt, verwendet möglicherweise ein anderes Gerät COM1.

  3. Führen Sie chgport /query aus. Wenn der integrierte Windows-Serientreiber auf dem VDA \Device\Serial0 automatisch einem COM1-Port Ihres VDA zuweist, gehen Sie wie folgt vor: A. Öffnen Sie CMD auf dem VDA und geben Sie NET USE ein.

    B. Löschen Sie alle vorhandenen Zuordnungen (z. B. COM1) auf dem VDA.

    NET USE COM1 /DELETE

    C. Ordnen Sie das Gerät dem VDA zu.

    NET USE COM1: \\CLIENT\COM3:

    D. Verweisen Sie Ihre Anwendung auf dem VDA auf COM3.

    Versuchen Sie zuletzt, Ihren lokalen COM-Port (z. B. COM3) einem anderen COM-Port auf dem VDA zuzuordnen (nicht COM1, z. B. COM3). Stellen Sie sicher, dass Ihre Anwendung darauf verweist: NET USE COM3: \\CLIENT\COM3

  4. Wenn Sie nun sehen, dass der Port zugeordnet ist, PuTTY funktioniert, aber keine Daten übertragen werden, könnte es sich um eine Race Condition handeln. Die Anwendung könnte sich verbinden und den Port öffnen, bevor er zugeordnet wird, wodurch die Zuordnung blockiert wird. Versuchen Sie eine der folgenden Optionen:

    • Öffnen Sie eine zweite Anwendung, die auf demselben Server veröffentlicht ist. Warten Sie einige Sekunden, bis der Port zugeordnet ist, und öffnen Sie dann die eigentliche Anwendung, die versucht, den Port zu verwenden.
    • Aktivieren Sie die Richtlinien zur COM-Port-Umleitung im Gruppenrichtlinien-Editor in Active Directory anstelle von Studio. Diese Richtlinien sind Client-COM-Port-Umleitung und Client-COM-Ports automatisch verbinden. Auf diese Weise angewendete Richtlinien können vor den Studio-Richtlinien verarbeitet werden, wodurch sichergestellt wird, dass der COM-Port zugeordnet wird. Citrix-Richtlinien werden an den VDA übertragen und gespeichert unter: HKLN\SOFTWARE\Policies\Citrix \<user session ID\>

    • Verwenden Sie dieses Anmeldeskript für den Benutzer oder veröffentlichen Sie anstelle der Anwendung ein .bat-Skript, das zuerst alle Zuordnungen auf dem VDA löscht, den virtuellen COM-Port neu zuordnet und dann die Anwendung startet:

    @echo off NET USE COM1 /delete NET USE COM2 /delete NET USE COM1: \\CLIENT\COM1: NET USE COM2: \\CLIENT\COM2: MODE COM1: BAUD=1200 (oder welcher Wert auch immer benötigt wird) MODE COM2: BAUD=9600 PARITY=N Data=8 Stop=1 (oder welcher Wert auch immer benötigt wird) START C:\Program Files\<Ihr Softwarepfad>\<ihre_software.exe>

  5. Process Monitor von Sysinternals ist das letzte Mittel. Wenn Sie das Tool auf dem VDA ausführen, suchen und filtern Sie Objekte wie COM3, picaser.sys, CdmRedirector, aber insbesondere <ihre_app>.exe. Fehler können als “Zugriff verweigert” oder Ähnliches angezeigt werden.

Serielle Schnittstellen