Для установки и настройки роли RemoteApp, имеем подготовленный сервер с операционной системой Windows Server 2019, на котором будем производить нижеописанные действия.
Установка служб Удаленных рабочих столов
На первом этапе установим службы Удаленных рабочих столов, для этого в окне Диспетчер серверов выбираем Добавить роли и компоненты.
Обращаем внимание перед установкой роли на предупреждение → далее.
Устанавливаем чекбокс Установка служб удаленных рабочих столов → далее.
Устанавливаем чекбокс Cтандартное развертывание → далее.
Устанавливаем чекбокс Развертывание рабочих столов на основе сеансов → далее.
Выбираем сервер, на который будут установлены службы роли посредника → далее.
Устанавливаем чекбокс Установить службы роли веб-доступа к удаленным рабочим столам на сервере посредника подключений к удаленному рабочему столу → далее.
Выбираем сервер, на который будут установлены службы роли узлов сеансов удаленных рабочих столов → далее.
Устанавливаем чекбокс Автоматически перезапускать конечный сервер, если это потребуется → развернуть.
Закрываем установку после завершения и перезагружаем сервер.
Рисунок 1 — Завершение установки
Создание коллекции сеансов
Заходим в диспетчер серверов → Службы удаленных рабочих столов → Создание коллекции сеансов.
Нажимаем далее → Указываем имя коллекции → Выбираем наш сервер → Выбираем группу пользователей для доступа к коллекции → Снимаем чекбокс с включить диски профилей пользователей → Нажимаем создать → закрыть.
Выбираем нашу коллекцию и нажимаем публикация удаленных приложений RemoteApp.
Выбираем из списка приложения, которые необходимо опубликовать, нажимаем далее → опубликовать → закрыть.
Проверка публикации RemoteApp
Переходим в браузере по адресу https://localhost/rdweb и выбираем приложение.
После сохранения файла RDP, можем заходить в него под пользователем.
Рисунок 2 — Выбор опубликованного приложения
Рисунок 3 — Проверка работоспособности RemoteApp
Нужна помощь? Наша компания может оказать помощь в реализации ИТ-задач, для этого напишите в чат. Также мы предоставляем готовый сервер с RemoteApp-приложениями, например, с различными конфигурациями 1С.
12 Replies
-
DragonsRule
This person is a verified professional.
Verify your account
to enable IT peers to see that you are a professional.pure capsaicin
Microsoft Remote Desktop Services Expert
-
check
109
Best Answers -
thumb_up
362
Helpful Votes
Open the rdweb page in Chrome or Firefox. Click on the remoteapp icon and it will download the RDP file.
1 found this helpful
thumb_up
thumb_down
-
check
-
Alternatively, publish the Feed URL using GPO, and the published apps will appear in the user’s start menu as «locally» installed applications.
User Configuration > Administrative Templates > Windows Components > Remote Desktop Services > RemoteApp and Desktop Connections
Specify default connection URL: Enabled
Default connection URL: https://server.domain.local/RDWeb/Feed/webfeed.aspx Opens a new window
Was this post helpful?
thumb_up
thumb_down
-
DragonsRule
This person is a verified professional.
Verify your account
to enable IT peers to see that you are a professional.pure capsaicin
Microsoft Remote Desktop Services Expert
-
check
109
Best Answers -
thumb_up
362
Helpful Votes
Adam (AJ Tek) wrote:
Alternatively, publish the Feed URL using GPO, and the published apps will appear in the user’s start menu as «locally» installed applications.
User Configuration > Administrative Templates > Windows Components > Remote Desktop Services > RemoteApp and Desktop Connections
Specify default connection URL: Enabled
Default connection URL: https://server.domain.local/RDWeb/Feed/webfeed.aspx Opens a new windowWhile true, that’s only useful if the machines in question are on your domain and can have GPOs applied. Personally, I have several non domain machines that use a RemoteApp, so I need the RDP file itself.
Was this post helpful?
thumb_up
thumb_down
-
check
-
DragonsRule wrote:
Adam (AJ Tek) wrote:
Alternatively, publish the Feed URL using GPO, and the published apps will appear in the user’s start menu as «locally» installed applications.
User Configuration > Administrative Templates > Windows Components > Remote Desktop Services > RemoteApp and Desktop Connections
Specify default connection URL: Enabled
Default connection URL: https://server.domain.local/RDWeb/Feed/webfeed.aspx Opens a new windowWhile true, that’s only useful if the machines in question are on your domain and can have GPOs applied. Personally, I have several non domain machines that use a RemoteApp, so I need the RDP file itself.
Stay tuned
I’ll update this thread when it happens. I think this is the push that I needed to finish it off
Was this post helpful?
thumb_up
thumb_down
-
DragonsRule
This person is a verified professional.
Verify your account
to enable IT peers to see that you are a professional.pure capsaicin
Microsoft Remote Desktop Services Expert
-
check
109
Best Answers -
thumb_up
362
Helpful Votes
Adam (AJ Tek) wrote:
DragonsRule wrote:
Adam (AJ Tek) wrote:
Alternatively, publish the Feed URL using GPO, and the published apps will appear in the user’s start menu as «locally» installed applications.
User Configuration > Administrative Templates > Windows Components > Remote Desktop Services > RemoteApp and Desktop Connections
Specify default connection URL: Enabled
Default connection URL: https://server.domain.local/RDWeb/Feed/webfeed.aspx Opens a new windowWhile true, that’s only useful if the machines in question are on your domain and can have GPOs applied. Personally, I have several non domain machines that use a RemoteApp, so I need the RDP file itself.
Stay tuned
I’ll update this thread when it happens. I think this is the push that I needed to finish it off
That’s vague… When what happens?
Was this post helpful?
thumb_up
thumb_down
-
check
-
Thank you for the solution.
I have one more issue while accessing the Application from my computer using the RDWeb(URL) externally.
I am able to login to the URL page and when I click on the RDP icon, it gets downloaded and It prompts for the credential, However, I use the same user credential which I used to log in to the page. I am not able to log in instead it shows «log-on attempt failed» . I have tried all possible solutions. Any suggestions for this issue would be really helpful!
Thank you.
Was this post helpful?
thumb_up
thumb_down
-
Stabby
This person is a verified professional.
Verify your account
to enable IT peers to see that you are a professional.cayenne
Aishwarya Ravichandran(AR) wrote:
Thank you for the solution.
I have one more issue while accessing the Application from my computer using the RDWeb(URL) externally.
I am able to login to the URL page and when I click on the RDP icon, it gets downloaded and It prompts for the credential, However, I use the same user credential which I used to log in to the page. I am not able to log in instead it shows «log-on attempt failed» . I have tried all possible solutions. Any suggestions for this issue would be really helpful!
Thank you.
Are you logging in from a domain or workgroup PC? Are you using the full UPN for the username or remembering to include the NetBios part of the username? Entering just the username on a workgroup computer will act as if your using workgroup credentials, and the domain controller will reject it. (Username@domain.local or donainusername)
Was this post helpful?
thumb_up
thumb_down
-
No, I am logging in using the domain (domainusername). But still, it shows the log-on error. when I looked at the possible solution, I got to know it is because of HTTP redirection in IIS, though I didn’t understand the logic, I tried it, but it didn’t work for me!
Was this post helpful?
thumb_up
thumb_down
-
DragonsRule
This person is a verified professional.
Verify your account
to enable IT peers to see that you are a professional.pure capsaicin
Microsoft Remote Desktop Services Expert
-
check
109
Best Answers -
thumb_up
362
Helpful Votes
How are you connecting to your LAN, before you run the RemoteApp?
Was this post helpful?
thumb_up
thumb_down
-
check
-
https://www.ajtek.ca/guides/remoteapp-and-desktop-connections/ Opens a new window
PowerShell Cmdlets:
Add-RADCConnection
Remove-RADCConnectionFor deployment of RADC connections to mass-systems without the use of GPO.
Was this post helpful?
thumb_up
thumb_down
-
is it possible somehow similar way to add remote application from second RDS server (not in cluster).
so we have 2 different RDS servers but I can use Default connection only to one of them. but manually i can add second connection — how to add second connection via GPO
Was this post helpful?
thumb_up
thumb_down
Содержание
- Настройка RemoteApp
- Проверка публикации программ RemoteApp
- Изменение параметров приложения RemoteApp
- Отмена публикации приложений RemoteApp
- Публикация приложений remoteapp windows server 2019
- Вопрос
- Ответы
- Публикация и настройка удаленных приложений RemoteApp
- Когда вы уже развернули RDS (Remote Desktop Service) на вашем Server 2012 (r2), вам может понадобится настроить Приложения RemoteApp.
- В ЭТОЙ СТАТЬЕ БУДУТ РАССМОТРЕНЫ СЛЕДУЮЩИЕ МОМЕНТЫ:
- ПУБЛИКАЦИЯ ПРИЛОЖЕНИЙ REMOTEAPP
- ПРОВЕРКА ПУБЛИКАЦИИ ПРОГРАММ REMOTE APP
- ИЗМЕНЕНИЕ ПАРАМЕТРОВ ПРИЛОЖЕНИЙ REMOTEAPP
- ОТМЕНА ПУБЛИКАЦИИ ПРИЛОЖЕНИЙ REMOTEAPP
- Публикация приложений remoteapp windows server 2019
- Постановка задачи
- Требования по развертыванию RD Connection Broker High Availability
- Тестовый стенд с виртуальными машинами фермы Remote Desktop Services
- Стандартная установка RDS фермы в Windows Server 2019
- Создание пула серверов на сервере посредника подключений (RD Connection Broker)
- Стандартное развертывание службы удаленных рабочих столов
- Создание коллекции для отказоустойчивой терминальной фермы
- Настройка RD Connection Broker для подключений к ферме RDS
- Создание группы безопасности для RD Connection Broker
- Установка SQL Native Client
- Установка и настройка MS SQL 2016
Настройка RemoteApp
Приложения RemoteApp представляют собой программы, удалённый доступ к которым предоставляется с помощью служб удалённых рабочих столов, но выглядят они так, будто это локальные приложения. Проще говоря, приложение RemoteApp представляет собой доступ к удалённому рабочему столу, ограниченному одним приложением. Однако, несмотря на формулировку выше, пользователь может запускать несколько приложений или несколько экземпляров одного и того же приложения в одном сеансе.
Для того, чтобы опубликовать какое-либо приложение RemoteApp нужно открыть Диспетчер задач, перейти в Службы удалённых рабочих столов и там перейти по ссылке с именем коллекции сеансов. В окне коллекции сеансов нажимаем на ссылку Публикация удалённых приложений RemoteApp. В том случае, если уже имеются опубликованные приложения, необходимо нажать на кнопку Задачи и в открывшемся меню выбрать Опубликовать удалённые приложения RemoteApp.
Следует помнить, что публикация хотя-бы одного приложения приведет к отмене публикации удалённого рабочего стола. Это означает, что в одной коллекции могут быть либо удалённый рабочий стол полностью либо некий набор отдельных приложений RemoteApp.
Публиковать можно как предустановленные приложения так и свои собственные. Попробуем опубликовать одно предустановленное (Калькулятор) Для этого необходимо отметить его и нажать кнопку Далее.
В следующем окне подтверждаем свой выбор нажав кнопку Опубликовать.
После публикации приложений RemoteApp, будет отображено окно в котором показано состояние приложений и ошибки, возникшие при установке. Если же ошибок не возникло, то нажимаем кнопку Закрыть, для завершения процесса публикации.
Проверка публикации программ RemoteApp
После успешной публикации удалённых приложений RemoteApp, проверим корректность их работы. Для этого осуществим веб-доступ к RDS с одной из рабочих станций домена. Напомню, что для того чтобы получить веб-доступ к службам удалённых рабочих столов необходимо перейти по специальной ссылке вида https:// /rdweb
Как мы видим, приложения успешно опубликовались и можно попробовать получить к ним доступ.
Изменение параметров приложения RemoteApp
Каждое приложение RemoteApp имеет ряд ключевых опций, которые можно изменить в соответствии с требованиями. Для того, чтобы зайти в меню настроек приложения достаточно в окне коллекции сеансов (в данном случае в окне Коллекция сеансов RDS) на панели Удалённые приложения RemoteApp вызвать контекстное меню приложения, параметры которого необходимо изменить, и там выбрать единственный пункт Изменить свойства.
На вкладке Общие окна свойств приложения доступны следующие настройки:
Кроме настроек, в данном окне отображается информация о пути размещения приложения, его псевдониме и иконке.
Папку удалённого приложения RemoteApp можно либо задать вручную, написав в соответствующем поле желаемое имя папки, либо выбрав из существующего списка, если папки были созданы ранее.На вкладке Параметры можно задать параметры командной строки для приложения. Именно здесь можно разрешить использовать любые параметры командной строки или вообще запретить их использование. Помимо этого можно задать принудительное использование заранее заданных параметров.
Свойства вкладки Назначение пользователей позволяют настроить видимость приложения в системе веб-доступа для заданных пользователей или групп пользователей. Поскольку по умолчанию все пользователи коллекции сеансов имеют доступ ко всем опубликованным в ней приложениям, данная вкладка позволяет гибко настроить доступ пользователей к приложениям RemoteApp внутри самой коллекции.
На вкладке Сопоставление типов файлов можно задать типы файлов, которые автоматически будут открываться с помощью выбранного приложения RemoteApp.
Следует помнить об одном очень важном ограничении — данная опция не работает в случае веб-доступа к приложениям.
Отмена публикации приложений RemoteApp
В случае, когда удалённое приложение больше не используется, целесообразно отменить его публикацию. Рассмотрим выполнение этой операции на примере приложения Калькулятор.
Для того, чтобы вызвать мастер отмены публикации удалённых приложений RemoteApp нужно выбрать пункт Отменить публикацию удалённых приложений RemoteApp в меню Задачи на панели Удалённые приложения RemoteApp.
На первом шаге мастера выбираем из списка опубликованных приложений RemoteApp приложение, публикацию которого необходимо отменить. Можно выбрать все приложения и в таком случае после отмены их публикации станет возможен доступ к удалённому рабочему столу полностью.
В окне с подтверждением выбора предлагается проверить правильность выбранных приложений и нажать кнопку Отменить публикацию.
После успешного выполнения операции отмены публикации отобразится окно, сообщающее об этом.
Источник
Публикация приложений remoteapp windows server 2019
Вопрос
Доброго времени суток!
У меня уже настроены RemoteApp. Но подключится к ним я могу только через страницу браузера https:\server.domain.comrdweb
А я хочу, чтобы можно было как kiosk mode windows 10, но через rdp.
Пример: Пользователь подключается к удаленному серверу через mstsc на котором настроены RemoteApp и видит только 5 программ (условно) к которым у него есть доступ. Все остальное заблокировано и у пользователя нет доступа ни к чему кроме 5 программ.
С Уважением, Евгений!
Ответы
1 устанавливаете сервер на котором нет ничего
2 настраиваете сервер терминалов
3 включаете applocker для блокировки всего кроме internet explorer (edge) и rdp
4 настройте дефолт шел на запуск ie, и в ie настройте дефолтную страницу вашего remote app сервера
5 всех кому необходим обрезанный интерфейс форвардите на этот сервер. Remote App сами по себе не сделают магию, их где-то нужно использовать и гдето это не на локальных серверах а на удаленных (не зря же они Remote App)
Если же вам нужно ограничить пользюков на локальных серверах по группам то п.3 из предыдущей инструкции для вас (без 1, 2, 4 и 5), только оставлять нужно будет не 2 приложения а тот список который вам необходим
The opinion expressed by me is not an official position of Microsoft
Источник
Публикация и настройка удаленных приложений RemoteApp
Когда вы уже развернули RDS (Remote Desktop Service) на вашем Server 2012 (r2), вам может понадобится настроить Приложения RemoteApp.
Они представляют собой программы, удалённый доступ к которым предоставляется с помощью служб удалённых рабочих столов, но выглядят они так, будто это локальные приложения. Проще говоря, приложение RemoteApp представляет собой доступ к удалённому рабочему столу, ограниченному одним приложением. Однако, несмотря на формулировку выше, пользователь может запускать несколько приложений или несколько экземпляров одного и того же приложения в одном сеансе.
Использование приложений RemoteApp выглядит хорошей альтернативой традиционным удалённым рабочим столам, поскольку это приносит для системного администратора целый ряд преимуществ. Эти выгоды связанных с тем, что пользователю более не доступен рабочий стол полностью и его действия ограничены границами запускаемого приложения. А как известно, что чем меньше у пользователя возможностей крутить и настраивать, тем надёжнее и безопаснее работает система. Пользователям так же удобно использовать приложения RemoteApp, поскольку они выглядят так же как и любое локально установленное приложение, что значительно упрощает работу.
В ЭТОЙ СТАТЬЕ БУДУТ РАССМОТРЕНЫ СЛЕДУЮЩИЕ МОМЕНТЫ:
ПУБЛИКАЦИЯ ПРИЛОЖЕНИЙ REMOTEAPP
Для того, чтобы опубликовать какое-либо приложение RemoteApp нужно открытьДиспетчер задач, перейти в Службы удалённых рабочих столов и там перейти по ссылке с именем коллекции сеансов. В окне коллекции сеансов нажимаем на ссылку Публикация удалённых приложений RemoteApp. В том случае, если уже имеются опубликованные приложения, необходимо нажать на кнопку Задачи и в открывшемся меню выбрать Опубликовать удалённые приложения RemoteApp.
Рис.1 — Публикация приложений RemoteApp
Следует помнить, что публикация хотя-бы одного приложения приведет к отмене публикации удалённого рабочего стола. Это означает, что в одной коллекции могут быть либо удалённый рабочий стол полностью либо некий набор отдельных приложений RemoteApp.
Публиковать можно как предустановленные приложения так и свои собственные. Попробуем опубликовать одно предустановленное (Калькулятор) и одно собственное приложение (Foxit Reader). Для того, чтобы опубликовать встроенное приложение необходимо отметить его и нажать кнопку Далее.
Рис.2 — Выбор публикуемых приложений RemoteApp
С приложениями, которых нет в списке несколько сложнее. Тут требуется соблюсти одно важное условие — необходимо чтобы публикуемое приложение размещалось по одному и тому же пути на все серверах узлов сеансов. Если это так, то нажимаем кнопку Добавить и указываем необходимое приложение.
Рис.3 — Указание пути к публикуемому приложению RemoteApp
Как видно на рисунке, указание приложения, в данном случае, происходит на сервере RDSH2.
После того, как все приложения отмечены нажимаем кнопку Далее.
Рис.4 — Выбор публикуемых приложений RemoteApp
В следующем окне подтверждаем свой выбор нажав кнопку Опубликовать.
Рис.5 — Подтверждение выбора приложений RemoteApp
После публикации приложений RemoteApp, будет отображено окно в котором показано состояние приложений и ошибки, возникшие при установке. Если же ошибок не возникло, то нажимаем кнопку Закрыть, для завершения процесса публикации.
Рис.6 — Отчёт о публикации приложений RemoteApp
ПРОВЕРКА ПУБЛИКАЦИИ ПРОГРАММ REMOTE APP
После успешной публикации удалённых приложений RemoteApp, проверим корректность их работы. Для этого осуществим веб-доступ к RDS с одной из рабочих станций домена. Напомню, что для того чтобы получить веб-доступ к службам удалённых рабочих столов необходимо перейти по специальной ссылке вида https://servername/rdweb. В рассматриваемом случае, это ссылкаhttps://rdwh.domain.local/rdweb.
Рис.7 — Веб-доступ к приложениям RemoteApp
Как мы видим, приложения успешно опубликовались и можно попробовать получить к ним доступ. Запустим Foxit Reader.
Рис.8 — Удалённое приложение Foxit Reader
Приложение успешно запустилось и готово к использованию. О том, что это приложение RemoteApp говорит иконка с изображением двух направленных друг к другу стрелок рядом с иконкой основного приложения.
Посмотрим, как отобразилось подключение на серверной стороне. Зайдем в свойства коллекции сеансов и посмотрим на панель Подключения.
Рис.9 — Подключения к коллекции сеансов
На скриншоте выше отображено осуществлённое подключение. Как видим, несмотря на то, что путь к программе Foxit Reader мы указывали на сервере RDSH2, подключение было выполнено к серверу узлов сеансов RDSH1.
ИЗМЕНЕНИЕ ПАРАМЕТРОВ ПРИЛОЖЕНИЙ REMOTEAPP
Каждое приложение RemoteApp имеет ряд ключевых опций, которые можно изменить в соответствии с требованиями. Для того, чтобы зайти в меню настроек приложения достаточно в окне коллекции сеансов (в данном случае в окне Коллекция сеансов RDS) на панели Удалённые приложения RemoteApp вызвать контекстное меню приложения, параметры которого необходимо изменить, и там выбрать единственный пункт Изменить свойства.
Рис.10 — Вызов окна свойств приложения RemoteApp
На вкладке Общие окна свойств приложения доступны следующие настройки:
Кроме настроек, в данном окне отображается информация о пути размещения приложения, его псевдониме и иконке.
Рис.11 — Общие параметры приложения RemoteApp
Папку удалённого приложения RemoteApp можно либо задать вручную, написав в соответствующем поле желаемое имя папки, либо выбрав из существующего списка, если папки были созданы ранее. Поместим приложение Foxit Reader в папку Офисные приложения и посмотрим, что произойдет со страницей веб-доступа.
Рис.12 — Использование папок для сортировки приложений RemoteApp
Как видим, выбранное приложение Foxit Reader было успешно помещено в папку Офисные приложения.
Здесь также можно скачать ярлык на любое из опубликованных приложений или воспользоваться альтернативными методами создания ярлыка RemoteApp
На вкладке Параметры можно задать параметры командной строки для приложения. Именно здесь можно разрешить использовать любые параметры командной строки или вообще запретить их использование. Помимо этого можно задать принудительное использование заранее заданных параметров. В целом ряде случаев, последний параметр очень выручает.
Рис.13 — Параметры командной строки приложения
Свойства вкладки Назначение пользователей позволяют настроить видимость приложения в системе веб-доступа для заданных пользователей или групп пользователей. Поскольку по умолчанию все пользователи коллекции сеансов имеют доступ ко всем опубликованным в ней приложениям, данная вкладка позволяет гибко настроить доступ пользователей к приложениям RemoteApp внутри самой коллекции.
Рис.14 — Назначение пользователей приложения
На вкладке Сопоставление типов файлов можно задать типы файлов, которые автоматически будут открываться с помощью выбранного приложения RemoteApp.
Следует помнить об одном очень важном ограничении — данная опция не работает в случае веб-доступа к приложениям.
ОТМЕНА ПУБЛИКАЦИИ ПРИЛОЖЕНИЙ REMOTEAPP
В случае, когда удалённое приложение больше не используется, целесообразно отменить его публикацию. Рассмотрим выполнение этой операции на примере приложения Калькулятор.
Для того, чтобы вызвать мастер отмены публикации удалённых приложений RemoteApp нужно выбрать пункт Отменить публикацию удалённых приложений RemoteApp в меню Задачи на панели Удалённые приложения RemoteApp.
Рис.15 — Вызов мастера отмены публикации приложения
На первом шаге мастера выбираем из списка опубликованных приложений RemoteApp приложение, публикацию которого необходимо отменить. Можно выбрать все приложения и в таком случае после отмены их публикации станет возможен доступ к удалённому рабочему столу полностью.
Рис.16 — Выбор приложения, публикация которого отменяется
В окне с подтверждением выбора предлагается проверить правильность выбранных приложений и нажать кнопку Отменить публикацию.
Рис.17 — Подтверждение выбора
После успешного выполнения операции отмены публикации отобразится окно, сообщающее об этом.
Рис.18 — Успешная отмена публикации приложения RemoteApp
Как видим, процессы добавления, удаления и настройки удалённых приложений RemoteApp довольно быстро и удобно осуществляются из единой панели Удалённые приложения RemoteApp на вкладке коллекции сеансов.
Источник
Публикация приложений remoteapp windows server 2019
Добрый день! Уважаемые читатели и гости IT блога Pyatilistnik.org. В прошлый раз мы с вами разобрали ситуацию, когда ваш жесткий диск виделся в формате RAW и не позволял получить доступ к данным, мы это благополучно решили. Сегодня мы рассмотрим задачу установки отказоустойчивой терминальной фермы Remote Desktop Services, где посредники подключений (RD Connection Broker) работают в режиме высокой доступности (High Availability) и все это дело будет работать на Windows Server 2019 в связке с хостами подключений (RDSH) на базе Windows Server 2016. Давно хотелось у себя на сайте иметь такую инструкцию, тем более что давно стояла задача перехода с W2012R2.
Постановка задачи
Необходимо организовать высоко доступную ферму RDS (Remote Desktop Services), где в качестве брокеров подключения будут выступать операционные системы с Windows Server 2019. В качестве хостов подключений, на которых будут работать конечные пользователи требуется иметь операционную систему Windows Server 2016. Развернуть сервер лицензирования, раздающий лицензии на пользователя или устройства. Чем хорошо использовать в качестве посредников подключений именно Windows Server 2019, все просто, когда большинство клиентского программного обеспечения станет поддерживаться данной ОС, можно будет легко вывести из эксплуатации сервера с W2016 и заменить их на более новые.
Требования по развертыванию RD Connection Broker High Availability
Прежде, чем мы начнем к поэтапному приготовлению к установке вашей отказоустойчивой RDS ферме, я бы хотел выделить пункты, которые нам потребуется выполнить.
Тестовый стенд с виртуальными машинами фермы Remote Desktop Services
Стандартная установка RDS фермы в Windows Server 2019
Перед тем, как мы сделаем высокодоступное подключение к ферме Remote Desktop Services, нам необходимо произвести установку стандартной конфигурации служб удаленных рабочих столов, включающей в себя:
Создание пула серверов на сервере посредника подключений (RD Connection Broker)
Пул серверов, это удобное объединение серверов в общий список для быстрого управления и развертывания на них ролей и компонентов. Все манипуляции производятся из единой консоли управления «Диспетчер серверов». Откройте оснастку «Диспетчер серверов» раздел «Все серверы». Щелкните по нему правым кликом и нажмите «Добавление серверов».
На вкладке Active Directory вам необходимо указать в каком домене вы будите производить поиск, в поле «Имя (Общие)» находим нужные вам сервера.
Выбираем нужные сервера и переносим их в раздел «Выбрано».
В итоге в вашей оснастке «Диспетчер серверов» вы увидите все добавленные хосты. которые будут участниками Remote Desktop Services High Availability на Windows Server 2019.
В результате все должно быть в статусе «В сети».
Стандартное развертывание службы удаленных рабочих столов
В мастере добавления ролей выберите пункт «Установка служб удаленных рабочих столов (Remote Desktop Services Installation)» и нажимаем далее.
Выбираем второй пункт «Развертывание рабочих столов на основе сеансов (Session-based desktop deployment)»
Список компонентов устанавливаемых при стандартной конфигурации RDS фермы. Тут будет установлен:
На следующем шаге вам нужно выбрать и перенести в правую область сервер, который будет нести на себе роль «Посредник подключений к удаленным рабочим столам (RD Connection Broker)». В моем примете, это первый сервер RDCB01.root.pyatilistnik.org.
Далее у нас идет выбор сервера для установки роли «Веб-доступ к удаленным рабочим столам (RD Web Access)», так как я пока не планирую использовать веб доступ RemoteApp, а настрою это потом, то я воспользуюсь галкой «Установить службу веб-доступа к удаленным рабочим столам на сервере посреднике подключений к удаленному рабочему столу (Install the RD Web Access role service on the RD Connection Broker server)»
Последним идет пункт по установке роли на сервера к которым вы будите непосредственно подключаться, выбираем нужные сервера и инсталлируем на них роль «Узел сеансов удаленных рабочих столов (RS Session Host)». В моем примере, это два сервера rdsh01 и rdsh02.
Процесс установки ролей подразумевает, что потребуется перезагрузка сервера, для этого вам необходимо выставить галку «Автоматически перезапускать конечный сервер, если это потребуется (Restart the destination server automatically if required )» и нажать кнопку «Развернуть«
Начинается процесс установки службы удаленных рабочих столов, может занимать несколько минут.
У вас должна произойти успешная установка службы «службы удаленных рабочих столов». Все необходимые сервера будут перезагружены.
Давайте убедимся, что все серверы получили свои роли. Для этого на сервере, где вы добавляли сервера в оснастку «Диспетчер серверов (Производили установку)», откройте оснастку и перейдите в раздел «Службы удаленных рабочих столов».
На вкладке «Общие сведения» посмотрите в разделе «Серверы развертывания», кто и какие роли себе установил.
Перейдите в раздел «Коллекции» и убедитесь, что список пуст, но зато присутствуют два ваших хоста узла сеансов удаленных рабочих столов, к котором будут подключаться конечные пользователи. Они будут иметь статус «Истина (True)», что говорит о разрешении подключаться (Режим стока выключен)
Следующим шагом мы создадим новую коллекцию для подключения к службам Remote Desktop Services High Availability на Windows Server 2019.
Создание коллекции для отказоустойчивой терминальной фермы
Так, что подытожим, коллекции RDS призваны решать две задачи:
Придумываем любое имя для вашей коллекции, в моем примере это root-collection
Теперь вам необходимо определиться какие серверы с ролью узлов сеансов (RDSH) вам нужно включить в коллекцию, у меня это RDSH01 и RDSH02
Указываем каким пользователям или группам разрешен доступ к данной терминальной ферме, я удалю группу «Пользователи домена» и добавлю другую.
У меня получился вот такой список доступа, потом его так же можно изменить.
Я снимаю галку «Включить диски профилей пользователей» так как не планирую использовать UDP диски.
Смотрим сводную информацию по создаваемой коллекции и нажимаем «Создать».
Дожидаемся создания коллекции службы удаленных рабочих столов.
В общем списке у вас будет ваша коллекция.
Про описание свойств коллекции RDS я уже писал пост, можете к нему обратиться. Теперь у системного администратора, кто первый раз развернул стандартную установку службы удаленных рабочих столов возникает вопрос, как ему подключиться к новой коллекции и это правильный вопрос, так как если вы сейчас попытаетесь подключиться брокеру, то вас не перекинет на хост из коллекции, вы просто попадете на сам RDCB хост. Чтобы это поправить нам нужно сделать две вещи:
Настройка RD Connection Broker для подключений к ферме RDS
Как я писал выше в текущей конфигурации посредник подключений к удаленным рабочим столам вас не будет перебрасывать в коллекцию, он просто будет подключаться к брокеру по RDP, ниже мы это поправим.
Для подключения к ферме Remote Desktop Services в отказоустойчивой конфигурации создают две записи DNS и направляют их на сервера с ролью RD Connection Broker, кто-то балансирует иначе, но мы в данном окружении воспользуемся именно DNS и механизмом перебора Round Robin. Откройте оснастку и создайте A-запись с нужным именем вашей RDS фермы у меня это будет DNS имя «terminal«.
Я пока создам одну A-запись с таким именем и в качестве IP-адреса укажу адрес моего первого сервера с ролью RD Connection Broker.
В запись terminal.root.pyatilistnik.org успешно создана.
Проверяем ее через утилиту PING
Теперь, чтобы наш сервер посредник подключений к удаленным рабочим столам перебрасывал нас на RDSH сервера, нам необходимо подключиться к RD Web серверу и скачать RDP-файл с конфигурацией. Данный файл будет нести в себе параметры, о наименовании коллекции, при обращении к которой вы попадете на один из конечных серверов.
Стандартный адрес для подключения к вашему серверу RD Web, это:
Проверить наличие данного адреса вы можете открыв диспетчер IIS.
У вас должна открыться вот такая страница с авторизацией.
Теперь нам нужно получить значение loadbalanceinfo из свойств вашей коллекции, оно будет прописано в реестре брокеров. Для этого выполним публикацию приложения RemoteApp. Переходим в коллекцию службы удаленных рабочих столов и находим раздел «Удаленные приложения RemoteApp«. Нажимаем на задачи и произведем публикацию удаленного приложения RemoteApp.
Выберите для примера обычный калькулятор
Нажимаем «Опубликовать«.
Дожидаемся публикации приложения в коллекции Remote Desktop Services.
Далее вы переходите в веб интерфейс RDWEb и авторизуетесь, у вас будет доступно приложение калькулятор. Щелкните по нему и у вас будет запущено скачивание RDP пакета.
Теперь полученный файл RDP нужно открыть через блокнот.
Вам нужно найти строку loadbalanceinfo:s:tsv://MS Terminal Services Plugin.1.root-collection, она то нам и нужна для прописывания ее в реестре сервера несущего роль посредника подключений к удаленным рабочим столам (Connection Broker).
Переходим на сервер с ролью RD COnnection Broker и открываем реестр Windows. Переходим в раздел:
Создаем тут ключ реестра с типом REG_SZ (Строковый) и именем DefaultTsvUrl. В качестве содержимого вставляем tsv://MS Terminal Services Plugin.1.root-collection
Перезагрузите на всякий случай ваш брокер. Пробуем теперь произвести подключение по имени terminal.root.pyatilistnik.org.
Как видите нам ответил rdcb01.root.pyatilistnik.org
Но как и было задумано посредник подключений к удаленным рабочим столам перекину нас на конечный хост с ролью RDSH. Я для теста сделал три подключения, все отлично работает. Можно сказать, что мы успешно установили и настроили стандартную Remote Desktop Services ферму на базе Windows Server 2019. Теперь можно превращать ее в высоко доступную, о чем и пойдет речь ниже.
Создание группы безопасности для RD Connection Broker
Следующим шагом нам необходимо в Active Directory создать группу безопасности в которую мы поместим наши сервера с ролью RD Connection Broker. Необходимо, это для того, чтобы мы этой группе безопасности назначили необходимые права на нашем SQL сервере.
Открываем оснастку ADUC и создаем в нужном вам расположении группу безопасности RD-Connection-Broker. Я выставлю область действия группы (Локальная в домене).
Добавим в группу RD-Connection-Broker два сервера с ролью посредника подключений к удаленным рабочим столам. В моем случае, это RDCB01 и RDCB02.
Установка SQL Native Client
Следующим шагом вам необходимо на обоих серверах с ролью RD Connection Broker установить бесплатного клиента SQL Native Client, это необходимое требование. Где скачать SQL Native Client и как его установить я подробно рассказывал, на этом я останавливаться не буду, посмотрите по ссылке.
Установка и настройка MS SQL 2016
Следующим подготовительным требованием идет установка общей базы для наших брокеров, в моем примере это будет MS SQL 2016 Standard. Сам процесс инсталляции я подробно разбирал, так что так же советую посмотреть мою статью. Еще я вам советую делать всегда вашу базу данных отказоустойчивой, в режиме Always On.
Источник
Эта большая инструкция посвящена особенностям установки, настройки и эксплуатации фермы терминальных серверов на базе роли Remote Desktop Services (RDS) в Windows Server. Статья поможет вам развернуть службы удаленных столов на Windows Server 2022, 2019 и 2016 в домене Active Directory.
Содержание:
- Компоненты Remote Desktop Services в Windows Server 2022/2016/2016/2012R2
- Создаем новую конфигурацию Remote Desktop Services в Windows Server
- Создаем коллекции Remote Desktop Services в Windows Server
- Публикация RemoteApp в Remote Desktop Services
- Настройка фермы Remote Desktop services с помощью PowerShell
Компоненты Remote Desktop Services в Windows Server 2022/2016/2016/2012R2
В состав роли RDS в Windows Server входя следующие компоненты:
- Remote Desktop Session Host (RDSH) – узлы сеансов RDS. Основные рабочие лошадки фермы RDS, на которых работают приложения пользователей;
- Remote Desktop Connection Broker (RDCB) – посредник RDS подключений. Используется для управления фермой RDS, распределения нагрузки, обеспечивает переподключение пользователей к своим сеансам, хранит коллекции RDS и опубликованные приложения RemoteApps;
- Remote Desktop Gateway (RDGW) – обеспечивает безопасный доступ к сервисам RDS из Интернета;
- RD Web Access (RDWA) – веб интерфейс для доступа к рабочим столам, программам RemoteApp;
- Remote Desktop Licensing (RD Licensing) — служба лицензирования, управляет RDS лицензиями (CAL) пользователей.
В нашем небольшом стенде будут всего три сервера со следующим распределением ролей
-
msk-rds1.winitpro.ru
— RDSH -
msk-rds2.winitpro.ru
– RDSH -
msk-rdsman.winitpro.ru
– RDSH, RDWA, RDCB, RD License
Предварительные требования, которые нужно выполнить перед созданием RDS фермы:
- Установите одинаковую версию Windows Server на все сервера, настроить их, и добавить в один домен AD;
- Откройте консоль ADUC (
dsa.msc
) и переместите все хосты с ролью RDSH в одну OU в AD. Так будет удобнее применять единые настройки через GPO; - Создайте в домене группу для RDSH серверов (например,
msk-rdsh
) и добавьте в нее все хосты; - Если вы хотите использовать диски User Profile Disk (UPD) для хранения профилей пользователей RDS (или перемещаемые профили), нужно создать на файловом сервере сетевой каталог, в котором они будут хранится (желательно расположить этот каталог на отказоустойчивом файловом кластере Windows Server). Предоставьте права Full Control на этот сетевой каталог для группы
msk-rdsh
.
Создаем новую конфигурацию Remote Desktop Services в Windows Server
Рассмотрим, как создать и настроить RDS конфигурацию с помощью графического интерфейса Server Manager.
Откройте Server Manager и добавьте все планируемые RDS сервера в консоль. Щелкните All Server -> Add servers.
Теперь в меню Server Manager выберите Add Roles and Features -> Remote Desktop Services installation -> Standard deployment –> Session-based deployment.
Режим Quick Start используется для развертывания всех компонентов RDS на одном сервере. В RDS ферме минимум может быть один сервер, который совмещает все роли RDS (RD Session Host, RD Web Access и RD Connection broker). Но такая конфигурация не обеспечивает отказоустойчивость и балансировку нагрузки в службах удаленных рабочей столов Windows Server.
Далее нужно указать, как вы хотите распределить роли RDS по вашим серверам. В мастере построения фермы RDS нужно выбрать сервера для соответствующих ролей. В моем случае я хочу построить такую конфигурацию:
- RD Connection Broker –
msk-rdsman
- RD Web Access —
msk-rdsman
- RD Session hosts —
msk-rdsman, msk-rds1, msk-rds2
Вы можете распределить RDS роли по серверам в любой другой конфигурации.
Поставьте галку Restart destination server automatically if required и нажмите кнопку Deploy. Дождитесь установки ролей RDS на всех серверах.
Итак, ваша ферма RDS создана.
Следующий этап установка и настройка сервера лицензирования RDS. Вы можете установить роль RD Licensing на один из серверов в вашей ферме или использовать существующий в домене сервер лицензирования RDS. Подробная инструкция по установке, настройке и активации роли RD Licensing доступа по ссылке.
Для управления вашим развертыванием RDS нужно перейти в раздел Server Manager -> Remote Desktop Services. На вкладке Overview показана текущая конфигурация RDS фермы.
Чтобы изменить настройки RDS фермы выберите Tasks -> Edit Deployment Properties в разделе Deployment Overview.
Здесь можно изменить:
- Параметры RD Gateway;
- Адрес сервер сервера лицензирования и тип пользовательских лицензий RDS CAL (per user/per device);
- Посмотреть URL адреса RD Web Access;
- Добавить SSL сертификаты для служб RDS (в инструкции мы пропустим этот пункт).
Для построения отказоустойчивой фермы Remote Desktop Services нужно обеспечить высокую доступность роли RD Connection Broker. Это достигается за счет запуска нескольких экземпляров RDCB (Active/Active) на разных серверах с общей базой данных SQL, в которой хранится конфигурация брокера подключений. Для обеспечения высокой доступности SQL базы RDCB ее можно размесить в группе высокой доступности SQL Server Always On. Ранее мы публиковали подробный гайд по настройке RDS Connection Broker с высокой доступностью.
Создаем коллекции Remote Desktop Services в Windows Server
Следующий этап настройки – создание коллекций сеансов RDS. Коллекции Remote Desktop позволяют разделить хосты в ферме RDSH на отдельные группы или создать разный набор настроек и доступных приложений Remote App для разных групп пользователей.
Перейдите в раздел Collections, выберите Edit -> Create Session Collection.
Здесь нужно задать:
- Имя коллекции RDS:
rds-Msk-Managers
- Выберите какие хосты RDSH будут обслуживать пользователей коллекции (один RDSH хост может находиться в одной коллекций; не рекомендуется объединять в одну коллекцию сервера с разными версиями Windows Server);
- На вкладке User Groups указываются группы пользователей, которым разрешено подключаться к коллекции. Уберите из групп Domain users и добавьте вашу группу (msk-Managers);
- На вкладке User Profile Disk нужно указать, хотите ли вы использовать формат UPD для хранения профилей пользователей (Enable user profile disks). В поле Location of user profile disks укажите UNC путь к сетевому каталогу(например,
\msk-fs01mskrds_upd
), в котором будут хранится профили пользователей в форматер UPD виртуальных дисков (в этом случае при входе на любой сервер коллекции RDS, пользователь будет всегда загружать свой профиль) и максимальный размер диска (20 Гб по умолчанию); - Нажмите Create чтобы создать новую RDS коллекцию;
- Убедитесь, что в указанном каталоге создался UPD файл с шаблоном профиля пользователя UVHD-template.vhdx.
Чтобы задать параметры коллекции RDS, выберите ее и нажмите Tasks -> Edit Properties.
Здесь можно изменить базовые параметры коллекции (имя, описание, группы доступа) и ряд других важных настроек.
В разделе Session можно задать параметры переподключения/ автоматического отключения простаивающих RDP сессий (подробнее рассматривалось в статье Настройка таймаутов для RDP сессий).
На вкладке Security можно выбрать настройки безопасности (Negotiate, RDP Security level или SSL/TLS) и шифрования (Low, High, Client compatible или FIPS compliant) для сессий RDP. Здесь также можно включить/отключить Network Level Authentication для RDP.
В секции Load Balancing можно изменить веса (
Relative Weight
) RDSH хостов в вашей ферме. Если характеристики серверов (RAM, CPU) в коллекции сильно отличаются, нужно задать меньший вес для менее производительных серверов. В этом случае RDCB будет распределять сессии пользователей по серверам в зависимости от их веса.
На вкладке Client Settings можно указать, какие устройства пользователям разрешено пробрасывать в RDP сессию. Например, вы можете разрешить/запретить пробрасывать с локального компьютера пользователя в RDS сеанс принтера, сетевые диски, аудио устройства, буфер обмена.
В разделе User Profile Disks можно более тонко настроить параметры UPD профилей пользователей. Можно исключить из синхронизации определенные папки или файлы. Это позволит уменьшить размер профиля UPD в сетевом каталоге и увеличить скорость загрузки профиля (не забывайте, что он загружается по сети из сетевой папки при входе пользователя).
Настройка и эксплуатация UPD обычно гораздо проще, чем использование перемещаемых профилей или folder redirection. Один UPD профиль не может использоваться в разных коллекциях RDS.
Для уменьшения размера UPD диска пользователя можно использовать стандартный PowerShell командлет
Resize-VHD
, используемый для изменения размеров виртуальных VHDX дисков Hyper-V.
В секции HOST SERVERS коллекции RDS можно перевести любой сервер фермы в режим обслуживания RDSH (Drain Mode). Для этого щелкните по нему и выберите Do not allow new connection. В результате Connection Broker не будет отправлять новые подключения пользователей на этот сервер. В таком режиме вы можете спокойно установить обновления Windows или обновлять на сервере приложения, не затрагивая пользователей.
Здесь же можно добавить/удалить RDS Host из коллекции.
Если RDSH хост вышел из строя и не доступен, его можно корректно удалить из фермы Remote Desktop Services по этой инструкции.
Публикация RemoteApp в Remote Desktop Services
RemoteApps – это опубликованные для пользователей приложения на RDS серверах. Благодаря RemoteApp можно использовать приложения, установленные на терминальном RDSH сервере так, как будто оно запущено непосредственно на компьютере пользователя. Пользователь не видит всего рабочего стола Windows Server RDS и работает только с теми программами, которые опубликовал для него администратор. На компьютере пользователя будет отображаться только окно запущенной на RDS программы.
Если вы не создаете RemoteApp, пользователи будут работать непосредственно на собственных рабочих столах на Windows Server. Поэтому не забудьте скопировать все необходимые пользователю ярлыки приложений в папку C:UsersPublicDesktop. Файлы из этой папки будут отображаться на рабочем столе всех пользователей. Если вы устанавливаете на RDSH пакет MS Office 365, обратите внимание что Office нужно разворачивать в режиме SharedComputerLicensing.
RemoteApp приложения создаются в настройках коллекций RDS. Выберите пункт Tasks -> Publish RemoteApp Programs в секции REMOTEAPP PROGRAMS.
Windows отобразит все приложения, установленные на текущем сервере. Можете выбрать одно из них. Если вашего приложения нет в списке, но оно установлено на других хостах RDS, нажмите кнопку Add и укажите полный путь к исполняемому файлу приложения (exe, bat, cmd и т.д.).
Опубликуйте приложение RemoteApp.
Затем в настройках RemoteApp можно указать дополнительные параметры приложения.
- Нужно ли показывать опубликованное RemoteApp приложение в веб интерфейсе RD Web Access;
- Задать параметры запуска (аргументы) приложения (Command-line Parameters -> Always use the following command-line parameters);
- На вкладке User Assignment можно дополнительно ограничить каким группам пользователей разрешено запускать приложение.
Если вы хотите изменить иконку опубликованного RemoteApp, нужно открыть следующую папку на сервере с ролью RDS Connection Broker:
C:WindowsRemotePackagesCPubFarmsrds-Msk-ManagersCPubRemoteApps
Замените иконку приложения другим ico файлом.
Теперь пользователь может запустить RemoteApp приложение из RD Web Access (
https://msk-rdsman.wintpro.ru/RDWeb
) или с помощью специального RDP файла.
Для запуска опубликованного приложения RemoteApp, нужно добавить в RDP файл такие строки:
remoteapplicationmode:i:1 remoteapplicationname:s:putty remoteapplicationprogram:s:"C:Toolsputty.exe" disableremoteappcapscheck:i:1 alternate shell:s:rdpinit.exe
Несколько полезных мелочей для удобной эксплуатации фермы RDS:
- Для роли RDWeb можно настроить поддержку HTML5, это позволит пользователям подключаться к RDS серверам из любого браузера и ОС даже без клиента RDP;
- На веб сервере RD Web Access можно опубликовать ссылку на смену истекшего пароля пользователя (по умолчанию при включенном NLA вы не сможете аутентифицироваться на RDSH с истекшим паролем пользователя Active Directory);
- Инструкция для пользователей по смене пароля в RDP сессии;
- Администратор может использовать теневые подключения RD Session Shadow для подключения/просмотра рабочего стола сеанса пользователя на сервере RDS;
- Чтобы быстро найти, на каких RDS серверах есть сессии определенного пользователя, можно использовать PowerShell:
Import-Module RemoteDesktop
Get-RDUserSession -ConnectionBroker msk-rdsman.winitpro.ru | where {$_.UserName -eq "a.ivanov"} | Select HostServer - Вы можете использовать PowerShell скрипты для просмотра и анализа логов RDP подключений пользователей к серверам RDS;
- Для дополнительной защиты можно настроить двухфакторную аутентификацию (2FA) пользователей на RDS серверах Windows с помощью сторонних средств.
Настройка фермы Remote Desktop services с помощью PowerShell
Если вы четко представляете себе концепцию RDS фермы, вы можете быстро разворачивать RDS конфигурацию с помощью PowerShell.
Следующие PowerShell команды для создания RDS фермы лучше запускать с другого на другом сервера, т.к. управляемые RDS хосты придется перезагружать.
Задайте имена серверов в вашей ферме RDS. В этом примере я установлю роли RDCB и RDS Licensing на отдельный сервер (в дальнейшем рекомендуется настроить отказоустойчивую конфигурацию RDCB).
$RDSH1 = "msk-rds1.winitpro.ru"
$RDSH2 = "msk-rds2.winitpro.ru"
$RDSCB = "msk-rdcb.winitpro.ru"
$RDSGW = "msk-rdsgw.winitpro.ru"
Import-Module RemoteDesktop
Установите RDS роли на сервера:
Add-WindowsFeature –ComputerName $RDSH1, $RDSH2 -Name RDS-RD-Server –IncludeManagementTools
Add-WindowsFeature –ComputerName $RDSCB -Name RDS-Connection-Broker -IncludeManagementTools
Add-WindowsFeature –ComputerName $RDSGW -Name RDS-Web-Access, RDS-Gateway –IncludeManagementTools
Перезагрузите все хосты:
Restart-Computer -ComputerName $RDSH1,$RDSH2,$RDSCB,$RDSGW
Создайте новый инстанс RDSessionDeployment:
New-RDSessionDeployment -ConnectionBroker $RDSCB -SessionHost $RDSH1,$RDSH2 –Verbose
Добавить в ферму сервера RDWA и RDGW:
Add-RDServer -Server $RDSGW -Role RDS-WEB-ACCESS -ConnectionBroker $RDSCB
Add-RDServer -Server $RDSGW -Role RDS-GATEWAY -ConnectionBroker $RDSCB -GatewayExternalFqdn "rds.winitpro.ru"
Текущее распределение RDS ролей по серверам фермы можно вывести так:
Get-RDServer -ConnectionBroker $RDSGW
Установка роли лицензирования RDS:
Add-WindowsFeature –ComputerName $RDSCB -Name RDS-Licensing, RDS-Licensing-UI
Задайте режим лицензирования PerUser:
Invoke-Command -ComputerName $RDSCB -ScriptBlock {Set-RDLicenseConfiguration -Mode PerUser -LicenseServer $RDSCB -ConnectionBroker $RDSCB}
Add-RDServer -Server $RDSCB -Role RDS-LICENSING -ConnectionBroker $RDSCB
Добавить сервер лицензирования в доменную группу с помощью Add-ADGroupMember:
Add-ADGroupMember "Terminal Server License Servers" -Members "msk-rdcb$"
Если у вас есть сертификат для RDS можно его добавить в конфигурацию фермы (можно использовать бесплатный SSL сертификат Let’s Encrypt для вашего RDS хоста):
Path = "C:psRDSCert.pfx"
$Password = ConvertTo-SecureString -String "CertPAssddr0w11-" -AsPlainText -Force
Set-RDCertificate -Role RDGateway -ImportPath $Path -Password $Password -ConnectionBroker $RDSCB -Force
Set-RDCertificate -Role RDWebAccess -ImportPath $Path -Password $Password -ConnectionBroker $RDSCB -Force
Set-RDCertificate -Role RDPublishing -ImportPath $Path -Password $Password -ConnectionBroker $RDSCB -Force
Set-RDCertificate -Role RDRedirector -ImportPath $Path -Password $Password -ConnectionBroker $RDSCB -Force
Информацию об установленных SSL сертификатах можно получить так:
Get-RDCertificate
Теперь можно создать коллекции RDS:
$CollectionName = "DEVdept"
New-RDSessionCollection –CollectionName $CollectionName –SessionHost $RDSH1,$RDSH2 –ConnectionBroker $RDSCB –CollectionDescription “Develovers”
Разрешить доступ к RDS серверам для групп:
$UserGroup [email protected]("WINITPROmsk-developers","WINITPROmsk_devops")
Set-RDSessionCollectionConfiguration -CollectionName $CollectionName -UserGroup $UserGroup
Опубликовать приложение RemoteAPP:
New-RDRemoteapp -Alias GoogleChrome -DisplayName GoogleChrome -FilePath "C:Program Files (x86)GoogleChromeApplicationchrome.exe" -ShowInWebAccess 1 -CollectionName $CollectionName -ConnectionBroker $RDSCB
В статье мы рассмотрели, как установить и настроить ферму Remote Desktop Services на базе Windows Server 2019/2022 с помощью графического интерфейса Server Manager и с помощью PowerShell. За рамками статьи осталось более подробное описание ролей RD Web Access и RD Gateway. Мы рассмотрим настройку этих ролей отдельно в следующих статьях.
RemoteApp – удаленное приложение, доступ к которому можно получить через службы терминалов. Запускаются и работают они так, как будто они запущены на локальном компьютере пользователя. Пользователи могут запускать программы RemoteApp вместе со своими локальными программами. Эта фича пришла с выходом windows server 2008. До этого можно было в windows server 2003 получить подобную плюшку прописав в профиле пользователя запуск программы. Часто применялось для запуска 1С.
Настройка RemoteApp в windows server 2016 и windows server 2019 немного отличается.
Данная технология позволяет публиковать для пользователей приложения, которые необходимы для коллективной работы или просто требуют много ресурсов железа, и потому переносятся на сервер.
Так же опубликованные приложения администрируются на сервере, а не на компьютере пользователя, что упрощает работу системного администратора и исключает *кривые руки* пользователей.
Настройка сервера RemoteApp для 1С
В данной статье мы рассмотрим вариант настройки сервера RemoteApp для запуска приложения 1С версии 8.3
Итак начнем. Предполагаем, что уже есть установленный и настроенный Windows server 2008, поднята и настроена роль сервера терминалов и настроен сервер 1С.
Идем в главное меню Start -> Administrative Tools -> Server Manager
или Пуск -> Администрирование -> Службы удаленных рабочих столов ->Диспетчер удаленных приложений RemoteApp
В Диспетчер удаленных приложений RemoteApp (RemoteApp Manager) нажать Изменить (Change)
Идем во вкладку — Общие параметры протокола удаленного рабочего стола (Common RDP Setting)
Здесь настраиваем необходимые параметры рабочего стола и нажимаем ОК.
Добавляем приложение для удаленных рабочих столов, кликаем – «Добавить удаленные приложения» («Add RemoteApp Programs») — приложения, которые мы собираемся опубликовать.
Нажимаем — Далее (Next)
Из списка приложений выбираем наше необходимое приложение. Так как у нас несколько вариантов нужного приложения в списке, смотрим Свойства каждого и выбираем нужное.
Выбираем нашу — 1С Предприятие, ставим галку.
Для настройки 1С выбираем 1cestart.exe — это потому, что при смене версии 1С с помощью 1cestart.exe мы можем запустить все — универсальный запускатор для 1Cv8.
итак, нужное приложение выбрали, подтверждаем ДАЛЕЕ (Next)
Смотрим итоговые настройки и нажимаем — Готово (Finish)
Внизу выделяем 1С Предприятие и выбираем — Создать RDP файл (Create RDP file)
Подтверждаем Далее (Next)
Проверяем настройки RDP файла и нажимаем Далее (Next). Основное что нас интересует, это имя или IP адрес сервера и порт для подключения.
Проверяем правильность введенных данных для файла настроек подключения к удаленному рабочему столу и нажимаем Готово (Finish).
В c://Program Files/Packaged Programs появится новосозданный файл. Рекомендуем его переименовать, чтобы в дальнейшем понимать с какими настройками данный файл.
Выделяем файл, в контекстном меню выбираем «Переименовать» и задаем новое имя.
Как вариант, назвать файл именем сервера и указанием порта для подключения.
В нашем случае требуется создать файл для удаленных пользователей, потому повторяем процедуру создания файла подключения к удаленному рабочему столу.
Нажимаем «Далее»
Так как порт и имя сервера для доступа снаружи другие, их необходимо «Изменить…»
В окне «Имя сервера» вводим IP адрес нашего сервера, например 111.222.333.44
В окне «Порт RDP» вводим опубликованный наружу (в интернет) порт. У нас это например 33899
Нажимаем «ОК»
Нажимаем «Далее»
Проверяем все настройки и нажимаем «Готово»
В контекстном меню выбираем «Переименовать» и задаем новое имя, по аналогии сервер и порт подключения.
Получилось два файла настроек для подключения пользователей к серверу 1С. Один — для внутреннего (локального) использования. Второй — для доступа из интернет.
Просто копируем необходимый файл на компьютер пользователя
Запускаем файл подключения к серверу терминалов, можно проставить в окне «Больше не выводить запрос о подключениях к этому компьютеру» галочку и нажимаем «Подключить»
Вводим логин и пароль и нажимаем «ОК»
В окне «Больше не выводить запрос о подключениях к этому компьютеру» ставим галочку и нажимаем “Да” («ОК»)
Список баз у нас пуст.
В запросе добавления в список информационной базы выбираем «Нет», потом «Выход». Добавлять отдельно базу 1С не будем. Мы ее уже подключали в статье ранее и просто перенесем настройки
Так как часть папок и файлов скрыты, в пункте меню «Упорядочить» выбираем «Параметры папок и поиска»
В закладке «Вид» окна «Параметры папок» ставим галочку в «Показывать скрытые файлы, папки и диски» и нажимаем «Применить»
Нам нужен файл настроек баз 1С. Лежит он в профиле каждого пользователя, потому находим настройки у пользователя ladmin и копируем в профиль пользователя удаленного рабочего стола.
с://пользователи/ladmin/App/Data/Roaming/1C/1CEstart/ нужно скопировать файл настроек 1С ibases.v8i Выбираем папку пользователя manager1 — с://пользователи/manager1/AppData/Roaming/1C/1CEstart/. В окне «Копирование файла» выбрать «Копировать с заменой»
Снова пробуем подключится к серверу терминалов. Вводим пароль для пользователя и нажимаем «ОК»
На этот раз видим что база 1С уже подключена.. В окне «Запуск 1С:Предприятия» выбираем нужную информационную базу и нажимаем кнопку «1С:Предприятие»
Выбираем нужного пользователя и вводим пароль, потом «ОК»
Готово!
Внимательно следуя пошаговой инструкции по настройке RemoteApp для 1С, Вам не составит большого труда произвести такие работы.
Также, по поводу плюсов переноса 1С в облаке на терминальный сервер в облаке можно ознакомится по ссылке. Подобрать и настроить помогут наши специалисты
И все же если Вам понадобится помощь знающих и умеющих администраторов для проведения любых видов работ по установке, настройке и обслуживанию программного обеспечения, компьютеров, серверов и смежных с ними работ, тогда обращайтесь в компанию «IT-Допомога».
По всем вопросам относительно проведения работ, условий заключения договора обслуживания и другим вопросам всегда рады ответить Вам по тел. (050)55-255-95
В последнее время очень много клиентов хотят использовать DIRECTUM через терминальные сервера. В этом блоге я расскажу про новую технологию Microsoft, которая называется RemoteApp.
RemoteApp — это технология, которая позволяет представлять приложения, доступ к которым может быть получен удаленно через Службы удаленных рабочих столов, как если бы они были запущены на локальном компьютере пользователя. Другими словами,
пользователь просто запускает ярлык на рабочем столе, а приложение запускается на терминальном сервере.
Этапы установки и настройки удаленных приложений
- настройка хост-сервера сеансов удаленных рабочих столов для размещения удаленных приложений RemoteApp;
- добавление программ в список удаленных приложений RemoteApp;
- создание RDP-файла и Создание пакета установщика Windows.
Настройка хост-сервера сеансов удаленных рабочих столов для размещения удаленных приложений RemoteApp
Существуют предварительные требования к установке, которые необходимо выполнить перед настройкой Удаленные приложения RemoteApp для использования. В следующих разделах рассматривается настройка сервера для работы с Удаленные приложения RemoteApp.
- установка службы роли хост-сервера сеансов удаленных рабочих столов;
- установка программ;
- проверка параметров удаленного подключения.
Установка службы роли хост-сервера сеансов удаленных рабочих столов
Диспетчер удаленных приложений RemoteApp устанавливается в составе службы роли Узел сеансов удаленных рабочих столов.
В этом разделе описывается порядок установки службы роли Узел сеансов удаленных рабочих столов.
Примечание: После установки службы роли Узел сеансов удаленных рабочих столов необходимо перезагрузить компьютер.
Минимальным требованием для выполнения этой процедуры является членство в локальной группе Администраторы (или эквивалентной ей группе) на сервере узла сеансов удаленных рабочих столов.
Рекомендации по оборудованию сервера:
- процессор: Quad 3.00 GHz;
- память: 1000 Мб для windows + 350 Мб для каждого сеанса;
Установка службы роли хост-сервера сеансов удаленных рабочих столов
- На компьютере, на котором требуется установить службу роли Узел сеансов удаленных рабочих столов, откройте средство Диспетчер серверов. Чтобы открыть компонент «Управление сервером», нажмите Пуск, Администрирование, а затем Управление сервером.
2. В группе Сводка по ролям выберите Добавить роли.
3. На странице Прежде чем, приступить к работе мастера добавления ролей нажмите кнопку
Далее.
4.На странице Выбор ролей сервера установите флажок Службы удаленных рабочих столов и нажмите кнопку
Далее.
5. На странице Службы удаленных рабочих столов нажмите кнопку
Далее.
6. На странице Выбор служб ролей установите флажок Узел сеансов удаленных рабочих столов, флажок лицензирование удаленных рабочих столов, флажок Веб-доступ к удаленным рабочим столам и нажмите кнопку
Далее.
7. На странице Удаление и повторная установка приложений для определения совместимости нажмите кнопку
Далее.
8. На странице Укажите метод подлинности для узла сеансов удаленных рабочих столов, выберите Не требовать проверку подлинности на уровне сети, нажмите на кнопку
Далее.
9. На странице Укажите режим лицензирования, выберите нужный режим, рекомендуется режим «На пользователя», и нажмите кнопку
Далее.
10. На странице Выберите группы пользователей, которым разрешен доступ к этому хост-серверу сеансов удаленных рабочих столов добавьте пользователей или группы, которые требуется добавить в группу «Пользователи удаленного рабочего стола»,
и нажмите кнопку Далее.,
11. На странице Настройка взаимодействия с пользователем выберите требуемый пользовательский интерфейс и нажмите кнопку
Далее.
12. На странице Настроить область обнаружения для лицензирования удаленных рабочих столов, нажмите на кнопку
Далее.
13. На странице Веб- сервер (IIS) нажмите на кнопку
Далее.
14. На странице Выбор служб ролей нажмите на кнопку
Далее.
15. На странице Подтвердите выбранные элементы убедитесь, что служба роли Узел сеансов удаленных рабочих столов выбрана для установки, и нажмите кнопку
Установить.
16. На странице Ход выполнения установки будет отображаться ход выполнения установки.
17. На странице Результаты установки будет предложено перезапустить сервер для завершения процесса установки. Нажмите кнопку Закрыть, а затем кнопку Да, чтобы перезапустить сервер.
18. После перезапуска сервера и входа в компьютер с использованием той же учетной записи пользователя установка завершится. При появлении страницы Результаты установки убедитесь, что установка сервера Узел сеансов удаленных рабочих столов выполнена
Установка программ
Приложения следует устанавливать на удаленный сервер после установки службы роли Узел сеансов удаленных рабочих столов. Приложения на сервер Узел сеансов удаленных рабочих столов устанавливаются так же, как и на локальный рабочий стол. Тем
не менее следует убедиться, что приложения устанавливаются для всех пользователей, а все необходимые компоненты приложений устанавливаются локально на сервер Узел сеансов удаленных рабочих столов.
В нашем случае, мы будем устанавливать систему DIRECTUM и Microsoft Office.
Проверка параметров удаленного подключения
По умолчанию удаленные подключения включены сразу после установки службы роли Узел сеансов удаленных рабочих столов. Чтобы добавить пользователей и группы, которым требуется подключение к серверу Узел сеансов удаленных рабочих столов, и проверить
или изменить параметры удаленного подключения, можно использовать следующую процедуру.
Минимальным требованием для выполнения этой процедуры является членство в локальной группе Администраторы (или эквивалентной ей группе) на сервере узла сеансов удаленных рабочих столов.
Чтобы проверить параметры удаленного подключения:
- На сервере Узел сеансов удаленных рабочих столов запустите средство «Система». Чтобы запустить инструмент «Система», нажмите кнопку Пуск, выберите пункт Выполнить, введите control system, а затем нажмите кнопку
ОК. - В группе Задачи выберите Параметры удаленного рабочего стола.
- В диалоговом окне Свойства системы на вкладке Удаленный выберите один из следующих вариантов, в зависимости от среды.
3.1. Разрешать подключения от компьютеров с любой версией удаленного рабочего стола (менее безопасно)
3.2. Разрешать подключения только от компьютеров с удаленным рабочим столом с сетевой проверкой подлинности (безопасность выше)
3.3. Для получения дополнительных сведений о двух параметрах на вкладке Удаленный щелкните ссылку Помогите мне выбрать.
4. Чтобы добавить пользователей и группы, которые необходимо подключить к серверу Узел сеансов удаленных рабочих столов с помощью удаленного рабочего стола, выберите пункт Выбрать пользователей, а затем нажмите кнопку Добавить. Добавляемые
пользователи и группы добавляются в группу «Пользователи удаленного рабочего стола».
Добавление программ в список удаленных приложений RemoteApp
Чтобы сделать программу доступной для пользователей удаленно через Диспетчер удаленных приложений RemoteApp, необходимо добавить ее в список Приложения RemoteApp.
Минимальным требованием для выполнения этой процедуры является членство в локальной группе Администраторы (или эквивалентной ей группе) на сервере узла сеансов удаленных рабочих столов.
Чтобы добавить программу в список удаленных приложений RemoteApp:
- Откройте диспетчер удаленных приложений RemoteApp на сервере узла сеансов удаленных рабочих столов. Для этого нажмите кнопку Пуск, откройте меню Администрирование, затем выберите пункты Службы удаленных рабочих столов
и Диспетчер удаленных приложений RemoteApp.
2. В области Действия щелкните Добавить удаленные приложения RemoteApp.
3. На странице Мастер удаленных приложений (RemoteApp) нажмите кнопку
Далее.
4. На странице Выберите программы для добавления в список удаленных приложений RemoteAppустановите флажки рядом с теми программами, которые следует добавить в список Удаленные приложения RemoteApp. Можно выбрать несколько программ, в нашей ситуации выбираем
DIRECTUM и Microsoft Office Application (Excel и Word). Нажмите на кнопку
Далее.
5. На странице Мастер удаленных приложений RemoteAppнажмите на кнопку
Готов.
Создание RDP-файла и Создание пакета установщика Windows
Создание RPD файла
С помощью мастера RemoteApp можно создать файл протокола удаленного рабочего стола (RDP-файл) из любого приложения в списке Удаленные приложения RemoteApp.
Минимальным требованием для выполнения этой процедуры является членство в локальной группе Администраторы (или эквивалентной ей группе) на сервере узла сеансов удаленных рабочих столов, который требуется настроить.
Чтобы создать RDP-файл:
- Откройте диспетчер удаленных приложений RemoteApp на сервере узла сеансов удаленных рабочих столов. Для этого нажмите кнопку Пуск, откройте меню Администрирование, затем выберите пункты Службы удаленных рабочих столов и Диспетчер удаленных
приложений RemoteApp. - В списке Приложения RemoteApp выберите программу, для которой необходимо создать RDP-файл. Чтобы выбрать несколько программ, нажмите и удерживайте нажатой клавишу
CTRL при выборе программ. В нашей ситуации выберите «Проводник системы DIRECTUM».
3. В области Действия для программы или выбранных программ щелкните Создание RDP-файла.
4. На странице Мастер удаленных приложений нажмите кнопку Далее.
5. На странице Задание параметров пакета выполните следующие действия:
5.1.В поле Введите расположение для сохранения пакетов примите расположение по умолчанию или нажмите кнопку Обзор, чтобы указать новое расположение для сохранения RDP-файла.
5.2. В разделе Параметры хост-сервера сеансов удаленных рабочих столов нажмите кнопку Изменить, чтобы изменить имя сервера или номер порта протокола удаленного рабочего стола (RDP). По завершении нажмите кнопку
ОК.
5.3. Для того, чтобы подписать RDP-файл цифровой подписью, в области Параметры сертификата нажмите кнопку
Сменить, чтобы выбрать или изменить сертификат.
6. По завершении нажмите кнопку Далее.
7. На странице Просмотр параметров нажмите кнопку Готово.
Создание пакета установщика Windows(MSI)
С помощью мастера RemoteApp можно создать пакет установщика Microsoft Windows (.msi) из любого приложения в списке Удаленные приложения RemoteApp.
Минимальным требованием для выполнения этой процедуры является членство в локальной группе Администраторы (или эквивалентной ей группе) на сервере узла сеансов удаленных рабочих столов.
Чтобы создать пакет установщика Windows
- Откройте диспетчер удаленных приложений RemoteApp на сервере узла сеансов удаленных рабочих столов. Для этого нажмите кнопку Пуск, откройте меню Администрирование, затем выберите пункты Службы удаленных рабочих столов и Диспетчер удаленных
приложений RemoteApp. - В списке Приложения RemoteApp выберите программу, для которой необходимо создать пакет установщика Windows. Чтобы выбрать несколько программ, нажмите и удерживайте нажатой клавишу CTRL при выборе программ.
- В области Действия для программы или выбранных программ щелкните Создание пакета установщика Windows.
- На странице Мастер удаленных приложений (RemoteApp) нажмите кнопку Далее.
- На странице Задание параметров пакета выполните следующие действия:
5.1. В поле Введите расположение для сохранения пакетов примите расположение по умолчанию или нажмите кнопку Обзор, чтобы указать новое расположение для сохранения пакета установщика Windows.
5.2. В разделе Параметры хост-сервера сеансов удаленных рабочих столов нажмите кнопку Изменить, чтобы изменить имя сервера или номер порта протокола удаленного рабочего стола (RDP). По завершении нажмите кнопку
ОК.
5.3. В области Параметры шлюза удаленных рабочих столов нажмите кнопку
Изменить, чтобы изменить текущую настройку или задать, будут ли клиенты использовать сервер Шлюз удаленного рабочего стола для подключения к
целевому серверу Узел сеансов удаленных рабочих столов через брандмауэр. По завершении нажмите кнопку
ОК.
5.4. Для того, чтобы подписать файл цифровой подписью, в области Параметры сертификата нажмите кнопку
Сменить, чтобы выбрать или изменить сертификат. Выберите нужный сертификат и нажмите кнопку
ОК.
6. По завершении нажмите кнопку Далее.
7. На странице Настройка пакета распространения выполните следующие действия:
7.1. В области Значки ярлыков укажите, где будет располагаться ярлык программы на клиентских компьютерах.
7.2. В области Обрабатывать расширения файлов клиента укажите, будет ли данная программа обрабатывать расширения имен файлов клиентов.
Если сопоставить расширения имен файлов на клиентском компьютере с Удаленное приложение RemoteApp, все расширения имен файлов, обрабатываемые приложением на сервере Узел сеансов удаленных рабочих столов, также будут сопоставлены на клиентском компьютере
с Удаленное приложение RemoteApp. Обратите внимание, что пользователи не получают запроса на подтверждение обработки сервером Узел сеансов удаленных рабочих столов расширений файлов для приложения.
Чтобы просмотреть, какие расширения имен файлов сопоставлены с приложением на сервере Узел сеансов удаленных рабочих столов, нажмите кнопку Пуск, выберите пункт Панель управления, а затем дважды щелкните компонент Программы по умолчанию. Нажмите
кнопку Сопоставление типа файла или протокола программе, чтобы просмотреть расширения имен файлов и связанные с ними по умолчанию программы.
8. После того, как свойства пакета распространения настроены, нажмите кнопку
Далее.
9. На странице Просмотр параметров нажмите кнопку Готово.
После завершения работы мастера в новом окне будет открыта папка, в которой был сохранен пакет установщика Windows. Таким образом можно убедиться, что пакет установщика Windows (.msi) был создан.
Тестирование системы
DIRECTUMв режиме RemoteApp
Общее сведение
В режиме RemoteaApp, система DIRECTUM работает в полном режиме, это значит, что все компонентов системы доступны.
Для подключения к системе DIRECTUM в режиме RemoteApp:
- запустить Rds файл, создан и выдан клиенту администратором сервера;
- установить на клиентский компьютер *.msi-пакет, также созданный и выданный администратором сервера. В этой случае создается ярлык системы DIRECTUMв меню пуск, как если бы система была установлена на локальном ПК;
- через веб доступа терминальной службы.
As organizations have transitioned to supported their remote workforce, these have been tasked with delivering the technology tools needed by the remote workforce to carry out business-critical operations. Many businesses may be using Windows Server 2019 Remote Desktop Services for both desktop session virtualization and virtual application delivery. To minimize the issues that come from end-users accessing the RemoteApps published from your Windows Server 2019 server, you want to make the experience as seamless as possible. Let’s look at how to make sure the credentials are passed from client workstations accessing RemoteApps and configure Windows Server RDS 2019 SSO.
What is Single Sign-On (SSO)
Single sign-on (SSO) for end-users ensures that they have the most seamless experience possible when working with published RemoteApps. This means the user they are logged in with on their workstation is passed over to the remote desktop connection backing the published RemoteApps.
This provides the best experience for the end-user as they get the seamless experience of simply clicking the icon for the published app. It launches without any additional entering of username or password.
What is RemoteApp?
RemoteApps are a feature of RDS that allows essentially “streaming” an application over an RDP connection. This means the end-user experience is virtually the same as working with a locally installed application and provides many benefits.
Benefits of RemoteApp
What are the benefits of Windows Server RDS RemoteApp? RemoteApp provides a number of benefits to organizations compared to full desktop sessions presented in RDS. First of all, many end-users only need access to applications and not full desktops. For many end-users who may have access to a full desktop session, all they really do with that desktop session is launch an application. If this is the case, why not simply publish a RemoteApp application?
RemoteApp publishes require far fewer resources than a full desktop session. This means you can host many more users using RemoteApp as opposed to a full desktop session. The end result is the ability to have a much smaller hardware and overall infrastructure footprint using RemoteApp.
RemoteApp can also help to narrow in the scope of application resources. By streaming an application from a Remote Desktop Session Host, the only resource that needs to directly connect from a network perspective to application resources is the RDSH server. This can greatly help from a security perspective.
The process to configure Windows Server RDS 2019 SSO is fairly straightforward. However, there is a tweak I had to make with the RDP file that is created from the RemoteApp publish. More on that a bit later.
Let’s look and see how you configure single sign-on (SSO) for desktop sessions and RemoteApp. This is made possible by means of a group policy setting on the client side. This means this is a setting you configure on the Windows 10 client that is initiating the RDS or RemoteApp connection.
In Windows 10, navigate to Computer Configuration > Administrative Templates > System > Credentials Delegation > Allow delegating default credentials.
On the Allow delegating default credentials policy dialog box, click the Show button next to Add servers to the list.
This opens a Show Contents dialog box. In the dialog box add the names of your Windows Server 2019 RDS servers in the format below. Note the TERMSRV/ in front of the server name.
TERMSRV/win19rds.cloud.local TERMSRV/win19rds
After you enable the server names for credential delegation, you should be able to launch RDS 2019 SSO connections without being prompted for your credentials. The same is true of RemoteApps. However, I did run into an issue with RemoteApp below.
Username format issue for SSO
You may find that after you enable the SSO entries for delegated permissions to target your Windows Server 2019 RDSH box, your plain RDP connection to the RDSH server work as expected, but not the RemoteApp connection.
I found this to be the case as well. However, what I noticed was that by default, when you publish a RemoteApp from Windows Server 2019, the RD Gateway Server expects the username in the UPN format. As a quick refresher, usernames can be formatted in a couple of different ways.
- DOMAINusername – This is known as the NetBIOS domain format with a separator and then the username.
- [email protected] – This is known as the UPN format or user principal name.
You can read more about user name formats in the Microsoft KB here:
- User Name Formats
I had to tweak the RDP file that I downloaded from the Windows Server 2019 RDS server for it to correctly pass the credentials. I am still trying to flush out if this is specific to my lab environment. In case you run into this in your own environment, this is what I had to do.
- Edit your RDP file in notepad.
- Change the value gatewaycredentialssource:i:0 to
- gatewaycredentialssource:i:2
This denotes that it uses the same logged in user for your gateway server connection.
Concluding Thoughts
To configure Windows Server RDS 2019 SSO this is basically a setting in group policy applied to your client workstation that will be running the RDS session or RemoteApp connection. Once you configure the setting to delegate your credentials, you will be able to simply launch an RDP session or RemoteApp session to the RDS server and not reenter your credentials.
A step by step guide to build a Windows Server 2019 Remote Desktop Services deployment.
I posted this before based on Windows Server 2012 R2 RDS and thought it was high time to update this post to a more modern OS version.
I will provide all the steps necessary for deploying a single server solution using the GUI tools.
Although it is called a single server installation, we will need 2 servers as shown below.
Software used in this guide:
Windows Server 2019 ISO (evaluation can be downloaded here: https://www.microsoft.com/en-us/evalcenter/evaluate-windows-server-2019).
SQL Server 2017 Express x64 (free version can be downloaded here: https://www.microsoft.com/en-us/download/details.aspx?id=55994).
SQL Server 2016 Native Client (free version can be downloaded here: https://www.microsoft.com/en-us/download/details.aspx?id=52676. After clicking the download button select ENUx64sqlncli.msi). Although I’m installing SQL Express 2017, there are no newer client tools available.
SQL Server Management Studio (free, and can be downloaded here: https://docs.microsoft.com/en-us/sql/ssms/download-sql-server-management-studio-ssms).
And a certificate. I got mine for free from https://www.sslforfree.com/. This certificate needs to contain the FQDN you will use as the RD Web Access URL (mine is rds.it-worxx.nl in this guide). It needs to be in .pfx format and you need to have the private key in it.
This guide will not focus on building a domain using a single domain controller and adding the second server as a member server to this domain.
Also some basic knowledge is assumed in this guide. I will not detail how to create a Security Group and adding a computer account to it. I will also not detail how to install SQL Express, or adding logins to a SQL Server Instance security context. If you need extra help with this, Bing it or drop me a mail with details, and I will provide steps to continue.
I will be using Hyper-V on my Windows 10 1809 laptop and I have prepared 2 servers:
ITWDC (1 vCPU, 1024MB memory, dynamic, 60GB Harddisk)
Installed Windows
IPv4 192.168.0.4/24
Added .NET Framework 3.5 as a feature
Added Active Directory Domain Services as a role
Configured this server as a Domain Controller in a new forest: it-worxx.lab
ITWRDS (1 vCPU, 1024MB memory, dynamic, 60GB Harddisk)
Installed Windows
Added .NET Framework 3.5 as a feature
IPv4 192.168.0.10/24, DNS server 192.168.0.4
Configured it as a member server in the it-worxx.lab domain
Installing the Remote Desktop Services Roles
Log on to the Domain Controller, and in Server Manager right-click the All Servers node and add the second server using the Add Servers command (or select the All Servers node, click Manage and click Add Servers).
Now that all servers needed in this deployment scenario are present, click Manage, and click Add Roles & Features.
Before you begin
Click Next.
Select Installation Type
Select Remote Desktop Services installation.
Click Next.
Select Deployment Type
Although Quick Start might be a valid option for a single server deployment, leave the default selected. This will explain the steps necessary to install Remote Desktop Services in greater detail.
Click Next.
Select Deployment Scenario
Select Session-based desktop deployment.
Click Next.
Review Role Services
Review the services that will be installed.
Click Next.
Specify RD Connection Broker server
Click the member server and click the Add button.
Click Next.
Specify RD Web Access server
Check Install the RD Web Access role on the RD Connection Broker server.
Click Next.
Specify RD Session Host server
Click the member server and click the Add button.
Click Next.
Confirm selections
Check Restart the destination server automatically if required.
Click Deploy.
View progress
Wait until all role services are deployed and the member server has restarted.
Click Close.
In Server Manager click Remote Desktop Services and scroll down to the overview.
As you can see the deployment is missing a RD Gateway server and a RD Licensing server.
Click the Add RD Licensing server button.
Select a server
Click the domain controller and click the Add button.
Click Next.
Confirm selections
Click Add.
View progress
Wait until the role service is deployed. No restart is needed.
Click Close.
Click the Add RD Gateway server button.
Select a server
Click the member server and click the Add button.
Click Next.
Name the self-signed SSL certificate
The wizard creates a self-signed certificate. We will deal with certificates in this deployment in a little bit. We will replace the self-signed certificate.
Enter the external Fully Qualified Domain Name which you will also use for the Web Access URL. In my case, for lack of a better name, I used “rds.it-worxx.nl”. I didn’t want to use “remote.it-worxx.nl” or “desktop.it-worxx.nl” or anything else.
Click Next.
Confirm selections
Click Add.
View progress
Wait until the role service is deployed. Again, no restart is needed.
Notice that “rds.it-worxx.nl” was configured for the deployment.
Also notice that even more certificate configuring is needed, but we’ll get to that later. Pay no attention to it for now. The same goes for the RD Gateway properties for the deployment. We’ll get to that later.
Click Close.
Review role installation and setting License Mode
Let’s have a quick look at the configuration we have so far.
In Server Manager, Remote Desktop Services, Overview, click Tasks and click Edit Deployment Properties.
Configure the deployment
Review the RD Gateway settings and notice what settings are available.
Click RD Licensing.
Configure the deployment
Notice that an RD License server is available, but no license type is selected yet.
I selected Per User, but since this is just a guide setup, it really doesn’t matter.
Click RD Web Access.
Configure the deployment
By default the RD Web Access IIS application is installed in /RdWeb.
If you want to know how to change this, check another post: https://msfreaks.wordpress.com/2013/12/07/redirect-to-the-remote-web-access-pages-rdweb/
This is for Windows Server 2012 R2 RDS, but it also works for Windows Server 2019 RDS.
Click Certificates.
Configure the deployment
Notice that the certificate level currently has a status of Not Configured.
As you can see, certificates are used for different goals within the deployment.
The RD Gateway certificate is used for Client to gateway communication and needs to be trusted by the clients. Either install the self-signed certificate on all clients, or use a certificate for which the complete certificate chain is already trusted by all clients. As it said in the wizard, the external FQDN should be on the certificate.
The RD Web Access certificate is used by IIS to provide a server identity to the browser clients.
The RD Connection Broker actually has two goals for which it needs certificates. To enable single sign on (server to server authentication), and for publishing (signing RDP files). If you look in the deployment you’ll see that the Connection Broker is now configured to use “itwrds.it-worxx.lab”, so we have to change it to use an external FQDN as well.
If we use the same FQDN for all goals described above, we need only 1 certificate, and only 1 external IP address.
We’ll come back to this wizard later to assign the certificate. First order of business is to change the internal FQDN for the Connection Broker to an external FQDN.
Click OK (no reason why we shouldn’t commit the change we made on the licensing tab, remember?)
Changing the Connection Broker FQDN to an externally resolvable FQDN
Open DNS Manager on the domain controller and browse to Forward Lookup Zones.
Right click Forward Lookup Zones and click New Zone… Go through this wizard accepting the defaults until you have to enter a Zone Name.
Enter the external FQDN which will also be used by the Connection Broker.
Finish the rest of the wizard accepting the defaults.
Browse to the newly created zone.
Right click the newly created zone and click New Host (A or AAAA)…
New Host
Leave the Name field blank, but enter the member server’s (holding the RD Connection Broker role) IPv4 address.
Click Add Host.
Now the configuration will be able to resolve “rds.it-worxx.nl” to the server holding the Connection Broker role, and this will work because “rds.it-worxx.nl” is also on the certificate that we will configure later.
Create a new Global Security Group called “RD Connection Brokers” and add the computer account for the member server to it as a group member.
We need this group to be able to convert the RD Connection Broker to a highly available RD Connection Broker. You’ll see why we need to do this in a few steps.
Reboot the member server to let it know it’s a member of the RDS Connection Brokers security group.
The next steps in re-configuring the RD Connection Broker depend on an SQL database shared by all Connection Brokers in the deployment. Without this configuration the RD Connection Broker will rely on the Windows Internal Database that was created during the initial deployment of the roles.
Install SQL Express on the Domain Controller (or use an existing SQL Server if you already have one).
It’s not best practice to install SQL onto a Domain Controller, but it’ll do for this guide.
Here’s a list of needed features:
Use the Default Instance (so click Default, and do not leave the wizard’s selection on Named instance: SQLEXPRESS).
Set the SQL Service to start using SYSTEM because the default account of SQLSERVER cannot be used on a Domain Controller.
When the installation is done open SQL Configuration manager and browse to Client Protocols under SQL Native Client 11.0 Configuration.
Check if TCP/IP is enabled under Client Protocols. SQL Express install enables this by default, but check it just to be sure, especially if you use an existing SQL Server.
Browse to Protocols for MSSQLSERVER under SQL Server Network Configuration.
Enable TCP/IP. If this is a new SQL installation, this will be disabled by default.
Restart the SQL Server service if you changed this setting.
On the SQL Server, make sure port 1433 is not being blocked by Windows Firewall.
I added the SQL Server executable to the exception list to allow all inbound traffic, but TCP 1433 inbound should suffice.
If you installed SQL Server using the default folder locations, the sqlservr.exe executable is found in “C:Program FilesMicrosoft SQL ServerMSSQL14.MSSQLSERVERMSSQLBinn”.
Open SQL Server Management Studio, connect to the default instance on the Domain Controller and browse to Logins under Security.
Remember the Management Studio is no longer available with the SQL Server download, but is a different download.
Right click Logins and click New Login…
Login – New
Click Search…
Select User, Service Account, or Group
Click Object Types… and select Group.
Type the RDS Connection Brokers security group name and click Check Names.
Click OK.
Login – New
Click Server Roles and select dbcreator.
Click OK.
We have just effectively granted the RDS Connection Broker server the right to create databases.
We need this because the RDS Connection Broker service will try to migrate from WID (Windows Internal Database to a (high available) SQL Server instance when we convert the Broker to a high available broker.
Install the SQL Native Client on the member server (Client Components only). If you used the member server in this setup to install the SQL Management Studio, you can skip this step because the Native Client was installed with installing the Management Studio.
Everything we need is in place to convert the RD Connection Broker, so let’s do just that.
In Server Manager click Remote Desktop Services and scroll down to the overview.
Right click RD Connection Broker and click Configure High Availability.
Before you begin
So we’re building a single node cluster here
Look at the pre-requisites.
If you have more than one RD Connection Broker they need to be configured using DNS Round Robin.
Click Next.
Configure RD Connection Broker for High Availability
Since we just installed an SQL Server for this, leave the default selected. You’d use the other option for instance if you’d like to use Azure SQL for this deployment.
Click Next.
Configure RD Connection Broker for High Availability
DNS name for the RD Connection Broker cluster:
The DNS Zone name we configured in DNS earlier: rds.it-worxx.nl
Connection string:
DRIVER=SQL Server Native Client 11.0;SERVER=ITWDC;Trusted_Connection=Yes;APP=Remote Desktop Services Connection Broker;DATABASE=ITWRDCB
Folder to store database files:
C:Program FilesMicrosoft SQL ServerMSSQL14.MSSQLSERVERMSSQLDATA
I used the instance default folder.
Click Next.
Confirmation
If you get an error before this page:
- Check if TCP/IP is enabled in client protocols and for your instance
- Check if you can reach port 1433 on the SQL Server from the member server
Click Configure.
Progress
If you get an error on this page:
- Check SQL permissions for the security group
- Check if the database path you entered is correct
Click Close.
The RD Connection Broker is now in High Availability Mode, and configured as “rds.it-worxx.nl” and we are finally ready to complete the configuration.
Configuring Certificates
In Server Manager, Remote Desktop Services, Overview, click Tasks and click Edit Deployment Properties, then click Certificates.
Configure the deployment
Click RD Connection Broker – Enable Single Sign On and click Select Existing certificate.
Browse to the .pfx file, enter its password, and check Allow the certificate..
Click OK.
So click Apply. This takes a little while, be patient.
Configure the deployment
Click RD Connection Broker – Publishing and click Select Existing certificate.
Browse to the .pfx file, enter its password, and check Allow the certificate..
Click OK.
Click Apply. This again takes a little while, be a little more patient.
Configure the deployment
Click RD Web Access and click Select Existing certificate.
Note: Did you notice the warning when you select RD Web Access?
Browse to the .pfx file, enter its password, and check Allow the certificate..
Click OK.
Click Apply again. This takes another little while longer, be slightly more patient.
Configure the deployment
Last one. Click RD Gateway and click Select Existing certificate.
Browse to the .pfx file, enter its password, and check Allow the certificate..
Click OK.
Click OK to apply the final certificate step.
Configured all servers, configured certificates..
One thing left to do: Tell our RDS environment exactly what to publish.
Publishing resources to your users
In fact you can use this setup to either provide full desktop sessions on the Session Host, or you can choose to publish only applications on the Session Host.
Let’s publish full desktop sessions.
In Server Manager, Remote Desktop Services, Session Collections, click Tasks and click Create Session Collection.
Before you begin
Review the requirements. This won’t be an issue in this setup, but you could restrict access to this collection by selecting a select group of people.
Click Next.
Name the collection
Enter a descriptive name. This name will be displayed under its icon in the Web Access interface.
Click Next.
Specify RD Session Host servers
Click the member server and click the Add button.
Click Next.
Specify user groups
You can limit access to the resource here if you want. Add one or more groups to restrict access to these groups only. In this setup the default selection of Domain Users will do fine. Groups you specify here will be added to the list of groups of users that are allowed to connect using RDP to the Session Host server(s).
Click Next.
Specify user profile disks
User profile disks are not in focus in this guide. Since I have no file shares configured in this setup, uncheck Enable user profile disks for now.
Click Next.
Confirm selections
Review the information and click Create.
View Progress
Wait until the collection is created and the server is added to the collection.
Click Close.
Time to test the setup!
Testing the setup
On a machine that has access to your test setup (you may have to add the external FQDN to your hosts file if you didn’t publish it to the internet) open https://rds.it-worxx.nl/rdweb
Hey! At least the RD Web Access application works
Enter a valid username and password (IT-WORXXusername or username@it-worxx.lab).
Create a user for this, or simply use the domain admin account.
Click Sign in.
After logging in you are presented with the full desktop session collection we created.
After clicking the Full Desktop icon you get the warning that devices are going to be redirected.
And when you click Connect, you connect
Enjoy.
Arjan