Windows Server 2012 R2 Remote Desktop Web Access - Исчез ярлык на RDP файл для подключения к коллекции сеансов после публикации RemoteApp приложения

imageКак можно заметить, в коллекции сеансов RDS на Windows Server 2012 R2 при публикации первого RemoteApp приложения изменяется тип коллекции с Session Remote Desktop на Session RemoteApp Programs и при этом с веб-страницы опубликованных приложений RD Web Access исчезает rdp-ярлык для подключения к коллекции сеансов. В контексте прошлой заметки можно столкнуться с ситуацией, когда нужно получить доступ к указанному ярлыку, но при этом убирать с публикации все RemoteApp приложения (чтобы изменился тип коллекции и ярлык снова стал отображаться на веб-странице RD Web Access) нет особого желания. Ryan Mangan в своём блоге подсказал, как можно выйти из подобной ситуации.

На сервере с ролью RD Connection Broker находим ключ реестра:

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Terminal Server\CentralPublishedResources\PublishedFarms\<Коллекция>\RemoteDesktops\<Коллекция>

image_thumb_thumb

Здесь в параметре реестра RDPFileContents и можно найти содержимое публикуемого rdp-файла. Достаточно скопировать это содержимое в пустой текстовый файл и присвоить ему расширение *.rdp.

Здесь же с помощью параметра ShowInPortal регулируется видимость значка подключения к коллекции сеансов (1 – отображается , 0 – не отображается) на веб-странице Web Access, то есть можно включить его отображение даже в том случае, если тип коллекции - Session RemoteApp Programs. А в параметре Name хранится имя отображаемое под значком, и его также можно при желании изменить.

image

Обратите внимание на то, что если в ферме несколько серверов RD Web Access, то вносить идентичные изменения нужно на всех таких серверах, в противном случае результата не будет.

Также стоит отметить, что отредактированные вручную через эти параметры реестра, могут быть переписаны в случае изменения настроек коллекции RDS через Server Manager, например при публикации нового RemoteApp приложения. Поэтому если вы всё-таки хотите иметь в этих параметрах изменённые значения, то возможно стоит задуматься о их форсированном назначении, например с помощью Group Policy preferences.

При всём вышесказанном стоит понимать, что данный метод является по сути хаком и нет никакой гарантии, что он не перестанет быть полезен после какого-нибудь очередного хитрого обновления Windows Server.

Всего комментариев: 10 Комментировать

  1. AlektroNik /

    Большое спасибо.
    Только находится не на RD Web Access, а на сервере RD Connection Broker (Посредник подключений).

    1. AlektroNik /

      Хотя .... сейчас проверил еще раз ... нашел именно на RD Connection Broker :)

      1. Алексей Максимов / Автор записи

        Вы правы. Поправил в заметке.

  2. Alimov Denis /

    Судя по всему, не просто так коллекция может быть либо Desktop либо RemoteApp, у меня например при такой конфигурации при входе на полноценный рабочий стол пользователь попадает на один RDSH сервер, а RemoteApp приложения запускаются на другом RDSH сервере. Или это только у меня так?

    1. AlektroNik /

      У всех так :) Но это вы еще только верхушку цепанули. В принципе это не критично, если вы не используете "виртуальные диски профилей пользователей". А вот если используете, то если у вас в момент подключения к полноценному терминалу уже запущено какое-то RemoteApp приложение, то два сервера не смогут использовать один и тот же профиль и вместо полноценного будет выполнен вход с временным профилем. Я думаю последствия всем понятны.

  3. AlektroNik /

    1. Последнее время перестали приходить уведомления о новых комментариях и новых статьях, хотя может мне и кажется :)
    2. А теперь, уважаемые знатоки, внимание, ВОПРОС :)
    Если будет запущено RemoteApp приложение и параллельно запустить подключение к RDS Коллекции, то сессии будут на разных серверах и в подключении к RDS Коллекции будет создан временный профиль "TEMP". Можно ли как-то заставить сервера автоматом завершать сессии, если вдруг происходит ситуация описанная мной выше? Или запретить создание профиля "TEMP", чтобы хотя бы предотвратить потерю данных пользователя? Или может кто-то с этим борется как-то по другому?

    1. Алексей Максимов / Автор записи

      Можно запретить использование временных профилей через групповую политику. Там есть отдельный параметр для такого запрета.

      1. AlektroNik /

        Да, уже двигаюсь в этом направлении, надеялся на более элегантное решение.
        Спасибо.

        1. Алексей Максимов / Автор записи

          Интересный Вы человек. Фактически Вы используете режим работы, неподдерживаемый производителем ПО, пытаясь скрестить Session Collection с RemoteApp Collection, да ещё при этом и хотите какой-то "элегантности".

          1. AlektroNik /

            Ну так :) В России живем :) И блоху подкуем ... было бы желание :)

Добавить комментарий