Ikona "Połączono" nie jest wyświetlana w obszarze powiadomień podczas nawiązywania połączenia z aplikacją zdalną przy użyciu dostępu do sieci Web pulpitu zdalnego

Ten artykuł zawiera obejście problemu polegającego na tym, że ikona Połączono nie jest wyświetlana w obszarze powiadomień podczas nawiązywania połączenia z aplikacją zdalną przy użyciu dostępu do sieci Web pulpitu zdalnego.

Dotyczy: Windows Server 2012 R2
Oryginalny numer KB: 977507

Symptomy

Po nawiązaniu połączenia z aplikacją zdalną przy użyciu dostępu do sieci Web pulpitu zdalnego (RD Web Access) na komputerze z systemem Windows Server 2008 R2 ikona Połączono nie jest wyświetlana w obszarze powiadomień.

Uwaga

Po pierwszym uruchomieniu aplikacji zdalnej w obszarze powiadomień zostanie wyświetlona ikona Połączono .

Funkcja WebSSO (Web Logowanie jednokrotne) nie działa zgodnie z oczekiwaniami, powodując "podwójny monit" o poświadczenia w aplikacjach uruchamianych za pośrednictwem usługi RemoteApps opublikowanych za pośrednictwem programu Remote Desktop Web Access w systemie Windows Server 2008 R2.

Przyczyna

Ten problem występuje, gdy na komputerze klienckim znajduje się wiele niewyjaśnionych plików cookie.

Obejście problemu

Aby obejść ten problem, usuń pliki cookie.

Aby usunąć pliki cookie w programie Windows Internet Explorer 8, wykonaj następujące kroki:

  1. Kliknij przycisk Start, kliknij pozycję Panel sterowania, kliknij pozycję Sieć i Internet Connections, a następnie kliknij pozycję Opcje internetowe.
  2. Na karcie Ogólne kliknij pozycję Usuń.
  3. Aby usunąć tylko pliki cookie, kliknij, aby zaznaczyć pole wyboru Pliki cookie , a następnie kliknij, aby wyczyścić wszystkie pozostałe pola wyboru.
  4. Kliknij przycisk Usuń. Inną opcją niż usunięcie plików cookie jest zmiana pliku skryptu C:\windows\Web\RDWeb\Pages\renderscripts.js na serwerze dostępu do sieci Web usług pulpitu zdalnego.

Aby zmienić C:\windows\Web\RDWeb\Pages\renderscripts.js pliku skryptu, wykonaj następujące kroki:

  1. Zaloguj się na serwerze dostępu do sieci Web pulpitu zdalnego jako członek lokalnej grupy Administratorzy.

  2. Przejdź do następującego pliku jscript, kliknij prawym przyciskiem myszy i wybierz pozycję Edytuj.

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

  3. Znajdź implementację następującej funkcji w tym pliku jscript. funkcja getCookieContents(strNameOfCookie)

  4. Zmodyfikuj kody w pliku jscript, aby były zgodne z następującymi:

    Istniejący kod w pliku Renderscripts.js:

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

    Zmień powyższą sekcję w pliku Renderscripts.js, aby była zgodna z następującymi:

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

Czy problem został rozwiązany?

Sprawdź, czy problem został rozwiązany. Jeśli problem zostanie rozwiązany, zakończono pracę z tą sekcją. Jeśli problem nie zostanie rozwiązany, możesz skontaktować się z pomocą techniczną.

Więcej informacji

Ten problem może wystąpić, gdy spełnione są następujące warunki:

  • Dostęp do sieci Web pulpitu zdalnego znajduje się w poddomenzie, która ma domenę nadrzędną.
  • Domena nadrzędna lub dowolna inna domena podrzędna zapisuje plik cookie z domeną ustawioną na poziom domeny nadrzędnej. To zachowanie udostępnia plik cookie między wszystkimi poddomenami.

Jeśli dostęp do sieci Web pulpitu zdalnego zostanie umieszczony na poziomie domeny nadrzędnej, ikona połączenia zostanie wyświetlona w obszarze powiadomień. Ponadto funkcja logowania jednokrotnego (SSO), aplikacja zdalna i połączenie pulpitu działają zgodnie z oczekiwaniami podczas nawiązywania połączenia z aplikacją zdalną.

Ponadto może to być widoczne, gdy istnieją dodatkowe informacje o plikach cookie zawarte w pliku cookie prezentowanym klientowi przez serwer sieci Web.