Льготный период лицензирования удаленных рабочих столов закончился

В данной статье вы узнаете как исправить ошибку на Windows Server 2012-2022 которая возникает в процессе использования Службы удаленных рабочих столов, которая в результате сбоя или окончания использования пробного периода в 120 дней может не пускать вас на сервер терминалов. Данная инструкция актуальна на 2023 год.

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

Льготный период лицензирования удаленных рабочих столов закончился

Подключение к удаленному рабочему столу. Удаленный сеанс отключен, поскольку отсутствуют доступные серверы лицензирования удаленных рабочих столов, которые могли бы провести лицензирование.
Обратитесь к администратору сервера

Содержание

Терминальный сервер не работает и не подключается RDP

А зайдя на сервер в Средства диагностики лицензирования удаленных столов меня встречала вот такая вот картина:

Ошибка в Средства диагностики лицензирования удаленных столов

Льготный период лицензирования удаленных рабочих столов закончился

Где были две ошибки:

ПроблемаПредлагаемое решение
Льготный период для сервера узла сеансов удаленных рабочих столов истек, но на этом сервере не были настроены серверы лицензирования. Подключение к этому серверу будет невозможно, пока для него не будет настроен сервер лицензирования.Настройте сервер лицензирования для сервера узла сеансов удаленных рабочих столов. Если у вас уже есть сервер лицензирования, укажите его. Если нет, установите на компьютер в сети сервер лицензирования удаленных рабочих столов и настройте сервер узла сеансов удаленных рабочих столов на его использование.
Не задан режим лицензирования для сервера узла сеансов удаленных рабочих столов.Задайте на сервере узла сеансов удаленных рабочих столов режим лицензирования “на пользователя” или “на устройство”. Воспользуйтесь диспетчером лицензирования удаленных рабочих столов, чтобы установить соответствующие лицензии на сервере лицензирования.

Ошибка в просмотре событий:

В просмотре событий последнее сообщение было такое:

Льготный период лицензирования удаленных рабочих столов закончился

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

Этот сервер терминалов я поднимал для этого отдела который сервером в итоге не пользовался и через несколько месяцев когда опять встал вопрос, но что могло произойти я не понимал, единственное что можно сразу подумать что прошло 120 дней пробного использования и теперь необходимо покупать лицензии, но я активировал терминальный сервер и такого точно не могло быть!

инструкция: – Активация терминального сервера

Диспетчер лицензирования удаленных рабочих столов

в диспетчере лицензирования все лицензии стоят и нет никаких ошибок и ве проверки с зеленой галочкой – т.е. все ок.

Льготный период лицензирования удаленных рабочих столов закончился

Ошибка: Льготный период для сервера узла сеансов удаленных рабочих столов истек

Первое что меня смутило в Средстве диагностики лицензирования удаленных столов, то что у меня почему то режим лицензирования стоит – Не заданно!

Льготный период лицензирования удаленных рабочих столов закончился

Как проверить лицензирование Terminal Server

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

Открываем PowerShell и вводим команду:

$obj = gwmi -namespace "Root/CIMV2/TerminalServices" Win32_TerminalServiceSetting

далее вводим команду

$obj.GetSpecifiedLicenseServerList()

У нас выводится информация где мы видим что параметр SpecifiedLicenseServerList не задан! (как такое может быть я не знаю)

Льготный период лицензирования удаленных рабочих столов закончился

Теперь наша задача прописать принудительно наш сервер лицензирования терминалов:

$obj. SetSpecifiedLicenseServerList("сервер.терминалов.lcl")

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

Льготный период лицензирования удаленных рабочих столов закончился

как видим сервер прописан.

Перезагружаем сервер

Результат

Как видим в Средствах диагностики лицензирования удаленных столов у нас пропала одна ошибка с “Льготным период для сервера узла сеансов удаленных рабочих столов истек, но на этом сервере не были настроены серверы лицензирования”.

Льготный период лицензирования удаленных рабочих столов закончился

Отлично! Идем дальше!

Ошибка: Не задан режим лицензирования для сервера узла сеансов удаленных рабочих столов

Чтобы принудительно назначить режим лицензирования на сервере терминалов на Устройство или на Пользователя делаем следующее

Открываем реестр:

HKLM\SYSTEM\CurrentControlSet\Control\Terminal Server\RCM\Licensing Core

и меняем значение DWORD параметра с именем LicensingMode с 5 на

  • 2 – если используется лицензирование по устройствам (Per Device)
  • 4 – при использовании RDS лицензирования по пользователям (Per User)
Льготный период лицензирования удаленных рабочих столов закончился

Перезагружаем сервер

Заходим в Средства диагностики лицензирования удаленных столов и видим что у нас теперь нет тут ошибок, а режим лицензирования выставлен как надо!

Льготный период лицензирования удаленных рабочих столов закончился

Все проблема решена! Ура-Ура! Теперь RPD спокойно подключается на сервер, “юзвери”)) могут быть счастливы, а админ пошел пить кофе!

Дополнение от 11.09.2026 года

Льготный период лицензирования удалённых рабочих столов закончился: исправляем ошибку RDS на Windows Server

Иногда при подключении к Windows Server по RDP можно столкнуться с сообщением:

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

При этом RDS Licensing может быть установлен, RDS CAL приобретены и даже сам сервер лицензирования может быть настроен.

В моём случае именно это и произошло: сервер лицензирования был зарегистрирован, лицензии Per Device имелись, но RDS Session Host потерял назначенный сервер лицензирования и режим лицензирования.

Разберём, как это диагностировать и исправить.


В чём была проблема

На сервере были установлены обе необходимые роли:

  • Remote Desktop Session Host
  • Лицензирование удалённых рабочих столов (RDS Licensing)

Проверить наличие ролей можно через PowerShell:

Get-WindowsFeature RDS-Licensing

Результат:

[X] Лицензирование удаленных рабочих столов
    RDS-Licensing    Installed

И:

Get-WindowsFeature RDS-RD-Server

Результат:

[X] Remote Desktop Session Host
    RDS-RD-Server    Installed

То есть проблема была не в отсутствии самой роли.


1. Проверяем настройки RDS Licensing

Для диагностики используется WMI-класс:

Win32_TerminalServiceSetting

Открываем PowerShell от имени администратора и получаем объект:

$obj = gwmi -namespace "Root/CIMV2/TerminalServices" Win32_TerminalServiceSetting

Теперь проверяем сервер лицензирования:

$obj.GetSpecifiedLicenseServerList()

В моём случае результат был:

ReturnValue      : 0
SpecifiedLSList  : {}

Это очень важный момент.

ReturnValue : 0 означает, что команда выполнилась успешно.

А вот:

SpecifiedLSList : {}

означает, что для текущего RDS Session Host сервер лицензирования не указан.

Именно поэтому Windows не понимал, куда обращаться за RDS CAL.


2. Проверяем режим лицензирования

Следующая проверка:

$obj.LicensingType

У меня результат был:

5

Значение 5 означает, что режим лицензирования не настроен.

Таким образом, мы получили две проблемы:

Сервер лицензирования:
не указан

Режим лицензирования:
не настроен

3. Как определить зарегистрированный сервер лицензирования

Не стоит сразу прописывать сервер вручную, если мы не уверены в его имени.

Сначала можно попросить Windows показать зарегистрированные серверы лицензирования:

$obj.GetRegisteredLicenseServerList()

У меня результат:

RegisteredLSList : {Server1c}
ReturnValue      : 0

Таким образом, мы точно установили, что сервер лицензирования называется:

Server1c

При этом команда:

$obj.FindLicenseServers()

ничего полезного не вернула:

LicenseServersList :
ReturnValue        : 0

Это не стало проблемой, поскольку зарегистрированный сервер мы уже нашли через GetRegisteredLicenseServerList().


4. Проверяем наличие роли лицензирования

Дополнительно убедимся, что сервер действительно является RDS License Server:

Get-WindowsFeature RDS-Licensing

В нашем случае:

Install State : Installed

То есть на Server1c роль Лицензирование удалённых рабочих столов установлена.


5. Определяем тип RDS CAL

В данном случае использовались лицензии:

RDS CAL Per Device — на устройство.

Это важно.

В Windows Server существуют два основных режима:

  • Per User — лицензия на пользователя;
  • Per Device — лицензия на устройство.

Если используются CAL Per Device, RDS Session Host должен работать в соответствующем режиме.


6. Прописываем сервер лицензирования

После того как мы точно установили имя сервера:

Server1c

добавляем его в список серверов лицензирования.

Используем:

$obj.AddLSToSpecifiedLicenseServerList("Server1c")

После выполнения обязательно проверяем:

$obj.GetSpecifiedLicenseServerList()

Результат должен быть:

ReturnValue      : 0
SpecifiedLSList  : {Server1c}

Это означает, что RDS Session Host теперь знает, где искать лицензии.


7. Настраиваем режим лицензирования

Так как у нас лицензии Per Device, устанавливаем соответствующий режим:

$obj.ChangeMode(2)

После этого проверяем:

$obj.LicensingType

Результат:

2

То есть:

2 = Per Device

Для справки:

2 = Per Device
4 = Per User
5 = режим не настроен

8. Финальная проверка

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

Проверяем режим:

$obj.LicensingType

Получаем:

2

Проверяем сервер лицензирования:

$obj.GetSpecifiedLicenseServerList()

Получаем:

ReturnValue      : 0
SpecifiedLSList  : {Server1c}

То есть итоговая конфигурация:

RDS Session Host
       │
       ├── LicensingType = 2
       │       └── Per Device
       │
       └── License Server
               └── Server1c

Почему появилась ошибка

Само сообщение Windows немного вводит в заблуждение.

Оно говорит:

«Льготный период лицензирования удаленных рабочих столов закончился…»

Но это не обязательно означает, что RDS CAL закончились или что лицензий вообще нет.

В нашем случае лицензии были.

Проблема заключалась в конфигурации RDS Session Host:

SpecifiedLSList = {}
LicensingType   = 5

То есть сервер:

  1. не имел явно назначенного сервера лицензирования;
  2. не имел установленного режима лицензирования.

Поэтому после окончания стандартного льготного периода RDS перестал разрешать нормальную работу удалённых подключений.


Кратко: что нужно сделать

Если у вас аналогичная ситуация и используется Per Device CAL, последовательность следующая:

Получаем объект RDS:

$obj = gwmi -namespace "Root/CIMV2/TerminalServices" Win32_TerminalServiceSetting

Проверяем текущий сервер лицензирования:

$obj.GetSpecifiedLicenseServerList()

Проверяем зарегистрированные серверы:

$obj.GetRegisteredLicenseServerList()

Добавляем найденный сервер лицензирования:

$obj.AddLSToSpecifiedLicenseServerList("Server1c")

Проверяем:

$obj.GetSpecifiedLicenseServerList()

Должно быть:

SpecifiedLSList : {Server1c}

Устанавливаем Per Device:

$obj.ChangeMode(2)

Проверяем:

$obj.LicensingType

Должно быть:

2

Важное замечание

Не стоит бездумно копировать команду:

$obj.SetSpecifiedLicenseServerList("Server1c")

В некоторых конфигурациях Windows Server этот метод может завершаться ошибкой:

WMIMethodException

В нашем случае для добавления сервера успешно отработал метод:

$obj.AddLSToSpecifiedLicenseServerList("Server1c")

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


Результат

После восстановления двух параметров:

SpecifiedLSList = {Server1c}
LicensingType   = 2

RDS Session Host получил корректную информацию о лицензировании:

сервер лицензирования — Server1c, режим — Per Device.

Таким образом, проблема с сообщением:

«Льготный период лицензирования удаленных рабочих столов закончился…»

была устранена не переустановкой RDS и не переустановкой лицензий, а восстановлением настроек лицензирования RDS Session Host.

Виталий nibbl

Привет 👋 Меня зовут Виталий, в сети я известен как Виталий Nibbl. С 2009 года я в IT и люблю задачки, от которых у других опускаются руки. Если вам сказали, что - "это невозможно" — значит, вы просто ещё не обратились ко мне 😎 В моих блогах на YouTube и Telegram вы найдёте пошаговые инструкции и решения любых сложностей. А ещё я профессионально скачиваю видео с любых платформ и всегда на связи по IT-вопросам.

Оцените автора
NIBBL
Добавить комментарий

Нажимая на кнопку "Отправить комментарий", я даю согласие на обработку персональных данных и принимаю политику конфиденциальности.