Для установки и настройки роли RemoteApp, имеем подготовленный сервер с операционной системой Windows Server 2019, на котором будем производить нижеописанные действия.
Установка служб Удаленных рабочих столов
На первом этапе установим службы Удаленных рабочих столов, для этого в окне Диспетчер серверов выбираем Добавить роли и компоненты.
Обращаем внимание перед установкой роли на предупреждение → далее.
Устанавливаем чекбокс Установка служб удаленных рабочих столов → далее.
Устанавливаем чекбокс Cтандартное развертывание → далее.
Устанавливаем чекбокс Развертывание рабочих столов на основе сеансов → далее.
Выбираем сервер, на который будут установлены службы роли посредника → далее.
Устанавливаем чекбокс Установить службы роли веб-доступа к удаленным рабочим столам на сервере посредника подключений к удаленному рабочему столу → далее.
Выбираем сервер, на который будут установлены службы роли узлов сеансов удаленных рабочих столов → далее.
Устанавливаем чекбокс Автоматически перезапускать конечный сервер, если это потребуется → развернуть.
Закрываем установку после завершения и перезагружаем сервер.
Рисунок 1 — Завершение установки
Бесплатный сервер 1С для подписчиков нашего telegram-канала !
Создание коллекции сеансов
Заходим в диспетчер серверов → Службы удаленных рабочих столов → Создание коллекции сеансов.
Нажимаем далее → Указываем имя коллекции → Выбираем наш сервер → Выбираем группу пользователей для доступа к коллекции → Снимаем чекбокс с включить диски профилей пользователей → Нажимаем создать → закрыть.
Выбираем нашу коллекцию и нажимаем публикация удаленных приложений RemoteApp.
Выбираем из списка приложения, которые необходимо опубликовать, нажимаем далее → опубликовать → закрыть.
Проверка публикации RemoteApp
Переходим в браузере по адресу https://localhost/rdweb и выбираем приложение.
После сохранения файла RDP, можем заходить в него под пользователем.
Рисунок 2 — Выбор опубликованного приложения
Рисунок 3 — Проверка работоспособности RemoteApp
Нужна помощь? Наша компания может оказать помощь в реализации ИТ-задач, для этого напишите в чат. Также мы предоставляем готовый сервер с RemoteApp-приложениями, например, с различными конфигурациями 1С.
Содержание
- Создание 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
- Windows Server 2019 — терминальный сервер без домена
- Подготовка Windows Server 2019
- Установка роли терминального сервера
- Роль Remote Desktop Licensing
- Роль Remote Desktop Session Host
- Практические испытания
- Заключение
Создание 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.
Источник
Windows Server 2019 — терминальный сервер без домена
Установим роли терминального сервера на Windows Server 2019 и лицензируем. Маленькая тонкость — сервер не в домене.
Подготовка Windows Server 2019
Для начала установим сам сервер. Всё необходимое вынесено в отдельную статью:
Не забываем про настройку:
Итак, операционная система установлена и настроена. Сервер в рабочей группе WORKGROUP.
Установка роли терминального сервера
Нам понадобится установить две роли, можно выполнить установку одновременно, я предлагаю инструкцию с минимальным количеством перезагрузок.
Роль Remote Desktop Licensing
Входим в Server Manager. Справа вверху выбираем Manage > Add Roles and Features.
Попадаем в раздел Before You Begin.
Это начальная страница, пропускаем. Next.
Попадаем в раздел Installation Type. Для установки сервиса удаленных рабочих столов предусмотрен специальный мастер Remote Desktop Services installation, но нам не удастся его использовать, поскольку сервер не в домене. Выбираем Role-based or feature-based installation. Next.
Попадаем в раздел Server Selection. Выбираем текущий сервер. Next.
Попадаем в раздел Server Roles. Выделяем галкой роль Remote Desktop Services. Next.
Попадаем в раздел Features. Здесь ничего дополнительно не выбираем. Next.
Попадаем в раздел Remote Desktop Services. Ненужное нам окошко. Next.
Попадаем в раздел Role Services. Первая роль, которую нам нужно установить, это Remote Desktop Licensing. Выделяем галкой.
Нам предлагают установить дополнительные фичи, которые требуются для данной роли. Соглашаемся, Add Features.
Remote Desktop Licensing выделено галкой, Next.
Попадаем в раздел Confirmation. Install.
Начинается установка роли.
Роль Remote Desktop Licensing успешно установлена. Примечательно, что перезагрузка не требуется.
Открываем Windows Administrative Tools.
Переходим в папку Remote Desktop Services.
Запускаем оснастку Remote Desktop Licensing Manager.
Выбираем наш сервер, правой кнопкой — активировать.
Открывается окно активации. Next.
Выбираем метод соединения Web Browser. Next.
Получаем код продукта который нам понадобится для активации (Product ID). Копируем.
Выбираем «Activate a license server». Next.
Вводим Product ID полученный ранее, организацию и любую страну или регион. Next. Next.
Если все сделано правильно, то мы получим необходимый код сервера лицензирования. Копируем его. На вопрос «Do you wish to install client access licenses now on the license server with this product ID?» отвечаем «Yes» и пока возвращаемся к терминальному серверу, к текущему окну ещё вернёмся.
Вводим код в открытом мастере, жмём Next.
Устанавливаем галку «Start Install Licenses Wizard now». Next.
Открывается мастер установки лицензий. Next.
Нас просят ввести license key pack ID. Возвращаемся к браузеру.
Вставляем License Server ID, в качестве программы лицензирования, по идее он уже должен сюда переместиться из предыдущего окна. License Program выбираем Enterprise agreement. Указываем компанию и страну. Next.
Выбираем тип продукта: Windows Server 2019 Remote Desktop Services Per Device client access license. Указываем количество лицензий. Обязательно соглашение Enterprise agreement, или ищем в интернете который подойдет…
Не стоит выбирать лицензии Per User, иначе потом вы получите такую ошибку:
Ну вот мы и получили нужные нам клиентские лицензии. Копируем.
Вводим ключ в мастер. Next.
Возвращаемся к Remote Desktop Licensing Manager. Сервер активирован. Лицензии получены. Кстати, они начнут тратиться после окончания триального периода.
Роль Remote Desktop Session Host
Входим в Server Manager. Справа вверху выбираем Manage > Add Roles and Features.
Попадаем в раздел Before You Begin.
Это начальная страница, пропускаем. Next.
Попадаем в раздел Installation Type. Выбираем Role-based or feature-based installation. Next.
Попадаем в раздел Server Selection. Выбираем текущий сервер. Next.
Попадаем в раздел Server Roles. Выделяем галкой роль Remote Desktop Session Host.
Нам предлагают установить дополнительные фичи, соглашаемся. Add Features.
Роль Remote Desktop Session Host выделена. Next.
Попадаем в раздел Features, ничего не выделяем. Next.
Попадаем в раздел Confirmation. Ставим галку Restart the destination server automatically if required. Отображается предупреждение, что сервер может быть перезагружен. Yes.
Начинается процесс установки роли.
В процессе устанавливаются компоненты.
После перезагрузки автоматически продолжается установка роли. Триальный период работы терминального сервера — 119 дней.
Роль Remote Desktop Session Host успешно установлена. Close.
Открываем Windows Administrative Tools.
Переходим в папку Remote Desktop Services.
Запускаем оснастку Remote Desktop Licensing Diagnoser.
The licensing mode for Remote Desktop Session Host server is not configured.
Откроется Local Group Policy Editor.
Раскрываем Computer Configuration > Administrative Templates > Windows Components > Remote Desktop Services > Remote Desktop Session Host > Licensing.
Редактируем Use the specified Remote Desktop license servers.
Включаем — Enabled. В поле «License server to use» прописываем сервер, с которого получать лицензии, в моём случае «localhost». OK.
Редактируем Set the Remote Desktop licensing mode.
Включаем — Enabled. В поле «Specify the licensing mode for the RD Session Host server» устанавливаем значение Per Device. OK.
Снова запускаем оснастку Remote Desktop Licensing Diagnoser. Теперь всё зелёное, ошибок нет.
Практические испытания
Поскольку мы с вами системные администраторы 99 уровня, то нам нужно провести практические испытания терминального сервера.
На терминальном сервере создаём трёх локальных пользователей: user1, user2, user3.
Включаем их в группу Remote Desktop Users.
Коннектимся под этими пользователями к терминальному серверу по RDP.
Есть три активных сеанса.
Заключение
Мы с вами успешно создали терминальный сервер Windows Server 2019 в рабочей группе WORKGROUP без домена. 120 дней терминальный сервер будет работать в триальном режиме, затем начнёт использовать лицензии Per Device. Для подключения к терминальному серверу требуется создать локальную учётную запись и включить её в группу Remote Desktop Users.
Источник
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 ENU\x64\sqlncli.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 Files\Microsoft SQL Server\MSSQL14.MSSQLSERVER\MSSQL\Binn”.
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 Files\Microsoft SQL Server\MSSQL14.MSSQLSERVER\MSSQL\DATA
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-WORXX\username 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
Настройка RemoteApp на Windows Server 2019
Для установки и настройки роли RemoteApp, имеем подготовленный сервер с операционной системой Windows Server 2019, на котором будем производить ниже описанные действия.
УСТАНОВКА СЛУЖБ УДАЛЕННЫХ РАБОЧИХ СТОЛОВ
На первом этапе установим службы Удаленных рабочих столов, для этого в окне Диспетчер серверов выбираем Добавить роли и компоненты.
Обращаем внимание перед установкой роли на предупреждение → далее.
Устанавливаем чекбокс Установка служб удаленных рабочих столов → далее.
Устанавливаем чекбокс Cтандартное развертывание → далее.
Устанавливаем чекбокс Развертывание рабочих столов на основе сеансов → далее.
Выбираем сервер, на который будут установлены службы роли посредника → далее.
Устанавливаем чекбокс Установить службы роли веб-доступа к удаленным рабочим столам на сервере посредника подключений к удаленному рабочему столу → далее.
Выбираем сервер, на который будут установлены службы роли узлов сеансов удаленных рабочих столов → далее.
Устанавливаем чекбокс Автоматически перезапускать конечный сервер, если это потребуется → развернуть.
Закрываем установку после завершения и перезагружаем сервер.
Рисунок 1 — Завершение установки
СОЗДАНИЕ КОЛЛЕКЦИИ СЕАНСОВ
Заходим в диспетчер серверов → Службы удаленных рабочих столов → Создание коллекции сеансов.
Нажимаем далее → Указываем имя коллекции → Выбираем наш сервер → Выбираем группу пользователей для доступа к коллекции → Снимаем чекбокс с включить диски профилей пользователей → Нажимаем создать → закрыть.
Выбираем нашу коллекцию и нажимаем публикация удаленных приложений RemoteApp.
Выбираем из списка приложения, которые необходимо опубликовать, нажимаем далее → опубликовать → закрыть.
ПРОВЕРКА ПУБЛИКАЦИИ REMOTEAPP
Переходим в браузере по адресу https://localhost/rdweb и выбираем приложение.
После сохранения файла RDP, можем заходить в него под пользователем.
Рисунок 2 — Выбор опубликованного приложения
Рисунок 3 — Проверка работоспособности RemoteApp
В этой статье описано, как установить и настроить роль терминального сервера Remote Desktop Session Host на отдельностоящем Windows Server 2022/2019 в рабочей группе (без домена Active Directory) и без всех дополнительных ролей (Connection Broker, Remote Desktop Web Access, RDS Gateway).
Возможности отдельного RDS сервера в рабочей группе ограничены по сравнению с функционалом, доступном в домене AD. Вы не сможете масштабировать RDSH до полноценной RDS фермы Windows Server, нельзя создавать отдельные коллекции сессии или публиковать RemoteApp, отсутствует брокер подключений (RD Connection Broker), нельзя использовать User Profile Disks для хранения профилей пользователей, а при проведении операций обслуживания хоста RDP сервис будет полностью недоступен для пользователей.
Содержание:
- Установка роли Remote Desktop Services Host в Windows Server
- Установка Remote Desktop Licensing и RDS лицензий (CAL)
- Настройка роли Remote Desktop Session Host в рабочей группе
- Публикация приложения RemoteApp на RDS в рабочей группе (без домена)
- Настройка шлюза RD Gateway в рабочей группе
Установка роли Remote Desktop Services Host в Windows Server
Предполагаем, что вы уже установили сервер с Windows Server (2022, 2019 или 2016) и задали первоначальные настройки (задали сетевые параметры и статический IP адрес, имя сервера (hostname), время/дату/часовой пояс, установили последние обновления и т.д.). Теперь можно установить службу RDS через консоль Server Manager или из PowerShell:
При установке службы RDS через Server Manager нужно выбрать Role-based or feature-based installation -> Server roles -> Remote Desktop Services -> в компонентах RDS выберите службы Remote Desktop Session Host и Remote Desktop Licensing (согласитесь с установкой компонентов RSAT для управления ролями).
Если вы выбрали в Server Manager тип установки Remote Desktop Services installation, то в режиме Standard deployment и Quick Start установщик дополнительно установит роли RD Connection Broker и RD Web Access. В нашем случае все эти роли излишни, т.к. мы ставим стендалон RDS сервер.
Также вы можете установить указанные роли Windows Server с помощью PowerShell:
Install-WindowsFeature -Name RDS-Licensing, RDS-RD-Server –IncludeManagementTools
Проверьте, какие RDS роли установлены на сервере:
Get-WindowsFeature -Name RDS* | Where installed
Перезагрузите Windows командой:
Restart-Computer
Установка Remote Desktop Licensing и RDS лицензий (CAL)
Теперь нужно настроить роль Remote Desktop Licensing, которая обеспечивает лицензирование подключений пользователей к вашему RDS хосту. Допустимо установить и активировать роль Remote Desktop Licensing на этом же сервере (если он у вас один), либо можете разместить роль RDLicensing на отдельном сервере. Один сервер RDS Licensing можете выдавать лицензии неограниченному количеству RDSH хостов.
Если вы решили использовать локальный сервер RDLicensing, активируйте сервер лицензий RDS и установите клиентские лицензии (RDS CAL) согласно гайду по ссылке.
В рабочей группе можно использовать только RDS CAL типа Per Device. Если ваш сервер лицензирования выдает только Per User лицензии, то RDSH сервер будет каждые 60 минут принудительно завершать сеанс пользователей:
Remote Desktop License Issue There is a problem with your Remote Desktop license, and your session will be disconnected in 60 minutes.
Настройка роли Remote Desktop Session Host в рабочей группе
Откройте консоль управления Remote Desktop Licensing Diagnoser (
lsdiag.msc
). В данном случае сервер RDSH еще не настроен на получение RDS CAL лицензий с сервера лицензирования. Об этом свидетельствуют надписи:
- The licensing mode for the Remote Desktop Session Host server is not configured
- Number of licenses available for clients:
0
Если вы не нацелите ваш RDSH сервер на сервер лицензирования, ваш сервер будет находится в триальном grace режиме. Пользователи могут использовать его в течении 120 дней (при каждом подключении в трее будет появляться сообщение “
Служба удаленных рабочих столов перестанет работать через xxx дней
”). После окончания grace периода ваши пользователи не смогут подключится к RDS с ошибкой:
Remote session was disconnected because there are no Remote Desktop client access licenses available for this computer.
Чтобы задать адрес сервера лицензирования RDS и тип лицензии, воспользуйтесь консолью редактора локальной групповой политики Windows (
gpedit.msc
).
- Перейдите в раздел GPO Computer Configuration -> Administrative Templates -> Windows Components -> Remote Desktop Services -> Remote Desktop Session Host -> Licensing;
- Установите параметр Set the Remote Desktop licensing mode = Per Device;
- В Use the specified Remote Desktop license servers укажите адрес сервера, на котором установлен сервер RDLicensing. Если сервер лицензий установлен на этом же хосте, укажите
localhost
или
127.0.0.1
- Обновите локальные политики, и запустите RDesktop Licensing Diagnoser. Убедитесь, что он видит ваши RDS CAL.
Дополнительно в локальных GPO вы можете настроить лимиты (таймауты) на длительность RDP сессий и правила отключения пользователей при неактивности.
Если вам нужно создать отдельные групповые политики с настройками для локальных пользователей и администраторов, воспользуйтесь функционалом множественных GPO (MLGPO).
Теперь создайте для локальные учетные записи пользователей, который они будут использовать для входа на RDS. Можно создать пользователей с помощью оснастки
lusrmgr.msc
или через PowerShell:
$UserPassword = ConvertTo-SecureString "Pa$$dr0w!!" -AsPlainText -Force
New-LocalUser "AIvanov" -Password $UserPassword -FullName "Andrey Ivanov"
Чтобы разрешить пользователю подключаться к серверу через службы Remote Desktop Services, нужно добавить его учетную запись в локальную группу Remote Desktop Users. Добавьте пользователей вручную через консоль управления группами или через PowerShell:
Add-LocalGroupMember -Group "Remote Desktop Users" -Member AIvanov
Для данной группы пользователей разрешен вход в локальной политикие Allow logon through Remote Desktop Services (Computer Configuration -> Windows Settings -> Security Settings -> Local Policies -> User Rights Assignment). Эта же политика позволяет обеспечить RDP вход пользователям даже на контроллер домена.
Теперь пользователи могут попробовать со своих компьютеров подключится к вашему RDS хосту с помощью клиента mstsc.exe (или любого другого RDS клиента). Проверьте, что к серверу одновременно может подключится более двух активных RDP сессий.
При подключении к RDSH серверу в рабочей группы нужно указывать имя в формате
srv1\username
(где srv1 – имя компьютера/hostname вашего RDS). Если указать имя пользователя с префиксам
.\
или без префикса, подразумевается что подключение выполняется под вашим локальным пользователем.
При первом входе устройству пользователя выдается временная лицензия (особенности RDS Per Device лицензирования). При втором входе выдается постоянная лицензия, которая появится в консоли Remote Desktop Licensing Manager. Лицензия выдается на срок от 52 до 89 дней (случайное число).
Информация об успешной выдаче лицензии есть в следующем событие Event Viewer (Applications and Services Logs -> Microsoft -> Windows -> TerminalServices—Licensing -> Operational).
Event ID: 82 The "Temporary" Windows Server 2022 : RDS Per Device CAL belonging to computer "ComputerName" has been upgraded to "Permanent" Windows Server 2022 : RDS Per Device CAL.
Если вам нужно подключиться в RDP сессию пользователя, вы можете воспользоваться режимом теневого подключения RDS (он работает и на RDSH в рабочей группе).
Публикация приложения RemoteApp на RDS в рабочей группе (без домена)
На RDS в рабочей группе недоступна консоль управления сеансами, и поэтому отсутствуют инструменты для публикации приложений RemoteApp. Но есть обходное решение позволяющее через реестр опубликовать любое приложение в RemoteApp без домена Active Directory.
Пример REG файла для публикации на RDS сервере AdobeReader в качестве RemoteApp:
Windows Registry Editor Version 5.00 [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Terminal Server\TSAppAllowList\Applications\MyAdobeReaderApp] "CommandLineSetting"=dword:00000000 "RequiredCommandLine"="" "Name"="Adobe Reader" "Path"="C:\\Program Files\\Adobe\\Acrobat DC\\Acrobat\\Acrobat.exe" "ShortPath"="C:\\PROGRA~1\\Adobe\\Acrobat DC\\Acrobat\\Acrobat.exe" "IconPath"="C:\\PROGRA~1\\Adobe\\Acrobat DC\\Acrobat\\Acrobat.exe" "IconIndex"=dword:00000000 "ShowInTSWA"=dword:00000001 "SecurityDescriptor"=""
Замените имена и пути в REG файле на ваши и импортируйте его в реестр RDSH.
Теперь вручную отредактируйте файл *.RDP ярлыка, чтобы при его запуске автоматически запускалось опубликованное приложение. Добавьте в RDP файл следующие строки:
remoteapplicationmode:i:1 alternate shell:s:||MyAdobeReaderApp remoteapplicationname:s:MyAdobeReaderApp remoteapplicationprogram:s:||MyAdobeReaderApp
Попробуйте запустить RemoteApp приложение на RDS с поммощью вашего RDP файла. Опубликованное на RDSH приложение должно успешно запуститься на вашем рабочем столе.
Решение проблемы с медленной работой RemoteApp в Windows Server 2019/2016 описано здесь.
Настройка шлюза RD Gateway в рабочей группе
Если вам нужно организовать безопасный доступ к вашему RDS северу через интернет, рекомендуется разместить его за VPN или опубликовать через шлюз RD Gateway.
Remote Desktop Gateway позволит открыть безопасный доступ из Интернета к RDS серверу интернета по защищенному SSL/TLS подключение по порту TCP:443 (вместо того, чтобы открывать стандартный RDP порт 3389, на котором будут постоянно фиксироваться попытки перебора паролей по RDP).
Вопреки распространённому заблуждению, RD Gateway можно развернуть без домена Active Directory. Подробная инструкция по настройке шлюза RD Gateway без домена доступна в статье Настройка шлюза Remote Desktop Gateway на Windows Server.