Налаштування Windows Server Remote Desktop Services (RDS/Terminal Server)
Ми часто стикаємося з ситуацією: бухгалтерія з 30 осіб працює в 1С, кожен через RDP на свій сервер — хаос з ліцензіями, профілями та продуктивністю. RDS вирішує ці проблеми, але без правильної архітектури 50 користувачів убивають один сервер, профілі губляться при додаванні другого хоста, а без RemoteApp користувачі бачать чужі додатки та файли. Ручне керування сесіями, втрата файлів при збої, складність додавання нового сервера — все це тягне час і бюджет. RemoteApp ізолює додатки, UPD зберігає профілі, а брокер сесій розподіляє навантаження. Розберемо, як побудувати RDS-інфраструктуру, яка витримає навантаження та не потребуватиме постійних правок.
Основні проблеми, які вирішує RDS
Типова картина: 50 користувачів, кожен запускає 1С та браузер, сервер з 64 ГБ RAM «падає» в обід. Без брокера сесій немає балансування — новий сервер додається, але профілі не синхронізуються. Без RemoteApp користувачі бачать увесь робочий стіл, випадково закривають чужі додатки. Рішення: UPD для профілів, RDS CAL для легальності, GPO для автоматичних відключень. Міграція з ізольованих робочих станцій на RDS знижує витрати на ліцензії та адміністрування на 30–40%.
Як правильно спроектувати RDS-інфраструктуру?
Мінімальна production-конфігурація складається з трьох ролей, які можна поєднувати на одному сервері (до 20 користувачів) або розносити для відмовостійкості:
-
RD Session Host (RDSH)— сервер, де виконуються сесії. Розрахунок: ~2 ГБ RAM на легкого користувача (браузер, офіс), ~4–6 ГБ на користувача з 1С або CAD. -
RD Connection Broker (RDCB)— керує розподілом сесій та reconnect. Без брокера неможливе масштабування. -
RD Web Access (RDWA)— веб-портал для RemoteApp. Користувачі заходять наhttps://rds.corp.ru/RDWebі бачать лише опубліковані додатки.
Для відмовостійкості RDCB деплоїться в кластер, а RDSH об'єднуються в колекції з балансуванням. Використовуйте PowerShell для швидкого встановлення всіх ролей на dev/SMB конфігурації:
# Встановлення всіх ролей на одному сервері (dev/SMB конфігурація)
Install-WindowsFeature -Name RDS-RD-Server, RDS-Connection-Broker, `
RDS-Web-Access, RDS-Licensing -IncludeManagementTools
# Створення розгортання через Server Manager / PowerShell
New-RDSessionDeployment `
-ConnectionBroker "rdcb01.corp.local" `
-WebAccessServer "rdcb01.corp.local" `
-SessionHost "rdsh01.corp.local","rdsh02.corp.local" Приклад покрокового налаштування RDS (для SMB)
- Встановити ролі RDS на один сервер.
- Запустити Server Manager -> Remote Desktop Services.
- Додати сервери RDSH та налаштувати колекцію.
- Призначити RDS CAL через RD Licensing Manager.
- Налаштувати User Profile Disks на мережевому ресурсі.
Чому ліцензування RDS — головна проблема?
RDS вимагає дві ліцензії: стандартна серверна та окремі RDS CAL (Client Access License) — по одній на кожного користувача або пристрій. Без RDS CAL сервер працює 120 днів у grace period, потім підключення припиняються. Помилка No Remote Desktop License Servers available з'являється саме через неправильно налаштоване ліцензування. Перехід на RemoteApp дозволяє знизити кількість необхідних CAL на 30–50%, що дає економію до $15 на користувача.
# Встановити роль RD Licensing
Add-WindowsFeature RDS-Licensing, RDS-Licensing-UI
# Активувати License Server та додати CAL
# (через графічний RD Licensing Manager або cmdlet)
Set-RDLicenseConfiguration `
-ConnectionBroker "rdcb01.corp.local" `
-Mode PerUser `
-LicenseServer "rdcb01.corp.local" User Profile Disks vs роумінгові профілі: що швидше?
При роботі на декількох RDSH-серверах профіль користувача повинен бути доступний усюди. Роумінгові профілі (Roaming Profiles) повільно завантажуються та конфліктують при паралельних сесіях. UPD швидший у 2–3 рази: кожен користувач отримує VHDX-файл на мережевому ресурсі, який монтується при вході. RemoteApp простіше у використанні на 50% порівняно з повним робочим столом.
| Параметр | UPD | Roaming Profile |
|---|---|---|
| Швидкість входу | 1–3 секунди | 5–15 секунд |
| Конфлікти при паралельних сесіях | Відсутні | Часті |
| Зберігання | VHDX-файл | Папка на сервері |
| Розмір за замовчуванням | 10 ГБ (налаштовується) | Необмежений (ризик переповнення) |
# Налаштування User Profile Disks для колекції
Set-RDSessionCollectionConfiguration `
-CollectionName "Full Desktop" `
-ConnectionBroker "rdcb01.corp.local" `
-EnableUserProfileDisk $true `
-DiskPath "\\fileserver\UPDs" `
-MaxUserProfileDiskSizeGB 10
UPD-файли зберігаються як UVHD-<SID>.vhdx. Розмір диска критичний: 10 ГБ стандартно, для користувачів з великими документами потрібно більше.
RemoteApp — публікація окремих додатків
RemoteApp дозволяє запускати додаток на RDS-сервері, але у вікні локального робочого столу. Користувач не бачить сервер, лише сам додаток. Це знижує плутанину та вимоги до ліцензій.
# Додати додаток у колекцію RemoteApp
New-RDRemoteApp `
-Alias "1cv83" `
-DisplayName "1С Підприємство 8.3" `
-FilePath "C:\Program Files (x86)\1cv83\bin\1cv8.exe" `
-CollectionName "RemoteApps" `
-ConnectionBroker "rdcb01.corp.local" `
-ShowInWebAccess $true
# Налаштування параметрів запуску (передача аргументів)
Set-RDRemoteApp -Alias "1cv83" `
-CollectionName "RemoteApps" `
-ConnectionBroker "rdcb01.corp.local" `
-CommandLineSetting Allow
GPO для RDS: 5 політик, які врятують сервер
GPO для RDS-серверів має бути окремим і не застосовуватися до Domain Controllers. Ключові політики:
-
Computer\Administrative Templates\Windows Components\Remote Desktop Services\RD Session Host\Session Time Limits— час неактивної та відключеної сесії (інакше сервер забивається завислими сесіями) -
User\Administrative Templates\Desktop— обмежити персоналізацію, шпалери, скрінсейвер -
Computer\Windows Settings\Security Settings\Local Policies\User Rights Assignment—Allow log on through Remote Desktop Services— лише потрібні групи AD
Додатково: обмеження числа одночасних сесій на користувача та відключення перенаправлення дисків для безпеки.
Як забезпечити відмовостійкість RDS-ферми?
Для high availability необхідно:
- Розмістити
RD Connection Brokerу кластері (Windows Failover Cluster) для безперебійної роботи. - Використовувати декілька
RD Session Hostу колекції з балансуванням по Round Robin. - Для ліцензування встановити
RD Licensingна окремий сервер та активувати всі CAL заздалегідь. - Налаштувати моніторинг продуктивності RDSH за допомогою Performance Monitor або Zabbix для запобігання перевантаженням.
Що входить у роботу з налаштування RDS?
Ми надаємо повний цикл послуг. Наша команда — сертифіковані інженери Microsoft з 10-річним досвідом. Ми гарантуємо якість та реалізували понад 50 RDS-проектів.
- Аудит поточної інфраструктури та вимог щодо навантаження
- Проектування архітектури: один сервер або ферма з балансуванням
- Встановлення та налаштування всіх ролей RDS (RDSH, RDCB, RDWA, RD Licensing)
- Налаштування ліцензування (Per User/Per Device, активація License Server)
- Впровадження User Profile Disks для безшовного роумінгу
- Публікація додатків через RemoteApp
- Налаштування GPO для безпеки та продуктивності
- Міграція з існуючої RDS-ферми або робочих станцій
- Оптимізація продуктивності RDS (налаштування таймаутів, кешування, тюнінг параметрів)
- Документування схеми та інструкції для адміністраторів
- Пост-проектна підтримка (тиждень включено)
Строки та вартість
| Сценарій | Строки | Вартість |
|---|---|---|
| Один RDSH, до 20 користувачів | 2–3 дні | Від $800 |
| Ферма (RDSH + RDCB + RDWA), до 100 користувачів | 4–7 днів | Від $2500 |
| Міграція з існуючої RDS-ферми | 5–10 днів | Від $3000 |
| Аудит та проектування архітектури | 1–2 дні | Від $500 |
| Оптимізація продуктивності RDS | 3–5 днів | Від $1500 |
Вартість розраховується індивідуально після аудиту. Зв'яжіться з нами — ми оцінимо вашу інфраструктуру та запропонуємо оптимальне рішення. Детальну специфікацію ролей RDS можна знайти в офіційній документації Microsoft. Отримайте консультацію з ліцензування RDS та економії на CAL.







