Das Symbol "Verbunden" wird nicht im Infobereich angezeigt, wenn Sie mithilfe von Remotedesktop-Webzugriff eine Verbindung mit einer Remoteanwendung herstellen.

Dieser Artikel bietet eine Problemumgehung für ein Problem, bei dem das Symbol Verbunden nicht im Benachrichtigungsbereich angezeigt wird, wenn Sie mithilfe von Remotedesktop-Webzugriff eine Verbindung mit einer Remoteanwendung herstellen.

Gilt für: Windows Server 2012 R2
Ursprüngliche KB-Nummer: 977507

Symptome

Wenn Sie eine Verbindung mit einer Remoteanwendung mithilfe von Remotedesktop-Webzugriff (RD Web Access) auf einem Computer herstellen, auf dem Windows Server 2008 R2 ausgeführt wird, wird das Symbol Verbunden nicht im Infobereich angezeigt.

Hinweis

Wenn Sie eine Remoteanwendung zum ersten Mal ausführen, wird das Symbol Verbunden im Infobereich angezeigt.

WebSSO (Web Single Sign-On) funktioniert nicht wie erwartet, was zu einer doppelten Aufforderung für Anmeldeinformationen in Anwendungen führt, die über RemoteApps gestartet werden, die über Remotedesktopwebzugriff in Windows Server 2008 R2 veröffentlicht werden.

Ursache

Dieses Problem tritt auf, wenn mehrere nicht abgelaufene Cookies auf dem Clientcomputer vorhanden sind.

Problemumgehung

Um dieses Problem zu umgehen, löschen Sie die Cookies.

Führen Sie die folgenden Schritte aus, um die Cookies in Windows Internet Explorer 8 zu löschen:

  1. Klicken Sie auf Start, klicken Sie auf Systemsteuerung, klicken Sie auf Netzwerk- und Internet-Connections, und klicken Sie dann auf Internetoptionen.
  2. Klicken Sie auf der Registerkarte Allgemein auf Löschen.
  3. Um nur die Cookies zu löschen, aktivieren Sie das Kontrollkästchen Cookies , und deaktivieren Sie dann alle anderen Kontrollkästchen.
  4. Klicken Sie auf Löschen. Eine weitere Möglichkeit als das Löschen der Cookies ist das Ändern der Skriptdatei C:\windows\Web\RDWeb\Pages\renderscripts.js auf dem Rd Web Access-Server.

Führen Sie die folgenden Schritte aus, um die Skriptdatei C:\windows\Web\RDWeb\Pages\renderscripts.js zu ändern:

  1. Melden Sie sich beim Remotedesktop-Web Access-Server als Mitglied der lokalen Gruppe Administratoren an.

  2. Navigieren Sie zur folgenden jscript-Datei, klicken Sie mit der rechten Maustaste, und wählen Sie Bearbeiten aus.

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

  3. Suchen Sie die Implementierung der folgenden Funktion in dieser jscript-Datei. function getCookieContents(strNameOfCookie)

  4. Ändern Sie die Codes in der jscript-Datei so, dass sie den folgenden Entsprechen:

    Vorhandener Code in Renderscripts.js Datei:

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

    Ändern Sie den obigen Abschnitt in der Renderscripts.js-Datei so, dass er wie folgt übereinstimmt:

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

Wurde das Problem behoben?

Testen Sie, ob das Problem behoben ist. Wenn das Problem behoben ist, sind Sie mit diesem Abschnitt fertig. Wenn das Problem nicht behoben ist, können Sie sich an den Support wenden.

Weitere Informationen

Dieses Problem kann auftreten, wenn die folgenden Bedingungen zutreffen:

  • Der Remotedesktop-Webzugriff befindet sich in einer Unterdomäne mit einer übergeordneten Domäne.
  • Die übergeordnete Domäne oder eine andere Unterdomäne schreibt ein Cookie, bei dem die Domäne auf die übergeordnete Domänenebene festgelegt ist. Dieses Verhalten teilt das Cookie zwischen allen Unterdomänen.

Wenn remotedesktop-Webzugriff auf der übergeordneten Domänenebene platziert wird, wird das Verbindungssymbol im Infobereich angezeigt. Darüber hinaus funktionieren das Feature einmaliges Anmelden (Single Sign On, SSO), die Remoteanwendung und die Desktopverbindung wie erwartet, wenn Sie eine Verbindung mit der Remoteanwendung herstellen.

Darüber hinaus kann dies auftreten, wenn zusätzliche Cookieinformationen im Cookie enthalten sind, die vom Webserver an den Client zurückgeführt werden.