Настройка 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 деплоится в cluster, а 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 — главная проблема?
RDS требует две лицензии: стандартная серверная и отдельные RDS CAL (Client Access License) — по одной на каждого пользователя или устройство. Без RDS CAL сервер работает 120 дней в grace period, затем подключения прекращаются. Ошибка No Remote Desktop License Servers available появляется именно из-за неправильно настроенного лицензирования. Переход на RemoteApp позволяет снизить количество необходимых CAL, так как приложение публикуется, а не весь рабочий стол.
# Установить роль 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-файл на сетевом ресурсе, который монтируется при входе.
| Параметр | 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 10UPD-файлы хранятся как 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?
Мы предоставляем полный цикл услуг:
- Аудит текущей инфраструктуры и требований по нагрузке
- Проектирование архитектуры: один сервер или ферма с балансировкой
- Установка и настройка всех ролей RDS (RDSH, RDCB, RDWA, RD Licensing)
- Настройка лицензирования (Per User/Per Device, активация License Server)
- Внедрение User Profile Disks для бесшовного роуминга
- Публикация приложений через RemoteApp
- Настройка GPO для безопасности и производительности
- Миграция с существующей RDS-фермы или рабочих станций
- Оптимизация производительности RDS (настройка таймаутов, кэширование, тюнинг параметров)
- Документирование схемы и инструкции для администраторов
- Пост-проектная поддержка (неделя включена)
Наша команда имеет опыт в развёртывании более чем 50 RDS-проектов. Закажите аудит вашей инфраструктуры для оценки текущего состояния и требуемых ресурсов.
Сроки и стоимость
| Сценарий | Сроки |
|---|---|
| Один RDSH, до 20 пользователей | 2–3 дня |
| Ферма (RDSH + RDCB + RDWA), до 100 пользователей | 4–7 дней |
| Миграция с существующей RDS-фермы | 5–10 дней |
| Аудит и проектирование архитектуры | 1–2 дня |
| Оптимизация производительности RDS | 3–5 дней |
Стоимость рассчитывается индивидуально после аудита. Свяжитесь с нами — мы оценим вашу инфраструктуру и предложим оптимальное решение. Подробную спецификацию ролей RDS можно найти в официальной документации Microsoft. Получите консультацию по лицензированию RDS и экономии на CAL.







