L’icône « Connecté » n’apparaît pas dans la zone de notification lorsque vous vous connectez à une application distante à l’aide de l’accès Web Bureau à distance

Cet article fournit une solution de contournement pour un problème où l’icône Connecté n’apparaît pas dans la zone de notification lorsque vous vous connectez à une application distante à l’aide de l’accès Web Bureau à distance.

S’applique à : Windows Server 2012 R2
Numéro de la base de connaissances d’origine : 977507

Symptômes

Lorsque vous vous connectez à une application distante à l’aide de l’accès Web Bureau à distance (accès Web Bureau à distance) sur un ordinateur exécutant Windows Server 2008 R2, l’icône Connecté n’apparaît pas dans la zone de notification.

Remarque

Lorsque vous exécutez une application distante pour la première fois, l’icône Connecté apparaît dans la zone de notification.

WebSSO (Web Authentification unique) ne fonctionne pas comme prévu, ce qui provoque une « double invite » pour les informations d’identification dans les applications lancées via RemoteApps publiées via l’accès web Bureau à distance dans Windows Server 2008 R2.

Cause

Ce problème se produit lorsqu’il existe plusieurs cookies non expirés sur l’ordinateur client.

Solution de contournement

Pour contourner ce problème, supprimez les cookies.

Pour supprimer les cookies dans Windows Internet Explorer 8, procédez comme suit :

  1. Cliquez sur Démarrer, sur Panneau de configuration, sur Réseau et Connections Internet, puis sur Options Internet.
  2. Sous l’onglet Général , cliquez sur Supprimer.
  3. Pour supprimer uniquement les cookies, cliquez pour sélectionner la zone Cookies case activée, puis cliquez pour effacer toutes les autres zones case activée.
  4. Cliquez sur Supprimer. Une autre option que la suppression des cookies consiste à modifier le fichier de script C:\windows\Web\RDWeb\Pages\renderscripts.js sur le serveur d’accès Web Bureau à distance.

Pour modifier le fichier de script C:\windows\Web\RDWeb\Pages\renderscripts.js, procédez comme suit :

  1. Connectez-vous au serveur Accès Web Bureau à distance en tant que membre du groupe Administrateurs local.

  2. Accédez au fichier jscript suivant, cliquez avec le bouton droit, puis sélectionnez Modifier.

    C:\windows\Web\RDWeb\Pages\renderscripts.js

  3. Recherchez l’implémentation de la fonction suivante dans ce fichier jscript. function getCookieContents(strNameOfCookie)

  4. Modifiez les codes dans le fichier jscript pour qu’ils correspondent aux éléments suivants :

    Code existant dans Renderscripts.js fichier :

    function getCookieContents(strNameOfCookie)
    {
        var objCookie;
        var objCookieName;
        var objCookieContents = null;
    
        if ( strNameOfCookie != null &&
        strNameOfCookie != "" &&
        document.cookie.length > 0 )
        {
            var objCookies = document.cookie.split(";");
            for (var iIndex = 0; iIndex < objCookies.length; iIndex++)
            {
                objCookie = objCookies[iIndex];
                objCookieName = objCookie.substring(0, strNameOfCookie.length);
            }
        }
    }
    

    Modifiez la section ci-dessus dans le fichier Renderscripts.js pour qu’elle corresponde à ce qui suit :

    // Add a function called trim as a method of the prototype
    // object of the String constructor.
    String.prototype.trim = function()
    {
        // Use a regular expression to replace leading and trailing
        // spaces with the empty string
        return this.replace(/(^\s*)|(\s*$)/g, "");
    }
    // End of the new-added function
    
    function getCookieContents(strNameOfCookie)
    {
        var objCookie;
        var objCookieName;
        var objCookieContents = null;
    
        if ( strNameOfCookie != null &&
        strNameOfCookie != "" &&
        document.cookie.length > 0 )
        {
            var objCookies = document.cookie.split(";");
            for (var iIndex = 0; iIndex < objCookies.length; iIndex++)
            {
                objCookie = objCookies[iIndex];
                objCookie = objCookie.trim(); //Calling the new-added function
                objCookieName = objCookie.substring(0, strNameOfCookie.length);
            }
        }
    }
    

Le problème est-il résolu ?

Vérifiez si le problème est résolu. Si le problème est résolu, vous en avez terminé avec cette section. Si le problème n’est pas résolu, vous pouvez contacter le support technique.

Plus d’informations

Ce problème peut se produire lorsque les conditions suivantes sont remplies :

  • Accès Web Bureau à distance se trouve dans un sous-domaine qui a un domaine parent.
  • Le domaine parent, ou tout autre sous-domaine, écrit un cookie dont le domaine est défini sur le niveau du domaine parent. Ce comportement partage le cookie entre tous les sous-domaines.

Si l’accès web Bureau à distance est placé au niveau du domaine parent, l’icône de connexion s’affiche dans la zone de notification. En outre, la fonctionnalité d’authentification unique (SSO), l’application distante et la connexion Bureau fonctionnent comme prévu lorsque vous vous connectez à l’application distante.

En outre, cela peut se produire lorsque des informations supplémentaires sur les cookies contenues dans le cookie sont présentées au client par le serveur Web.