Лицензирование RDS: CAL на пользователя и на устройство, льготный период и его финал

Лицензирование RDS: CAL на пользователя и на устройство, льготный период и его финал

Терминальный сервер работает 120 дней, а потом перестаёт пускать людей. Это не сбой и не вирус — это истёк льготный период, а лицензирование никто не настроил. Ситуация настолько типовая, что мы встречаем её несколько раз в год, и всегда в самый неподходящий момент. Разберём, как устроено лицензирование RDS, что выбрать и как чинить, когда уже случилось.

Что вообще лицензируется

Право подключаться к терминальному серверу лицензируется отдельно от самой Windows Server. Это два независимых счёта.

Лицензия Windows Server даёт право запустить операционную систему. Она не даёт права работать в ней через удалённый рабочий стол больше чем двум администраторам одновременно — эти два подключения предназначены для администрирования, а не для работы пользователей.

Чтобы подключались пользователи, нужны клиентские лицензии RDS — те самые CAL. Они покупаются отдельно, в количестве по числу пользователей или устройств.

Технически CAL — это не файл и не ключ на сервере. Это записи в базе сервера лицензирования, который выдаёт их клиентам и ведёт учёт.

Здесь кроется частое недоразумение. Администратор ставит роль RDS, всё работает, пользователи подключаются, и складывается впечатление, что лицензии не нужны. Работает это благодаря льготному периоду, о котором ниже, и заканчивается ровно через 120 дней.

User CAL против Device CAL

Два типа лицензий с разной логикой выдачи.

User CAL привязывается к учётной записи пользователя. Один человек может подключаться с любого количества устройств: с рабочего компьютера, из дома, с планшета.

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

Правило выбора простое: считаем, чего меньше.

СитуацияЧто выгоднее
30 сотрудников, у каждого свой компьютер, часть работает из домаUser CAL
Сменная работа: 45 человек на 15 рабочих местDevice CAL
Производство: терминалы в цеху, за которыми работают все подрядDevice CAL
Офис с ноутбуками и удалёнкойUser CAL

Техническое различие, о котором стоит знать: Device CAL выдаются с ограниченным сроком и отзываются автоматически, а User CAL сервер лицензирования выдаёт бессрочно и отслеживает скорее в справочном режиме.

Практическое следствие: при режиме User CAL сервер не будет вам мешать, даже если фактическое число пользователей превысило купленное. Это не разрешение так делать — это означает, что контроль на вашей совести, и при проверке лицензионной чистоты вопросы будут.

При Device CAL перерасход упрётся в отказ: свободных лицензий нет, устройство не пускают.

Смешивать типы в одном развёртывании нельзя — режим задаётся один на всю ферму.

CAL на пользователя и на устройство
User CAL следует за человеком, Device CAL — за рабочим местом; выбор зависит от того, чего меньше

Льготный период: как он считается

После установки роли узла сеансов Windows даёт 120 дней работы без сервера лицензирования.

Три важных свойства этого периода.

Отсчёт идёт с момента установки роли, а не с первого подключения пользователя. Сервер, поднятый в январе и введённый в эксплуатацию в марте, исчерпает период в мае.

Период не продлевается. Способы сбросить счётчик правкой реестра циркулируют в сети, работают через раз и являются прямым нарушением условий лицензирования.

Финал жёсткий. В последний день пользователи получают сообщение о том, что нет доступных серверов лицензирования, и подключиться не могут. Не «предупреждение», а именно отказ.

Сколько осталось, можно посмотреть:

$rds = Get-WmiObject -Namespace root\CIMV2\TerminalServices `
       -Class Win32_TerminalServiceSetting
$rds.GetGracePeriodDays()

Эту проверку стоит поставить в мониторинг на любом свежеразвёрнутом терминальном сервере с порогом тревоги дней в тридцать. Стоит минуту, а закрывает целый класс авральных ситуаций.

Отдельно отмечу: у нас в чек-листе развёртывания RDS настройка лицензирования стоит до передачи сервера в эксплуатацию. Именно потому, что 120 дней — достаточно долго, чтобы про задачу забыли все, включая того, кто её ставил.

Развёртывание сервера лицензирования

Порядок действий на три шага.

Установка роли. Ставится на любой сервер в домене, часто — на тот же, где брокер. На контроллер домена ставить не рекомендуется, но технически возможно.

Install-WindowsFeature RDS-Licensing, RDS-Licensing-UI

Активация. Выполняется через оснастку «Диспетчер лицензирования удалённых рабочих столов». Требует данных организации и связи с серверами активации Microsoft; при отсутствии интернета возможна активация по телефону или через веб-браузер с другой машины.

Установка пакетов лицензий. Там же, мастером, с указанием типа соглашения и номера.

После этого сервер лицензирования надо указать в развёртывании RDS и задать режим:

Set-RDLicenseConfiguration -LicenseServer lic.corp.local `
  -Mode PerUser -ConnectionBroker rdcb.corp.local -Force

Для отдельно стоящего терминального сервера без фермы то же самое задаётся групповой политикой в разделе конфигурации компьютера, административные шаблоны, компоненты Windows, службы удалённых рабочих столов, узел сеансов, лицензирование. Два параметра: использовать указанные серверы лицензирования и задать режим лицензирования.

Ещё один шаг, который часто пропускают: в домене сервер лицензирования должен состоять в группе Terminal Server License Servers — иначе выдача User CAL с отслеживанием работать не будет корректно.

Add-ADGroupMember -Identity "Terminal Server License Servers" `
  -Members (Get-ADComputer lic).SamAccountName

Диагностика: «нет доступных серверов лицензирования»

Самая частая ошибка, и причин у неё несколько.

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

$diag = Get-WmiObject -Namespace root\CIMV2\TerminalServices `
        -Class Win32_TSLicenseServer
$diag.GetActivationStatus()

# и полная диагностика узла
Get-WmiObject -Namespace root\CIMV2\TerminalServices `
  -Class Win32_TerminalServiceSetting | Select-Object *Licens*

Типовые причины по частоте:

ПричинаКак проявляетсяЧто делать
Сервер лицензирования не указансразу после 120 днейзадать в развёртывании или GPO
Режим не задануказан сервер, но режим Not Configuredзадать PerUser или PerDevice
Режим не совпадает с типом CALкуплены User, включён PerDeviceпривести в соответствие
Сервер не активированроль стоит, лицензии не установленыактивировать, поставить пакеты
Нет в группе доменаUser CAL не отслеживаютсядобавить в Terminal Server License Servers
Сетевая недоступностьработало и пересталопроверить порт 135 и RPC
Кончились Device CALчасть устройств не пускаетотозвать неиспользуемые или докупить

Последняя строка про отзыв заслуживает пояснения. Device CAL можно отозвать вручную — например, если устройство списано. Отзывать разрешено не более 20 % от общего числа лицензий, и делается это в диспетчере лицензирования по конкретной записи.

Ещё одно место, куда стоит заглядывать: журнал событий на узле сеансов, источники TerminalServices-Licensing и TerminalServices-RemoteConnectionManager. Там сообщения гораздо конкретнее, чем то, что видит пользователь.

Отсчёт льготного периода RDS
120 дней идут с момента установки роли, а не с момента первого подключения

Кейс: 120 дней, которые истекли в пятницу вечером

Клиент пришёл к нам уже в состоянии аварии, поэтому история короткая и поучительная.

Компания оптовой торговли, 28 человек, терминальный сервер развернул предыдущий подрядчик в феврале. К нам обратились в пятницу в 18:40 с формулировкой «никто не может зайти, работаем в выходные, горит отгрузка».

Диагноз занял четыре минуты: льготный период истёк в этот день. Сервер был поднят 12 февраля, 120 дней вышли в июне.

Дальше начались особенности. Лицензий RDS у компании не было куплено вообще — ни одной. Предыдущий подрядчик развернул сервер, всё работало, вопрос лицензирования в проекте не поднимался.

Купить CAL в пятницу вечером и активировать за час было нереально.

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

В понедельник купили и установили 30 User CAL, ферма заработала штатно.

Разбор потом показал типичную картину разрыва ответственности. Подрядчик считал, что лицензии покупает клиент. Клиент считал, что раз всё работает, значит всё куплено. Никто не проверял. Уведомлений о приближении конца льготного периода Windows не шлёт — они появляются в журнале событий, куда никто не смотрит.

После этого случая мы добавили две вещи в стандартный чек-лист приёма клиента на поддержку. Первая: проверка оставшихся дней льготного периода на всех терминальных серверах — команда выполняется за секунды. Вторая: сверка числа купленных CAL с фактическим числом пользователей.

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

Что держать под контролем постоянно

Лицензирование RDS — область, где проблемы не развиваются постепенно. Всё работает, работает, работает, а потом в один день не работает совсем. Поэтому контроль тут не про производительность, а про раннее предупреждение.

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

Оставшиеся дни льготного периода на каждом узле сеансов. Порог тревоги — 30 дней. Актуально только для свежих развёртываний, но именно там и происходят аварии.

Число выданных лицензий против купленных. При Device CAL это прямой предвестник отказа: когда свободных остаётся меньше пяти, пора либо докупать, либо отзывать лицензии списанных устройств.

Get-WmiObject -Namespace root\CIMV2\TerminalServices `
  -Class Win32_TSLicenseKeyPack |
  Select-Object ProductVersion, TypeAndModel, TotalLicenses,
                IssuedLicenses, AvailableLicenses

Доступность сервера лицензирования с каждого узла сеансов. Проверяется штатным методом, возвращающим состояние: значение 0 означает, что всё в порядке.

(Get-WmiObject -Namespace root\CIMV2\TerminalServices `
  -Class Win32_TerminalServiceSetting).GetSpecifiedLicenseServerList()

Записи в журнале событий от источника TerminalServices-Licensing с уровнем «предупреждение» и выше.

Все четыре проверки — это несколько строк в системе мониторинга и полчаса на настройку. Стоимость аварии, которую они предотвращают, измеряется остановкой всего офиса на непредсказуемое время: купить и активировать лицензии в пятницу вечером или в новогодние праздники не получится ни за какие деньги.

И ещё одна организационная мера, которая работает лучше любой технической. При приёме терминального сервера от подрядчика или при переходе на новое обслуживание письменно фиксируйте: сколько CAL куплено, какого типа, на кого оформлены, где лежат документы. Один абзац в акте. Именно его отсутствие превращает техническую мелочь в аварию.

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

Нужны ли CAL, если к серверу подключаются два администратора?

Нет. Windows Server позволяет два административных подключения по удалённому рабочему столу без клиентских лицензий RDS. Но это право предназначено для администрирования, а не для работы пользователей — как только в терминале работают сотрудники, нужны CAL.

Что выбрать — User CAL или Device CAL?

Считайте, чего меньше. Если сотрудников больше, чем рабочих мест, — при сменной работе или на производственных терминалах — выгоднее Device CAL. Если у каждого свой компьютер и часть людей работает ещё и из дома, выгоднее User CAL.

Можно ли продлить льготный период в 120 дней?

Штатных способов нет. Правки реестра, циркулирующие в сети, работают нестабильно и нарушают условия лицензирования. Отсчёт при этом идёт с момента установки роли, а не с первого подключения пользователя, поэтому запас обычно меньше, чем кажется.

Почему сервер пишет «нет доступных серверов лицензирования»?

Чаще всего сервер лицензирования не указан в конфигурации или не задан режим лицензирования. Следующие по частоте причины — несовпадение режима с типом купленных CAL и неактивированный сервер лицензирования. Конкретную причину показывает диагностика в диспетчере лицензирования.

Нужна помощь с проектом?

Специалисты АйТи Фреш помогут с архитектурой, DevOps, безопасностью и разработкой — 15+ лет опыта

📞 Связаться с нами
#Windows#RDS#лицензии#терминальный сервер#поддержка
Комментарии 0

Оставить комментарий

загрузка...

Подпишитесь на рассылку ITfresh

Раз в неделю — практические гайды для руководителя IT и сисадмина: безопасность, 1С, миграции, резервные копии, лайфхаки из реальных проектов.

Реквизиты оператора персональных данных

ООО «АЙТИ-ФРЕШ», ИНН 7719418495, КПП 771901001. Юридический адрес: 105523, г. Москва, Щёлковское шоссе, д. 92, корп. 7. Контакт: info@itfresh.ru, +7 903 729-62-41. Оператор обрабатывает e-mail подписчика в целях рассылки информационных и рекламных материалов до момента отзыва согласия.