El icono "Conectado" no aparece en el área de notificación al conectarse a una aplicación remota mediante El acceso web de Escritorio remoto

En este artículo se proporciona una solución alternativa para un problema en el que el icono Conectado no aparece en el área de notificación cuando se conecta a una aplicación remota mediante El acceso web de Escritorio remoto.

Se aplica a: Windows Server 2012 R2
Número de KB original: 977507

Síntomas

Al conectarse a una aplicación remota mediante El acceso web de Escritorio remoto (Acceso web de Escritorio remoto) en un equipo que ejecuta Windows Server 2008 R2, el icono Conectado no aparece en el área de notificación.

Nota:

Al ejecutar por primera vez una aplicación remota, aparece el icono Conectado en el área de notificación.

WebSSO (web Inicio de sesión único) no funciona según lo esperado, lo que provoca una "petición doble" de credenciales en las aplicaciones iniciadas a través de RemoteApps publicadas a través de Remote Desktop Web Access en Windows Server 2008 R2.

Causa

Este problema se produce cuando hay varias cookies sin explorar en el equipo cliente.

Solución alternativa

Para solucionar este problema, elimine las cookies.

Para eliminar las cookies en Windows Internet Explorer 8, siga estos pasos:

  1. Haga clic en Inicio, haga clic en Panel de control, haga clic en Red e Internet Connections y, a continuación, haga clic en Opciones de Internet.
  2. En la pestaña General , haga clic en Eliminar.
  3. Para eliminar solo las cookies, haga clic para activar la casilla Cookies y, a continuación, haga clic para desactivar todas las demás casillas.
  4. Haga clic en Eliminar. Otra opción que eliminar las cookies es cambiar el archivo de script C:\windows\Web\RDWeb\Pages\renderscripts.js en el servidor de acceso web de Escritorio remoto.

Para cambiar el archivo de script C:\windows\Web\RDWeb\Pages\renderscripts.js, siga estos pasos:

  1. Inicie sesión en el servidor de acceso web de Escritorio remoto como miembro del grupo administradores local.

  2. Vaya al siguiente archivo jscript, haga clic con el botón derecho y seleccione Editar.

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

  3. Busque la implementación de la siguiente función en ese archivo jscript. function getCookieContents(strNameOfCookie)

  4. Modifique los códigos del archivo jscript para que coincidan con lo siguiente:

    Código existente en Renderscripts.js archivo:

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

    Cambie la sección anterior del archivo Renderscripts.js para que coincida con lo siguiente:

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

¿Esta información le ha ayudado a solucionar el problema?

Compruebe si se ha solucionado el problema. Si el problema se soluciona, ha terminado con esta sección. Si el problema no se ha corregido, puede ponerse en contacto con el soporte técnico.

Más información

Este problema puede producirse cuando se cumplen las condiciones siguientes:

  • El acceso web de Escritorio remoto está en un subdominio que tiene un dominio primario.
  • El dominio primario, o cualquier otro subdominio, escribe una cookie que tiene el dominio establecido en el nivel de dominio primario. Este comportamiento comparte la cookie entre todos los subdominios.

Si el acceso web de Escritorio remoto se coloca en el nivel de dominio primario, el icono de conexión aparece en el área de notificación. Además, la característica de inicio de sesión único (SSO), la aplicación remota y la conexión de escritorio funcionan según lo esperado al conectarse a la aplicación remota.

Además, se puede ver que esto ocurre cuando hay información adicional sobre cookies contenida en la cookie que el servidor web devuelve al cliente.