Citrix DaaS™

Ports série

La plupart des nouveaux PC ne disposent pas de ports série (COM) intégrés. Ces ports peuvent être facilement ajoutés à l’aide de convertisseurs USB. Les applications adaptées aux ports série impliquent souvent des capteurs, des contrôleurs, d’anciens lecteurs de chèques, des pavés, etc. Certains périphériques de port COM virtuel USB utilisent des pilotes spécifiques au fournisseur à la place des pilotes fournis par Windows (usbser.sys). Ces pilotes vous permettent de forcer le port COM virtuel du périphérique USB afin qu’il ne change pas même s’il est connecté à différentes prises USB. Cela peut être fait à partir du Gestionnaire de périphériques > Ports (COM et LPT) > Propriétés ou à partir de l’application qui contrôle le périphérique.

Le mappage des ports COM clients permet d’utiliser les périphériques connectés aux ports COM du point de terminaison de l’utilisateur pendant les sessions virtuelles. Vous pouvez utiliser ces mappages comme n’importe quel autre mappage réseau.

Pour chaque port COM, un pilote du système d’exploitation attribue un nom de lien symbolique tel que COM1 et COM2. Les applications utilisent ensuite le lien pour accéder au port.

Important :

Le fait qu’un périphérique puisse se connecter au point de terminaison directement via USB ne signifie pas qu’il peut être redirigé à l’aide de la redirection USB générique. Certains périphériques USB fonctionnent comme des ports COM virtuels, auxquels les applications peuvent accéder de la même manière qu’un port série physique. Le système d’exploitation peut abstraire les ports COM et les traiter comme des partages de fichiers. Deux protocoles courants pour les ports COM virtuels sont CDC ACM ou MCT. Lorsqu’elles sont connectées via un port RS-485, les applications peuvent ne pas fonctionner du tout. Procurez-vous un convertisseur RS-485 vers RS232 pour utiliser le RS-485 comme port COM. Important :

Certaines applications reconnaissent le périphérique (par exemple, un pavé de signature) de manière cohérente uniquement s’il est connecté à COM1 ou COM2 sur le poste de travail client.

Mapper un port COM client à un port COM serveur

Vous pouvez mapper les ports COM clients à une session Citrix® de trois manières :

  1. Activez les stratégies Redirection de port COM client et Connexion automatique des ports COM clients Studio. Une fois appliquées, certaines informations sont disponibles dans HDX™ Monitor.

    Image du moniteur HDX

  2. Si la connexion automatique des ports COM clients n’a pas réussi à mapper le port, vous pouvez mapper le port manuellement ou utiliser des scripts d’ouverture de session. Connectez-vous au VDA et, dans une fenêtre d’invite de commandes, tapez :

    NET USE COMX: \\CLIENT\COMZ:

    Ou

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

    X est le numéro du port COM sur le VDA (les ports 1 à 9 sont disponibles pour le mappage). Z est le numéro du port COM client que vous souhaitez mapper.

    Pour confirmer que l’opération a réussi, tapez NET USE à l’invite de commandes du VDA. La liste qui apparaît contient les lecteurs mappés, les ports LPT et les ports COM mappés.

    Image de la commande Net use

  3. Pour utiliser ce port COM dans un bureau ou une application virtuelle, installez votre application de périphérique utilisateur et pointez-la vers le nom du port COM mappé. Par exemple, si vous mappez COM1 sur le client à COM3 sur le serveur, installez votre application de périphérique de port COM dans le VDA et pointez-la vers COM3 pendant la session. Utilisez ce port COM mappé comme vous le feriez avec un port COM sur le périphérique utilisateur.

Important :

Le mappage de port COM n’est pas compatible TAPI. Vous ne pouvez pas mapper les périphériques TAPI (Windows Telephony Application Programming Interface) aux ports COM clients. TAPI définit une méthode standard pour les applications afin de contrôler les fonctions téléphoniques pour les appels de données, de fax et vocaux. TAPI gère la signalisation, y compris la numérotation, la réponse et la fin des appels. De plus, les services supplémentaires tels que la mise en attente, le transfert et les conférences téléphoniques.

Dépannage

  1. Assurez-vous que vous pouvez accéder au périphérique directement depuis le point de terminaison, en contournant Citrix. Tant que le port n’est pas mappé au VDA, vous n’êtes pas connecté à une session Citrix. Suivez toutes les instructions de dépannage fournies avec le périphérique et vérifiez qu’il fonctionne d’abord localement. Lorsqu’un périphérique est connecté à un port COM série, une clé de registre est créée dans la ruche indiquée ici : Image de dépannage

    Vous pouvez également trouver ces informations à partir de l’invite de commandes en exécutant chgport /query.

    Image de dépannage à partir de l’invite de commandes

    Si les instructions de dépannage pour le périphérique ne sont pas disponibles, essayez d’ouvrir une session PuTTY. Choisissez Session et, dans Ligne série, spécifiez votre port COM.

    Image de dépannage par session PuTTY

    Vous pouvez exécuter MODE dans une fenêtre de commande locale. La sortie peut afficher le port COM utilisé et les bits de débit/parité/données/arrêt, dont vous avez besoin dans votre session PuTTY. Si la connexion PuTTY est réussie, appuyez sur Entrée pour voir les commentaires du périphérique. Tous les caractères que vous tapez peuvent être répétés à l’écran ou faire l’objet d’une réponse. Si cette étape échoue, vous ne pouvez pas accéder au périphérique à partir d’une session virtuelle.

  2. Mappez le port COM local au VDA (à l’aide de stratégies ou de NET USE COMX: \\CLIENT\COMZ:) et répétez les mêmes procédures PuTTY que l’étape précédente, mais cette fois à partir du PuTTY du VDA. Si PuTTY ne parvient pas à afficher l’erreur Impossible d’ouvrir la connexion à COM1. Impossible d’ouvrir le port série, un autre périphérique peut utiliser COM1.

  3. Exécutez chgport /query. Si le pilote série Windows intégré sur le VDA attribue automatiquement \Device\Serial0 à un port COM1 de votre VDA, procédez comme suit : A. Ouvrez CMD sur le VDA et tapez NET USE.

    B. Supprimez tout mappage existant (par exemple, COM1) sur le VDA.

    NET USE COM1 /DELETE

    C. Mappez le périphérique au VDA.

    NET USE COM1: \\CLIENT\COM3:

    D. Pointez votre application sur le VDA vers COM3.

    Enfin, essayez de mapper votre port COM local (par exemple, COM3) à un port COM différent sur le VDA (autre que COM1, par exemple COM3). Assurez-vous que votre application y pointe : NET USE COM3: \\CLIENT\COM3

  4. Si vous voyez maintenant le port mappé, que PuTTY fonctionne mais qu’aucune donnée ne passe, il peut s’agir d’une condition de concurrence. L’application peut se connecter et ouvrir le port avant qu’il ne soit mappé, l’empêchant d’être mappé. Essayez l’une des solutions suivantes :

    • Ouvrez une deuxième application publiée sur le même serveur. Attendez quelques secondes que le port soit mappé, puis ouvrez l’application réelle qui tente d’utiliser le port.
    • Activez les stratégies de redirection de port COM à partir de l’Éditeur de stratégie de groupe dans Active Directory au lieu de Studio. Ces stratégies sont Redirection de port COM client et Connexion automatique des ports COM clients. Les stratégies appliquées de cette manière peuvent être traitées avant les stratégies Studio, garantissant que le port COM est mappé. Les stratégies Citrix sont transmises au VDA et stockées dans : HKLN\SOFTWARE\Policies\Citrix \<user session ID\>

    • Utilisez ce script d’ouverture de session pour l’utilisateur ou, au lieu de publier l’application, publiez un script .bat qui supprime d’abord tout mappage sur le VDA, remappe le port COM virtuel, puis démarre l’application :

    @echo off NET USE COM1 /delete NET USE COM2 /delete NET USE COM1: \\CLIENT\COM1: NET USE COM2: \\CLIENT\COM2: MODE COM1: BAUD=1200 (ou toute valeur nécessaire) MODE COM2: BAUD=9600 PARITY=N Data=8 Stop=1 (ou toute valeur nécessaire) START C:\Program Files\<Your Software Path>\<your_software.exe>

  5. Process Monitor de Sysinternals est l’outil de dernier recours. Lors de l’exécution de l’outil sur le VDA, recherchez et filtrez les objets tels que COM3, picaser.sys, CdmRedirector, mais surtout <your_app>.exe. Toute erreur peut apparaître comme Accès refusé ou similaire.

Ports série