Windows server 2012 r2 remote desktop services

Время на прочтение
6 мин

Количество просмотров 50K

Сегодня мы объясним, чем развертывание RDS Session Host на Windows Server 2012 R2 отличается от более ранних версий Windows Server и расскажем о доступных опциях развертывания. Remote Desktop Services на Windows Server значительно усовершенствовались за последнее время, но остается, тем не менее, много непонятного по причине множества вовлеченных в процесс компонентов. RD Session Host-ы выполняют всю грязную работу, обслуживая терминальные сессии пользователей. Однако даже при самом примитивном сценарии обязательно использование RD Connection Broker (посредника подключений к удаленному рабочему столу). Еще до того, как вы запланируете развертывание служб удаленного рабочего стола, стоит ознакомиться с его ролью.

RD Connection Broker

Когда сеанс удаленного рабочего стола отключается, приложения в сеансе пользователя продолжают работать. Для отслеживания сеансов пользователей RD Connection Broker (Посредник подключений удаленного рабочего стола) хранит такую информацию, как название хост-сервера сеансов удаленных рабочих столов, где проходит каждая сессия, состояние сессии и ее идентификатор, а также информация о подключенных пользователях в каждой сессии. Эта информация используется для подключения пользователей к существующим сеансам на серверах RD Session Host (терминальные сервера Windows). При создании новой сессии RD Connection Broker-ы также играют свою роль путем подключения пользователей к серверам RD Session Host по мере загрузки.

Начиная с Windows Server 2012, посредники подключений к удаленному рабочему столу не только хранят данные о пользовательских сессиях, но и информацию о конфигурации. Посредник подключений к удаленным рабочим столам использует внутреннюю базу данных Windows для сохранения сессии и информации о конфигурации, кроме случаев, когда установлен режим высокой доступности (HA), где используется сервер SQL 2008 R2 (или более поздняя версия).

Посредник подключений к удаленному рабочему столу требует домен Active Directory, но не может быть установлен на контроллере домена (DC). Можно развернуть службы удаленного рабочего стола в рабочей группе с помощью установки роли сервера, хотя при этом теряется возможность централизованного управления, пульты управления и функционал удаленных приложений Remoteapp.

Централизованная публикация приложений

В Windows Server 2012 также введен концепт коллекций (collections). В Windows Server 2008 R2 требовалось, чтобы системные администраторы публиковали приложения для каждого RD Session Host в индивидуальном порядке. Теперь посредник подключений к удаленному рабочему столу хранит информацию о конфигурации.

Опции развертывания: быстрая и стандартная

Ключ к пониманию того, как развернуть RDS на Windows Server 2012 R2 в понимании того, что недостаточно установки роли RD Session Host. Диспетчер серверов обеспечивает специальный режим развертывания для установки RDS, таким образом все необходимые компоненты установлены в нужных местах, чтобы делает развертывание простым и быстрым.

image
Службы удаленного рабочего стола на Windows Server 2012 R2

В мастере добавления ролей и компонентов (Add Roles and Features Wizard) в диспетчере серверов есть специальная опция установки, установка служб удаленных рабочих столов (Remote Desktop Services installation), которую необходимо выбрать при развертывании служб удаленных рабочих столов. Формулировка при этом варианте немного смущает, но опция позволяет устанавливать хосты сеансов удаленных рабочих столов без развертывания полной инфраструктуры виртуальных ПК (virtual desktop infrastructure — VDI).

Стандартное развертывание — это модель развертывания по умолчанию, и если вы действительно хотите установить все необходимые роли на одном сервере, что не является лучшей практикой, то стоит выбрать эту опцию. Быстрая установка (Quick Start) может быть полезна в сценариях тестирования или в небольших филиалах, где есть только один доступный сервер.

Стандартное развертывание позволяет установить RD Connection Broker, RD Session Host и RD Web Access на одном сервере или на нескольких серверах, что является наиболее вероятным сценарием развертывания в производственной среде. Посредник подключений к удаленному рабочему столу включает внутреннюю базу данных Windows, RD Session Host и RD Web Access roles. Все это является обязательным, но RD Gateway играет факультативную роль. RD Web Access предоставляет пользователям доступ к RemoteApps или рабочим столам из меню «Пуск» или с веб-портала. Если вы хотите использовать RDS больше, чем в течение 120-дневного пробного периода, вам потребуется дополнительно устанавливать роль лицензирования удаленных рабочих столов.

Консоли управления

Все необходимые консоли управления можно найти в диспетчере серверов на сервере, где установлен посредник подключений к удаленным рабочим столам, за исключением RD Gateway и RD Licensing.

Установка служб удаленного рабочего стола на Windows Server 2012 R2

Здесь мы расскажем о стандартной модели развертывания, которая позволяет распределить роли серверов удаленного рабочего стола или установить их для одного сервера.

Стандартное развертывание — это модель развертывания по умолчанию, и даже при том условии, что для демонстрации будут установлены три роли сервера на один сервер, это не лучшее решение. Внутренняя база данных Windows устанавливается как часть процесса для поддержки роли посредника подключений к удаленному рабочему столу, также как и некоторые компоненты IIS для RD Web Access, которые обеспечивают доступ к RemoteApps или рабочим столам из меню «Пуск» или с веб-портала.

Лицензирование

При желании использовать развернутые службы удаленного рабочего стола более чем в течение 120-дневного тестового периода необходимо установить роль RD Licensing, добавить лицензию, зарегистрировать сервер лицензирования с Active Directory, а затем добавить RD Licensing в RDS-инфраструктуру. RD Licensing устанавливается также, как любая другая роль, поэтому нет необходимости использовать специальную опцию развертывания в диспетчере серверов.

Развертывание служб удаленного рабочего стола

Серверы, которые вы планируете использовать в своем RDS-развертывании, должны быть добавлены в Пул Серверов (Server Pool) в диспетчере серверов перед началом процесса. Вам потребуется домен Active Directory domain и аккаунт, у которого есть разрешение на установку ролей сервера на выбранный сервер (серверы). Дополнительно может быть установлена роль посредника подключений к удаленному рабочему столу на контроллер домена.

  • Откройте Диспетчер серверов;
  • Выберите «Добавить роли и компоненты» в меню управления;
  • В Мастере добавления ролей и компонентов нажмите «Далее» на экране «Перед началом установки» (Before You Begin).
  • На экране «Выберите тип установки» выберите «Установка служб удаленного рабочего стола» и нажмите «Далее»;
  • На экране «Выберите тип развертывания» выберите «Стандартное» и нажмите «Далее».

image
Стандартное или быстрое развертывание

  • На экране «Выберите сценарий развертывания» выберите развертывание серверов сеансов (Session-based desktop deployment) и нажмите «Далее».
  • На экране обзора служб ролей (Review role services) отметьте службы ролей для установки и нажмите «Далее».

image
Роли служб удаленных рабочих столов

  • На экране определения сервера посредника подключений к удаленному рабочему столу кликните дважды на сервер в пуле серверов для того, чтобы добавить его в список выбранных. Это тот сервер, на который будет установлена роль посредника подключений к удаленному рабочему столу. Нажмите «Далее».

image
Выберите сервер из пула серверов

  • На экране определения сервера RD Web Access повторите предыдущий шаг, чтобы добавить сервер в Selected, или поставьте галочку в «Установить службу роли RD Web Access на сервер посредника подключений к удаленному рабочему столу» (Install the RD Web Access role service on the RD Connection Broker server), если вы хотите установить эту роль на тот же сервер, что и посредника подключений к удаленному рабочему столу. Нажмите «Далее». continue.
  • На экране определения серверов RD Session Host выберите один или более серверов из пула серверов, кликнув дважды или с помощью выбора мышью и нажатия на стрелку в центре диалогового окна.
  • На экране подтверждения нажмите «Перезапустить сервер автоматически, если необходимо» (Restart the destination server automatically if required) и нажмите «Развернуть».
  • Когда 3 роли сервера будут установлены, нажмите «Закрыть» на экране хода развертывания (View progress).

image
Ход развертывания

Теперь необходимо залогиниться на сервере, где установлена роль посредника подключений к удаленному рабочему столу, открыть Диспетчер серверов и нажать «Службы удаленного рабочего стола» (Remote Desktop Services) в списке опций слева, чтобы увидеть информацию по вашему

RDS-развертыванию

.
image
Дашборд служб удаленного рабочего стола в Диспетчере серверов

logo_Windows_Server_2012В данной статье я приведу подробную пошаговую инструкцию по установке сервера терминалов (англ. terminal server), или по другому, службы удаленных рабочих столов в Windows Server 2012. В принципе, последовательность действий не сильно отличается от установки сервера терминалов в Windows Server 2008 R2, однако есть ряд значимых отличий. Итак:

Оглавление

  1. Что понадобится
  2. Установка службы удаленных рабочих столов
  3. Определение сервера лицензирования для службы удаленных рабочих столов
  4. Установка лицензий на сервер лицензирования службы удаленных рабочих столов
  5. Подключение к серверу терминалов

1. Что понадобится

  1. Компьютер (сервер) с установленной на нем  Windows Server 2012 (об установки этой ОС, я писал здесь) и права администратора на данном сервере.
  2. Действительная клиентская лицензия сервера терминалов, приобретенная по одной из существующих программ лицензирования. (В данной статье я буду использовать найденный в интернете номер соглашения, по программе Enterprise Agriment. На момент написания статьи рабочими были номера:  6565792, 5296992, 3325596, 4965437, 4526017.)
  3. Доступ к сети Internet для активации сервера лицензирования и установки лицензий (возможна также активация и по телефону).

2. Установка службы удаленных рабочих столов

Запускаем Диспетчер серверов. Его можно запустить с ярлыка на панели задач, или же выполнив команду servermanager.exe (Для этого необходимо нажать комбинацию клавиш Win + R, в появившемся окне в поле «Открыть» (Open) написать имя команды и нажать «ОК» ).

ustanovka_servera_terminalov_win_2012_001

В меню, в верхнем правом углу, выбираем «Управление» (Manage) — «Добавить роли и компоненты» (Add Roles and Features) .

ustanovka_servera_terminalov_win_2012_002

Запустится «Мастер добавления ролей и компонентов» (Add Roles and Features Wizard). Нажимаем «Далее» (Next) на начальной странице.

ustanovka_servera_terminalov_win_2012_003

Оставляем переключатель на «Установка ролей и компонентов» (Role-based or features-based installation) и снова жмем «Далее» (Next) .

ustanovka_servera_terminalov_win_2012_004

Выбираем тот сервер из пула серверов, на который будет установлена служба терминалов. В моем примере это данный локальный сервер. Нажимаем «Далее» (Next) .

ustanovka_servera_terminalov_win_2012_005

Отмечаем роль «Службы удаленных рабочих столов» (Remote Desktop Services) в списке ролей и жмем «Далее» (Next) .

ustanovka_servera_terminalov_win_2012_006

Компоненты оставляем в том виде, в котором они есть. Ничего не отмечая жмем «Далее» (Next) .

ustanovka_servera_terminalov_win_2012_007

Читаем описание службы удаленных рабочих столов и нажимаем «Далее» (Next) .

ustanovka_servera_terminalov_win_2012_008

Теперь необходимо выбрать устанавливаемые службы ролей. Как минимум нам пригодится «Лицензирование удаленных рабочих столов» (Remote Desktop Licensing) (также соглашаемся на установку дополнительных компонент нажав  на «Добавить компоненты» (Add Features) в появившемся мастере)

ustanovka_servera_terminalov_win_2012_009

и «Узел сеансов удаленных рабочих столов» (Remote Desktop Session Host) (опять соглашаемся на установку дополнительных компонент нажав на «Добавить компоненты» (Add Features) в открывшемся окне). Отметив необходимы службы ролей, нажимаем «Далее» (Next) .

ustanovka_servera_terminalov_win_2012_0010

Все параметры установки роли определены. На последней странице установим флаг «Автоматический перезапуск конечного сервера, если требуется» (Restart the destination server automatically if required) , подтвердим выбор нажав «Да» (Yes) в появившемся окне и нажмем «Установить» (Install) для запуска установки службы.

ustanovka_servera_terminalov_win_2012_0011

Если все прошло хорошо, после перезагрузки, увидим сообщение об успешной установке всех выбранных служб и компонент. Нажимаем «Закрыть» (Close) для завершения работы мастера.

ustanovka_servera_terminalov_win_2012_012

3. Определение сервера лицензирования для службы удаленных рабочих столов

Теперь запустим «Средство диагностики лицензирования удаленных рабочих столов» (RD Licensing Diagnoser) . Сделать это можно из диспетчера серверов, выбрав в правом верхнем меню «Средства» (Tools) — «Terminal Services» — «Средство диагностики лицензирования удаленных рабочих столов» (RD Licensing Diagnoser) .

ustanovka_servera_terminalov_win_2012_013

Здесь мы видим, что доступных лицензий пока нет, т. к. не задан режим лицензирования для сервера узла сеансов удаленных рабочих столов.

ustanovka_servera_terminalov_win_2012_014

Сервер лицензирования указывается теперь в локальных групповых политиках. Для запуска редактора выполним команду gpedit.msc.

ustanovka_servera_terminalov_win_2012_015

Откроется редактор локальной групповой политики. В дереве слева раскроем вкладки:

  • «Конфигурация компьютера» (Computer Configuration)
    • «Административные шаблоны» (Administrative Templates)
      • «Компоненты Windows» (Windows Components)
        • «Службы удаленных рабочих столов» (Remote Desktop Services)
          • «Узел сеансов удаленных рабочих столов» (Remote Desktop Session Host)
            • «Лицензирование» (Licensing)

Откроем параметры «Использовать указанные серверы лицензирования удаленных рабочих столов» (Use the specified Remote Desktop license servers) , кликнув  2 раза по соответствующей строке.

ustanovka_servera_terminalov_win_2012_016

В окне редактирования параметров политики, переставим переключатель в «Включено» (Enabled) . Затем необходимо определить сервер лицензирования для службы удаленных рабочих столов. В моем примере сервер лицензирования находится на этом же физическом сервере. Указываем сетевое имя или IP-адрес сервера лицензий и нажимаем «ОК» .

ustanovka_servera_terminalov_win_2012_017

Далее меняем параметры политики «Задать режим лицензирования удаленных рабочих столов» (Set the Remote licensing mode) . Также устанавливаем переключатель в «Включено» (Enabled) и указываем режим лицензирования для сервера узла сеансов удаленных рабочих столов. Возможны 2 варианта:

  • «На пользователя» (Per User)
  • «На устройство» (Per Device)

Для того, чтобы разобраться чем отличаются эти режимы, рассмотрим простой пример. Предположим, у Вас есть 5 лицензий. При режиме «На устройство» вы можете создать неограниченное число пользователей на сервере, которые смогут подключаться через удаленный рабочий стол только с 5 компьютеров, на которых установлены эти лицензии. Если выбрать режим «На пользователя», то зайти на сервер смогут только 5 выбранных пользователей, независимо с какого устройства они подключаются.

Выбираем тот режим, который наиболее подходит для ваших нужд и нажимаем «ОК» .

ustanovka_servera_terminalov_win_2012_018

Изменив вышеперечисленные политики, закрываем редактор.

ustanovka_servera_terminalov_win_2012_019

Возвращаемся в оснастку «Средство диагностики лицензирования удаленных рабочих столов» (RD Licensing Diagnoser) и видим новую ошибку, указывающую на то, что сервер лицензирования указан, но не включен.

ustanovka_servera_terminalov_win_2012_020

Для запуска сервера лицензирования переходим в «Диспетчер лицензирования удаленных рабочих столов» (RD Licensing Manager) . Найти его можно в диспетчере серверов, вкладка «Средства» (Tools) — «Terminal Services» — «Диспетчер лицензирования удаленных рабочих столов» (Remote Desktop Licensing Manager) .

ustanovka_servera_terminalov_win_2012_021

Здесь найдем наш сервер лицензирования, со статусом «Не активирован» (Not Activated) . Для активации кликаем по нему правой кнопкой мыши и в контекстном меню выбираем «Активировать сервер» (Activate Server) .

ustanovka_servera_terminalov_win_2012_022

Запустится Мастер активации сервера. Жмем «Далее» (Next) на первой странице мастера.

ustanovka_servera_terminalov_win_2012_023

Затем выбираем метод подключения («Авто» (Automatic connection) по умолчанию) и жмем «Далее» (Next) .

ustanovka_servera_terminalov_win_2012_024

Вводим сведения об организации (эти поля обязательны для заполнения) после чего жмем «Далее» (Next) .

ustanovka_servera_terminalov_win_2012_025

Вводим дополнительные сведения об организации (необязательно) и снова нажимаем «Далее» (Next) .

ustanovka_servera_terminalov_win_2012_026

Сервер лицензирования активирован. Теперь следует установить лицензии. Для этого нажимаем «Далее» (Next) оставив включенным флаг «Запустить мастер установки лицензий» .

ustanovka_servera_terminalov_win_2012_027

4. Установка лицензий на сервер лицензирования службы удаленных рабочих столов

Нажимаем «Далее» (Next) на начальной странице Мастера установки лицензий.

ustanovka_servera_terminalov_win_2012_028

Затем выбираем необходимую вам программу лицензирования. В моем примере это «Соглашение «Enterprise Agreement«» . Жмем «Далее» (Next) .

ustanovka_servera_terminalov_win_2012_029

Вводим номер соглашения и нажимаем «Далее» (Next) .

ustanovka_servera_terminalov_win_2012_030

Указываем версию продукта, тип лицензии и количество лицензий в соответствии с вашей программой лицензирования. Жмем «Далее» (Next) .

ustanovka_servera_terminalov_win_2012_031

Ну и дожидаемся завершения работы мастера установки лицензий с сообщением о том, что запрошенные лицензии успешно установлены.

ustanovka_servera_terminalov_win_2012_032

В диспетчере лицензирования убеждаемся, что сервер работает, а также видим общее и доступное число установленных лицензий.

ustanovka_servera_terminalov_win_2012_033

Ну и наконец возвращаемся в «Средства диагностики лицензирования удаленных рабочих столов» (RD Licensing Diagnoser) и видим, что ошибок нет, а число лицензий, доступных клиентам, соответствует тому, что мы вводили на предыдущем шаге.

ustanovka_servera_terminalov_win_2012_034

На этом установка сервера терминалов в Windows Server 2012 завершена.

5. Подключение к серверу терминалов

Для подключения к серверу терминалов можно использовать встроенный в Windows клиент «Подключение к удаленному рабочему столу».

UPDATE: If you are looking for a guide on a newer OS, I posted this guide updated to Windows Server 2019: Step by Step Windows 2019 Remote Desktop Services – Using the GUI

A step by step guide to build a Windows 2012 R2 Remote Desktop Services deployment.

Part 1 – Deploying a single server solution.

Although it is called a single server installation, we will need 2 servers as shown below.
RDS Deployment - Single Server 

Software used in this guide:
Windows Server 2012 R2 ISO (evaluation can be downloaded here:
http://technet.microsoft.com/en-us/evalcenter/dn205286.aspx)
SQL Server 2012 SP1 Express x64 With tools (free version can be downloaded here: http://www.microsoft.com/en-us/download/details.aspx?id=35579. After clicking the download button select SQLEXPRWT_x64_ENU.exe)
SQL Server 2012 SP1 Native Client (free version can be downloaded here: http://www.microsoft.com/en-us/download/details.aspx?id=35580. After clicking the download button select ENU\x64\sqlncli.msi)
And a certificate. I got mine for free from https://startssl.com. This certificate needs to contain the FQDN you will use as the RD Web Access URL (mine is gateway.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 3.0 on my Windows 8.1 laptop and I have prepared 2 servers:
ITWDC01 (1 vCPU, 512MB memory, dynamic, 60GB Harddisk)
Installed Windows IPv4 192.168.66.20/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: itw.test

ITWRDS01 (1 vCPU, 512MB memory, dynamic, 60GB Harddisk)
Installed Windows
Added .NET Framework 3.5 as a feature
IPv4 192.168.66.21/24, DNS server 192.168.66.20
Configured it as a member server in the itw.test 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).
RDS Deployment - Single Server - 1

Now that all servers needed in this deployment scenario are present, click Manage, and click Add Roles & Features.

Before you begin
RDS Deployment - Single Server - 2

Click Next.

Select Installation Type
RDS Deployment - Single Server - 3
Select Remote Desktop Services installation. Click Next.

Select Deployment Type
RDS Deployment - Single Server - 4
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
RDS Deployment - Single Server - 5
Select Session-based desktop deployment. The other option will be a different post in this series.
Click Next.

Review Role Services
RDS Deployment - Single Server - 6
Review the services that will be installed.
Click Next.

Specify RD Connection Broker server
RDS Deployment - Single Server - 7
Click the member server and click the Add button.
Click Next.

Specify RD Web Access server
RDS Deployment - Single Server - 8
Check Install the RD Web Access role on the RD Connection Broker server.
Click Next.

Specify RD Session Host server
RDS Deployment - Single Server - 9
Click the member server and click the Add button.
Click Next.

Confirm selections
RDS Deployment - Single Server - 10

Check Restart the destination server automatically if required.
Click Deploy.

View progress
RDS Deployment - Single Server - 11
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.
RDS Deployment - Single Server - 12

As you can see the deployment is missing a RD Gateway server and a RD Licensing server.

Installing the missing Remote Desktop Services Roles
RDS Deployment - Single Server - 13
Click the Add RD Licensing server button.

Select a server
RDS Deployment - Single Server - 14
Click the domain controller and click the Add button.
Click Next.

Confirm selections
RDS Deployment - Single Server - 15
Click Add.

View progress
RDS Deployment - Single Server - 16
Wait until the role service is deployed. No restart is needed.
Click Close.

RDS Deployment - Single Server - 17
Click the Add RD Gateway server button.

Select a server
RDS Deployment - Single Server - 18
Click the member server and click the Add button.
Click Next.

Name the self-signed SSL certificate
RDS Deployment - Single Server - 19
The wizard creates a self-signed certificate. We will deal with certificates in this deployment in a little bit. 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 “gateway.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
RDS Deployment - Single Server - 20
Click Add.

View progress
RDS Deployment - Single Server - 21
Wait until the role service is deployed. No restart is needed.
Notice that “gateway.it-worxx.nl” was configured for the deployment.
Also notice that even more certificate configuring is need, but we’ll get to that later. Pay no attention to it for now.
Click Close.

Let’s have a quick look at the certificate configuration.

Reviewing the Remote Desktop Services certificate requirements
RDS Deployment - Single Server - 22
In Server Manager, Remote Desktop Services, Overview, click Tasks and click Edit Deployment Properties.

Configure the deployment
RDS Deployment - Single Server - 23

Review the RD Gateway settings and notice what settings are available.
Click RD Licensing.

Configure the deployment
RDS Deployment - Single Server - 24
Notice that a 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
RDS Deployment - Single Server - 60

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/

Click Certificates.

Configure the deployment
RDS Deployment - Single Server - 25

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 (and to the Feed clients, but that’s a subject for a future post).
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 “itwrds01.itw.test”, 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?)

Preparing for completing the Remote Desktop Services configuration
Open DNS Manager on the domain controller and browse to Forward Lookup Zones.
RDS Deployment - Single Server - 33

Right click Forward Lookup Zones and click New Zone… Go through this wizard accepting the defaults until you have to enter a Zone Name.

RDS Deployment - Single Server - 61
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.
RDS Deployment - Single Server - 34
Right click the newly created zone and click New Host (A or AAAA)…

New Host
RDS Deployment - Single Server - 35

Leave the Name field blank, but enter the member server’s (holding the RD Connection Broker role) IPv4 address.
Click Add Host.

Create a new Global Security Group called “RDS 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.

Install SQL Express on the Domain Controller (or use an existing SQL Server if you already have one). Here’s a list of needed features:
RDS Deployment - Single Server - 26

Now you see why I pre-configured the servers with the .NET Framework 3.5 feature before starting anything.
RDS Deployment - Single Server - 27
Use the Default Instance (so click Default, and do not leave the wizard’s selection on Named instance: SQLEXPRESS).

When the installation is done open SQL Configuration manager and browse to Client Protocols under SQL Native Client 11.0 Configuration.
RDS Deployment - Single Server - 62

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.
RDS Deployment - Single Server - 38

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.
RDS Deployment - Single Server - 37

I added the SQL Server executable to the exception list to allow all inbound traffic.

Open SQL Server Management Studio and browse to Logins under Security.
RDS Deployment - Single Server - 29
Right click Logins and click New Login…

Login – New
RDS Deployment - Single Server - 30

Click Search…

Select User, Service Account, or Group
RDS Deployment - Single Server - 63
Click Object Types… and select Group.
Type the RDS Connection Brokers security group name and click Check Names.
Click OK.

Login – New
RDS Deployment - Single Server - 64

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).

Everything we need is now in place to convert the RD Connection Broker, so let’s do just that.

Convert the RD Connection Broker
In Server Manager click Remote Desktop Services and scroll down to the overview.
RDS Deployment - Single Server - 31

Right click RD Connection Broker and click Configure High Availability.

Before you begin
RDS Deployment - Single Server - 32

So we’re actually 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. More on that in a later post.
Click Next.

Configure RD Connection Broker for High Availability
RDS Deployment - Single Server - 39
Database connection string:

DRIVER=SQL Server Native Client 11.0;SERVER=ITWDC01;Trusted_Connection=Yes;APP=Remote Desktop Services Connection Broker;DATABASE=ITWRDCB
Folder to store database files:
C:\Program Files\Microsoft SQL Server\MSSQL11.MSSQLSERVER\MSSQL\DATA
I used the instance default folder.
DNS round robin name:
The DNS Zone name we configured in DNS earlier.
Click Next.

Confirmation
RDS Deployment - Single Server - 39
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
RDS Deployment - Single Server - 40

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.

RDS Deployment - Single Server - 41
The RD Connection Broker is now in High Availability Mode and we are finally ready to complete the configuration.

Completing the Remote Desktop Services configuration
RDS Deployment - Single Server - 22
In Server Manager, Remote Desktop Services, Overview, click Tasks and click Edit Deployment Properties, then click Certificates.

Configure the deployment
RDS Deployment - Single Server - 42

Click RD Connection Broker – Enable Single Sign On and click Select Existing certificate.
RDS Deployment - Single Server - 43

Browse to the .pfx file, enter its password, and check Allow the certificate..
Click OK.

RDS Deployment - Single Server - 44
So click Apply. This takes a little while, be patient.

Configure the deployment
RDS Deployment - Single Server - 45

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
RDS Deployment - Single Server - 46

Click RD Web Access and click Select Existing certificate.
RDS Deployment - Single Server - 47
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 a slightly more patient.

Configure the deployment
RDS Deployment - Single Server - 48
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 finish the certificate configuration.

Configured all servers, configured certificates..

One thing left to do: Tell our RDS environment exactly what to publish.

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.

Publish a full Remote Desktop environmentRDS Deployment - Single Server - 49
In Server Manager, Remote Desktop Services, Session Collections, click Tasks and click Create Session Collection.

Before you begin
RDS Deployment - Single Server - 50

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
RDS Deployment - Single Server - 51

Enter a descriptive name. This name will be displayed under its icon in the Web Access interface.
Click Next.

Specify RD Session Host servers
RDS Deployment - Single Server - 52

Click the member server and click the Add button.
Click Next.

Specify user groups
RDS Deployment - Single Server - 53

You can limit access here. Add one or more groups to restrict access to these groups only. In this setup Domain Users will do fine.
Click Next.

Specify user profile disks
RDS Deployment - Single Server - 54
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.
Does and Don’ts will be covered in a future post.
Click Next.

Confirm selections
RDS Deployment - Single Server - 55
Review the information and click Create.

View Progress
RDS Deployment - Single Server - 56

Wait until the collection is created and the server is added to the collection.
Click Close.

Time to test the setup!

Testing the Remote Desktop Services
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://gateway.it-worxx.nl/rdweb.
RDS Deployment - Single Server - 57
Hey! At least the RD Web Access application works :)
Enter a valid username and password (ITW\username or username@itw.test).
Create a user for this, or simply use the domain admin account.
Click Sign in.

RDS Deployment - Single Server - 58
After logging in you’re presented with the full desktop session collection we created.

RDS Deployment - Single Server - 59
After clicking the Full Desktop icon you get the warning that devices are going to be redirected.
And when you click Connect, you actually connect :)  

Enjoy.

In the next part of this series I will show how to extend this setup to use multiple session hosts, combine these with remote applications, and setting up dedicated servers for Web Access, Gateway and Connection Broker. 

Arjan

Upate: Part 2 in the series was just published. Find it here: https://msfreaks.wordpress.com/2013/12/23/windows-2012-r2-remote-desktop-services-part-2/

Эта большая инструкция посвящена особенностям установки, настройки и эксплуатации фермы терминальных серверов на базе роли 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 фермы:

  1. Установите одинаковую версию Windows Server на все сервера, настроить их, и добавить в один домен AD;
  2. Откройте консоль ADUC (
    dsa.msc
    ) и переместите все хосты с ролью RDSH в одну OU в AD. Так будет удобнее применять единые настройки через GPO;
  3. Создайте в домене группу для RDSH серверов (например,
    msk-rdsh
    ) и добавьте в нее все хосты;
  4. Если вы хотите использовать диски 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.

добавить сервера Windows Server для установки ролей Remote Desktop Services

Теперь в меню Server Manager выберите Add Roles and Features -> Remote Desktop Services installation -> Standard deployment –> Session-based deployment. RDS - standard 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

установка роли RD Connection Broker

Вы можете распределить RDS роли по серверам в любой другой конфигурации.

Поставьте галку Restart destination server automatically if required и нажмите кнопку Deploy. Дождитесь установки ролей RDS на всех серверах.

установка ролей Remote Desktop Services на сервера фермы RDS

Итак, ваша ферма RDS создана.

Следующий этап установка и настройка сервера лицензирования RDS. Вы можете установить роль RD Licensing на один из серверов в вашей ферме или использовать существующий в домене сервер лицензирования RDS. Подробная инструкция по установке, настройке и активации роли RD Licensing доступа по ссылке.

Для управления вашим развертыванием RDS нужно перейти в раздел Server Manager -> Remote Desktop Services. На вкладке Overview показана текущая конфигурация RDS фермы.

Чтобы изменить настройки RDS фермы выберите Tasks -> Edit Deployment Properties в разделе Deployment Overview.

обзор конфигурации RDS в Server Manager

Здесь можно изменить:

  • Параметры RD Gateway;
  • Адрес сервер сервера лицензирования и тип пользовательских лицензий RDS CAL (per user/per device);
  • Посмотреть URL адреса RD Web Access;
  • Добавить SSL сертификаты для служб RDS (в инструкции мы пропустим этот пункт).

параметры сервера лицензирования 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 сервере

Здесь нужно задать:

  1. Имя коллекции RDS:
    rds-Msk-Managers
  2. Выберите какие хосты RDSH будут обслуживать пользователей коллекции (один RDSH хост может находиться в одной коллекций; не рекомендуется объединять в одну коллекцию сервера с разными версиями Windows Server); добавить в коллекцию хосты RD Session host
  3. На вкладке User Groups указываются группы пользователей, которым разрешено подключаться к коллекции. Уберите из групп Domain users и добавьте вашу группу (msk-Managers);
  4. На вкладке User Profile Disk нужно указать, хотите ли вы использовать формат UPD для хранения профилей пользователей (Enable user profile disks). В поле Location of user profile disks укажите UNC путь к сетевому каталогу(например,
    \\msk-fs01\mskrds_upd
    ), в котором будут хранится профили пользователей в форматер UPD виртуальных дисков (в этом случае при входе на любой сервер коллекции RDS, пользователь будет всегда загружать свой профиль) и максимальный размер диска (20 Гб по умолчанию); Enable user profile disks включить перемещаемые диски для пользователей RDS
  5. Нажмите Create чтобы создать новую RDS коллекцию;
  6. Убедитесь, что в указанном каталоге создался UPD файл с шаблоном профиля пользователя UVHD-template.vhdx.

Чтобы задать параметры коллекции RDS, выберите ее и нажмите Tasks -> Edit Properties.

изменить натсройки коллекции RDS

Здесь можно изменить базовые параметры коллекции (имя, описание, группы доступа) и ряд других важных настроек.

В разделе Session можно задать параметры переподключения/ автоматического отключения простаивающих RDP сессий (подробнее рассматривалось в статье Настройка таймаутов для RDP сессий).

таймауты отключения пользователей RDS

На вкладке Security можно выбрать настройки безопасности (Negotiate, RDP Security level или SSL/TLS) и шифрования (Low, High, Client compatible или FIPS compliant) для сессий RDP. Здесь также можно включить/отключить Network Level Authentication для RDP.

параметры безопасности RDP подключений в коллекции RDS

В секции Load Balancing можно изменить веса (
Relative Weight
) RDSH хостов в вашей ферме. Если характеристики серверов (RAM, CPU) в коллекции сильно отличаются, нужно задать меньший вес для менее производительных серверов. В этом случае RDCB будет распределять сессии пользователей по серверам в зависимости от их веса.

load balancing - настройка весов серверов RDSH

На вкладке Client Settings можно указать, какие устройства пользователям разрешено пробрасывать в RDP сессию. Например, вы можете разрешить/запретить пробрасывать с локального компьютера пользователя в RDS сеанс принтера, сетевые диски, аудио устройства, буфер обмена. RDS настройки перенаправления устройств

В разделе User Profile Disks можно более тонко настроить параметры UPD профилей пользователей. Можно исключить из синхронизации определенные папки или файлы. Это позволит уменьшить размер профиля UPD в сетевом каталоге и увеличить скорость загрузки профиля (не забывайте, что он загружается по сети из сетевой папки при входе пользователя).

Настройка и эксплуатация UPD обычно гораздо проще, чем использование перемещаемых профилей или folder redirection. Один UPD профиль не может использоваться в разных коллекциях RDS.

исключение в User Profile Disks RDS

Для уменьшения размера UPD диска пользователя можно использовать стандартный PowerShell командлет
Resize-VHD
, используемый для изменения размеров виртуальных VHDX дисков Hyper-V.

В секции HOST SERVERS коллекции RDS можно перевести любой сервер фермы в режим обслуживания RDSH (Drain Mode). Для этого щелкните по нему и выберите Do not allow new connection. В результате Connection Broker не будет отправлять новые подключения пользователей на этот сервер. В таком режиме вы можете спокойно установить обновления Windows или обновлять на сервере приложения, не затрагивая пользователей.

перевести хост RDSH в режим обслуживания

Здесь же можно добавить/удалить RDS Host из коллекции.

Если RDSH хост вышел из строя и не доступен, его можно корректно удалить из фермы Remote Desktop Services по этой инструкции.

Публикация RemoteApp в Remote Desktop Services

RemoteApps – это опубликованные для пользователей приложения на RDS серверах. Благодаря RemoteApp можно использовать приложения, установленные на терминальном RDSH сервере так, как будто оно запущено непосредственно на компьютере пользователя. Пользователь не видит всего рабочего стола Windows Server RDS и работает только с теми программами, которые опубликовал для него администратор. На компьютере пользователя будет отображаться только окно запущенной на RDS программы.

Если вы не создаете RemoteApp, пользователи будут работать непосредственно на собственных рабочих столах на Windows Server. Поэтому не забудьте скопировать все необходимые пользователю ярлыки приложений в папку C:\Users\Public\Desktop. Файлы из этой папки будут отображаться на рабочем столе всех пользователей. Если вы устанавливаете на RDSH пакет MS Office 365, обратите внимание что Office нужно разворачивать в режиме SharedComputerLicensing.

RemoteApp приложения создаются в настройках коллекций RDS. Выберите пункт Tasks -> Publish RemoteApp Programs в секции REMOTEAPP PROGRAMS.

Опубликовать программу RemoteApp Programs из консоли Server Manager

Windows отобразит все приложения, установленные на текущем сервере. Можете выбрать одно из них. Если вашего приложения нет в списке, но оно установлено на других хостах RDS, нажмите кнопку Add и укажите полный путь к исполняемому файлу приложения (exe, bat, cmd и т.д.).

Указать программу в RemoteApp на RDS

Опубликуйте приложение RemoteApp.

Затем в настройках RemoteApp можно указать дополнительные параметры приложения.

  • Нужно ли показывать опубликованное RemoteApp приложение в веб интерфейсе RD Web Access;
  • Задать параметры запуска (аргументы) приложения (Command-line Parameters -> Always use the following command-line parameters);
  • На вкладке User Assignment можно дополнительно ограничить каким группам пользователей разрешено запускать приложение.

параметры remote app в RDS коллекции

Если вы хотите изменить иконку опубликованного RemoteApp, нужно открыть следующую папку на сервере с ролью RDS Connection Broker:

C:\Windows\RemotePackages\CPubFarms\rds-Msk-Managers\CPubRemoteApps

смена иконки для remoteapp

Замените иконку приложения другим ico файлом.

Теперь пользователь может запустить RemoteApp приложение из RD Web Access (
https://msk-rdsman.wintpro.ru/RDWeb
) или с помощью специального RDP файла.

запуск remoteapp с rdweb access

Для запуска опубликованного приложения RemoteApp, нужно добавить в RDP файл такие строки:

remoteapplicationmode:i:1
remoteapplicationname:s:putty
remoteapplicationprogram:s:"C:\Tools\putty.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:\ps\RDSCert.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 =@("WINITPRO\msk-developers","WINITPRO\msk_devops")
Set-RDSessionCollectionConfiguration -CollectionName $CollectionName -UserGroup $UserGroup

Опубликовать приложение RemoteAPP:

New-RDRemoteapp -Alias GoogleChrome -DisplayName GoogleChrome -FilePath "C:\Program Files (x86)\Google\Chrome\Application\chrome.exe" -ShowInWebAccess 1 -CollectionName $CollectionName -ConnectionBroker $RDSCB

В статье мы рассмотрели, как установить и настроить ферму Remote Desktop Services на базе Windows Server 2019/2022 с помощью графического интерфейса Server Manager и с помощью PowerShell. За рамками статьи осталось более подробное описание ролей RD Web Access и RD Gateway. Мы рассмотрим настройку этих ролей отдельно в следующих статьях.

Microsoft Remote Desktop Services [RDS] allows users to access centralized applications and workstations in the data center remotely. Microsoft RDS is the new expanded and renamed Microsoft Terminal Services. In this post I will document the implementation of RDS in my home lab using an ‘all-in-one’ configuration.

vBoring Blog Series:

  1. Setup Remote Desktop Services in Windows Server 2012 R2
  2. Setup RD Licensing Role on Windows Server 2012 R2
  3. Setup RD Gateway Role on Windows Server 2012 R2

RDS Architecture

RDS Architecture

Server Roles in RDS:

There are three core roles to setup a RDS environment and are as follows:

  • Remote Desktop Session Host [RDSH]: Applications are installed and published from the Session Host servers.
  • Remote Desktop Connection Broker [RDCB]: This role handles user sessions by load balancing among the RD Session Host servers. Also allows disconnected users to reconnect to their existing sessions without starting a new one.
  • Remote Desktop Web Access [RDWA]: This role provides a web portal to access the RDS environment. Also allows Windows 7 & 8 desktops to connect using the RemoteApp and Desktop Connection.

The follows roles are not required but add additional abilities to RDS:

  • Remote Desktop Gateway [RDG]: This role enables remote users to use the Remote Desktop Protocol (RDP) over HTTPS. It is placed on the edge of your network and acts as the entry point to your RDS environment externally.
  • Remote Desktop Virtualization Host [RDVH]: This allows RDS integration with a Hyper-V hypervisor to manage virtual desktops
  • Licensing: RDS comes with a 120 day trial period. When the trial period ends RDS will no longer accept connections. The RDS License role handles the licensing for RDS.

For additional reading about the roles for RDS check out the Microsoft RDS Overview

Installing RDS Roles:

When setting up RDS you have the option of running the three core roles run on a single server or separate each role onto its own server. If you are setting RDS up for a lab or a small environment then a all-in-one setup would save you hardware resources. If your environment is large you will want to separate these roles to spread the resources across multiple servers. No matter which setup you pick they both can scale outward depending on user growth.

For my documentation I went with a single server called a Quick Start setup. To start open Server Manager then click Manager -> Add Roles and Features

1 Remote Desktop Service - Add Role and Feature

Click Next

2 Remote Desktop Service - Before you Begin

Change the selection to Remote Desktop Services Installation then click Next

3 Remote Desktop Service - Installation Type

In my environment I will have the three core RDS roles running on a single VM (all-in-one con. If you have a large number of users you will run through the Standard deployment where the three core services run on separate servers.

If you pick a Quick Start setup you can add additional servers to each role to allow expansion. Either option will allow you to grow with your environment!

4 Remote Desktop Service - Deployment Type

We are setting up application publishing. Change selection to Session-based desktop deployment and click Next

5 Remote Desktop Service - Deployment Scenario

Since we did the Quick Start selection the Connection Broker, Web Access and Session Host roles will be installed on the single server. Click Next

5 Remote Desktop Service - Server Selection

Check the box labeled Restart the destination server automatically if required then click Deploy

6 Remote Desktop Service - Confirmation

Here is what the progress window looks like. In my install it rebooted after the Remote Desktop Services role but did not for Session Collection and RemoteApp.

7 Remote Desktop Service - View Progress

Once finished click Close. Remote Desktop Services is now installed!

8 Remote Desktop Service - Completion

Publishing Applications:-

A collection is a logical grouping of RDSH servers that application can be published from. Note: Each RDSH server can only participate in a single collection

If you went through the Quick Setup of RDS it will create a collection called “QuickCollection” that contains the applications Wordpad, MS Paint, and Calculator.

RDS 1 - QuickCollection Overview

To add applications to the collection, click Tasks -> Publish RemoteApp Programs

RDS 2 - Publush RemoteApp Programs

It will scan your RDSH for installed applications and display them in a list. I have the vSphere Client installed, select your application then click Next

RDS 3 - Select RemoteApp

Confirm your application selection(s) and click Publish

RDS 4 - Confirmation

Click Close to complete the publish process

RDS 5 - Completion

RemoteApp Global Permissions:

By default the QuickSessionCollection gives all Domain Users access to Remote App programs. To change this click Tasks -> Edit Properties

RDS 6 - Edit Properties

Click User Groups. If you wanted to add or remove users Click Add and search.

If you want to remove Domain Users you must first add a user or group first before you can remove it. (There has to be at least 1 in User Groups)

RDS 7 - User Groups

Once you have a second user or group you can now remove Domain Users.

Remember this is at the Collections level. By default all RemoteApp programs inherit these permissions.

RDS 7-1 - Added User Group

RemoteApp Program Permissions:

If you want to change the inherent permissions of a RemoteApp, select the application -> right click and click Edit Properties

RDS 8 - Edit Properties on RemoteApp

Click User Assignment -> then change the option to Only specified users and groups. You can now Add and Remove the permissions inherit from the collection. In my example I wanted only my VMware Admins AD group to have permission to the vSphere Client. Click Apply and Ok to save you changes.

RDS 10 - Changed user assignment to AD group

Accessing RemoteApp Programs via the Web Access:

To access your newly deployed RDS environment enter the following address of your RDWeb Access into your browser. Allow the add-on to run if prompted.

https://FQDN-or-IP-Address-of-RDWA-server/RDweb

16 Remote Desktop Service - Accessing RDS via web browser

Once logged in you will see applications that you have access to. If you went through the Quick Setup of RDS it will have created a “Collection” that contains Calculator, MS Paint and Wordpad. Click on a application to launch it. If you get a certificate error click Continue.

17 Remote Desktop Service - Open Application

The application should launch! If you go to Help -> About you will see Server 2012 instead of the local OS. The application is being ran on the RDSH server and are only viewing it via RDS.

18 Remote Desktop Service - Calculator

Continue reading – Part 2: Setup RD Licensing Role on Windows Server 2012 R2

  • Windows server 2012 r2 не пингуется
  • Windows server 2012 r2 скачать образ iso с официального сайта microsoft
  • Windows server 2012 r2 datacenter key
  • Windows server 2012 r2 9600
  • Windows server 2012 r2 настройка сервера терминалов