Citrix Virtual Apps and Desktops

Dépannage

Dépannage des problèmes de déconnexion de session avec les applications publiées

Lors de la publication d’applications, seul le fichier exécutable principal de l’application publiée est spécifié. Cependant, certaines applications peuvent générer des processus supplémentaires (enfants) qui s’exécutent en arrière-plan et ne sont pas fermés par le fichier exécutable principal correspondant lorsque l’application publiée principale est fermée. Des processus supplémentaires peuvent également être créés à partir de scripts exécutés ou de clés de registre spécifiques, telles que Run et RunOnceKey. Ces applications peuvent empêcher une déconnexion en douceur, entraînant des sessions persistantes ou bloquées et pouvant empêcher la fermeture de la session et la déconnexion de l’utilisateur.

Dans ce cas, vous devez réinitialiser ou quitter ces sessions à l’aide de Citrix Director.

Pour vous aider à identifier et à dépanner les sessions qui ne se déconnectent pas correctement, Citrix a mis à disposition trois entrées de registre. L’identification et le dépannage des sessions qui ne se déconnectent pas correctement en raison de ces problèmes est un processus en trois étapes :

  1. Identification des sessions dont les applications publiées empêchent une déconnexion en douceur

  2. Identification des processus supplémentaires (enfants) générés par ces applications publiées

  3. Ajout de ces processus à une entrée de registre spécifiée pour éviter qu’ils n’empêchent la déconnexion

Étape 2 : Identification des processus supplémentaires (enfants) générés par ces applications publiées

Une fois qu’une application publiée est identifiée comme empêchant une déconnexion en douceur, l’étape suivante consiste à déterminer si cette application génère des processus supplémentaires lors de son exécution.

Vous pouvez lire HKCU\Software\CitrixVolatile\Seamless\Sessions\[ID]\LogoffCheckerBlockingProcess pour déterminer si des processus bloquent une déconnexion en douceur lorsqu’une application publiée est fermée.

Dans l’exemple suivant, la clé LogoffCheckerBlockingProcess contient les entrées suivantes :

PhoneExperienceHost.exe
SkypeApp.exe
SkypeBackgroundHost.exe
<!--NeedCopy-->

Ces processus ont empêché la déconnexion en douceur.

Remarque :

Remplacez [ID] par l’ID de session correct pour la session que vous souhaitez vérifier.

Étape 3 : Ajout de ces processus à une entrée de registre spécifiée pour éviter qu’ils n’empêchent la déconnexion

Vous pouvez ajouter ces processus aux clés de registre suivantes pour éviter qu’ils n’empêchent la déconnexion lors des sessions futures :

Add the process file name to the following registry key:
Caution! Refer to the Disclaimer at the end of this article before using the Registry Editor.
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Citrix\wfshell\TWI
Value Name:LogoffCheckSysModules
Type:REG_SZ
String:MyAppName.exe
<!--NeedCopy-->

Pour plus d’informations sur LogoffCheckSysModules, consultez Déconnexion en douceur d’une application publiée qui maintient la session dans un état actif.

Guide de dépannage étape par étape

  1. Démarrez le service de registre distant sur le VDA testé :

    1. Dans le Panneau de configuration, sélectionnez Outils d’administration > Services.

    2. Cliquez avec le bouton droit sur Service de registre distant et sélectionnez Propriétés.

    3. Sous Type de démarrage, sélectionnez Automatique dans le menu déroulant.

    Registre de l'application publiée

  2. Désactivez le Pare-feu Windows sur le VDA testé ou créez une règle de pare-feu de trafic entrant pour activer le port 455 :

    1. Dans le Panneau de configuration, sélectionnez Pare-feu Windows Defender > Paramètres avancés.

    2. Cliquez avec le bouton droit sur Règles de trafic entrant et sélectionnez Nouvelle règle.

    3. Dans l’Assistant Nouvelle règle de trafic entrant, sélectionnez Port.

    4. Sur la page Protocoles et ports, sélectionnez TCP et ports locaux spécifiques. Saisissez 445 comme port local.

    5. Sélectionnez Autoriser la connexion sur la page Action.

      1. Sélectionnez les profils de pare-feu auxquels vous souhaitez appliquer la nouvelle règle de trafic entrant.
    1. Nommez la règle de pare-feu et sélectionnez Terminer pour quitter l’Assistant Nouvelle règle de trafic entrant.

      Port de pare-feu de l'application publiée

  3. À partir d’une autre VM sur le même domaine (il peut s’agir d’un contrôleur de domaine, d’un DDC ou d’un autre VDA), exécutez Regedit et connectez-vous à un registre distant.

    Éditeur de registre de l'application publiée

  4. Saisissez l’adresse IP du VDA testé et cliquez sur OK. L’arborescence regedit doit afficher les branches du VDA testé.

    Regedit de l'application publiée

  5. Ouvrez l’application publiée Invite de commandes.

    Gestion de l'application publiée

    L’application Invite de commandes s’affiche dans Citrix Workspace.

    Invite de commandes de l'application publiée

  6. Ouvrez le Centre de connexion sur le client. Il est utilisé pour surveiller la déconnexion d’une session après la fermeture d’une application transparente ouverte. Nous pouvons voir dans l’image suivante que le processus d’invite de commandes c:\Windows\system32\cmd.exe est actif sur le VDI distant.

    Connexion de l'application publiée

  7. Depuis le VDA où regedit est en cours d’exécution, accédez à l’emplacement IP distant suivant : HKEY_USERS\S-1-X-XX-XXXXXXXX-XXXXXXXXXXX-XXXXXXXXXX-XXXX\SOFTWARE\CitrixVolatile\Seamless\Sessions\X\

    Remarque :

    Ce chemin change chaque fois que vous ouvrez une nouvelle session.

  8. Deux clés sont à lire ici (ne les modifiez pas ici) : LogoffCheckBlockingProcess et LogoffCheckerBlockingVisibleProcess. Ces clés affichent tous les programmes qui bloquent la déconnexion. La première doit afficher C:\Windows\System32\cmd.exe car elle était ouverte et n’a pas encore été fermée.

    Remarque :

    LogoffCheckBlockingProcess et LogoffCheckerBlockingVisibleProcess ne doivent pas être modifiées manuellement. La modification manuelle de ces valeurs de registre pourrait entraîner des sessions instables.

    Application publiée 2

  9. Cliquez sur X dans le coin supérieur droit pour quitter Seamless CMD.

  10. Vérifiez le centre de connexion pour voir si la session se ferme. Cela peut prendre jusqu’à 30 secondes. Si elle se ferme, aucune application ou processus n’a empêché une déconnexion en douceur.

    Déconnexion en douceur

  11. Si la session ne s’est pas fermée, actualisez la sortie de regedit avec F5.

  12. Vérifiez à nouveau le contenu de LogoffCheckBlockingProcess et LogoffCheckerBlockingVisibleProcess. CMD ne doit plus être présent, mais un autre processus doit être listé. Tout processus bloquant actuellement la déconnexion de la session doit être affiché ici.

    Dans ce cas, Notepad.exe est ouvert à partir de l’invite de commande publiée avant que l’invite de commande ne soit fermée, et ce processus distant de Bloc-notes retarde une déconnexion en douceur.

    Regedit

  13. Notez le chemin d’accès à cet exécutable et la clé dans laquelle il est apparu, puis saisissez-le dans la clé de registre suivante, sous l’arborescence distante :

    • S’il apparaît dans LogoffCheckBlockingProcess : HKLM\SYSTEM\CurrentControlSet\Control\Citrix\wfshell\TWILogoffCheckSysModulesInternal
    • S’il apparaît dans LogoffCheckerBlockingVisibleProcess : HKLM\SYSTEM\CurrentControlSet\Control\Citrix\wfshell\TWILogoffCheckVisibleSysModules

    Remarque :

    S’il existe déjà une ou plusieurs entrées dans la clé, ajoutez une virgule à la fin et placez la nouvelle entrée après la virgule.

    Regedit-final

  14. Déconnectez-vous de la session depuis le centre de connexion sur le client, puis rouvrez l’application distante.

  15. Répétez les étapes 9 à 16 jusqu’à ce que la session soit automatiquement déconnectée dans les 30 secondes suivant la fermeture de l’application distante.

    Remarque :

    Après le dépannage, annulez les modifications temporaires du pare-feu pour autoriser l’accès au registre distant si nécessaire.

Comment modifier LogonUI pour afficher le message d’avertissement de Windows en taille réelle lors de l’ouverture d’applications publiées

La mise à l’échelle de la fenêtre LogonUI est améliorée pour les scénarios où l’authentification pass-through ne se produit pas. La fenêtre LogonUI est mise à l’échelle en fonction de la résolution du moniteur et des paramètres DPI utilisés, ce qui garantit que la fenêtre LogonUI complète est visible sans aucun rognage.

La taille de la fenêtre en pixels peut également être définie manuellement dans le registre.

  1. Ouvrez l’Éditeur du Registre en utilisant regedit dans la commande Exécuter.

  2. Accédez à HKEY_LOCAL_MACHINE\Software\Citrix\CtxHook\AppInit_DLLS\Seamless Hook\.

  3. Créez deux nouvelles clés DWORD : LogonUIWidth et LogonUIHeight.

  4. Définissez la valeur des clés sur la largeur et la hauteur requises en pixels pour la fenêtre LogonUI.

    Lors de la définition manuelle de la taille de la fenêtre LogonUI, la mise à l’échelle automatique est désactivée.

Remarque :

Ces chemins de registre ont changé à partir de la version 2407 et ultérieures. Les anciennes valeurs de registre sont ignorées et obsolètes.

Par défaut, la fenêtre LogonUI comprend une barre de titre avec un bouton de fermeture qui permet à l’utilisateur final de se déconnecter de la session si nécessaire.

Désactiver la barre de titre

Vous pouvez désactiver la barre de titre dans la fenêtre LogonUI avec la clé de registre suivante :

  1. Ouvrez l’Éditeur du Registre en utilisant regedit dans la commande Exécuter.

  2. Accédez à HKEY_LOCAL_MACHINE\Software\Citrix\CtxHook\AppInit_DLLS\Seamless Hook\.

  3. Créez de nouvelles clés DWORD : LogonUICaption et définissez la valeur de la clé sur 0.

    Fenêtre LogonUI avec barre de titre

L’application publiée n’apparaît pas

Reportez-vous aux articles de support pour dépanner les cas où l’application publiée ne se lance pas ou disparaît pendant le lancement ou lorsqu’elle ne parvient pas à apparaître.

Pour dépanner les cas

Paramètres de configuration Seamless supplémentaires

Dans la plupart des cas, les paramètres de serveur par défaut sont suffisants pour la majorité des applications, et aucun paramètre supplémentaire n’est requis pour les applications publiées.

Dans certains cas, une configuration supplémentaire est requise, notamment pour contrôler l’interaction et l’affichage des fenêtres d’application spécifiées, ainsi que les paramètres au sein de l’environnement d’application publiée lui-même.

Remarque :

Citrix ne recommande pas de modifier ces paramètres de configuration, sauf instruction explicite du support Citrix.

Ces paramètres sont décrits dans l’article de la base de connaissances sur les paramètres de configuration Seamless.