Ферма rds windows server 2019

In this post I will go step by step to include everything you need to do to build an RDS farm that will include x2 RDS Broker Server, x2 RDS Session Hosts and x1 SQL Server.  I will go over how to achieve HA for the entire environment and what you will need to do to get everything up and running.

Design Overview

For this deployment I want to use the below:

2x RDS Broker Server

2x RDS Session Hosts

Users are to connect to the RDS Broker Servers as below and then redirected to the RDS Session Hosts.  From there they can then connect to other target servers.

How to Build an RDP Farm in with Windows 2019 Using RDS Broker HA and RDS Session Hosts-Design

As the clients will be connecting to the RDS Broker Servers we need to add DNS Round Robin for the RDS Broker Servers in DNS.  For example we have rdsbroker1.domain.com with IP 10.10.20.10 and rdsbroker2.domain.com with IP 10.10.20.11.  We would add a new DNS name for the RDS Broker Cluster of:

rdsbrokercluster.domain.com IP 10.10.20.10

rdsbrokercluster.domain.com IP 10.10.20.11

In Microsoft DNS please ensure DNS Round Robin is also enabled.

Installing the RDS Server Roles

First do a basic installation of Windows Server 2019 Standard on x5 servers.  Once your servers are ready all we need to add all of the servers into one single console for the RDS deployment.

Open the Server Manager and click 3. Add other servers to manage

How to Build an RDP Farm in with Windows 2019 Using RDS Broker HA and RDS Session Hosts-1

Add in all the soon to be broker and session host servers and click ok

How to Build an RDP Farm in with Windows 2019 Using RDS Broker HA and RDS Session Hosts-2

Click 4. Create a server group, give it a name and add the soon to be RDS servers to it and click ok

How to Build an RDP Farm in with Windows 2019 Using RDS Broker HA and RDS Session Hosts-3

Here is the group, click on it

How to Build an RDP Farm in with Windows 2019 Using RDS Broker HA and RDS Session Hosts-4

You will see all the RDS servers available

How to Build an RDP Farm in with Windows 2019 Using RDS Broker HA and RDS Session Hosts-5

The deployment of an RDS infrastructure is facilitated by the tool built into the server managers, in a single command the following roles will be installed:
• Remote Desktop Session Host
• Broker
• Remote Desktop Access via the Web

From server manager click add roles and features

How to Build an RDP Farm in with Windows 2019 Using RDS Broker HA and RDS Session Hosts-6

Click next

How to Build an RDP Farm in with Windows 2019 Using RDS Broker HA and RDS Session Hosts-7

Select Remote Desktop Services installation and click Next

How to Build an RDP Farm in with Windows 2019 Using RDS Broker HA and RDS Session Hosts-8

Select a standard deployment and click next

How to Build an RDP Farm in with Windows 2019 Using RDS Broker HA and RDS Session Hosts-9

Select session-based deployment and click Next

How to Build an RDP Farm in with Windows 2019 Using RDS Broker HA and RDS Session Hosts-10

Click Next

How to Build an RDP Farm in with Windows 2019 Using RDS Broker HA and RDS Session Hosts-11

Add the first broker server and click Next (we will add the second in later when we configure HA)

How to Build an RDP Farm in with Windows 2019 Using RDS Broker HA and RDS Session Hosts-12

Select install the RD Web Access role on the RD connection broker

Select the session host and click Next

How to Build an RDP Farm in with Windows 2019 Using RDS Broker HA and RDS Session Hosts-13

Add the RD Session host servers and click Next

How to Build an RDP Farm in with Windows 2019 Using RDS Broker HA and RDS Session Hosts-14

Confirm is all ok and select Restart if required, click Deploy

How to Build an RDP Farm in with Windows 2019 Using RDS Broker HA and RDS Session Hosts-15

Roles are deployed

How to Build an RDP Farm in with Windows 2019 Using RDS Broker HA and RDS Session Hosts-16

How to Build an RDP Farm in with Windows 2019 Using RDS Broker HA and RDS Session Hosts-17

Create a collection to specify the hosts and who can access them
Open server manager and click Remote Desktop Services, click collections and click Create Session Collection

How to Build an RDP Farm in with Windows 2019 Using RDS Broker HA and RDS Session Hosts-18

Click next

How to Build an RDP Farm in with Windows 2019 Using RDS Broker HA and RDS Session Hosts-19

Name the collection

How to Build an RDP Farm in with Windows 2019 Using RDS Broker HA and RDS Session Hosts-20

Select your session host servers and click Next

How to Build an RDP Farm in with Windows 2019 Using RDS Broker HA and RDS Session Hosts-21

Add the groups that are allowed to login to the host servers

How to Build an RDP Farm in with Windows 2019 Using RDS Broker HA and RDS Session Hosts-22

Enter path of user profile disk folder (the NTFS and share permissions must allow full control for the RDS server AD objects – we will come back to this later)

How to Build an RDP Farm in with Windows 2019 Using RDS Broker HA and RDS Session Hosts-23

Confirm all is correct and click create

How to Build an RDP Farm in with Windows 2019 Using RDS Broker HA and RDS Session Hosts-24

Configurations are applied

How to Build an RDP Farm in with Windows 2019 Using RDS Broker HA and RDS Session Hosts-25

Select the collection and click Tasks, Edit properties

How to Build an RDP Farm in with Windows 2019 Using RDS Broker HA and RDS Session Hosts-26

Edit the session properties so that sessions can expire

How to Build an RDP Farm in with Windows 2019 Using RDS Broker HA and RDS Session Hosts-27

Select the security options

How to Build an RDP Farm in with Windows 2019 Using RDS Broker HA and RDS Session Hosts-28

Select any server weighting

How to Build an RDP Farm in with Windows 2019 Using RDS Broker HA and RDS Session Hosts-29

Configure client settings and click ok

How to Build an RDP Farm in with Windows 2019 Using RDS Broker HA and RDS Session Hosts-30

Open RDS Licensing

How to Build an RDP Farm in with Windows 2019 Using RDS Broker HA and RDS Session Hosts-31

Add the license servers (I used the session hosts)

How to Build an RDP Farm in with Windows 2019 Using RDS Broker HA and RDS Session Hosts-32

Click Add

How to Build an RDP Farm in with Windows 2019 Using RDS Broker HA and RDS Session Hosts-33

Licensing configuration is applied

How to Build an RDP Farm in with Windows 2019 Using RDS Broker HA and RDS Session Hosts-34

Right click on RD Licensing and click select RD licensing mode

How to Build an RDP Farm in with Windows 2019 Using RDS Broker HA and RDS Session Hosts-35

Select the license mode and click Apply> Ok

How to Build an RDP Farm in with Windows 2019 Using RDS Broker HA and RDS Session Hosts-36

From the session host where we install the license server role click Tools> Remote Desktop Services> Remote Desktop Licensing Manager

How to Build an RDP Farm in with Windows 2019 Using RDS Broker HA and RDS Session Hosts-37

Right click and Activate server

How to Build an RDP Farm in with Windows 2019 Using RDS Broker HA and RDS Session Hosts-38

Select Automatic Connection

How to Build an RDP Farm in with Windows 2019 Using RDS Broker HA and RDS Session Hosts-39

Enter company details

How to Build an RDP Farm in with Windows 2019 Using RDS Broker HA and RDS Session Hosts-40

Enter email

How to Build an RDP Farm in with Windows 2019 Using RDS Broker HA and RDS Session Hosts-41

Click Next to add licenses

How to Build an RDP Farm in with Windows 2019 Using RDS Broker HA and RDS Session Hosts-42

Select Enterprise Agreement

How to Build an RDP Farm in with Windows 2019 Using RDS Broker HA and RDS Session Hosts-43

Enter agreement number

How to Build an RDP Farm in with Windows 2019 Using RDS Broker HA and RDS Session Hosts-44

Enter license details and click Next

How to Build an RDP Farm in with Windows 2019 Using RDS Broker HA and RDS Session Hosts-45

License is installed

How to Build an RDP Farm in with Windows 2019 Using RDS Broker HA and RDS Session Hosts-46

Go to License server and open RDS License Console.  Right click license server and click Review configuration

How to Build an RDP Farm in with Windows 2019 Using RDS Broker HA and RDS Session Hosts-47

Click add to group

How to Build an RDP Farm in with Windows 2019 Using RDS Broker HA and RDS Session Hosts-48

How to Build an RDP Farm in with Windows 2019 Using RDS Broker HA and RDS Session Hosts-49

How to Build an RDP Farm in with Windows 2019 Using RDS Broker HA and RDS Session Hosts-50

Repeat on any additional license servers (I split 50:50 between my session hosts)

Preparing for the RDS Broker HA Configuration

First we need to create the user profile disk folder on a server and share.  This needs to be highly available so I store mine on a replicated DFS folder.  On a file server create a folder for RDS profiles and share. The RDS session hosts need full control.

How to Build an RDP Farm in with Windows 2019 Using RDS Broker HA and RDS Session Hosts-51

Do the same for NTFS permissions

How to Build an RDP Farm in with Windows 2019 Using RDS Broker HA and RDS Session Hosts-52

Create AD security group and add broker servers

How to Build an RDP Farm in with Windows 2019 Using RDS Broker HA and RDS Session Hosts-53

For the purpose of this guide and because we do not want to focus on SQL too much we will just use a standalone SQL Express database.  However for highly available setups the best solution is to use Always On Availability Groups as in my guide here.

Next Setup new 2019 server and install SQL Express, I used SQL Server Express 2019 (latest available).   Install SQL Management Studio and login. Then add a new login for RDS servers

How to Build an RDP Farm in with Windows 2019 Using RDS Broker HA and RDS Session Hosts-54

Click search

How to Build an RDP Farm in with Windows 2019 Using RDS Broker HA and RDS Session Hosts-55

Select the RDS Server Broker group

How to Build an RDP Farm in with Windows 2019 Using RDS Broker HA and RDS Session Hosts-56

Select dbcreator in roles

How to Build an RDP Farm in with Windows 2019 Using RDS Broker HA and RDS Session Hosts-57

Login is added to the list

How to Build an RDP Farm in with Windows 2019 Using RDS Broker HA and RDS Session Hosts-58

Click New Database

How to Build an RDP Farm in with Windows 2019 Using RDS Broker HA and RDS Session Hosts-59

Name the database

How to Build an RDP Farm in with Windows 2019 Using RDS Broker HA and RDS Session Hosts-60

Database is added

How to Build an RDP Farm in with Windows 2019 Using RDS Broker HA and RDS Session Hosts-61

Modify the login you created to make it db owner

How to Build an RDP Farm in with Windows 2019 Using RDS Broker HA and RDS Session Hosts-62

On the RDS servers install the SQL client from the install media

How to Build an RDP Farm in with Windows 2019 Using RDS Broker HA and RDS Session Hosts-63

Next on your SQL servers add the broker server accounts to the Remote Management Users group

How to Build an RDP Farm in with Windows 2019 Using RDS Broker HA and RDS Session Hosts-95

How to Build an RDP Farm in with Windows 2019 Using RDS Broker HA and RDS Session Hosts-96

Configure RDS Broker Servers for HA

Go to RDP Overview and right click the connection broker, then click Configure High Availability

How to Build an RDP Farm in with Windows 2019 Using RDS Broker HA and RDS Session Hosts-64

Click Next

How to Build an RDP Farm in with Windows 2019 Using RDS Broker HA and RDS Session Hosts-65

Select dedicated database server

How to Build an RDP Farm in with Windows 2019 Using RDS Broker HA and RDS Session Hosts-66

Enter RDS broker cluster name and input connection string and click next

How to Build an RDP Farm in with Windows 2019 Using RDS Broker HA and RDS Session Hosts-67

The connection string I used for this setup is:

DRIVER=SQL Server Native Client 11.0;SERVER=VMMGTRDSSQL101;Trusted_Connection=Yes;APP=Remote Desktop Services Connection Broker;DATABASE=RDSHA

If you are using multiple subnets and SQL Availability Groups, your string should look more like the below – using the DNS name of your SQL listener

DRIVER=SQL Server Native Client 11.0;SERVER=aglinuxrds;MultiSubnetFailover=True;Trusted_Connection=Yes;APP=Remote Desktop Services Connection Broker;DATABASE=RDSHA

If this doesn’t work try this, MultiSubnetFailover=Yes changes from True at one of the client versions

DRIVER=SQL Server Native Client 11.0;SERVER=aglinuxrds;Trusted_Connection=Yes;MultiSubnetFailover=Yes;APP=Remote Desktop Services Connection Broker;DATABASE=RDSHA;

If you have any problems at this stage first check your SQL server is listening on port 1433

Powershell (from the SQL server)

If not, open SQL configuration manager and click SQL Server Network Configuration>Protocols>TCP/IP and ensure the right IPs are enable and port 1433 is added as below

How to Build an RDP Farm in with Windows 2019 Using RDS Broker HA and RDS Session Hosts-68

Click Configure

How to Build an RDP Farm in with Windows 2019 Using RDS Broker HA and RDS Session Hosts-69

The task is executed, click close

How to Build an RDP Farm in with Windows 2019 Using RDS Broker HA and RDS Session Hosts-70

Adding a broker server

From the deployment overview Right click on the RD Connection Broker click add RD Connection Broker Server

How to Build an RDP Farm in with Windows 2019 Using RDS Broker HA and RDS Session Hosts-71

Click Next

How to Build an RDP Farm in with Windows 2019 Using RDS Broker HA and RDS Session Hosts-72

Add the second RDS Broker server and click Next

How to Build an RDP Farm in with Windows 2019 Using RDS Broker HA and RDS Session Hosts-73

Click Add

How to Build an RDP Farm in with Windows 2019 Using RDS Broker HA and RDS Session Hosts-74

The wizard should complete

How to Build an RDP Farm in with Windows 2019 Using RDS Broker HA and RDS Session Hosts-75

If you have any issues at this stage connecting to the database check the SQL server log

How to Build an RDP Farm in with Windows 2019 Using RDS Broker HA and RDS Session Hosts-76

I was seeing this

How to Build an RDP Farm in with Windows 2019 Using RDS Broker HA and RDS Session Hosts-77

Check that the logins are still applied as db_owner – for some reason mine had dropped out even though it was definitely set and worked for the first server

Here is a PowerShell script you can use to test your SQL connection (Should just return True or False)

function Test-SQLConnection
{    
    [OutputType([bool])]
    Param
    (
        [Parameter(Mandatory=$true,
                    ValueFromPipelineByPropertyName=$true,
                    Position=0)]
        $ConnectionString
    )
    try
    {
        $sqlConnection = New-Object System.Data.SqlClient.SqlConnection $ConnectionString;
        $sqlConnection.Open();
        $sqlConnection.Close();

        return $true;
    }
    catch
    {
        return $false;
    }
}


 
Test-SQLConnection "DRIVER=SQL Server Native Client 11.0;SERVER=VMMGTRDSSQL101;Trusted_Connection=Yes;APP=Remote Desktop Services Connection Broker;DATABASE=RDSHA" 

Create a certificate to secure the connection to the RDS Broker server

Open IIS on the RDS Broker server and go to Server Certificates

How to Build an RDP Farm in with Windows 2019 Using RDS Broker HA and RDS Session Hosts-79

Click Create New Certificate Request> Make bit length 2048

How to Build an RDP Farm in with Windows 2019 Using RDS Broker HA and RDS Session Hosts-80

Save the request file

How to Build an RDP Farm in with Windows 2019 Using RDS Broker HA and RDS Session Hosts-81

Click Finish

How to Build an RDP Farm in with Windows 2019 Using RDS Broker HA and RDS Session Hosts-82

Go to the certificate authority server and issue the certificate using the request file from the RDS Broker.  Simply open the command line and enter the following:

certreq -submit -attrib "CertificateTemplate:WebServer" wintelbastionreq.txt

Save the certificate output as a .cer file and copy it back onto the RDS Broker.

Go to IIS again and Server Certificates, then click complete certificate request.  Select the .cer file you just collected from the CA and select the Personal Store.

How to Build an RDP Farm in with Windows 2019 Using RDS Broker HA and RDS Session Hosts-83

Open the certificate console by going to Start>Run certlm.msc

You will see the certificate installed in the personal computer store

How to Build an RDP Farm in with Windows 2019 Using RDS Broker HA and RDS Session Hosts-84

Right click on the certificate and click Export

How to Build an RDP Farm in with Windows 2019 Using RDS Broker HA and RDS Session Hosts-85

Select .PFX and click Next

How to Build an RDP Farm in with Windows 2019 Using RDS Broker HA and RDS Session Hosts-86

Specify a password and select SHA256

How to Build an RDP Farm in with Windows 2019 Using RDS Broker HA and RDS Session Hosts-88

Save the .pfx file

How to Build an RDP Farm in with Windows 2019 Using RDS Broker HA and RDS Session Hosts-89

Go back to the RDS Deployment Overview> Select Tasks> Properties> Certificates. Click Select existing certificate and enter the path to the .pfx file you just saved and enter the password you specified

How to Build an RDP Farm in with Windows 2019 Using RDS Broker HA and RDS Session Hosts-90

The certificate is deployed to both RDS Broker servers and now used to secure the connection

How to Build an RDP Farm in with Windows 2019 Using RDS Broker HA and RDS Session Hosts-91

Connecting clients to RDS Broker

I just wanted to use a normal RDP connection for clients to connect to the brokers and then be redirected to the session hosts.  To do this first you need to check the below registry entry:

Check registry entry for your collection (may differ to actual collection name).  Mine was as below:

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Terminal Server\CentralPublishedResources\PublishedFarms\Domain_-_Wintel_Bas

Copy collection name from registry.

Create an .rdp file open in Notepad and add these lines to it:

use redirection server name:i:1
loadbalanceinfo:s:tsv://MS Terminal Services Plugin.1.Domain_-_Wintel_Bas
full address:s:WINTELBASTION.DOMAIN.COM

Brokers should now redirect to Sessions hosts

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

This guide shows how to install, configure, and maintain a terminal server farm based on the Remote Desktop Services (RDS) role on Windows Server. The article will help you to deploy Remote Desktop Services on Windows Server 2022, 2019, or 2016 in an Active Directory domain.

Contents:

  • Remote Desktop Services (RDS) Components Architecture
  • Creating a New RDS Deployment on Windows Server
  • Create Remote Desktop Services Collections on Windows Server
  • How to Publish RemoteApps in Remote Desktop Services?
  • How to Deploy Remote Desktop Services Farm Using PowerShell?

Remote Desktop Services (RDS) Components Architecture

The RDS role in Windows Server includes the following components:

  • Remote Desktop Session Host (RDSH) – RDS session hosts. These are the main workhorses of an RDS farm on which user apps run;
  • Remote Desktop Connection Broker (RDCB) – an RDS connection broker. It is used to manage an RDS farm, distribute the workload, reconnect users to their sessions, store RDS collection settings, and published RemoteApps;
  • Remote Desktop Gateway (RDGW) – provides secure access to the RDS farm from the Internet;
  • RD Web Access (RDWA) – a web interface to access remote desktops and RemoteApps;
  • Remote Desktop Licensing (RD Licensing) — a licensing service for managing RDS licenses (CALs).

In our small RDS deployment, there are only three Windows Server hosts with the following roles:

  • mun-rds1.woshub.com — RDSH
  • mun-rds2.woshub.com – RDSH
  • mun-rdsman.woshub.com – RDSH, RDWA, RDCB, and RD Licensing

Prerequisites to create an RDS farm:

  1. Install the same version of Windows Server on all RDS hosts, configure them, and join the AD domain;
  2. Open the ADUC console (dsa.msc) and move all hosts with the RDSH role to the same Active Directory OU (Organizational Unit). Thus, it will be easier to apply RDS settings using GPO;
  3. Create an Active Directory domain security group for RDSH servers (for example, mun-rdsh) and add all hosts to it;
  4. If you want to use User Profile Disks (UPD) to store RDS user profiles (or roaming profiles), you must create a shared network folder on a file server (it is recommended to place the shared folder on a File Server Failover Cluster running Windows Serveer). Grant Full Control permissions on the shared folder for the mun-rdsh group.

Creating a New RDS Deployment on Windows Server

Let’s see how to create and configure an RDS configuration using the Server Manager GUI.

Open the Server Manager and add all RDS servers you want to the console. Click All Servers -> Add servers.

Adding Windows Server host to RDS deployment

Click the Server Manager menu and select Add Roles and Features -> Remote Desktop Services installation -> Standard deployment –> Session-based deployment. RD standard deployment

Quick Start mode is used to deploy all RDS roles on a single server. An RDS farm can have only one server running all RDS roles (RD Session Host, RD Web Access, and RD Connection broker). However, this configuration doesn’t provide fault-tolerance and workload balancing in Windows Server Remote Desktop Services.

Then specify which RDS roles you want to assign to your hosts. Select the servers for the corresponding roles in the RDS farm creation wizard. In my case, I want to build the following RDS configuration:

  • RD Connection Broker mun-rdsman
  • RD Web Accessmun-rdsman
  • RD Session hostsmun-rdsman, mun-rds1, mun-rds2

Select RD Connection broker server

You can distribute RDS roles among servers in any other configuration.

Check Restart destination server automatically if required and click Deploy. Wait until the RDS roles are installed on all servers. Deploy Remote Desktop Service Roles on WIndows Server hosts

So, your RDS farm is created.

The next step is to install and configure the RDS licensing server. You can install the RD Licensing role on one of the servers on your farm or use an existing RDS licensing server in your domain. Check the detailed guide on how to install, configure and activate the RD Licensing role.

To manage your RDS deployment, open Server Manager -> Remote Desktop Services. The current RDS farm configuration is displayed on the Overview tab.

To change the RDS farm settings, select Tasks -> Edit Deployment Properties in the Deployment Overview section.

Edit RDS Deployment Properties via Server Manager on Windows Server 2019

Here you can change:

  • RD Gateway settings;
  • Licensing server address and RDS CAL type (per user/per device);
  • View RD Web Access URL;
  • Add SSL certificates for RDS (we will skip this step it in the guide).

Configure RD licensing settings

To build a fault-tolerant Remote Desktop Services farm, you have to provide high availability for the RD Connection Broker role. This is achieved by running multiple RDCB instances (Active/Active) on different servers with a shared SQL Server database that stores the connection broker configuration. You can use the SQL Server Always On high-availability group to make the RDCB SQL database high available. Earlier we published a detailed guide on how to configure a highly available RDS Connection Broker.

Create Remote Desktop Services Collections on Windows Server

The next step is to create collections of RDS sessions. Remote Desktop collections allow to split hosts in an RDS farm into separate groups or create different sets of settings and available Remote Apps for different groups of users.

Go to Collections and select Edit -> Create Session Collection.

Create RDS Session Collection

Here you need to:

  1. Specify an RDS collection name: rds-Mun-Managers;
  2. Select which RDS hosts will serve collection users (one RDSH server may belong to one collection, it is not recommended to have hosts with different Windows Server versions in the same collection); Add RD session hosts to collection
  3. In the User Groups tab, specify the groups of users allowed to connect to the collection. Remove the Domain users from the groups and add your group (mun-Managers);
  4. On the User Profile Disk tab, check Enable user profile disks if you want to use the UPD vhdx file format to store user profiles. In the Location of user profile disks field, specify the UNC path to your shared folder (for example, \\mun-fs01\munrds_upd ), in which user profile files in the UPD format will be stored and the maximum size of the disk (20 GB by default). When using UPD, if a user logs on to any RDS collection host, the user’s shared profile will always be loaded;Enable user profile disks
  5. Click Create to create a new RDS collection;
  6. Make sure that the UPD file (UVHD-template.vhdx) with the user profile template is created in the specified directory.

To configure RDS collection settings, select the collection and click Tasks -> Edit Properties.

edit rds collection settings

Here you can change basic collection options (name, description, access groups), and some other settings.

On the Session tab, you may configure reconnection/automatic disconnection options for inactive (idle) RDP sessions (learn more How to Configure Timeouts for RDP Sessions).

Configure RDS session timeout and reconnection settings

In the Security tab, you may select security (Negotiate, RDP Security level, or SSL/TLS) and encryption (Low, High, Client compatible, or FIPS compliant) settings for RDP sessions. Here you can enable/disable Network Level Authentication (NLA) for RDP.

Security and Encryption settings on RDS

In the Load Balancing tab, you may change RDS host Relative Weight in your farm. If server characteristics (RAM, CPU) in a collection are very different, you need to set a lower weight for the hosts with lower performance. After that, RDCB will distribute user sessions among RDS hosts depending on their weight.

configure relative weight on windows server rds

The Client Settings tab allows you to specify which local devices users are allowed to redirect to their RDP sessions. For example, you may enable or disable the redirection of printers, drives, audio devices, or the clipboard from a local user computer to the RDS session.

RDS: allow redirecting local devices

In the User Profile Disks tab, you may fine-tune UPD settings. You may exclude certain folders or files from sync. It allows to reduce the UPD profile size in a shared network folder and makes a profile load faster (remember that it is loaded over the network from the shared folder when a user logs on).

It is easier to configure and use UPD than roaming profiles or folder redirection. You cannot use the same UPD profile in more than one RDS collection.

confugure user profile disks on rds

To reduce the size of a user UPD disk, you can use the built-in PowerShell cmdlet Resize-VHD, which is used to resize Hyper-V virtual VHDX disks.

You can put any RDSH server into maintenance mode (RDS Drain Mode) through the HOST SERVERS section of the RDS collection. To do it, click a server and select Do not allow new connection. Then the Connection Broker will not send new user sessions to the RD host. In this mode, you can install Windows updates or update apps on the server without affecting the users.

RDS - do not allow new connections

Here you can also add/remove an RDS host from a collection.

If the RD Session Host server fails, you can properly remove it from your Remote Desktop Services deployment by following this guide.

How to Publish RemoteApps in Remote Desktop Services?

RemoteApps are programs published for users on RDS servers. Thanks to RemoteApps, you may use apps installed on a terminal RDSH server as if they are running on a local user computer. The user doesn’t see the entire Windows Server RDS desktop and works only with those apps an administrator has published for them. Only the window of the program running on RDS will be displayed on the user’s computer.

If you don’t create RemoteApps, users will work directly on the Windows Server desktop. So remember to copy the app shortcuts a user may need to C:\Users\Public\Desktop. Files from this folder will be displayed on the desktops of all users. If you want to install an MS Office 365 on your RDSH, note that Office must be deployed in the SharedComputerLicensing mode.

RemoteApps are created in the RDS collection settings. Select Tasks -> Publish RemoteApp Programs in the REMOTEAPP PROGRAMS section.

Publish RemoteApp Programs on RDS Windows Server

Windows will list all apps installed on the current RD host. You may select one of them. If there is no app you need in the list, but it is installed on other RDS hosts, click Add and specify the full path to the application’s executable (exe, bat, cmd, etc.).

select remoteapp program

Publish the RemoteApp.

Then you can specify additional app options in the RemoteApp settings.

  • Whether you want to show a published RemoteApp in the RD Web Access web interface;
  • Set startup options (arguments) for the app (Command-line Parameters -> Always use the following command-line parameters);
  • On the User Assignment tab, you can also set restrictions on whether a user or group may run the app.

configure remote app properties in rds collection settings

If you want to change an icon of the published RemoteApp, open the following folder on the server with the RDS Connection Broker role:

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

change rds remoteapp icon

Replace the app icon with another ICO file.

Then a user can run a RemoteApp program from RD Web Access (https://mun-rdsman.woshub.com/RDWeb) or using a special *.RDP file.

rd web access run remoteapp

To run a published RemoteApp program, you need to add the following lines to the RDP file:

remoteapplicationmode:i:1
remoteapplicationname:s:putty
remoteapplicationprogram:s:"C:\Tools\putty.exe"
disableremoteappcapscheck:i:1
alternate shell:s:rdpinit.exe

Some useful tips to use your RDS farm conveniently:

  • You can configure HTML5 support for the RDWeb Access role. It allows users to connect to RDS servers using any browser or OS even without an RDP client;
  • On the RD Web Access server, you can publish a link to change an expired user password (by default, if NLA is enabled you won’t be able to authenticate on an RDSH with an expired Active Directory user password);
  • A user guide on how to change a password in an RDP session;
  • An administrator can use RD Session Shadow connections to connect/view the desktop of a user session on an RDS server;
  • To quickly find which RDS servers have sessions of a specific user, you can use PowerShell:
    Import-Module RemoteDesktop
    Get-RDUserSession -ConnectionBroker mun-rdsman.woshub.com | where {$_.UserName -eq "a.muller"} | Select HostServer
  • You can use PowerShell scripts to view RDP connection logs;
  • To provide additional security, you can enable two-factor authentication (2FA) for users on your Windows RDS hosts using third-party tools.

How to Deploy Remote Desktop Services Farm Using PowerShell?

If you clearly see the structure of an RDS farm, you can quickly deploy your RDS configuration using PowerShell.

It is better to run the following PowerShell commands to create an RDS farm on another server since you will have to restart managed RDS hosts.

Set the server names in your RDS farm. In this example, I will install the RDCB and RDS licensing roles on separate servers (later it is recommended to enable a highly available RDCB configuration).

$RDSH1 = "mun-rds1.woshub.com"
$RDSH2 = "mun-rds2.woshub.com"
$RDSCB = "mun-rdcb.woshub.com"
$RDSGW = "mun-rdsgw.woshub.com"
Import-Module RemoteDesktop

Install RDS roles on the servers:

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 all hosts:

Restart-Computer -ComputerName $RDSH1,$RDSH2,$RDSCB,$RDSGW

Create a new RDSessionDeployment instance:

New-RDSessionDeployment -ConnectionBroker $RDSCB -SessionHost $RDSH1,$RDSH2 –Verbose

Add RDWA and RDGW servers to your farm:

Add-RDServer -Server $RDSGW -Role RDS-WEB-ACCESS -ConnectionBroker $RDSCB
Add-RDServer -Server $RDSGW -Role RDS-GATEWAY -ConnectionBroker $RDSCB -GatewayExternalFqdn "rds.woshub.com"

You can list the RDS roles and hostnames in your farm:

Get-RDServer -ConnectionBroker $RDSGW

Install the RDS Licensing role using the Add-WindowsFeatures cmdlet:

Add-WindowsFeature –ComputerName $RDSCB -Name RDS-Licensing, RDS-Licensing-UI

Set a PerUser RDS licensing mode:

Invoke-Command -ComputerName $RDSCB -ScriptBlock {Set-RDLicenseConfiguration -Mode PerUser -LicenseServer $RDSCB -ConnectionBroker $RDSCB}
Add-RDServer -Server $RDSCB -Role RDS-LICENSING -ConnectionBroker $RDSCB

Add a licensing server to a domain security group using Add-ADGroupMember:

Add-ADGroupMember "Terminal Server License Servers" -Members "mun-rdcb$"

If you have a certificate for the RDS, you can add it to your farm configuration (you may use the free Let’s Encrypt SSL certificate for your RDS host):

$Path = "C:\ps\RDSCert.pfx"
$Password = ConvertTo-SecureString -String "setCertificPAssw00rd11-" -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

To get information about the installed SSL certificates:

Get-RDCertificate

Then you can create RDS collections:

$CollectionName = "ITdept"
New-RDSessionCollection –CollectionName $CollectionName –SessionHost $RDSH1,$RDSH2 –ConnectionBroker $RDSCB –CollectionDescription “IT department management collection”

To allow access to RDS servers for groups:

$UserGroup =@("WOSHUB\mun-admins","WOSHUB\mun-devops")
Set-RDSessionCollectionConfiguration -CollectionName $CollectionName -UserGroup $UserGroup

To publish a RemoteApp program:

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

In this article, we covered how to install and configure a Remote Desktop Services farm on Windows Server 2019/2022 using the Server Manager graphical interface and PowerShell. The RD Web Access and RD Gateway roles are not described here. We’ll show how to configure these roles in future articles.

Contents

In this tutorial, we will see how to set up a RDS farm in Windows 2012R2 / 2016/2019 with the following features:

  • Remote Desktop Session Host (x2)
  • Service broker for the distribution of connections
  • Setting up a collection
  • Publishing RemoteApp on a web portal
  • Remote Desktop Gateway
  • User Profile Disk (UPD)

To set up a complete rds farm, you need a minimum of 4 servers, not including the domain controller and file and print server. All farm servers must be members of the same Active Directory domain.

Composition :

Name IP Roles
LAB-RDS1.rdr-it.intra 172.16.0.184 Remote Desktop Session Host
LAB-RDS2.rdr-it.intra 172.16.0.185 Remote Desktop Session Host
LAB-RDS-BRK.rdr-it.intra 172.16.0.186 Service Broker / License Manager
LAB-RDS-GW-WEB.rdr-it.intra 172.16.0.187 Gateway Remote Desktop / Web Access  
RDS Farm

For the realization of the tutorial, I used an AD server, LAB-AD1.rdr.it.intra with the IP address 172.16.0.100. DC is used for storing UPDs.

Server role definitions that are part of an RDS farm.

Remote Desktop Session Host : On these servers, the user sessions are open and allow them to work.

Service broker : This is the circulation agent for sessions in an environment with multiple remote desktop session hosts.

Remote Desktop Gateway : Its primary role is to enable secure access to the RDS infrastructure from the Internet. It connects to the farm using HTTPS and filters connections using access policy.

Web Access : publishes a web portal that allows access to applications via RemoteApp via an Internet browser. This role is also used for RemoteApp access for Windows clients. Through this portal, it is also possible to put the password change of the users.

License Manager : This service is used for license distribution (CAL RDS).

The tutorial was made under Windows 2012R2. The deployment of an RDS farm under Windows 2016 and 2019 is almost identical.





Обновлено 03.08.2020

rds windows server 2019 logoДобрый день! Уважаемые читатели и гости 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 ферме, я бы хотел выделить пункты, которые нам потребуется выполнить.

  1. Наличие двух серверов или виртуальных машин с Windows Server 2019, на которые мы будем устанавливать роли посредников подключений (RD Connection Broker)
  2. Создание группы безопасности Active Directory, в которую необходимо поместить сервера RD Connection Broker
  3. Установка MS SQL 2012 и выше, для базы Connection Broker, лучше в режиме Always On.
  4. Предоставление группы безопасности с серверами RD Connection Broker, прав на создание баз данных
  5. Установка на сервера посредников подключений SQL Server Native Client, если SQL 2016, то Client Tools Connectivity
  6. Создание записи в DNS, которое будет использоваться в качестве имени RDS фермы, с помощью механизма DNS round robin.
  7. Настройка алиаса в cliconfg.exe для SQL базы и упрощенного переноса в случае необходимости
  8. Подготовка одного или более сервера с Windows Server 2016 для установки роли Remote Desctop Session Host и RD Web
  9. Выпуск SSL сертификата безопасности
  10. Создание и настройка коллекции на RDS ферме
  11. Установка и настройка сервера лицензирования терминальных сессий
  12. Дополнительные правки реестра для подключений через стандартное приложение «Подключение к удаленному рабочему столу»

Тестовый стенд с виртуальными машинами фермы Remote Desktop Services

  1. Две виртуальные машины с установленной Windows Server 2019, RDCB01.root.pyatilistnik.org (ip-адрес 192.168.31.20) и RDCB02.root.pyatilistnik.org (ip-адрес 192.168.31.21)
  2. Две виртуальные машины с установленной Windows Server 2016, RDHC01.root.pyatilistnik.org
  3. (ip-адрес 192.168.31.22и RDSH02.root.pyatilistnik.org (ip-адрес 192.168.31.23)
  4. Виртуальная машина SQL01.root.pyatilistnik.org с установленной MS SQL 2016, но напоминаю у вас должен быть отказоустойчивый кластер SQL.

Перед тем, как мы сделаем высокодоступное подключение к ферме Remote Desktop Services, нам необходимо произвести установку стандартной конфигурации служб удаленных рабочих столов, включающей в себя:

  • Установку посредника подключений (RD Connection Broker) на сервер RDCB01.root.pyatilistnik.org
  • Установка роли удаленного подключения (RD Session Host) на сервера RDHC01.root.pyatilistnik.org и RDCH02.root.pyatilistnik.org
  • Установка роли RD Web на сервера RDHC01.root.pyatilistnik.org или RDCH02.root.pyatilistnik.org, если планируете использовать RemoteApp, то ставьте на все нужные хосты.

Создание пула серверов на сервере посредника подключений (RD Connection Broker)

Пул серверов, это удобное объединение серверов в общий список для быстрого управления и развертывания на них ролей и компонентов. Все манипуляции производятся из единой консоли управления «Диспетчер серверов». Откройте оснастку «Диспетчер серверов» раздел «Все серверы». Щелкните по нему правым кликом и нажмите «Добавление серверов».

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

Добавление серверов в пул на сервере посредника подключений

На вкладке Active Directory вам необходимо указать в каком домене вы будите производить поиск, в поле «Имя (Общие)» находим нужные вам сервера.

Добавление серверов в список диспетчера серверов

Выбираем нужные сервера и переносим их в раздел «Выбрано».

Добавление серверов для установки Remote Desktop Services High Availability

Нажимаем «Ok».

Подготовка серверов для установки Remote Desktop Services High Availability

В итоге в вашей оснастке «Диспетчер серверов» вы увидите все добавленные хосты. которые будут участниками Remote Desktop Services High Availability на Windows Server 2019.

Если у ваших серверов будет статус «В сети: счетчики производительности не запущены», то запустите их через правый клик

Запуск счетчиков производительности RDS

В результате все должно быть в статусе «В сети».

Успешно добавленные сервера в диспетчер серверов Windows Server 2019

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

Перед тем как создавать высоко доступную ферму RDS, вы должны произвести базовую инсталляцию, а именно нам необходимо установить три роли на текущие сервера, для этого в правом верхнем углу выберите пункт «Управление — Добавить роли и компоненты«.

Стандартный тип развертывания — это лучший метод развертывания, и вы должны выбрать этот тип развертывания в производственной среде

Базовая установка RDS фермы на Windows Server 2019

В мастере добавления ролей выберите пункт «Установка служб удаленных рабочих столов (Remote Desktop Services Installation)» и нажимаем далее.

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

Выбираем первый пункт «Стандартное развертывание (Standard Deployment)» — данный тип развертывания позволяет устанавливать роли Remote Desktop Services на нескольких серверах одновременно.

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

Выбираем второй пункт «Развертывание рабочих столов на основе сеансов (Session-based desktop deployment)»

Это развертывание рабочих столов на основе сеансов позволяет пользователям подключаться к коллекциям сеансов, включающим опубликованные удаленные приложения RemoteApp и рабочие столы, основанные на сеансах

Развертывание рабочих столов на основе сеансов

Список компонентов устанавливаемых при стандартной конфигурации RDS фермы. Тут будет установлен:

  • Посредник подключений к удаленным рабочим столам (Connection Broker)
  • Веб-доступ к удаленным рабочим столам
  • Узел сеансов удаленных рабочих столов

Список устанавливаемых компонентов Remote Desktop Services

На следующем шаге вам нужно выбрать и перенести в правую область сервер, который будет нести на себе роль «Посредник подключений к удаленным рабочим столам (RD Connection Broker)». В моем примете, это первый сервер RDCB01.root.pyatilistnik.org.

Второй сервер на данном этапе добавлять не нужно

Установка роли Посредник подключений к удаленным рабочим столам на выбранный сервер

Далее у нас идет выбор сервера для установки роли «Веб-доступ к удаленным рабочим столам (RD Web Access)», так как я пока не планирую использовать веб доступ RemoteApp, а настрою это потом, то я воспользуюсь галкой «Установить службу веб-доступа к удаленным рабочим столам на сервере посреднике подключений к удаленному рабочему столу (Install the RD Web Access role service on the RD Connection Broker server)»

Данную роль нельзя пропустить в мастере стандартной установки служб Remote Desktop Services, но она нам пригодится еще очень сильно

Установка роли веб доступ к удаленным рабочим столам

Последним идет пункт по установке роли на сервера к которым вы будите непосредственно подключаться, выбираем нужные сервера и инсталлируем на них роль «Узел сеансов удаленных рабочих столов (RS Session Host)». В моем примере, это два сервера rdsh01 и rdsh02.

Установка роли RS Session Host

Процесс установки ролей подразумевает, что потребуется перезагрузка сервера, для этого вам необходимо выставить галку «Автоматически перезапускать конечный сервер, если это потребуется (Restart the destination server automatically if required )» и нажать кнопку «Развернуть«

Подтверждение на перезагрузку серверов при установке ролей Remote Desktop Services

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

Процесс установки службы удаленных рабочих столов

У вас должна произойти успешная установка службы «службы удаленных рабочих столов». Все необходимые сервера будут перезагружены.

Успешная установка службы "службы удаленных рабочих столов"

Давайте убедимся, что все серверы получили свои роли. Для этого на сервере, где вы добавляли сервера в оснастку «Диспетчер серверов (Производили установку)», откройте оснастку и перейдите в раздел «Службы удаленных рабочих столов».

раздел "Службы удаленных рабочих столов".

На вкладке «Общие сведения» посмотрите в разделе «Серверы развертывания», кто и какие роли себе установил.

Обзор развертывания служб Remote Desktop Services

Перейдите в раздел «Коллекции» и убедитесь, что список пуст, но зато присутствуют два ваших хоста узла сеансов удаленных рабочих столов, к котором будут подключаться конечные пользователи. Они будут иметь статус «Истина (True)», что говорит о разрешении подключаться (Режим стока выключен)

Просмотр коллекций в Remote Desktop Services

Следующим шагом мы создадим новую коллекцию для подключения к службам Remote Desktop Services High Availability на Windows Server 2019.

Создание коллекции для отказоустойчивой терминальной фермы

Следующим шагом идет создание коллекции или коллекций, к ресурсам которых будут подключаться пользователи. Коллекция Remote Desktop Services — это некое объединение серверов RDSH, RD Web под определенные задачи, отделы и другие варианта разграничения. Приведу пример, у вас есть отдел продаж, есть отдел разработчиков 1С. Логично предположить, что пользователям из отдела продаж не нужны всякие программные продукты для разработчиков, а разработчикам не нужен специфический софт, который установлен у отдела продаж. Отсюда следует, что будет создано две коллекции, и каждая из них будет иметь на борту, только свои определенные сервера «Службы удаленных рабочих столов», со своим набором программного обеспечения, а доступ к коллекциям будет осуществляться исключительно по группам безопасности Active Directory.

Так, что подытожим, коллекции RDS призваны решать две задачи:

  • Они позволяют нам разделять RD Session Hosts на отдельные фермы
  • Второе, что они делают, это позволяют администраторам организовывать ресурсы, по отделам или другим критериям

Для создания новой коллекции сеансов службы удаленных рабочих столов, выберите  раздел «Коллекции» и нажмите кнопку «Задачи — Создать коллекцию сеансов«

Создание коллекции сеансов RDS

Придумываем любое имя для вашей коллекции, в моем примере это root-collection

Задаем имя коллекции Remote Desktop Services

Теперь вам необходимо определиться какие серверы с ролью узлов сеансов (RDSH) вам нужно включить в коллекцию, у меня это RDSH01 и RDSH02

Добавление узлов RDSH в коллекцию

Указываем каким пользователям или группам разрешен доступ к данной терминальной ферме, я удалю группу «Пользователи домена» и добавлю другую.

Настройка доступа к коллекции RDS

У меня получился вот такой список доступа, потом его так же можно изменить.

Настройка доступа к Remote Desktop Services

Я снимаю галку «Включить диски профилей пользователей» так как не планирую использовать UDP диски.

Отключаю "Включить диски профилей пользователей"

Смотрим сводную информацию по создаваемой коллекции и нажимаем «Создать».

Проверка свойств создаваемой коллекции RDS

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

Успешно созданная коллекция Remote Desktop Services

Не удается настроить сервер удаленных рабочих столов. Недопустимая операция

В общем списке у вас будет ваша коллекция.

Список коллекций RDS фермы

Про описание свойств коллекции RDS я уже писал пост, можете к нему обратиться. Теперь у системного администратора, кто первый раз развернул стандартную установку службы удаленных рабочих столов возникает вопрос, как ему подключиться к новой коллекции и это правильный вопрос, так как если вы сейчас попытаетесь подключиться  брокеру, то вас не перекинет на хост из коллекции, вы просто попадете на сам RDCB хост. Чтобы это поправить нам нужно сделать две вещи:

  1. Скачать специальный файл RDP с RD Web хоста
  2. Поправить ветку реестра на сервере с ролью RD Connection Broker

Настройка RD Connection Broker для подключений к ферме RDS

Как я писал выше в текущей конфигурации посредник подключений к удаленным рабочим столам вас не будет перебрасывать в коллекцию, он просто будет подключаться к брокеру по RDP, ниже мы это поправим.

Для подключения к ферме Remote Desktop Services в отказоустойчивой конфигурации создают две записи DNS и направляют их на сервера с ролью RD Connection Broker, кто-то балансирует иначе, но мы в данном окружении воспользуемся именно DNS и механизмом перебора Round Robin. Откройте оснастку и создайте A-запись с нужным именем вашей RDS фермы у меня это будет DNS имя «terminal«.

Я пока создам одну A-запись с таким именем и в качестве IP-адреса укажу адрес моего первого сервера с ролью RD Connection Broker.

Создание записи dns для подключения к отказоустойчивой фермы RDS

В запись terminal.root.pyatilistnik.org успешно создана.

Создание имени для подключения к Remote Desktop Services

Проверяем ее через утилиту PING

Проверка узла через утилиту Ping

Теперь, чтобы наш сервер посредник подключений к удаленным рабочим столам перебрасывал нас на RDSH сервера, нам необходимо подключиться к RD Web серверу и скачать RDP-файл с конфигурацией. Данный файл будет нести в себе параметры, о наименовании коллекции, при обращении к которой вы попадете на один из конечных серверов.

Напоминаю, что в моем тестовом окружении сервером веб-доступа к удаленным рабочим столам выступает брокер RDCB01.root.pyatilistnik.org

Стандартный адрес для подключения к вашему серверу RD Web, это:

https://dns имя вашего сервера с данной ролью/rdweb в моем примере https://rdcb01.root.pyatilistnik.org/rdweb

Проверить наличие данного адреса вы можете открыв диспетчер IIS.

RDweb сайт на IIS

У вас должна открыться вот такая страница с авторизацией.

Запуск RDWeb страницы

Теперь нам нужно получить значение loadbalanceinfo из свойств вашей коллекции, оно будет прописано в реестре брокеров. Для этого выполним публикацию приложения RemoteApp. Переходим в коллекцию службы удаленных рабочих столов и находим раздел «Удаленные приложения RemoteApp«. Нажимаем на задачи и произведем публикацию удаленного приложения RemoteApp.

Публикация RemoteApp приложения

Выберите для примера обычный калькулятор

Публикация приложения в Remote Desktop Services

Нажимаем «Опубликовать«.

Публикация удаленного приложения в Remote Desktop Services

Дожидаемся публикации приложения в коллекции Remote Desktop Services.

Успешно опубликованное приложение RemoteApp

Далее вы переходите в веб интерфейс RDWEb и авторизуетесь, у вас будет доступно приложение калькулятор. Щелкните по нему и у вас будет запущено скачивание RDP пакета.

Запуск приложения RemoteApp

Теперь полученный файл RDP нужно открыть через блокнот.

Открытие файла RDP через блокнот

Вам нужно найти строку loadbalanceinfo:s:tsv://MS Terminal Services Plugin.1.root-collection, она то нам и нужна для прописывания ее в реестре сервера несущего роль посредника подключений к удаленным рабочим столам (Connection Broker).

Строка подключения к коллекции RDS

Переходим на сервер с ролью RD COnnection Broker и открываем реестр Windows. Переходим в раздел:

HKLMSYSTEMCurrentControlSetControlTerminal ServerClusterSettings

Создаем тут ключ реестра с типом REG_SZ (Строковый) и именем DefaultTsvUrl. В качестве содержимого вставляем tsv://MS Terminal Services Plugin.1.root-collection

Настройка RDS брокера

Настройка сервера посредника подключений к удаленным рабочим столам

Перезагрузите на всякий случай ваш брокер. Пробуем теперь произвести подключение по имени terminal.root.pyatilistnik.org.

Проверка подключения к терминальной ферме

Как видите нам ответил rdcb01.root.pyatilistnik.org

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

Но как и было задумано посредник подключений к удаленным рабочим столам перекину нас на конечный хост с ролью RDSH. Я для теста сделал три подключения, все отлично работает. Можно сказать, что мы успешно установили и настроили стандартную Remote Desktop Services ферму на базе Windows Server 2019. Теперь можно превращать ее в высоко доступную, о чем и пойдет речь ниже.

Успешное подключение к RDS ферме

Создание группы безопасности для RD Connection Broker

Следующим шагом нам необходимо в Active Directory создать группу безопасности в которую мы поместим наши сервера с ролью RD Connection Broker. Необходимо, это для того, чтобы мы этой группе безопасности назначили необходимые права на нашем SQL сервере.

Открываем оснастку ADUC и создаем в нужном вам расположении группу безопасности RD-Connection-Broker. Я выставлю область действия группы (Локальная в домене).

Создание группы безопасности для RD Connection Broker

Добавим в группу RD-Connection-Broker два сервера с ролью посредника подключений к удаленным рабочим столам. В моем случае, это RDCB01 и RDCB02.

Не забудьте перезагрузить оба сервера, чтобы обновился их ACL с членством в группе

Группа безопасности для RD Connection Broker

Установка SQL Native Client

Следующим шагом вам необходимо на обоих серверах с ролью RD Connection Broker установить бесплатного клиента SQL Native Client, это необходимое требование. Где скачать SQL Native Client и как его установить я подробно рассказывал, на этом я останавливаться не буду, посмотрите по ссылке.

Установка и настройка MS SQL 2016

Следующим подготовительным требованием идет установка общей базы для наших брокеров, в моем примере это будет MS SQL 2016 Standard. Сам процесс инсталляции я подробно разбирал, так что так же советую посмотреть мою статью. Еще я вам советую делать всегда вашу базу данных отказоустойчивой, в режиме Always On.

Эта большая инструкция посвящена особенностям установки, настройки и эксплуатации фермы терминальных серверов на базе роли Remote Desktop Services (RDS) в Windows Server. Статья поможет вам развернуть службы удаленных столов на Windows Server 2022, 2019 и 2016 в домене Active Directory.

Содержание:

  • Компоненты Remote Desktop Services в Windows Server 2022/2016/2016/2012R2
  • Создаем новую конфигурацию Remote Desktop Services в Windows Server
  • Создаем коллекции Remote Desktop Services в Windows Server
  • Публикация RemoteApp в Remote Desktop Services
  • Настройка фермы Remote Desktop services с помощью PowerShell

Компоненты Remote Desktop Services в Windows Server 2022/2016/2016/2012R2

В состав роли RDS в Windows Server входя следующие компоненты:

  • Remote Desktop Session Host (RDSH) – узлы сеансов RDS. Основные рабочие лошадки фермы RDS, на которых работают приложения пользователей;
  • Remote Desktop Connection Broker (RDCB) – посредник RDS подключений. Используется для управления фермой RDS, распределения нагрузки, обеспечивает переподключение пользователей к своим сеансам, хранит коллекции RDS и опубликованные приложения RemoteApps;
  • Remote Desktop Gateway (RDGW) – обеспечивает безопасный доступ к сервисам RDS из Интернета;
  • RD Web Access (RDWA) – веб интерфейс для доступа к рабочим столам, программам RemoteApp;
  • Remote Desktop Licensing (RD Licensing) — служба лицензирования, управляет RDS лицензиями (CAL) пользователей.

В нашем небольшом стенде будут всего три сервера со следующим распределением ролей

  • msk-rds1.winitpro.ru
    — RDSH
  • msk-rds2.winitpro.ru
    – RDSH
  • msk-rdsman.winitpro.ru
    – RDSH, RDWA, RDCB, RD License

Предварительные требования, которые нужно выполнить перед созданием RDS фермы:

  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-fs01mskrds_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:UsersPublicDesktop. Файлы из этой папки будут отображаться на рабочем столе всех пользователей. Если вы устанавливаете на 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:WindowsRemotePackagesCPubFarmsrds-Msk-ManagersCPubRemoteApps

смена иконки для 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:Toolsputty.exe"
disableremoteappcapscheck:i:1
alternate shell:s:rdpinit.exe

Несколько полезных мелочей для удобной эксплуатации фермы RDS:

  • Для роли RDWeb можно настроить поддержку HTML5, это позволит пользователям подключаться к RDS серверам из любого браузера и ОС даже без клиента RDP;
  • На веб сервере RD Web Access можно опубликовать ссылку на смену истекшего пароля пользователя (по умолчанию при включенном NLA вы не сможете аутентифицироваться на RDSH с истекшим паролем пользователя Active Directory);
  • Инструкция для пользователей по смене пароля в RDP сессии;
  • Администратор может использовать теневые подключения RD Session Shadow для подключения/просмотра рабочего стола сеанса пользователя на сервере RDS;
  • Чтобы быстро найти, на каких RDS серверах есть сессии определенного пользователя, можно использовать PowerShell:
    Import-Module RemoteDesktop
    Get-RDUserSession -ConnectionBroker msk-rdsman.winitpro.ru | where {$_.UserName -eq "a.ivanov"} | Select HostServer
  • Вы можете использовать PowerShell скрипты для просмотра и анализа логов RDP подключений пользователей к серверам RDS;
  • Для дополнительной защиты можно настроить двухфакторную аутентификацию (2FA) пользователей на RDS серверах Windows с помощью сторонних средств.

Настройка фермы Remote Desktop services с помощью PowerShell

Если вы четко представляете себе концепцию RDS фермы, вы можете быстро разворачивать RDS конфигурацию с помощью PowerShell.

Следующие PowerShell команды для создания RDS фермы лучше запускать с другого на другом сервера, т.к. управляемые RDS хосты придется перезагружать.

Задайте имена серверов в вашей ферме RDS. В этом примере я установлю роли RDCB и RDS Licensing на отдельный сервер (в дальнейшем рекомендуется настроить отказоустойчивую конфигурацию RDCB).

$RDSH1 = "msk-rds1.winitpro.ru"
$RDSH2 = "msk-rds2.winitpro.ru"
$RDSCB = "msk-rdcb.winitpro.ru"
$RDSGW = "msk-rdsgw.winitpro.ru"
Import-Module RemoteDesktop

Установите RDS роли на сервера:

Add-WindowsFeature –ComputerName $RDSH1, $RDSH2 -Name RDS-RD-Server –IncludeManagementTools
Add-WindowsFeature –ComputerName $RDSCB -Name RDS-Connection-Broker -IncludeManagementTools
Add-WindowsFeature –ComputerName $RDSGW -Name RDS-Web-Access, RDS-Gateway –IncludeManagementTools

Перезагрузите все хосты:

Restart-Computer -ComputerName $RDSH1,$RDSH2,$RDSCB,$RDSGW

Создайте новый инстанс RDSessionDeployment:

New-RDSessionDeployment -ConnectionBroker $RDSCB -SessionHost $RDSH1,$RDSH2 –Verbose

Добавить в ферму сервера RDWA и RDGW:

Add-RDServer -Server $RDSGW -Role RDS-WEB-ACCESS -ConnectionBroker $RDSCB
Add-RDServer -Server $RDSGW -Role RDS-GATEWAY -ConnectionBroker $RDSCB -GatewayExternalFqdn "rds.winitpro.ru"

Текущее распределение RDS ролей по серверам фермы можно вывести так:

Get-RDServer -ConnectionBroker $RDSGW

Установка роли лицензирования RDS:

Add-WindowsFeature –ComputerName $RDSCB -Name RDS-Licensing, RDS-Licensing-UI

Задайте режим лицензирования PerUser:

Invoke-Command -ComputerName $RDSCB -ScriptBlock {Set-RDLicenseConfiguration -Mode PerUser -LicenseServer $RDSCB -ConnectionBroker $RDSCB}

Add-RDServer -Server $RDSCB -Role RDS-LICENSING -ConnectionBroker $RDSCB

Добавить сервер лицензирования в доменную группу с помощью Add-ADGroupMember:

Add-ADGroupMember "Terminal Server License Servers" -Members "msk-rdcb$"

Если у вас есть сертификат для RDS можно его добавить в конфигурацию фермы (можно использовать бесплатный SSL сертификат Let’s Encrypt для вашего RDS хоста):

Path = "C:psRDSCert.pfx"
$Password = ConvertTo-SecureString -String "CertPAssddr0w11-" -AsPlainText -Force
Set-RDCertificate -Role RDGateway -ImportPath $Path -Password $Password -ConnectionBroker $RDSCB -Force
Set-RDCertificate -Role RDWebAccess -ImportPath $Path -Password $Password -ConnectionBroker $RDSCB -Force
Set-RDCertificate -Role RDPublishing -ImportPath $Path -Password $Password -ConnectionBroker $RDSCB -Force
Set-RDCertificate -Role RDRedirector -ImportPath $Path -Password $Password -ConnectionBroker $RDSCB -Force

Информацию об установленных SSL сертификатах можно получить так:

Get-RDCertificate

Теперь можно создать коллекции RDS:

$CollectionName = "DEVdept"
New-RDSessionCollection –CollectionName $CollectionName –SessionHost $RDSH1,$RDSH2 –ConnectionBroker $RDSCB –CollectionDescription “Develovers”

Разрешить доступ к RDS серверам для групп:

$UserGroup [email protected]("WINITPROmsk-developers","WINITPROmsk_devops")
Set-RDSessionCollectionConfiguration -CollectionName $CollectionName -UserGroup $UserGroup

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

New-RDRemoteapp -Alias GoogleChrome -DisplayName GoogleChrome -FilePath "C:Program Files (x86)GoogleChromeApplicationchrome.exe" -ShowInWebAccess 1 -CollectionName $CollectionName -ConnectionBroker $RDSCB

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

In this post I will go step by step to include everything you need to do to build an RDS farm that will include x2 RDS Broker Server, x2 RDS Session Hosts and x1 SQL Server.  I will go over how to achieve HA for the entire environment and what you will need to do to get everything up and running.

Design Overview

For this deployment I want to use the below:

2x RDS Broker Server

2x RDS Session Hosts

Users are to connect to the RDS Broker Servers as below and then redirected to the RDS Session Hosts.  From there they can then connect to other target servers.

How to Build an RDP Farm in with Windows 2019 Using RDS Broker HA and RDS Session Hosts-Design

As the clients will be connecting to the RDS Broker Servers we need to add DNS Round Robin for the RDS Broker Servers in DNS.  For example we have rdsbroker1.domain.com with IP 10.10.20.10 and rdsbroker2.domain.com with IP 10.10.20.11.  We would add a new DNS name for the RDS Broker Cluster of:

rdsbrokercluster.domain.com IP 10.10.20.10

rdsbrokercluster.domain.com IP 10.10.20.11

In Microsoft DNS please ensure DNS Round Robin is also enabled.

Installing the RDS Server Roles

First do a basic installation of Windows Server 2019 Standard on x5 servers.  Once your servers are ready all we need to add all of the servers into one single console for the RDS deployment.

Open the Server Manager and click 3. Add other servers to manage

How to Build an RDP Farm in with Windows 2019 Using RDS Broker HA and RDS Session Hosts-1

Add in all the soon to be broker and session host servers and click ok

How to Build an RDP Farm in with Windows 2019 Using RDS Broker HA and RDS Session Hosts-2

Click 4. Create a server group, give it a name and add the soon to be RDS servers to it and click ok

How to Build an RDP Farm in with Windows 2019 Using RDS Broker HA and RDS Session Hosts-3

Here is the group, click on it

How to Build an RDP Farm in with Windows 2019 Using RDS Broker HA and RDS Session Hosts-4

You will see all the RDS servers available

How to Build an RDP Farm in with Windows 2019 Using RDS Broker HA and RDS Session Hosts-5

The deployment of an RDS infrastructure is facilitated by the tool built into the server managers, in a single command the following roles will be installed:
• Remote Desktop Session Host
• Broker
• Remote Desktop Access via the Web

From server manager click add roles and features

How to Build an RDP Farm in with Windows 2019 Using RDS Broker HA and RDS Session Hosts-6

Click next

How to Build an RDP Farm in with Windows 2019 Using RDS Broker HA and RDS Session Hosts-7

Select Remote Desktop Services installation and click Next

How to Build an RDP Farm in with Windows 2019 Using RDS Broker HA and RDS Session Hosts-8

Select a standard deployment and click next

How to Build an RDP Farm in with Windows 2019 Using RDS Broker HA and RDS Session Hosts-9

Select session-based deployment and click Next

How to Build an RDP Farm in with Windows 2019 Using RDS Broker HA and RDS Session Hosts-10

Click Next

How to Build an RDP Farm in with Windows 2019 Using RDS Broker HA and RDS Session Hosts-11

Add the first broker server and click Next (we will add the second in later when we configure HA)

How to Build an RDP Farm in with Windows 2019 Using RDS Broker HA and RDS Session Hosts-12

Select install the RD Web Access role on the RD connection broker

Select the session host and click Next

How to Build an RDP Farm in with Windows 2019 Using RDS Broker HA and RDS Session Hosts-13

Add the RD Session host servers and click Next

How to Build an RDP Farm in with Windows 2019 Using RDS Broker HA and RDS Session Hosts-14

Confirm is all ok and select Restart if required, click Deploy

How to Build an RDP Farm in with Windows 2019 Using RDS Broker HA and RDS Session Hosts-15

Roles are deployed

How to Build an RDP Farm in with Windows 2019 Using RDS Broker HA and RDS Session Hosts-16

How to Build an RDP Farm in with Windows 2019 Using RDS Broker HA and RDS Session Hosts-17

Create a collection to specify the hosts and who can access them
Open server manager and click Remote Desktop Services, click collections and click Create Session Collection

How to Build an RDP Farm in with Windows 2019 Using RDS Broker HA and RDS Session Hosts-18

Click next

How to Build an RDP Farm in with Windows 2019 Using RDS Broker HA and RDS Session Hosts-19

Name the collection

How to Build an RDP Farm in with Windows 2019 Using RDS Broker HA and RDS Session Hosts-20

Select your session host servers and click Next

How to Build an RDP Farm in with Windows 2019 Using RDS Broker HA and RDS Session Hosts-21

Add the groups that are allowed to login to the host servers

How to Build an RDP Farm in with Windows 2019 Using RDS Broker HA and RDS Session Hosts-22

Enter path of user profile disk folder (the NTFS and share permissions must allow full control for the RDS server AD objects – we will come back to this later)

How to Build an RDP Farm in with Windows 2019 Using RDS Broker HA and RDS Session Hosts-23

Confirm all is correct and click create

How to Build an RDP Farm in with Windows 2019 Using RDS Broker HA and RDS Session Hosts-24

Configurations are applied

How to Build an RDP Farm in with Windows 2019 Using RDS Broker HA and RDS Session Hosts-25

Select the collection and click Tasks, Edit properties

How to Build an RDP Farm in with Windows 2019 Using RDS Broker HA and RDS Session Hosts-26

Edit the session properties so that sessions can expire

How to Build an RDP Farm in with Windows 2019 Using RDS Broker HA and RDS Session Hosts-27

Select the security options

How to Build an RDP Farm in with Windows 2019 Using RDS Broker HA and RDS Session Hosts-28

Select any server weighting

How to Build an RDP Farm in with Windows 2019 Using RDS Broker HA and RDS Session Hosts-29

Configure client settings and click ok

How to Build an RDP Farm in with Windows 2019 Using RDS Broker HA and RDS Session Hosts-30

Open RDS Licensing

How to Build an RDP Farm in with Windows 2019 Using RDS Broker HA and RDS Session Hosts-31

Add the license servers (I used the session hosts)

How to Build an RDP Farm in with Windows 2019 Using RDS Broker HA and RDS Session Hosts-32

Click Add

How to Build an RDP Farm in with Windows 2019 Using RDS Broker HA and RDS Session Hosts-33

Licensing configuration is applied

How to Build an RDP Farm in with Windows 2019 Using RDS Broker HA and RDS Session Hosts-34

Right click on RD Licensing and click select RD licensing mode

How to Build an RDP Farm in with Windows 2019 Using RDS Broker HA and RDS Session Hosts-35

Select the license mode and click Apply> Ok

How to Build an RDP Farm in with Windows 2019 Using RDS Broker HA and RDS Session Hosts-36

From the session host where we install the license server role click Tools> Remote Desktop Services> Remote Desktop Licensing Manager

How to Build an RDP Farm in with Windows 2019 Using RDS Broker HA and RDS Session Hosts-37

Right click and Activate server

How to Build an RDP Farm in with Windows 2019 Using RDS Broker HA and RDS Session Hosts-38

Select Automatic Connection

How to Build an RDP Farm in with Windows 2019 Using RDS Broker HA and RDS Session Hosts-39

Enter company details

How to Build an RDP Farm in with Windows 2019 Using RDS Broker HA and RDS Session Hosts-40

Enter email

How to Build an RDP Farm in with Windows 2019 Using RDS Broker HA and RDS Session Hosts-41

Click Next to add licenses

How to Build an RDP Farm in with Windows 2019 Using RDS Broker HA and RDS Session Hosts-42

Select Enterprise Agreement

How to Build an RDP Farm in with Windows 2019 Using RDS Broker HA and RDS Session Hosts-43

Enter agreement number

How to Build an RDP Farm in with Windows 2019 Using RDS Broker HA and RDS Session Hosts-44

Enter license details and click Next

How to Build an RDP Farm in with Windows 2019 Using RDS Broker HA and RDS Session Hosts-45

License is installed

How to Build an RDP Farm in with Windows 2019 Using RDS Broker HA and RDS Session Hosts-46

Go to License server and open RDS License Console.  Right click license server and click Review configuration

How to Build an RDP Farm in with Windows 2019 Using RDS Broker HA and RDS Session Hosts-47

Click add to group

How to Build an RDP Farm in with Windows 2019 Using RDS Broker HA and RDS Session Hosts-48

How to Build an RDP Farm in with Windows 2019 Using RDS Broker HA and RDS Session Hosts-49

How to Build an RDP Farm in with Windows 2019 Using RDS Broker HA and RDS Session Hosts-50

Repeat on any additional license servers (I split 50:50 between my session hosts)

Preparing for the RDS Broker HA Configuration

First we need to create the user profile disk folder on a server and share.  This needs to be highly available so I store mine on a replicated DFS folder.  On a file server create a folder for RDS profiles and share. The RDS session hosts need full control.

How to Build an RDP Farm in with Windows 2019 Using RDS Broker HA and RDS Session Hosts-51

Do the same for NTFS permissions

How to Build an RDP Farm in with Windows 2019 Using RDS Broker HA and RDS Session Hosts-52

Create AD security group and add broker servers

How to Build an RDP Farm in with Windows 2019 Using RDS Broker HA and RDS Session Hosts-53

For the purpose of this guide and because we do not want to focus on SQL too much we will just use a standalone SQL Express database.  However for highly available setups the best solution is to use Always On Availability Groups as in my guide here.

Next Setup new 2019 server and install SQL Express, I used SQL Server Express 2019 (latest available).   Install SQL Management Studio and login. Then add a new login for RDS servers

How to Build an RDP Farm in with Windows 2019 Using RDS Broker HA and RDS Session Hosts-54

Click search

How to Build an RDP Farm in with Windows 2019 Using RDS Broker HA and RDS Session Hosts-55

Select the RDS Server Broker group

How to Build an RDP Farm in with Windows 2019 Using RDS Broker HA and RDS Session Hosts-56

Select dbcreator in roles

How to Build an RDP Farm in with Windows 2019 Using RDS Broker HA and RDS Session Hosts-57

Login is added to the list

How to Build an RDP Farm in with Windows 2019 Using RDS Broker HA and RDS Session Hosts-58

Click New Database

How to Build an RDP Farm in with Windows 2019 Using RDS Broker HA and RDS Session Hosts-59

Name the database

How to Build an RDP Farm in with Windows 2019 Using RDS Broker HA and RDS Session Hosts-60

Database is added

How to Build an RDP Farm in with Windows 2019 Using RDS Broker HA and RDS Session Hosts-61

Modify the login you created to make it db owner

How to Build an RDP Farm in with Windows 2019 Using RDS Broker HA and RDS Session Hosts-62

On the RDS servers install the SQL client from the install media

How to Build an RDP Farm in with Windows 2019 Using RDS Broker HA and RDS Session Hosts-63

Next on your SQL servers add the broker server accounts to the Remote Management Users group

How to Build an RDP Farm in with Windows 2019 Using RDS Broker HA and RDS Session Hosts-95

How to Build an RDP Farm in with Windows 2019 Using RDS Broker HA and RDS Session Hosts-96

Configure RDS Broker Servers for HA

Go to RDP Overview and right click the connection broker, then click Configure High Availability

How to Build an RDP Farm in with Windows 2019 Using RDS Broker HA and RDS Session Hosts-64

Click Next

How to Build an RDP Farm in with Windows 2019 Using RDS Broker HA and RDS Session Hosts-65

Select dedicated database server

How to Build an RDP Farm in with Windows 2019 Using RDS Broker HA and RDS Session Hosts-66

Enter RDS broker cluster name and input connection string and click next

How to Build an RDP Farm in with Windows 2019 Using RDS Broker HA and RDS Session Hosts-67

The connection string I used for this setup is:

DRIVER=SQL Server Native Client 11.0;SERVER=VMMGTRDSSQL101;Trusted_Connection=Yes;APP=Remote Desktop Services Connection Broker;DATABASE=RDSHA

If you are using multiple subnets and SQL Availability Groups, your string should look more like the below – using the DNS name of your SQL listener

DRIVER=SQL Server Native Client 11.0;SERVER=aglinuxrds;MultiSubnetFailover=True;Trusted_Connection=Yes;APP=Remote Desktop Services Connection Broker;DATABASE=RDSHA

If this doesn’t work try this, MultiSubnetFailover=Yes changes from True at one of the client versions

DRIVER=SQL Server Native Client 11.0;SERVER=aglinuxrds;Trusted_Connection=Yes;MultiSubnetFailover=Yes;APP=Remote Desktop Services Connection Broker;DATABASE=RDSHA;

If you have any problems at this stage first check your SQL server is listening on port 1433

Powershell (from the SQL server)

If not, open SQL configuration manager and click SQL Server Network Configuration>Protocols>TCP/IP and ensure the right IPs are enable and port 1433 is added as below

How to Build an RDP Farm in with Windows 2019 Using RDS Broker HA and RDS Session Hosts-68

Click Configure

How to Build an RDP Farm in with Windows 2019 Using RDS Broker HA and RDS Session Hosts-69

The task is executed, click close

How to Build an RDP Farm in with Windows 2019 Using RDS Broker HA and RDS Session Hosts-70

Adding a broker server

From the deployment overview Right click on the RD Connection Broker click add RD Connection Broker Server

How to Build an RDP Farm in with Windows 2019 Using RDS Broker HA and RDS Session Hosts-71

Click Next

How to Build an RDP Farm in with Windows 2019 Using RDS Broker HA and RDS Session Hosts-72

Add the second RDS Broker server and click Next

How to Build an RDP Farm in with Windows 2019 Using RDS Broker HA and RDS Session Hosts-73

Click Add

How to Build an RDP Farm in with Windows 2019 Using RDS Broker HA and RDS Session Hosts-74

The wizard should complete

How to Build an RDP Farm in with Windows 2019 Using RDS Broker HA and RDS Session Hosts-75

If you have any issues at this stage connecting to the database check the SQL server log

How to Build an RDP Farm in with Windows 2019 Using RDS Broker HA and RDS Session Hosts-76

I was seeing this

How to Build an RDP Farm in with Windows 2019 Using RDS Broker HA and RDS Session Hosts-77

Check that the logins are still applied as db_owner – for some reason mine had dropped out even though it was definitely set and worked for the first server

Here is a PowerShell script you can use to test your SQL connection (Should just return True or False)

function Test-SQLConnection
{    
    [OutputType([bool])]
    Param
    (
        [Parameter(Mandatory=$true,
                    ValueFromPipelineByPropertyName=$true,
                    Position=0)]
        $ConnectionString
    )
    try
    {
        $sqlConnection = New-Object System.Data.SqlClient.SqlConnection $ConnectionString;
        $sqlConnection.Open();
        $sqlConnection.Close();

        return $true;
    }
    catch
    {
        return $false;
    }
}


 
Test-SQLConnection "DRIVER=SQL Server Native Client 11.0;SERVER=VMMGTRDSSQL101;Trusted_Connection=Yes;APP=Remote Desktop Services Connection Broker;DATABASE=RDSHA" 

Create a certificate to secure the connection to the RDS Broker server

Open IIS on the RDS Broker server and go to Server Certificates

How to Build an RDP Farm in with Windows 2019 Using RDS Broker HA and RDS Session Hosts-79

Click Create New Certificate Request> Make bit length 2048

How to Build an RDP Farm in with Windows 2019 Using RDS Broker HA and RDS Session Hosts-80

Save the request file

How to Build an RDP Farm in with Windows 2019 Using RDS Broker HA and RDS Session Hosts-81

Click Finish

How to Build an RDP Farm in with Windows 2019 Using RDS Broker HA and RDS Session Hosts-82

Go to the certificate authority server and issue the certificate using the request file from the RDS Broker.  Simply open the command line and enter the following:

certreq -submit -attrib "CertificateTemplate:WebServer" wintelbastionreq.txt

Save the certificate output as a .cer file and copy it back onto the RDS Broker.

Go to IIS again and Server Certificates, then click complete certificate request.  Select the .cer file you just collected from the CA and select the Personal Store.

How to Build an RDP Farm in with Windows 2019 Using RDS Broker HA and RDS Session Hosts-83

Open the certificate console by going to Start>Run certlm.msc

You will see the certificate installed in the personal computer store

How to Build an RDP Farm in with Windows 2019 Using RDS Broker HA and RDS Session Hosts-84

Right click on the certificate and click Export

How to Build an RDP Farm in with Windows 2019 Using RDS Broker HA and RDS Session Hosts-85

Select .PFX and click Next

How to Build an RDP Farm in with Windows 2019 Using RDS Broker HA and RDS Session Hosts-86

Specify a password and select SHA256

How to Build an RDP Farm in with Windows 2019 Using RDS Broker HA and RDS Session Hosts-88

Save the .pfx file

How to Build an RDP Farm in with Windows 2019 Using RDS Broker HA and RDS Session Hosts-89

Go back to the RDS Deployment Overview> Select Tasks> Properties> Certificates. Click Select existing certificate and enter the path to the .pfx file you just saved and enter the password you specified

How to Build an RDP Farm in with Windows 2019 Using RDS Broker HA and RDS Session Hosts-90

The certificate is deployed to both RDS Broker servers and now used to secure the connection

How to Build an RDP Farm in with Windows 2019 Using RDS Broker HA and RDS Session Hosts-91

Connecting clients to RDS Broker

I just wanted to use a normal RDP connection for clients to connect to the brokers and then be redirected to the session hosts.  To do this first you need to check the below registry entry:

Check registry entry for your collection (may differ to actual collection name).  Mine was as below:

HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindows NTCurrentVersionTerminal ServerCentralPublishedResourcesPublishedFarmsDomain_-_Wintel_Bas

Copy collection name from registry.

Create an .rdp file open in Notepad and add these lines to it:

use redirection server name:i:1
loadbalanceinfo:s:tsv://MS Terminal Services Plugin.1.Domain_-_Wintel_Bas
full address:s:WINTELBASTION.DOMAIN.COM

Brokers should now redirect to Sessions hosts

Contents

In this tutorial, we will see how to set up a RDS farm in Windows 2012R2 / 2016/2019 with the following features:

  • Remote Desktop Session Host (x2)
  • Service broker for the distribution of connections
  • Setting up a collection
  • Publishing RemoteApp on a web portal
  • Remote Desktop Gateway
  • User Profile Disk (UPD)

To set up a complete rds farm, you need a minimum of 4 servers, not including the domain controller and file and print server. All farm servers must be members of the same Active Directory domain.

Composition :

Name IP Roles
LAB-RDS1.rdr-it.intra 172.16.0.184 Remote Desktop Session Host
LAB-RDS2.rdr-it.intra 172.16.0.185 Remote Desktop Session Host
LAB-RDS-BRK.rdr-it.intra 172.16.0.186 Service Broker / License Manager
LAB-RDS-GW-WEB.rdr-it.intra 172.16.0.187 Gateway Remote Desktop / Web Access  

RDS Farm

For the realization of the tutorial, I used an AD server, LAB-AD1.rdr.it.intra with the IP address 172.16.0.100. DC is used for storing UPDs.

Server role definitions that are part of an RDS farm.

Remote Desktop Session Host : On these servers, the user sessions are open and allow them to work.

Service broker : This is the circulation agent for sessions in an environment with multiple remote desktop session hosts.

Remote Desktop Gateway : Its primary role is to enable secure access to the RDS infrastructure from the Internet. It connects to the farm using HTTPS and filters connections using access policy.

Web Access : publishes a web portal that allows access to applications via RemoteApp via an Internet browser. This role is also used for RemoteApp access for Windows clients. Through this portal, it is also possible to put the password change of the users.

License Manager : This service is used for license distribution (CAL RDS).

The tutorial was made under Windows 2012R2. The deployment of an RDS farm under Windows 2016 and 2019 is almost identical.





Содержание

  1. Установка роли Remote Desktop Services Host (RDSH) на Windows Server 2019 в рабочей группе
  2. Установка роли Remote Desktop Services в Windows Server 2019
  3. Настройка роли Remote Desktop Licensing, добавление RDS лицензий (CAL)
  4. Настройка роли Remote Desktop Session Host в рабочей группе
  5. Rds farm windows server 2019
  6. Вопрос
  7. Все ответы
  8. Настройка терминальной фермы RDS с RD Connection Broker
  9. Компоненты RD Connection Broker
  10. Последовательность настройки терминальной фермы RD Connection Broker с балансировкой нагрузки:
  11. Шаг 1 : Установка роли Connection Broker
  12. Шаг 2 : Добавляем сервера RD Session Host в локальную группу Session Broker Computers.
  13. Шаг 3 : Включаем сервера RD Session Host в ферму RD Connection Broker, настраиваем балансировку нагрузки
  14. Task 4 : Настройка DNS round robin
  15. Questions regarding Server 2019 RDS farm deployment using WID (without SQL)
  16. Rds farm windows server 2019
  17. Вопрос
  18. Ответы
  19. Все ответы

Установка роли Remote Desktop Services Host (RDSH) на Windows Server 2019 в рабочей группе

В этой статье описано, как установить и настроить роль терминального сервера Remote Desktop Session Host в рабочей группе (без домена Active Directory) и без всех дополнительных ролей (Connection Broker, Remote Desktop Web Access, RDS Gateway).

Windows Server с ролью RDSH (Remote Desktop Session Host) позволяет одновременно подключаться к серверу по RDP нескольким пользователям (по умолчанию в Windows Server разрешены только 2 административных RDP подключения). Для каждого пользователя создается отдельная сессия и он получает доступ к персональному рабочему столу

Если вы планируете используете отдельный RDS сервер в рабочей группе, имейте в виду, что его функциональность ограничена. Он не может масштабироваться до полноценной RDS фермы, нельзя создавать отдельные коллекцию или RemoteApp, нет брокера, нельзя использовать User Profile Disks для профилей пользователей, отсутствуют средства централизованного управления, при проведении операций обслуживания RDP сервис будет недоступен.

Установка роли Remote Desktop Services в Windows Server 2019

Предполагаем, что вы уже установили сервер с Windows Server и выполнили базовые настройки (ip адрес, имя сервера, время/дата, установили обновления и т.д.). Теперь можно установить службу RDS.

Для этого можно использовать Server Manager или PowerShell.

server manager ustanovka remote desktop services

Также вы можете установить нужные роли Windows Server с помощью PowerShell:

ustanovka rds licensing rds rd server v windows s

Проверьте, какие RDS роли установлены на сервере:

powershell prosmotr ustaovlennyh rolej rds v windo

Настройка роли Remote Desktop Licensing, добавление RDS лицензий (CAL)

Следующий этап – настройка роли Remote Desktop Licensing, которая обеспечивает лицензирование RDP подключений пользователей к вашему RDS серверу. Вы можете установить и активировать роль Remote Desktop Licensing на данном хосте (если он у вас один), либо можете разместить роль RDLicensing на другом сервере. Один сервер с ролью RDS Licensing можете выдавать лицензии неограниченному количеству RDSH хостов.

Если вы решили использовать локальный сервер RDLicensing, активируйте сервер лицензий RDS и установите клиентские лицензии (RDS CAL) согласно гайду по ссылке.

remote desktop license issue your session will b

Настройка роли Remote Desktop Session Host в рабочей группе

remote desktop licensing diagnoser ne zadan server

Если вы не нацелите ваш RDSH сервер на сервер лицензирования RDS, который может выдать пользователям лицензии, ваш сервер будет находится в триальном режиме. В этом режиме службы RDS работают в течении всего 120 дней (при каждом подключении в трее будет появляться сообщение “ Служба удаленных рабочих столов перестанет работать через xxx дней ”). После окончания grace периода ваши пользователи не смогут подключится к RDS с ошибкой:

В локальной GPO нужно настроить параметры лицензирования RDS:

Дополнительно в локальных GPO вы можете настроить лимиты (таймауты) на длительность RDP сессий и правила отключения пользователей при неактивности.

Теперь нужно создать для пользователей локальные учетные записи на RDS сервере, под которыми они будут аутентифицироваться. Можно создать пользователей с помощью оснастки lusrmgr.msc или через PowerShell:

Чтобы разрешить пользователю подключаться к серверу через службы Remote Desktop Services, нужно добавить аккаунт в локальную группу Remote Desktop Users. Добавьте пользователей вручную через консоль управления группами или через PowerShell:

lokalnaya gruppa remote desktop users

При первом входе устройству пользователя выдается временная лицензия (особенности RDS Per Device лицензирования). При втором входе выдается постоянная лицензия, которая появится в консоли Remote Desktop Licensing Manager. Лицензия выдается на срок от 52 до 89 дней (случайное число).

Если у вас исчерпаны Per Device лицензии, вы можете вручную отозвать лицензии для некоторых устройств пользователей. Воспользуйтесь консоль RDSLicensing или таким PowerShell скриптом:

Если вам нужно подключиться в RDP сессию пользователя, вы можете воспользоваться режимом теневого подключения RDS (он работает на RDSH в рабочей группе).

Источник

Rds farm windows server 2019

trans

Вопрос

trans

trans

I operate some 20+ VM’s with Server 2019, at the front of them there’s a pair of IIS Gateway & Connection Broker servers that manage the remote desktop services collections and the login/traffic. All fairly normal.

I’ve just added a new server into the collections, and it appeared to deploy just fine. When I login to the gateway via browser, I can see the new VM’s RDP link. However, when I download the RDP link, the server address hasn’t been populated.

None of the other links have this issue.

Все ответы

trans

trans

Then, new RD SH should be working. Please check above steps one by one. If problem persists, delete and remove the session host form RDS deployment and try to re-add it to check the result.

Besides, please try to using different Browser such as IE, Edge, Chrome to access RD Web Access and check the result.

If problem persists, please provide relate screenshot about the RDC window when click the VM via web access browser.

Источник

Настройка терминальной фермы RDS с RD Connection Broker

Remote Desktop Connection Broker (RD Connection Broker), ранее известный под именем Terminal Services Session Broker (TS Session Broker), — это роль сервера Windows 2008 R2, предоставляющая следующий функционал:

RD Connection Broker отслеживает все сессии пользователей в ферме терминальных серверов Windows Server 2008 R2. База данных RD Connection Broker хранит сессионную информацию, включая имена серверов RD Session Host, на которых находятся сессии пользователя, идентификатор сессии (session ID) и имя пользователя, ассоциированное с сессией. Служба RD Connection Broker использует эту информацию для перенаправления пользователя, уже имеющего активную терминальную сессию на тот сервер, на котором она запущена.

В том случае, если пользователь отключился (disconnect) от своей сессии (из-за сетевого сбоя или осознанно), все приложения, которые он запустил на сервере продолжают работать. И когда пользователь пытается вновь подключиться к ферме терминалов, Connection Broker определяет сервер, на котором уже имеется сессия пользователя и перенаправляет подключение пользователя именно туда.

Балансировка нагрузки RD Connection Broker Load Balancing, позволяет при подключении пользователя (предполагается, что у него не осталось подключений в состоянии disconnect) к ферме, перенаправить его на наименее загруженный сервер фермы (с наименьшим количеством пользовательских сессий). Чтобы более гибко управлять балансировкой нагрузки в ферме терминальных серверов, администратор может в зависимости от вычислительных мощностей серверов фермы назначить каждому из них относительный вес.

Компоненты RD Connection Broker

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

Последовательность настройки терминальной фермы RD Connection Broker с балансировкой нагрузки:

Шаг 1 : Установка роли Connection Broker

Если роль Remote Desktop Services уже установлена:

В моем стенде 2 сервера, настроенных следующим образом:

rd session host2

Шаг 2 : Добавляем сервера RD Session Host в локальную группу Session Broker Computers.

Для этого на сервер с установленной ролью RD Connection Broker:

group connection broker

Шаг 3 : Включаем сервера RD Session Host в ферму RD Connection Broker, настраиваем балансировку нагрузки

На каждом из терминальных серверов RD Session Host выполните следующее:

Я выполнил соответствующую настройку на обоих серверах RDS01 и RDS02

rd config1rd config2

Task 4 : Настройка DNS round robin

Для балансировки нагрузки в терминальных фермах RD Session Host, можно использовать балансировку нагрузки RD Connection Broker Load Balancing совместно с функцией DNS round robin. Во втором случае, вы должны для каждого из серверов членов фермы создать DNS запись (тип A), создающую соответствие между IP адресом каждого сервера RD Session Host и DNS именем фермы.

Я опишу процедуру настройки DNS записей на контроллере домена Windows Server 2008 R2. Сразу стоит отметить, что для выполнения данной процедуры у вас должны быть права Domain Admins/ Enterprise Admins / DNS Admins.

Эти действия необходимо повторить для каждого из серверов-членов фермы RDS (в каждом случае меняться будет только ip адрес)

Проверим, что наша ферма создалась, для чего откройте Remote Desktop Services Manager. Щелкните правой кнопкой по Remote Desktop Services Manager и выберите Import from RD Connection Broker и укажите FQDN имя сервера с ролью Connection broker(в моем случае RDS01.winitpro.ru)

rd manager1

Теперь в дереве RD Connection Broker появится новая терминальная ферма!

Источник

Questions regarding Server 2019 RDS farm deployment using WID (without SQL)

mini magick20190823 9309 w5fbgs medium

verified business pro 3a1cf27ffcc19a21104eca567e1efa8a5b82328a5b3eb672fef648b0b3515ca1

daily challenge 914d5611f763af9a14a3f7a855ef6c652ea086d05b395af20a59cbb5674f8a61

I’ve been tasked with «fixing» our existing Remote Desktop Services farm due to compliance failures. In specific, TLS 1.0 and 1.1 vulnerabilities. The issue is if I disable these protocols on the server, they break communication with the Windows Internal Database which only supports TLS 1.0. The other issue is if I disable TLS 1.0 and require a higher version of TLS, then the RDP client on the workstations that our employee’s use to connect with (presumably at their homes) may stop working because lets face it, many people still have Windows 7 and or even Windows XP and since its their personal computers we can’t make them upgrade. But we are willing to deny access to these older EOL OS’s by requiring TLS 1.2. I would just disable TLS 1.0 and 1.1 on the current servers if it didn’t break communication with the WID database but that seems to be not possible so an upgrade to 2019 is the only real viable solution.

My current farm is as follows:

Based on the Microsoft article I found regarding issues with disabling TLS 1.0 on the server causing RDS to effectively be left broken afterwards (https://docs.microsoft.com/en-US/troubleshoot/windows-server/remote/rds-connection-broker-or-rdms-fails-caused-by-disabled-tls-10) I have concluded that the best solution would be for me to just stand up a Server 2019 RDS farm environment.

However, while that article says that upgrading the environment to 2019 is a «resolution» to the issue, it doesn’t provide any additional information about it as to how it solves the problem. So, my research has led me to believe that in Windows Server 2019, the Windows Internal Database must now support connections with TLS 1.2 but I really can’t find much info from Microsoft to confirm this 100%.

1. Is TLS 1.2 supported by the Windows Internal Database on Windows Server 2019 and if it is, is 1.2 the default?

2. If the answer to the above is yes, can RDS be deployed in a multi-server farm/cluster setup using the WID (as in without use of SQL Server or SQL Express)?

3. If the answer the to both of those is yes, can anyone point me in the direction of a «guide» to setting up an RDS farm using WID for Server 2019? All I can seem to find are detailed guides for RDS farms on 2019 using some form of SQL, which I would prefer to avoid if at all possible. I would like to basically mimic my exact current setup, just on Server 2019 with TLS 1.2 only.

Источник

Rds farm windows server 2019

trans

Вопрос

trans

trans

пытаюсь настроить терминальную ферму.
есть два сервера
srv-term1:
— узел сеансов удаленных рабочих столов (RDSH)
— брокер соединений(RDCB)

srv-term2:
— узел сеансов удаленных рабочих столов (RDSH)

В основом пользуюусь данной инструкцией с сайта microsoft

Подключаюсь пользователем к term1, он попал на term3
Пытаюсь под ним же зайти еще раз с другого мееста, получаю ошибку:
«Удаленный компьютер srv-term1, попытка подключения к которому выполняется, перенаправляет вас на удаленный компьютер srv-term3. Подключение к удаленному рабочему столу не может проверить принадлежность компьютеров к одной ферме серверов узла сеансов удаленных рабочих столов. При подключении к ферме серверов узла сеансов удаленных рабочих столов необходимо использовать имя фермы, а не имя компьютера.»

Что никак не могу понять:
1. нигде во время настройки я не встречал указаний ввести имя фермы. Где его указать или посмотреть? В 2008 была консоль, там все прописывал и указвал что телефон в этой ферме.
2. много где в блогах пишут про настройку DNS RoundRobin, не пойму нужен ли он в моем случае? у меня же один брокер, а вроде как RoundRobin это как бы предоставление возможности подключаться то к оному то ко второму брокеру(н если их несколько).

Ответы

trans

trans

В общем работает. Спасибо за помощь товарищи.
Вот эта тема(HKLMSYSTEMCurrentControlSetControlTerminalServerClusterSettings
DefaultTsvUrl RegSZ tsv://MS Terminal Services Plugin.1.SalesSessionCollection) достаточно важная получается.

Странно, что это во многих хелпах опускается и замалчивается. Как будто это само собой разумеется)

Итого:
1. если брокер один, RR не надо
2. RDP файл надо нацеливать на брокер(или общее имя брокеров если их несколько)
3. Очень важно, либо в настройках RDP файла на клиенте, либо в реестре брокера указать в какую коллекцию отправлять клиента. Потому как без этого брокер думает что клиент хочет войти непосредственно на него самого, а не на какой либо RDSH.

trans

trans

Итого:
.
3. Очень важно, либо в настройках RDP файла на клиенте, либо в реестре брокера указать в какую коллекцию отправлять клиента. Потому как без этого брокер думает что клиент хочет войти непосредственно на него самого, а не на какой либо RDSH.

Дмитрий, не подскажете, ГДЕ и КАК указать в настройках RDP-файла имя коллекции с учетом указания в качестве цели именно Connection Broker’a? У меня несколько коллекций используется, но не могу найти информацию, где нужная коллекция указывается в файле подключения

trans

trans

2 документация часто разбросана по сети и чтоб понять что описано в фрагменте, а что не упоминалось приходится тратить дни а нередко и недели прежде чем придет осознание

3 есть вагон гайдов про настройку терминальных серверов и ферм под заголовком «step by step» где авторы уже для вас собрали все необходимое в одном месте. Вот пример, в котором в разделе 6 описана настройка брокеров. Там же в разделе 6, на одной из картинок в нач але коллега создает имя фермы в dns, после чего прописывает его в мастере. Таких гайдов можно найти много.

Часто гайды создают на прерилизных ОС, поэтому все прочитанное стоит перепроверять на практике. Вы правы в том что при настройке фермы с одним брокером, нет имени фермы, но в таком случае и брокер должен стоят на отдельной машине как говорил Андрей

The opinion expressed by me is not an official position of Microsoft

Все ответы

trans

trans

Здравствуйте. Я бы не ставил брокер на терминальник, а вынес его отдельной виртуальной машиной и ещё на ней бы поставил службу лицензирования.

1. Первый сервер, брокер, вторые две машины терминальники, без вручную установленных служб.

2. Вы на виртуалке с брокером ставите эту роль, дальше в нем добавляете свои машины где планируется терминалка и он сам разворачивает на них эти роли.

3. Вы создаёте на днс сервере две одинаковых А записи с айпишками терминалак и заходите по рдп этого имени.

Дальше уже брокер встраивается в ваше подключение и решает Вашу судьбу.

trans

trans

Здравствуйте. Я бы не ставил брокер на терминальник, а вынес его отдельной виртуальной машиной и ещё на ней бы поставил службу лицензирования.

1. Первый сервер, брокер, вторые две машины терминальники, без вручную установленных служб.

2. Вы на виртуалке с брокером ставите эту роль, дальше в нем добавляете свои машины где планируется терминалка и он сам разворачивает на них эти роли.

3. Вы создаёте на днс сервере две одинаковых А записи с айпишками терминалак и заходите по рдп этого имени.

Дальше уже брокер встраивается в ваше подключение и решает Вашу судьбу.

То есть клиент приходит к rdsh, тот его отправляет к брокеру(и то если клиент пришел к rdsh через имя фермы). а дальше брокер по сути может принять решения пустить клиента ровно на тот же rdsh?

Хочется понять этот механизм, откуда подчерпали? в справке microsoft не вижу этого, возможно конечно плохо смотрю.

Брокер и rdsh на одном сервере, вопрос лицензии, не более.

Как так работает, что если я делаю две записи в dns с одиним именем, это имя сразу начинает являться именем фермы?

trans

trans

Практикой)) По брокеру верно, а днс запись Вам только нужна для балансировки подключений к вашим терминалкам, если допустим какая-нибудь, по какой-то причине недоступна.

Посмотрите эти темы:

trans

trans

То есть клиент приходит к rdsh, тот его отправляет к брокеру(и то если клиент пришел к rdsh через имя фермы). а дальше брокер по сути может принять решения пустить клиента ровно на тот же rdsh?

Хочется понять этот механизм, откуда подчерпали? в справке microsoft не вижу этого, возможно конечно плохо смотрю.

Брокер и rdsh на одном сервере, вопрос лицензии, не более.

Как так работает, что если я делаю две записи в dns с одиним именем, это имя сразу начинает являться именем фермы?

брокер к лицензиям не имеет никакого отношения

вы сервера настраивали по инструкции от 2003 сервера, или пользовали актуальной документацией?

Начиная с 2012р2 сервера настройка серверов терминалов (1 шт), а так же терминальных ферм (2 и более шт) производится через мастер, который задает сотню вопросов в том числе и имя фермы и пр. не менее важные вещи

The opinion expressed by me is not an official position of Microsoft

trans

trans

То есть клиент приходит к rdsh, тот его отправляет к брокеру(и то если клиент пришел к rdsh через имя фермы). а дальше брокер по сути может принять решения пустить клиента ровно на тот же rdsh?

Хочется понять этот механизм, откуда подчерпали? в справке microsoft не вижу этого, возможно конечно плохо смотрю.

Брокер и rdsh на одном сервере, вопрос лицензии, не более.

Как так работает, что если я делаю две записи в dns с одиним именем, это имя сразу начинает являться именем фермы?

брокер к лицензиям не имеет никакого отношения

вы сервера настраивали по инструкции от 2003 сервера, или пользовали актуальной документацией?

Начиная с 2012р2 сервера настройка серверов терминалов (1 шт), а так же терминальных ферм (2 и более шт) производится через мастер, который задает сотню вопросов в том числе и имя фермы и пр. не менее важные вещи

The opinion expressed by me is not an official position of Microsoft

А где вообще речь про лицензии?

На примере можете показать, где бы мастер спрашивал(просил) задать имя фермы? ну или может кусок инструкции с сайта microsoft.

Буду очень признателен за эту информацию.

По факту, делал по этой инструкции. Ни в ней, ни в реальности у меня никто не спрашивал(ни просил) указать имя фермы. Не исключаю, что я что-то пропустил, прошу помочь, покажите, что именно?

trans

trans

trans

trans

Андрей, это к кому вопрос? если ко мне,то я не знаю. Собственно в этом одна из главных проблем у меня в этой теме.

Повторюсь, я телал все настроки по этой документации https://docs.microsoft.com/ru-ru/windows-server/remote/remote-desktop-services/welcome-to-rds

trans

trans

Практикой)) По брокеру верно, а днс запись Вам только нужна для балансировки подключений к вашим терминалкам, если допустим какая-нибудь, по какой-то причине недоступна.

Посмотрите эти темы:

Здравствуйте. Хочу на тестовой среде развернуть терминальную ферму из двух RDS c UPD.

Сервер RD Connection Broker . Это сервер с запущенной службой Remote Desktop Connection Broker, который отслеживает сессии пользователей и осуществляет балансировку нагрузки между членами фермы RD. Существует имя сервера RD Connection Broker, с помощью которого можно отнести конкретный терминальный сервер к той или иной ферме.

Сервера RD Session Host , настроенные на использование Connection Broker. Это рядовые члены терминальной фермы. Для того, чтобы являться членом фермы под управление RD Connection Broker, терминальный сервер должен соответствовать следующим критериям:

1. Первый сервер поднимаем RD Connection Broker . Он собственно и будет служить подключением по rdp, балансируя клиентов по RDS серверам.

2. Дальше не уверен, RD Session Host должен быть установлен на RDS серверах или отдельной виртуальной машиной, в процессе которого в него будут включены мои RDS сервера?

Подскажите пожалуйста алгоритм действий, лучший.

Источник

  • Remove From My Forums
  • Вопрос

  • пытаюсь настроить терминальную ферму.
    есть два сервера
    srv-term1:
    — узел сеансов удаленных рабочих столов (RDSH)
    — брокер соединений(RDCB)

    srv-term2:
    — узел сеансов удаленных рабочих столов (RDSH)

    В основом пользуюусь данной инструкцией с сайта microsoft

    Подключаюсь пользователем к term1, он попал на term3
    Пытаюсь под ним же зайти еще раз с другого мееста, получаю ошибку:
    «Удаленный компьютер srv-term1, попытка подключения к которому выполняется, перенаправляет вас на удаленный компьютер srv-term3. Подключение к удаленному
    рабочему столу не может проверить принадлежность компьютеров к одной ферме серверов узла сеансов удаленных рабочих столов. При подключении к ферме серверов узла сеансов удаленных рабочих столов необходимо использовать имя
    фермы, а не имя компьютера.»

    Что никак не могу понять:
    1. нигде во время настройки я не встречал указаний ввести имя фермы. Где его указать или посмотреть? В 2008 была консоль, там все прописывал и указвал
    что телефон в этой ферме.

    2. много где в блогах пишут про настройку DNS RoundRobin, не пойму нужен ли он в моем случае? у меня же один брокер, а вроде как RoundRobin это как
    бы предоставление возможности подключаться то к оному то ко второму брокеру(н если их несколько).

Ответы

  • В общем работает. Спасибо за помощь товарищи.
    Вот эта тема(HKLMSYSTEMCurrentControlSetControlTerminalServerClusterSettings
    DefaultTsvUrl RegSZ  tsv://MS Terminal Services Plugin.1.SalesSessionCollection)  достаточно важная получается.

    Странно, что это во многих хелпах опускается и замалчивается. Как будто это само собой разумеется)

    Итого:
    1. если брокер один, RR не надо
    2. RDP файл надо нацеливать на брокер(или общее имя брокеров если их несколько)
    3. Очень важно, либо в настройках RDP файла на клиенте, либо в реестре брокера указать в какую коллекцию отправлять клиента. Потому как без этого брокер думает что клиент хочет войти непосредственно на него самого, а не на какой либо RDSH.

    • Помечено в качестве ответа

      9 октября 2020 г. 8:34

  • Итого:

    3. Очень важно, либо в настройках RDP файла на клиенте, либо в реестре брокера указать в какую коллекцию отправлять клиента. Потому как без этого брокер думает что клиент хочет войти непосредственно на него самого, а не на какой либо RDSH.

    Дмитрий, не подскажете, ГДЕ и КАК указать в настройках RDP-файла имя коллекции с учетом указания в качестве цели именно Connection Broker’a? У меня несколько коллекций используется, но не могу найти информацию, где
    нужная коллекция указывается в файле подключения

    use redirection server name:i:1 
    loadbalanceinfo:s:tsv://MS Terminal Services Plugin.1.RDS

    • Помечено в качестве ответа
      Vector BCOModerator
      26 апреля 2021 г. 7:01
  • 1 документация на русском регулярно заводит в ступор даже самых бывалых экспертов, хотите меньше проблем — пользуйтесь англоязычной

    2 документация часто разбросана по сети и чтоб понять что описано в фрагменте, а что не упоминалось приходится тратить дни а нередко и недели прежде чем придет осознание

    3 есть вагон гайдов про настройку терминальных серверов и ферм под заголовком «step by step» где авторы уже для вас собрали все необходимое в одном месте.

    Вот пример, в котором в разделе 6 описана настройка брокеров. Там же в разделе 6, на одной из картинок в нач але коллега создает имя фермы в dns, после чего прописывает его в мастере. Таких гайдов можно найти много.

    Часто гайды создают на прерилизных ОС, поэтому все прочитанное стоит перепроверять на практике. Вы правы в том что при настройке фермы с одним брокером, нет имени фермы, но в таком случае и брокер должен стоят
    на отдельной машине как говорил Андрей

    Линк по теме


    The opinion expressed by me is not an official position of Microsoft

    • Изменено
      Vector BCOModerator
      29 сентября 2020 г. 1:41
    • Предложено в качестве ответа
      Petko KrushevMicrosoft contingent staff, Owner
      1 октября 2020 г. 7:21
    • Помечено в качестве ответа
      Petko KrushevMicrosoft contingent staff, Owner
      9 октября 2020 г. 8:34

These days I’m trying in depth Windows Server 2019. Today I chose to pay attention to Remote Desktop Services. The goal of my lab is to deploy a RDS Farm with all components and with the new HTML5 Remote Desktop Client. Even though I’m running my lab on Windows Server 2019, you can also deploy the HTML5 client on Windows Server 2016. In this topic, I wanted to share with you the steps I followed to deploy the Windows Server 2019 RDS farm.

Requirements

To make this lab, I have deployed four virtual machines which are running Windows Server 2019:

  • RDS-APP-01: RD Host Server that hosts the RemoteApp collection
  • RDS-DKP-01: RD Host Server that hosts the Remote Desktop collection
  • RDS-BRK-01: Hosts RD Broker and RD Licensing
  • RDS-WEB-01: Hosts RD Web Access and RD Gateway

Then I have a public certificate for RD Web Access and RD Gateway role:

I have also a private certificate for RD Broker publishing and RD Broker connection. To create this certificate, I duplicated the Workstation Authentication ADCS template as described in this topic.

I have register both certificates in PFX (with private key) and in cer (just the public certificate).

Finally, I have two DNS zone:

  • SeromIT.local: Active Directory forest zone
  • SeromIT.com: splitted zone: hosted by local domain controllers and by public provider. I use this zone to connect from Internet. In this zone I have created two registrations:

    • Apps.SeromIT.com: leading to RDS-WEB-01 (CNAME)
    • RDS-GW.SeromIT.com: leading to RDS-BRK-01 (CNAME) for the gateway

RDS farm deployment

To deploy the RDS farm, I use only PowerShell. In this way I can reproduce the deployment for other customers. First of all, I run a Remote Desktop deployment to configure a RD Web Access, a RD Broker and a RD Host Server:

New-RDSessionDeployment -ConnectionBroker RDS-BRK-01.SeromIT.local `
                        -SessionHost RDS-DKP-01.SeromIT.local `
                        -WebAccessServer RDS-WEB-01.SeromIT.local

Then I run a PowerShell cmdlet to add another RD Host Server, a RD Licensing and a RD Gateway role.

Add-RDServer -Server RDS-APP-01.SeromIT.local `
             -Role RDS-RD-SERVER `
             -ConnectionBroker RDS-BRK-01.SeromIT.local

Add-RDServer -Server RDS-BRK-01.SeromIT.local `
             -Role RDS-Licensing `
             -ConnectionBroker RDS-BRK-01.SeromIT.local

Add-RDServer -Server RDS-WEB-01.SeromIT.local `
             -Role RDS-Gateway `
             -ConnectionBroker RDS-BRK-01.SeromIT.local `
             -GatewayExternalFqdn RDS-GW.SeromIT.com

Once these commands are run, the role deployment is finished:

Now we can configure the certificates.

Certificate configuration

To configure each certificate, I use again PowerShell. Remember, I have store both certificates in PFX in C:tempRDS of my broker server.

$Password = Read-Host -AsSecureString
$Password = Read-Host -AsSecureString
Set-RDCertificate -Role RDGateway `
                  -ImportPath C:tempRDSwildcard_SeromIT_com.pfx `
                  -Password $Password `
                  -ConnectionBroker RDS-BRK-01.SeromIT.local `
                  -Force

Set-RDCertificate -Role RDWebAccess `
                  -ImportPath C:tempRDSwildcard_SeromIT_com.pfx `
                  -Password $Password `
                  -ConnectionBroker RDS-BRK-01.SeromIT.local `
                  -Force

Set-RDCertificate -Role RDPublishing `
                  -ImportPath C:tempRDSBroker.pfx `
                  -Password $Password `
                  -ConnectionBroker RDS-BRK-01.SeromIT.local `
                  -Force

Set-RDCertificate -Role RDRedirector `
                  -ImportPath C:tempRDSBroker.pfx `
                  -Password $Password `
                  -ConnectionBroker RDS-BRK-01.SeromIT.local `
                  -Force

Once these commands are executed, the certificate are installed for each role:

Collection creation

Now I create a collection to add resources inside the RD Web Access portal:

New-RDSessionCollection -CollectionName Desktop `
                        -CollectionDescription "Desktop Publication" `
                        -SessionHost RDS-DKP-01.SeromIT.local `
                        -ConnectionBroker RDS-BRK-01.SeromIT.local

Then from Server Manager, you can configure settings of this collection:

Enable HTML 5 Remote Desktop client

In this lab, I don’t want to use the legacy portal. I’d like to use the super cool new HTML5 RD client. To enable this client, I connect to the server hosting RD Web Access role and I run the following cmdlet:

Install-Module -Name PowerShellGet -Force -Confirm:$False

After, close and open again a PowerShell window. Then execute this command:

Install-Module -Name RDWebClientManagement -Confirm:$False

Then copy the RD Broker certificate in cer format into the RD Web Access server and run the following cmdlets:

Import-RDWebClientBrokerCert c:tempbroker.cer

Install-RDWebClientPackage
Publish-RDWebClientPackage -Type Production -Latest

Now you can connect to the RD Web client by using the following URL: https:///RDWeb/WebClient/Index.html. In my example, I connect to https://apps.SeromIT.com/RDWeb/WebClient/Index.html.

Conclusion

I like the RD Web client for several reasons. First, you can connect to a RDS session from a HTML5 ready web browser. You don’t need anymore a compatible RD client and you can connect from several devices such as Mac, a Linux device or maybe a tablet or smartphone. Secondly, the HTML5 client doesn’t require settings for SSO like we did with the legacy portal. The deployment is easier as before. And finally I found this client more user friendly than the legacy portal. The only thing missing is the ability to enable the HTML5 client by a single click or PowerShell cmdlet, or to enable it by default.

Установка службы удаленных рабочих столов (RDS) на Windows Server 2019 состоит из многих шагов, но в действительности это очень просто. Из статьи вы узнаете о том, как установить эту службу в доменной среде, которая требует наличия двух серверов.

Предварительные условия

Перед началом установки RDS необходимо убедиться, что выполняются два требования,  а именно:

  • все серверы подключены к домену;
  • есть по крайней мере два доступных сервера.

Необходимо, чтобы было именно два сервера, так как для роли RD Licensing, согласно лучшим практикам Microsoft, требуется отдельный сервер. В данной инструкции мы будем использовать для этой роли контроллер домена, что не вполне соответствует лучшим практикам, но мы делаем это, чтобы упростить демонстрационную установку.

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

Для начала мы добавим к основному RDS-серверу следующие роли:

  • RD Connection Broker (Посредник подключений к удаленному рабочему столу);
  • RD Web Access (Веб-доступ к удаленным рабочим столам);
  • RD Session Host (Узел сеансов удаленных рабочих столов).

Пошаговая установка

  1. В диспетчере сервера на основном RDS-сервере, на котором выполняется установка, откройте Add Roles and Features Wizard (мастер добавления ролей и компонентов) и выберите Remote Desktop Services installation(установку службы удаленных рабочих столов).

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

3. Далее мы выбираем Session-based desktop deployment (Установка рабочих столов на основе сеансов), так как это стандартная модель подключения к удаленным приложениям и удаленным рабочим столам, используемая в большинстве установок RDS.

4. В разделе Server Selection (Выбор сервера), выберите сервер, на который мы устанавливаем RDS.

5. Чтобы начать установку, выберите Restart the destination server automatically if required (Автоматический перезапуск конечного сервера в случае необходимости) и кликните на Deploy (Установить).

6. Проверьте, что все роли успешно установлены перед тем, как переходить к следующим шагам.

Добавление дополнительного сервера

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

  1. Чтобы добавить дополнительный сервер, кликните правой кнопкой мыши на All Servers (Все серверы), выберите Add Servers (Добавление серверов), а затем выберите нужный сервер в Active Directory.

2. Перейдите на экран Remote Desktop Services (Службы удаленных рабочих столов) и кликните на зеленом плюсе над RD Licensing (Лицензирование удаленных рабочих столов).

3. Откроется окно Add RD Licensing Servers (Добавление серверов лицензирования удаленных рабочих столов), в котором вы сможете выбрать дополнительный сервер для роли RD Licensing.

4. Кликните на Add (Добавление), чтобы установить роль на дополнительный сервер.

5. Убедитесь, что установка завершена и зеленый плюс над RD Licensing заменен на соответствующий значок.

Добавление роли RD Gateway Role

Теперь нам нужно добавить RD Gateway Role (роль службы шлюза удаленных рабочих столов) к основному RDS-серверу.

  1. На экране Remote Desktop Services (Службы удаленных рабочих столов) кликните на зеленом плюсе над RD Gateway (Шлюз удаленных рабочих столов).
  2. Выберите основной RDS-сервер для установки этой роли.

3. Присвойте самоподписанному SSL-сертификату полное доменное имя.

4. Кликните Next и потом Add, чтобы установить роль на основной RDS-сервер.

Настройка параметров установки

Теперь, когда все роли установлены, можно перейти к настройке параметров установки.

  1. Откройте экран Remote Desktop Services и в выпадающем списке Tasks (Задания) кликните на Edit Deployment Properties (Редактирование параметров установки).

2. На экране RD Gateway оставьте настройки по умолчанию и кликните на пункте меню RD Licensing.

3. Выберите Per User (По количеству пользователей) на экране RD Licensing. Вы можете выбрать любую из двух опций, но в целях обучения мы выбираем Per User.

4. Обратите внимание на URL на экране RD Web Access (Веб-доступ к удаленным рабочим столам). Позже мы будем его использовать для доступа к установленным приложениям.

5. В целях тестирования можно оставить сертификаты как Not Configured (Не сконфигурированные) и нажать OK, чтобы сохранить параметры установки. 

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

Верификация службы удаленных рабочих столов

По умолчанию после установки создается QuickSessionCollection, куда входят Calculator, WordPad и Paint в качестве удаленных приложений. Мы можем использовать это для тестирования установки RDP.

  1. Для тестирования IIS перейдите по ссылке, представленной на экране RD Web Access, или используйте https://localhost/rdweb/, если вы находитесь на RDP-сервере.

2. Подключитесь к сеансу IIS RDS с помощью доменной учетной записи.

3. Запустите удаленное соединение: то, которое вы сконфигурировали, или удаленное приложение по умолчанию.

Установка службы удаленных рабочих столов может состоять из многих шагов, но после изначальной настройки ее легко конфигурировать и использовать. Удаленные приложения обеспечивают значительную гибкость, как и возможность настраивать коллекции RDP-подключений для предложения их пользователям.

На чтение 2 мин. Просмотров 147 Опубликовано 26.01.2021

Содержание

В «небольшой» среде можно развернуть среду удаленного рабочего стола (RDS) на одном сервере . В руководстве: Развертывание сервера RDS – служба удаленного рабочего стола объясняется, как это сделать.

В этом руководстве мы увидим, как настроить ферма RDS в Windows 2012R2/2016/2019 со следующими функциями:

  • Узел сеанса удаленного рабочего стола (x2)
  • Сервисный брокер для распространения подключений
  • Настройка коллекции
  • Публикация RemoteApp на веб-портале
  • Шлюз удаленных рабочих столов
  • Диск профиля пользователя (UPD)

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

Состав:

Имя IP Роли
LAB-RDS1.rdr-it.intra 172.16.0.184 Узел сеанса удаленного рабочего стола
LAB-RDS2.rdr-it.intra 172.16.0.185 Узел сеанса удаленного рабочего стола
LAB-RDS-BRK.rdr-it. intra 172.16.0.186 Service Broker/License Manager
LAB-RDS-GW -WEB.rdr-it.intra 172.16.0.187 Шлюз удаленного рабочего стола/веб-доступа

Для реализации руководства я использовал сервер AD, LAB -AD1.rdr.it.intra с IP-адресом 172.16.0.100. DC используется для хранения UPD.

Определения ролей сервера, которые являются частью фермы RDS.

Узел сеанса удаленного рабочего стола: на этих серверах сеансы пользователя открыты и позволить им работать.

Сервисный брокер: это агент распространения для сеансов в среде с несколькими хостами сеансов удаленных рабочих столов.

Шлюз удаленного рабочего стола: его основной роль заключается в обеспечении безопасного доступа к инфраструктуре RDS из Интернета. Он подключается к ферме с помощью HTTPS и фильтрует подключения с помощью политики доступа.

Web Access: публикует веб-портал, который позволяет получать доступ к приложениям через RemoteApp через Интернет-браузер. Эта роль также используется для доступа к RemoteApp для клиентов Windows. Через этот портал также можно поставить изменение пароля для пользователей.

Менеджер лицензий: эта служба используется для распространения лицензий (CAL RDS).

Учебное пособие было создано под Windows 2012R2. Развертывание фермы RDS под Windows 2016 и 2019 практически идентично.

Для установки и настройки роли RemoteApp, имеем подготовленный сервер с операционной системой Windows Server 2019, на котором будем производить нижеописанные действия.

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

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

Обращаем внимание перед установкой роли на предупреждение → далее.

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

Устанавливаем чекбокс Cтандартное развертывание → далее.

Устанавливаем чекбокс Развертывание рабочих столов на основе сеансов → далее.

Выбираем сервер, на который будут установлены службы роли посредника → далее.

Устанавливаем чекбокс Установить службы роли веб-доступа к удаленным рабочим столам на сервере посредника подключений к удаленному рабочему столу → далее.

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

Устанавливаем чекбокс Автоматически перезапускать конечный сервер, если это потребуется → развернуть.

Закрываем установку после завершения и перезагружаем сервер.

Завершение установки

Рисунок 1 — Завершение установки

Создание коллекции сеансов

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

Нажимаем далее → Указываем имя коллекции → Выбираем наш сервер → Выбираем группу пользователей для доступа к коллекции → Снимаем чекбокс с включить диски профилей пользователей → Нажимаем создать → закрыть.

Выбираем нашу коллекцию и нажимаем публикация удаленных приложений RemoteApp.

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

Проверка публикации RemoteApp

Переходим в браузере по адресу https://localhost/rdweb и выбираем приложение.

После сохранения файла RDP, можем заходить в него под пользователем.

RemoteApp

Рисунок 2 — Выбор опубликованного приложения

RemoteApp

Рисунок 3 — Проверка работоспособности RemoteApp

Нужна помощь? Наша компания может оказать помощь в реализации ИТ-задач, для этого напишите в чат. Также мы предоставляем готовый сервер с RemoteApp-приложениями, например, с различными конфигурациями 1С.

  • Фигма скачать для windows 7 32 bit
  • Фень юань программирование графики для windows диск
  • Фейсит античит выдает ошибку please run windows update to keep using faceit ac
  • Фейсит античит ошибка your system has been patched against critical windows
  • Фейковый синий экран смерти windows 10