Как можно заметить, в коллекции сеансов 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\<Коллекция>
Здесь в параметре реестра RDPFileContents и можно найти содержимое публикуемого rdp-файла. Достаточно скопировать это содержимое в пустой текстовый файл и присвоить ему расширение *.rdp.
Здесь же с помощью параметра ShowInPortal регулируется видимость значка подключения к коллекции сеансов (1 – отображается , 0 – не отображается) на веб-странице Web Access, то есть можно включить его отображение даже в том случае, если тип коллекции - Session RemoteApp Programs. А в параметре Name хранится имя отображаемое под значком, и его также можно при желании изменить.
Обратите внимание на то, что если в ферме несколько серверов RD Web Access, то вносить идентичные изменения нужно на всех таких серверах, в противном случае результата не будет.
Также стоит отметить, что отредактированные вручную через эти параметры реестра, могут быть переписаны в случае изменения настроек коллекции RDS через Server Manager, например при публикации нового RemoteApp приложения. Поэтому если вы всё-таки хотите иметь в этих параметрах изменённые значения, то возможно стоит задуматься о их форсированном назначении, например с помощью Group Policy preferences.
При всём вышесказанном стоит понимать, что данный метод является по сути хаком и нет никакой гарантии, что он не перестанет быть полезен после какого-нибудь очередного хитрого обновления Windows Server.
Большое спасибо.
Только находится не на RD Web Access, а на сервере RD Connection Broker (Посредник подключений).
Хотя .... сейчас проверил еще раз ... нашел именно на RD Connection Broker :)
Вы правы. Поправил в заметке.
Судя по всему, не просто так коллекция может быть либо Desktop либо RemoteApp, у меня например при такой конфигурации при входе на полноценный рабочий стол пользователь попадает на один RDSH сервер, а RemoteApp приложения запускаются на другом RDSH сервере. Или это только у меня так?
У всех так :) Но это вы еще только верхушку цепанули. В принципе это не критично, если вы не используете "виртуальные диски профилей пользователей". А вот если используете, то если у вас в момент подключения к полноценному терминалу уже запущено какое-то RemoteApp приложение, то два сервера не смогут использовать один и тот же профиль и вместо полноценного будет выполнен вход с временным профилем. Я думаю последствия всем понятны.
1. Последнее время перестали приходить уведомления о новых комментариях и новых статьях, хотя может мне и кажется :)
2. А теперь, уважаемые знатоки, внимание, ВОПРОС :)
Если будет запущено RemoteApp приложение и параллельно запустить подключение к RDS Коллекции, то сессии будут на разных серверах и в подключении к RDS Коллекции будет создан временный профиль "TEMP". Можно ли как-то заставить сервера автоматом завершать сессии, если вдруг происходит ситуация описанная мной выше? Или запретить создание профиля "TEMP", чтобы хотя бы предотвратить потерю данных пользователя? Или может кто-то с этим борется как-то по другому?
Можно запретить использование временных профилей через групповую политику. Там есть отдельный параметр для такого запрета.
Да, уже двигаюсь в этом направлении, надеялся на более элегантное решение.
Спасибо.
Интересный Вы человек. Фактически Вы используете режим работы, неподдерживаемый производителем ПО, пытаясь скрестить Session Collection с RemoteApp Collection, да ещё при этом и хотите какой-то "элегантности".
Ну так :) В России живем :) И блоху подкуем ... было бы желание :)