Терминальный сервер Windows Server: настройка для офиса

терминальный сервер Windows Server настройка для офиса

Терминальный сервер (Remote Desktop Services) в Windows Server позволяет нескольким пользователям одновременно работать на одном сервере через удалённый рабочий стол. Каждый получает свой изолированный рабочий стол с приложениями, а вся вычислительная нагрузка ложится на сервер, а не на пользовательские устройства.

Зачем нужен терминальный сервер

Короче, представьте офис. 30 человек работают в 1С, Excel и Word. Каждому нужен компьютер, способный тянуть эти программы. 30 компьютеров. 30 лицензий Windows. 30 установок 1С. Обновления на каждом. Антивирус на каждом.

А теперь представьте: один мощный сервер, на котором установлены все программы. 30 пользователей подключаются к нему через тонкие клиенты (или старые ноутбуки, или даже планшеты). Все работают с одними и теми же приложениями. Обновлять нужно только сервер. Антивирус один. Бэкап один.

Вот в чём прикол терминального сервера. Централизация. Экономия. Простота обслуживания.

Мой знакомый Николай работает IT-директором в бухгалтерской аутсорсинговой компании. У них 45 бухгалтеров, и все работают в 1С. Раньше 1С стояла на каждом компе. Обновления 1С это отдельная боль (кстати, кто работал с 1С, тот знает, что обновления конфигураций выходят чуть ли не каждую неделю). После перехода на терминальный сервер (Dell PowerEdge R750xs с двумя Xeon Gold 6342, 256 ГБ RAM, SSD NVMe) обновлять нужно только сервер. Один раз. По факту, Николай сэкономил 20 часов в месяц на обслуживании.

Компоненты RDS

Тут такое дело. Терминальный сервер это не одна роль, а набор компонентов. Разберём основные.

RD Session Host (RDSH). Собственно, сервер, на котором работают пользовательские сессии. Сюда устанавливаются приложения. Сюда подключаются пользователи.

RD Connection Broker. Распределяет подключения между несколькими Session Host серверами (если их больше одного). Следит за сессиями, обеспечивает переподключение к существующей сессии при обрыве связи.

RD Web Access. Веб-портал, через который пользователи могут запускать опубликованные приложения из браузера. Удобно для удалённого доступа.

RD Gateway. Позволяет подключаться к терминальному серверу через HTTPS из интернета без VPN.

RD Licensing. Сервер лицензирования RDS. Управляет клиентскими лицензиями RDS CAL.

Для небольшого офиса все эти роли можно поставить на один сервер. Для компании побольше лучше разнести по разным серверам.

Установка и базовая настройка

На самом деле, для маленького офиса можно обойтись упрощённой установкой.

# Установка роли Remote Desktop Session Host
Install-WindowsFeature RDS-RD-Server -IncludeManagementTools

# Установка роли RD Licensing (для управления лицензиями)
Install-WindowsFeature RDS-Licensing -IncludeManagementTools
Install-WindowsFeature RDS-Licensing-UI

# После установки потребуется перезагрузка
Restart-Computer

# После перезагрузки настройте лицензирование:
# Server Manager > Remote Desktop Services > RD Licensing Manager
# Активируйте сервер лицензирования и добавьте RDS CAL лицензии

Грубо говоря, после установки роли RDSH сервер начнёт принимать несколько одновременных RDP-подключений. Но без лицензий RDS CAL у вас есть только 120-дневный пробный период.

Полная установка через PowerShell

Для тех кто хочет всё автоматизировать, вот расширенный скрипт установки:

# Полная установка RDS с развёрнутой конфигурацией
# Запускать от имени администратора на будущем Session Host

# 1. Установка всех необходимых ролей
Install-WindowsFeature RDS-RD-Server, RDS-Licensing, RDS-Licensing-UI, RDS-Web-Access -IncludeManagementTools

# 2. Перезагрузка
Restart-Computer -Force

# 3. После перезагрузки - настройка лицензирования через реестр
Set-ItemProperty -Path "HKLM:SYSTEMCurrentControlSetControlTerminal ServerRCMLicensing Core" -Name "LicensingMode" -Value 4
# Значение 2 = Per Device, значение 4 = Per User

# 4. Указываем сервер лицензирования (если на том же сервере)
$hostname = $env:COMPUTERNAME
Set-ItemProperty -Path "HKLM:SYSTEMCurrentControlSetControlTerminal ServerRCMLicensing Core" -Name "LicenseServers" -Value $hostname

# 5. Проверяем статус установки
Get-WindowsFeature RDS* | Where-Object {$_.Installed -eq $true}

Лицензирование: это важно

Знаете что? Лицензирование терминального сервера это самая запутанная тема. Разберём по порядку.

Вам нужно:

  1. Лицензия Windows Server (Standard или Datacenter) для самого сервера
  2. Windows Server CAL (Client Access License) для каждого пользователя или устройства, подключающегося к серверу
  3. RDS CAL (Remote Desktop Services CAL) дополнительная лицензия для каждого пользователя или устройства, использующего RDS

RDS CAL бывают двух типов:

  • Per User (на пользователя). Лицензия привязана к пользователю. Он может подключаться с любого количества устройств. Подходит, если у сотрудников несколько устройств.
  • Per Device (на устройство). Лицензия привязана к устройству. С этого устройства может подключаться любое количество пользователей. Подходит для сменной работы (одно рабочее место, несколько смен).

Если честно, Per User обычно удобнее для офисов, где сотрудники могут подключаться и с рабочего ПК, и из дома.

Сколько стоит терминальный сервер: расчёт для офиса на 20 человек

Давайте посчитаем конкретно. Офис, 20 сотрудников, все работают в 1С и Office.

КомпонентКоличествоЗачем
Windows Server Standard1Операционная система сервера
Windows Server CAL (User)20Право подключения к серверу
RDS CAL (User)20Право на RDP-сессию
Microsoft Office1 (Volume)Устанавливается на сервере

Тут такое дело: без CAL и RDS CAL ваш сервер будет работать, но это нарушение лицензионного соглашения. При аудите Microsoft (а они бывают) штрафы кусаются.

Настройка пользовательского окружения

А ещё нужно правильно настроить окружение для пользователей. На терминальном сервере 20-30 человек работают одновременно. Нужно распределить ресурсы и ограничить действия пользователей.

# Основные настройки через групповую политику:
# Computer Configuration > Administrative Templates > Windows Components
#   > Remote Desktop Services > Remote Desktop Session Host

# Ограничение времени неактивных сессий (чтобы не висели пустые сессии)
# Session Time Limits > Set time limit for disconnected sessions = 30 minutes

# Запрет изменения обоев (экономит RAM и трафик)
# Remote Session Environment > Remove Desktop Wallpaper = Enabled

# Ограничение одной сессии на пользователя (чтобы не создавали дубли)
# Connections > Restrict each user to a single session = Enabled

# Перенаправление принтеров (по желанию)
# Printer Redirection > Do not allow client printer redirection = Enabled
# (отключите если принтеры тормозят вход в сессию)

Моя коллега Светлана (администратор в строительной фирме, терминальный сервер у них на HPE ProLiant DL380 Gen10 с Xeon Silver 4210R) столкнулась с классической проблемой: пользователи не отключались от сессии, а просто закрывали окно RDP. Сессия оставалась висеть на сервере, потребляя память. Через неделю сервер тормозил ужасно. Настройка автоматического отключения неактивных сессий решила проблему.

Установка приложений на терминальный сервер

Тут такое дело. Приложения на терминальном сервере устанавливаются по-особому. Перед установкой нужно переключить сервер в режим установки:

# Переключение в режим установки
change user /install
# Теперь устанавливайте приложения как обычно
# Все настройки будут применены для всех пользователей

# После установки вернитесь в режим выполнения
change user /execute

# Проверить текущий режим
change user /query
# Должно показать: "Application server mode is enabled" (режим выполнения)

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

Проблемы с конкретными приложениями

Не все программы дружат с терминальным сервером. Вот с чем сталкиваются чаще всего:

1С. Работает хорошо, но прожорлива по RAM. На каждого пользователя 1С закладывайте 4-6 ГБ оперативки. И обязательно используйте клиент-серверный вариант работы (сервер 1С + SQL Server), а не файловый. Файловая 1С на терминальном сервере с 20 пользователями это гарантированные тормоза.

Microsoft Office. Устанавливается нормально, но используйте корпоративную версию (Volume License) или Microsoft 365 Apps for Enterprise. Обычный Office из Microsoft Store на терминальном сервере не заведётся.

Антивирус. Ставьте серверную версию, а не десктопную. Десктопные антивирусы на терминальном сервере могут сожрать половину ресурсов на сканирование профилей пользователей.

Браузеры. Chrome и Edge работают, но каждая вкладка это отдельный процесс и 100-300 МБ RAM. 20 пользователей по 10 вкладок, и привет, 60 ГБ RAM только на браузеры. Ограничивайте количество вкладок или используйте тонкие клиенты с локальным браузером.

Производительность и планирование ресурсов

Сколько ресурсов нужно серверу? Зависит от задач. Вот примерные расчёты:

Тип нагрузкиRAM на пользователяCPU ядерДиск
Офисная работа (Word, Excel, браузер)2-4 ГБ0.5-1 ядроSSD обязателен
1С (клиент-серверная)4-6 ГБ1-2 ядраNVMe SSD
1С + Excel + браузер6-8 ГБ1.5-2 ядраNVMe SSD RAID
Тяжёлые приложения (графика, разработка)8+ ГБ2-4 ядраNVMe SSD RAID

Для 20 бухгалтеров на 1С нужно: 20 x 5 ГБ = 100 ГБ RAM, 20-40 ядер CPU. Это серьёзный сервер. Не домашний комп.

Ну и SSD обязательны. На HDD терминальный сервер на 20 пользователей будет тормозить невыносимо. NVMe SSD в RAID 1 или RAID 10 это минимум.

Мониторинг и диагностика

Когда пользователи начинают жаловаться «всё тормозит», нужно быстро найти причину. Вот PowerShell-команды для диагностики:

# Список активных RDP-сессий
quser
# Покажет: пользователь, ID сессии, состояние, время простоя

# Отключить зависшую сессию
logoff SESSION_ID

# Проверяем загрузку процессора и памяти по процессам
Get-Process | Sort-Object WorkingSet64 -Descending | Select-Object -First 10 Name, Id, CPU, @{N='RAM_MB';E={[math]::Round($_.WorkingSet64/1MB)}}

# Проверяем свободную память
Get-CimInstance Win32_OperatingSystem | Select-Object @{N='Total_GB';E={[math]::Round($_.TotalVisibleMemorySize/1MB)}}, @{N='Free_GB';E={[math]::Round($_.FreePhysicalMemory/1MB)}}

# Проверяем загрузку дисков
Get-Counter 'PhysicalDisk(*)% Disk Time'

Короче, если RAM забита на 90%+, пора либо добавлять память, либо ограничивать количество одновременных пользователей. А если CPU на 100%, значит кто-то запустил что-то тяжёлое, или пора апгрейдить процессор.

RemoteApp: публикация отдельных приложений

А ещё есть RemoteApp. Вместо полного рабочего стола пользователь получает только конкретное приложение. Запускает 1С, и она открывается как обычное окно на его компьютере. Пользователь даже не понимает, что 1С работает на сервере, а не у него локально.

Это удобно, когда нужно централизовать одно приложение, а остальные оставить локальными. Многие компании используют RemoteApp именно для 1С: сотрудник работает на своём компьютере, но 1С запускается с сервера. Так проще обновлять, проще бэкапить базы, и данные не хранятся на клиентских машинах.

Знаете, что круче всего в RemoteApp? Копирование и вставка работает между локальными и удалёнными приложениями. Скопировали текст из 1С (на сервере) и вставили в Word (на локальном компьютере). Бесшовная интеграция.

Типичные проблемы и решения

«Пользователи не могут войти, ошибка лицензирования»

Проверьте, что сервер лицензирования активирован и на нём есть свободные RDS CAL. Команда для диагностики:

# Проверяем статус сервера лицензирования
Get-WmiObject Win32_TSLicenseServer

# Проверяем количество выданных лицензий
# Через RD Licensing Manager (licmgr.exe)

«Профили пользователей занимают слишком много места»

Настройте перемещаемые профили (Roaming Profiles) или User Profile Disks. По факту, каждый пользователь может накопить гигабайты временных файлов, кешей браузера и прочего мусора. Ограничьте размер профиля через групповые политики.

«Печать через терминальный сервер не работает»

Перенаправление принтеров это вечная боль терминальных серверов. Решения: используйте Easy Print (встроено с Windows Server 2008 R2), или настройте принтеры напрямую на сервере через PrinterLogic или подобные решения.

Мой коллега Сергей (админ в логистической компании, серверная на Supermicro) потратил три дня на настройку принтеров для 35 пользователей. Проблема была в драйверах: на каждом клиентском компьютере стоял свой драйвер принтера, и при подключении через RDP сервер пытался установить все эти драйверы. Решение: установить универсальный драйвер HP UPD на сервер и принудительно использовать его для всех пользователей.

Бэкап терминального сервера

Вот в чём прикол: если обычный компьютер сломается, пострадает один человек. Если терминальный сервер упадёт, встанет весь офис. Бэкап не просто важен, он критичен.

Минимальная стратегия резервного копирования:

  1. Ежедневный бэкап системного раздела. Windows Server Backup (встроено бесплатно) или Veeam Agent for Windows (бесплатная версия)
  2. Бэкап пользовательских данных. Если данные на сервере, бэкапьте папки профилей. Если на файловом сервере отдельно, тогда бэкапьте файловый сервер
  3. Тест восстановления раз в квартал. Бэкап, который не проверен, это не бэкап. Попробуйте развернуть из копии на тестовый сервер или виртуалку
# Настройка Windows Server Backup через PowerShell
# Установка компонента
Install-WindowsFeature Windows-Server-Backup

# Создание политики бэкапа (системный том + данные)
$policy = New-WBPolicy
$volume = Get-WBVolume -AllVolumes | Where-Object {$_.MountPoint -eq "C:"}
Add-WBVolume -Policy $policy -Volume $volume
$target = New-WBBackupTarget -NetworkPath "\NASBackupsTermServer"
Add-WBBackupTarget -Policy $policy -Target $target
Set-WBSchedule -Policy $policy -Schedule 02:00
Set-WBPolicy -Policy $policy

Грубо говоря, если у вас нет бэкапа терминального сервера, вопрос не «если» он сломается, а «когда». И в этот момент от бэкапа будет зависеть, встанет ли офис на час или на неделю.

Windows Server Standard vs Datacenter для терминалки

Часто спрашивают: какую редакцию Windows Server брать? Ну и давайте разберёмся.

Standard подходит для 90% терминальных серверов. Поддерживает все роли RDS, все функции. Единственное ограничение: лицензия покрывает две виртуальные машины на хосте (если используете Hyper-V).

Datacenter нужен, если вы планируете виртуализацию с большим количеством VM. Datacenter позволяет запускать неограниченное число виртуальных машин Windows Server на одном хосте. Для чистого терминального сервера без виртуализации это избыточно.

По факту, для одного физического сервера с ролью RDSH берите Standard. Это дешевле, а функционал RDS идентичный. Datacenter имеет смысл только если терминальный сервер работает как VM на Hyper-V кластере с несколькими VM.

Что покупать

На keytrust24.store есть всё необходимое для терминального сервера:

  • Windows Server Standard или Datacenter
  • Windows Server CAL (User или Device)
  • RDS CAL (User или Device)

Если честно, разница в цене между покупкой лицензий по отдельности и «потом доберём» колоссальная. Покупайте всё сразу: серверную лицензию, CAL и RDS CAL. Так дешевле и не будет проблем с 120-дневным пробным периодом.

Знаете что? Терминальный сервер это ещё и безопасность. Все данные на сервере, в серверной, под замком. На рабочих станциях пользователей ничего нет. Сотрудник уволился? Отключили учётку, доступ закрыт. Сотрудник пролил кофе на клавиатуру? Подключился с другого компьютера и продолжил работать. Это не просто удобство, это бизнес-непрерывность.

Терминальный сервер и VPN: удалённый доступ извне

Знаете что? Терминальный сервер в связке с VPN это идеальное решение для удалённых сотрудников. Сотрудник подключается по VPN из дома, потом открывает RDP-сессию. Все данные остаются на сервере, по сети передаётся только картинка экрана. Даже на медленном домашнем интернете (10-20 Мбит/с) RDP работает комфортно.

Тут такое дело: для VPN на Windows Server есть встроенная роль RRAS (Routing and Remote Access Service). Настраивается за час, работает стабильно. Для более серьёзных задач можно использовать WireGuard или OpenVPN. А если не хотите возиться с VPN совсем, настройте RD Gateway, и пользователи будут подключаться через HTTPS напрямую.

На самом деле, терминальный сервер это одна из самых эффективных инвестиций в IT для малого и среднего бизнеса. Один раз потратились на мощный сервер и лицензии. Потом годами экономите на рабочих станциях, обслуживании и обновлениях. Ну и контроль данных: всё на сервере, ничего на компьютерах пользователей. Украли ноутбук? Ничего страшного, данных на нём нет. А если честно, для компании на 10-50 человек это просто must have.

Частые вопросы

Полная установка через PowerShell

Для тех кто хочет всё автоматизировать, вот расширенный скрипт установки:

Сколько стоит терминальный сервер: расчёт для офиса на 20 человек

Давайте посчитаем конкретно. Офис, 20 сотрудников, все работают в 1С и Office.

Проблемы с конкретными приложениями

Не все программы дружат с терминальным сервером. Вот с чем сталкиваются чаще всего: