Het pictogram Verbonden wordt niet weergegeven in het systeemvak wanneer u verbinding maakt met een externe toepassing via Extern bureaublad-webtoegang

Dit artikel biedt een tijdelijke oplossing voor een probleem waarbij het pictogram Verbonden niet wordt weergegeven in het systeemvak wanneer u verbinding maakt met een externe toepassing via Extern bureaublad-webtoegang.

Van toepassing op: Windows Server 2012 R2
Origineel KB-nummer: 977507

Symptomen

Wanneer u verbinding maakt met een externe toepassing met behulp van Extern bureaublad-webtoegang (RD Web Access) op een computer met Windows Server 2008 R2, wordt het pictogram Verbonden niet weergegeven in het systeemvak.

Opmerking

Wanneer u een externe toepassing voor het eerst uitvoert, wordt het pictogram Verbonden weergegeven in het systeemvak.

WebSSO (Web Single sign-on) werkt niet zoals verwacht, waardoor een 'dubbele prompt' voor referenties wordt veroorzaakt in toepassingen die zijn gestart via RemoteApps die zijn gepubliceerd via Extern bureaublad-webtoegang in Windows Server 2008 R2.

Oorzaak

Dit probleem treedt op wanneer er meerdere niet-verlopen cookies op de clientcomputer staan.

Tijdelijke oplossing

Verwijder de cookies om dit probleem te omzeilen.

Voer de volgende stappen uit om de cookies in Windows Internet Explorer 8 te verwijderen:

  1. Klik op Start, klik op Configuratiescherm, klik op Netwerk en internet Connections en klik vervolgens op Internetopties.
  2. Klik op het tabblad Algemeen op Verwijderen.
  3. Als u alleen de cookies wilt verwijderen, klikt u om het selectievakje Cookies in te schakelen en klikt u vervolgens om alle andere selectievakjes uit te schakelen.
  4. Klik op Verwijderen. Een andere optie dan het verwijderen van de cookies is het wijzigen van het scriptbestand C:\windows\Web\RDWeb\Pages\renderscripts.js op de RD Web Access-server.

Voer de volgende stappen uit om het scriptbestand C:\windows\Web\RDWeb\Pages\renderscripts.js te wijzigen:

  1. Meld u aan bij de Extern bureaublad-webtoegangsserver als lid van de lokale groep Administrators.

  2. Blader naar het volgende jscript-bestand, klik met de rechtermuisknop en selecteer Bewerken.

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

  3. Zoek de implementatie van de volgende functie in dat jscript-bestand. functie getCookieContents(strNameOfCookie)

  4. Wijzig de codes in het jscript-bestand zodat deze overeenkomen met het volgende:

    Bestaande code in Renderscripts.js bestand:

    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);
            }
        }
    }
    

    Wijzig de bovenstaande sectie in het Renderscripts.js-bestand zodat deze overeenkomt met het volgende:

    // 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);
            }
        }
    }
    

Is het probleem opgelost?

Controleer of het probleem is opgelost. Als het probleem is opgelost, bent u klaar met deze sectie. Als het probleem niet is opgelost, kunt u contact opnemen met de ondersteuning.

Meer informatie

Dit probleem kan optreden wanneer aan de volgende voorwaarden wordt voldaan:

  • Extern bureaublad-webtoegang bevindt zich in een subdomein met een bovenliggend domein.
  • Het bovenliggende domein, of een ander subdomein, schrijft een cookie waarvoor het domein is ingesteld op het bovenliggende domeinniveau. Dit gedrag deelt de cookie tussen alle subdomeinen.

Als Extern bureaublad-webtoegang op het niveau van het bovenliggende domein wordt geplaatst, wordt het verbindingspictogram weergegeven in het systeemvak. Bovendien werken de functie voor eenmalige aanmelding (SSO), de externe toepassing en de bureaubladverbinding zoals verwacht wanneer u verbinding maakt met de externe toepassing.

Bovendien kan dit worden gezien als er aanvullende cookie-informatie is opgenomen in de cookie die door de webserver aan de client wordt gepresenteerd.