*КУБ - повний комплекс хмарних послуг!

Як підключити та налаштувати Remote Desktop Services (RDS)

How to connect and configure Remote Desktop Services (RDS)

Що таке RDS і які ролі потрібні

Remote Desktop Services — набір ролей Windows Server для публікації повних робочих столів і додатків (RemoteApp) на серверних хостах (RD Session Host), з балансуванням і перепідключенням сеансів через RD Connection Broker, веб-порталом RD Web Access, при необхідності зовнішнім шлюзом RD Gateway і окремою службою RD Licensing (CAL для користувачів/пристроїв).

Мінімальний стенд (приклад):

  • 2× RD Session Host (сеансові хости)
  • 1× менеджер з ролями RD Connection Broker + RD Web Access + RD Licensing (для пілота ролі можна поєднати на одному сервері)

Попередньо в AD:

  • Всі сервери додані в один домен і поміщені в одну OU;
  • Створена група (наприклад, rdsh-servers) і додані туди всі RDSH;
  • Під мережеві профілі користувачів (опціонально) підготовлено загальний каталог для User Profile Disks (UPD).

Встановлення RDS через Server Manager (Standard deployment)

Відкрийте Server Manager, додайте в пул всі сервери (All Servers → Add Servers):

1 windows VPS

Запустіть майстер: Add Roles and Features → Remote Desktop Services installation → Standard deployment → Session-based deployment.

2 windows VPS

Призначте ролі по серверах (приклад нижче: RDCB+RDWA на менеджері, RDSH на всіх вузлах):

3 windows VPS

Підтвердьте і дочекайтеся розгортання:

Після встановлення відкрийте Server Manager → Remote Desktop Services → Overview:

5 windows VPS

У Tasks → Edit Deployment Properties задайте:

  • Сервер ліцензування і режим RDS CAL (Per User або Per Device);
  • URL RD Web Access;
  • (Пізніше) SSL-сертифікати для RDGW/RDWeb/Publishing/Redirector.

Для ізольованого сценарію (без брокера/веба, на одиночному хості) див. варіант Standalone RDSH (робота в робочій групі).

Створюємо колекцію сеансів і підключаємо користувачів

Перейдіть Remote Desktop Services → Collections → Tasks → Create Session Collection:

Додайте хости RD Session Host до колекції:

7 windows VPS

Вкажіть групи користувачів (видаліть Domain Users, додайте свої, наприклад RDS-Users) і, якщо потрібно, увімкніть User Profile Disks. Далі — Create.

Щоб редагувати параметри, відкрийте властивості колекції (Tasks → Edit Properties):

8 windows VPS

Тут же публікуються RemoteApp (додатки) і задаються ліміти сеансів (тайм-аути активних/роз’єднаних сесій). Про тайм-аути є хороший розбір з картинками.

Сертифікати та HTTPS для RDS-ролей (коротко)

Щоб прибрати попередження про небезпечне підключення та увімкнути SSO, призначте коректні SSL-сертифікати для ролей:

  • RD Gateway, RD Web Access, RD Publishing, RD Redirector.

Через PowerShell (приклад для єдиного PFX та брокера $RDSCB):

				
					$RDSCB = "msk-rdsman.contoso.local"
$Path  = "C:\certs\rds-cert.pfx"
$Pwd   = ConvertTo-SecureString "StrongPfxPassword!" -AsPlainText -Force

Set-RDCertificate -Role RDGateway    -ImportPath $Path -Password $Pwd -ConnectionBroker $RDSCB -Force
Set-RDCertificate -Role RDWebAccess  -ImportPath $Path -Password $Pwd -ConnectionBroker $RDSCB -Force
Set-RDCertificate -Role RDPublishing -ImportPath $Path -Password $Pwd -ConnectionBroker $RDSCB -Force
Set-RDCertificate -Role RDRedirector -ImportPath $Path -Password $Pwd -ConnectionBroker $RDSCB -Force

Get-RDCertificate
				
			

Зовнішній доступ без VPN безпечніше здійснювати через RD Gateway (розгортається окремо; є докладний гайд).

Ліцензування (RDS CAL)

Встановіть роль Remote Desktop Licensing (можна на брокера), активуйте сервер ліцензій і вкажіть в налаштуваннях розгортання адресу цього сервера і режим ліцензій (Per User/Per Device). Параметри задаються в Edit Deployment Properties → RD Licensing.

Корисно пам’ятати обмеження: звичайний Windows Server без RDS дає тільки 2 адміністративні RDP-підключення; повноцінні сесії користувачів вимагають RDS CAL.

Публікація додатків (RemoteApp) і доступ

Публікуйте додатки у властивостях колекції (RemoteApp Programs → Publish) або через PowerShell:

				
					New-RDRemoteApp -Alias "Chrome" -DisplayName "Google Chrome" `
  -FilePath "C:\Program Files\Google\Chrome\Application\chrome.exe" `
  -ShowInWebAccess 1 -CollectionName "General" -ConnectionBroker $RDSCB
				
			

Користувачі можуть заходити через:

  • RD Web Access (веб-портал),
  • ярлики .rdp/RemoteApp,
  • або безпосередньо на FQDN ферми (якщо налаштований брокер і DNS запис).

Швидке розгортання RDS ферми PowerShell (з нуля)

Нижче — скорочений приклад: створення колекції, призначення груп, публікація RemoteApp. (Розгортання ролей — через GUI, як вище, або автоматизацією за вашим стандартом.)

				
					$RDSCB = "msk-rdsman.contoso.local"
$RDSH1 = "msk-rds1.contoso.local"
$RDSH2 = "msk-rds2.contoso.local"

# Колекція
New-RDSessionCollection `
  -CollectionName "General" `
  -SessionHost $RDSH1,$RDSH2 `
  -ConnectionBroker $RDSCB `
  -CollectionDescription "General users"

# Доступ
$Groups = @("CONTOSO\RDS-Users","CONTOSO\ServiceDesk")
Set-RDSessionCollectionConfiguration -CollectionName "General" -UserGroup $Groups

# Публікація додатка
New-RDRemoteApp -Alias "WordPad" -DisplayName "WordPad" `
  -FilePath "C:\Program Files\Windows NT\Accessories\wordpad.exe" `
  -ShowInWebAccess 1 -CollectionName "General" -ConnectionBroker $RDSCB
				
			

Мережа, брандмауер і діагностика

Відкрийте порти на Windows Firewall і зовнішньому ACL провайдера Windows VPS:

  • RD Web: 443/TCP
  • RD Gateway: 443/TCP
  • RDP до RDSH через брокера: 3389/TCP (+ 3389/UDP для покращеної графіки)
  • Міжсерверні з’єднання брокера/SQL — згідно з вашою схемою

Швидкі перевірки з клієнта:

				
					Test-NetConnection rds.contoso.ru -Port 443   # RDWeb/RDGW
Test-NetConnection rds.contoso.ru -Port 3389  # RDP (якщо публікуєте безпосередньо)
				
			

Про «зависання»/чорний екран при UDP-транспорті RDP є окремий розбір.

Часті проблеми та швидкі рішення

  • Користувач не потрапляє до колекції. Перевірте, чи він у потрібній групі доступу до колекції (а не просто в Domain Users).
  • Не видно брокера/помилки перепідключення. Перевірте DNS запис ферми, доступність бази брокера і відповідні порти; для HA у брокера — Always On у SQL.
  • Сесії не завершуються/висять. Налаштуйте ліміти (таймаути) для активних/роз’єднаних сесій на вкладці Session колекції.

Потрібен безпечний зовнішній доступ. Розгортайте RD Gateway (HTTPS, політики доступу, сертифікат).