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

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

Ursprüngliche Produktversion:   Windows Server 2012 R2
Ursprüngliche KB-Nummer:   977507

Problembeschreibung

Wenn Sie eine Verbindung mit einer Remoteanwendung mithilfe von Remotedesktopwebzugriff (RD Web Access) auf einem Computer herstellen, auf dem Windows Server 2008 R2 ausgeführt wird, wird das Symbol "Verbunden" nicht im Benachrichtigungsbereich 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 wurden, die über Remotedesktopwebzugriff in Windows Server 2008 R2.

Ursache

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

Problemumgehung

Um dieses Problem zu beheben, 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", "Systemsteuerung", "Netzwerk" und "Internetverbindungen" und 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 Option als das Löschen der Cookies besteht in der Änderung der SkriptdateiC:\windows\Web\RDWeb\Pages\renderscripts.js auf dem RD Web Access-Server.

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

  1. Melden Sie sich beim Remotedesktopwebzugriffsserver als Mitglied der lokalen Administratorengruppe 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, um Folgendes zu 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 Renderscripts.js Datei, um Folgendes zu finden:

    // 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:

  • Remotedesktopwebzugriff befindet sich in einer Unterdomäne mit einer übergeordneten Domäne.
  • Die übergeordnete Domäne oder eine andere Unterdomäne schreibt ein Cookie, für das die Domäne auf die Ebene der übergeordneten Domäne festgelegt ist. Bei diesem Verhalten wird das Cookie für alle Unterdomänen verwendet.

Wenn Remotedesktopwebzugriff auf der Ebene der übergeordneten Domäne angezeigt wird, wird das Verbindungssymbol im Benachrichtigungsbereich angezeigt. Darüber hinaus funktionieren das Feature für 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 in dem Cookie enthalten sind, das vom Webserver dem Client angezeigt wird.