Значок "Подключено" не отображается в области уведомлений при подключении к удаленному приложению с помощью веб-доступа к удаленному рабочему столу

В этой статье описано решение проблемы, из-за которой значок Подключено не отображается в области уведомлений при подключении к удаленному приложению с помощью веб-доступа к удаленному рабочему столу.

Применяется к: Windows Server 2012 R2
Исходный номер базы знаний: 977507

Симптомы

При подключении к удаленному приложению с помощью веб-доступа к удаленному рабочему столу (RD Web Access) на компьютере под управлением Windows Server 2008 R2 значок Подключено не отображается в области уведомлений.

Примечание.

При первом запуске удаленного приложения в области уведомлений появится значок Подключено .

WebSSO (веб-Единый вход) не работает должным образом, что вызывает "двойной запрос" на учетные данные в приложениях, запускаемых через RemoteApps, опубликованных через веб-доступ к удаленному рабочему столу в Windows Server 2008 R2.

Причина

Эта проблема возникает, когда на клиентском компьютере имеется несколько файлов cookie, которые не истекли.

Обходной путь

Чтобы обойти эту проблему, удалите файлы cookie.

Чтобы удалить файлы cookie в Windows Internet Обозреватель 8, выполните следующие действия.

  1. Нажмите кнопку Пуск, панель управления, сеть и Интернет Connections, а затем выберите пункт Свойства браузера.
  2. На вкладке Общие нажмите кнопку Удалить.
  3. Чтобы удалить только файлы cookie, установите флажок Cookie проверка, а затем очистите все остальные проверка поля.
  4. Нажмите кнопку Удалить. Другим вариантом, чем удаление файлов cookie, является изменение файла скрипта C:\windows\Web\RDWeb\Pages\renderscripts.js на сервере веб-доступа к удаленным рабочим столам.

Чтобы изменить файл скрипта C:\windows\Web\RDWeb\Pages\renderscripts.js, выполните следующие действия.

  1. Войдите на сервер веб-доступа к удаленному рабочему столу в качестве участника локальной группы администраторов.

  2. Перейдите к следующему файлу jscript, щелкните правой кнопкой мыши и выберите изменить.

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

  3. Найдите реализацию следующей функции в файле jscript. function getCookieContents(strNameOfCookie)

  4. Измените коды в файле jscript, чтобы они соответствовали следующим:

    Существующий код в 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);
            }
        }
    }
    

    Измените приведенный выше раздел в файле Renderscripts.js, чтобы он соответствовал следующему:

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

Проблема устранена?

Проверьте, устранена ли проблема. Если проблема устранена, вы закончите работу с этим разделом. Если проблема не устранена, вы можете обратиться в службу поддержки.

Дополнительная информация

Эта проблема может возникать при выполнении следующих условий:

  • Веб-доступ к удаленному рабочему столу находится в поддомене с родительским доменом.
  • Родительский домен или любой другой поддомен записывает файл cookie, для которого задан уровень родительского домена. Это поведение использует файл cookie для всех поддоменов.

Если веб-доступ к удаленному рабочему столу установлен на уровне родительского домена, в области уведомлений появится значок подключения. Кроме того, функция единого входа, удаленное приложение и подключение к рабочему столу работают должным образом при подключении к удаленному приложению.

Кроме того, это можно увидеть, когда в файле cookie содержатся дополнительные сведения о файлах cookie, которые передаются клиенту веб-сервером.