Главная \ FAQ \ Полезное по Windows Server \ Ошибка не задан режим лицензирования для сервера узла сеансов удаленных рабочих столов

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

При настройке нового узла сервера терминалов RDS фермы на Windows Server 2012 R2/2016/2019 вы можете столкнуться со следующим всплывающим предупреждением, которое появляется в трее:

Licensing mode for the Remote Desktop Session Host is not configured.

Remote Desktop Service will stop working in xxx days.

Не задан режим лицензирования для сервера узла сеансов удаленных рабочих столов. Служба удаленных рабочих столов перестанет работать через xxx дней.

Licensing mode for the Remote Desktop Session Host is not configured

Судя по ошибке, служба RDS запущена в режиме льготного периода лицензирования (в течении пробного периода 120 дней вы можете использовать Remote Desktop Session Host без активации RDS лицензий). Когда grace период закончится, пользователи не смогут подключиться к RDSH, а в трее появится ошибка:

Remote Desktop Services will stop working because this computer is past grace period and has not contacted at least a valid Windows Server 2012 license server. Click this message to open RD Session Host Server Configuration to use Licensing Diagnosis.
Похожую проблему я уже описывал в статье про RDS ошибку “Удаленный сеанс отключен, поскольку отсутствуют доступные серверы лицензирования удаленных рабочих столов”, но тут оказалось немного другое.

Для более точной диагностики проблемы нужно запустить “Средство диагностики лицензирования удаленных рабочих столов” — lsdiag.msc (Administrative Tools -> Remote Desktop Services -> RD Licensing Diagnoser). В окне утилиты будет отображаться такая ошибка:

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

В английской версии Windows Server ошибка выглядит так:

Licenses are not available for the Remote Desktop Session Host server, and RD Licensing Diagnoser has identified licensing problem for the RD Session Host server.

Licensing mode for the Remote Desktop Session Host is not configured.

The Remote Desktop Session Host server is within its grace period, but the Session Host server has not been configured with any license server.

Как вы видите, на самом деле доступных клиентам лицензий нет, т.к. режим лицензирования не задан.

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

 

Все это говорит о том, что администратор не задал для этого хоста сервер лицензирования RDS и/или режим лицензирования. Это несмотря на то, что при развертывании хоста RDS уже был указан тип лицензирования (Configure the deployment -> RD Licensing).

rds deployment

Отройте консоль PowerShell и проверьте, задан ли сервер лицензирования RDS с помощью следующих команд:

$obj = gwmi -namespace "Root/CIMV2/TerminalServices" Win32_TerminalServiceSetting
$obj.GetSpecifiedLicenseServerList()

GetSpecifiedLicenseServerLis

Примечание. Командлет Get-RDLicenseConfiguration при этом может выводить совершенно другие, ошибочные данные.

Если сервер лицензирования не задан, его можно указать командой:
$obj. SetSpecifiedLicenseServerList("rdslic1.winitpro.ru")

Если вы не помните, где установлена RD License роль, можно вывести вывести все сервера RDS Licensing зарегистрированные в домене Active Directory с помощью команддета Get-ADObject из модуля AD PowerShell:

 

Get-ADObject -Filter {objectClass -eq 'serviceConnectionPoint' -and Name -eq 'TermServLicensing'}

 

Также вы можете принудительно задать параметры лицензирования RDS можно несколькими способами.

Через реестр:

В ветке HKLM\SYSTEM\CurrentControlSet\Control\Terminal Server\RCM\Licensing Core нужно изменить значение DWORD параметра с именем LicensingMode с 5 на:

  • 2 — если используется лицензирование на устройства (Per Device)
  • 4 — при использовании RDS лицензирования на пользователей (Per User)

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

# Укажите тип лицензирования RDS 2 – Per Device CAL, 4 – Per User CAL
$RDSCALMode = 2
# Имя сервера лицензирования RDS
$RDSlicServer = "rdslic1.winitpro.ru"# Задаем имя сервера и тип лицензирования в реестре
New-Item "HKLM:\SYSTEM\CurrentControlSet\Services\TermService\Parameters\LicenseServers"
New-ItemProperty "HKLM:\SYSTEM\CurrentControlSet\Services\TermService\Parameters\LicenseServers" -Name SpecifiedLicenseServers -Value $RDSlicServer -PropertyType "MultiString"
Set-ItemProperty "HKLM:\SYSTEM\CurrentControlSet\Control\Terminal Server\RCM\Licensing Core\" -Name "LicensingMode" -Value $RDSCALMode

тип лицензирования rds - LicensingMode

После внесения изменений нужно перезагрузить RDS хост.

Параметры сервера лицензирования RDS также можно задать через политики GPO (локальную или доменную политику).

Если сервер RDS находится в рабочей группе (не добавлен в домен Active Directory), используйте локальный редактор политик gpedit.msc.
Перейдите в раздел Конфигурация компьютера -> Компоненты Windows -> Службы удаленных рабочих столов -> Узел сеансов удаленных рабочих столов -> Лицензирование (Computer Configuration -> Administrative Templates -> Windows Components -> Remote Desktop Services -> Remote Desktop Session Host -> Licensing).

Нас интересуют две политики:

  • Использовать указанные серверы лицензирования удаленных рабочих столов (Use the specified Remote Desktop license servers) — включите политику и укажите адрес сервера лицензирования RDS. Если сервер лицензий RDS CAL запущен на этом же сервере, укажите 127.0.0.1;
    Использовать указанные серверы лицензирования удаленных рабочих столов
  • (Set the Remote Desktop licensing mode) – выберите нужный режим лицензирования. В нашем примере Per User. Задать режим лицензирования удаленных рабочих столов

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

Если в вашей сети настроен файервол, необходим открыть следующие порты с RDSH хоста до сервера RDS лицензирования: TCP/135, UDP/137, UDP/138, TCP/139, TCP/445, TCP/49152–65535 (RPC диапазон).

Вы можете проверить доступность портов с помощью комнадлета Test-NetConnection. Если порты закрыты на локальном брандмауэре Windows Defender Firewall, вы можете открыть порты с помощью командлетов из модуля NetSecurity.

 

rds сервер лицензирован, пользовательские лицензии доступны

Также обратите внимание, что, если на сервере RD Licensing Server установлена, например, Windows Server 2012 R2 и CAL для RDS 2012 R2, вы не сможете установить RDS CAL лицензии для Windows Server 2016 или 2019. Ошибка “Remote Desktop Licensing mode is not configured” сохранится, даже если вы указали правильные тип лицензий и имя сервера лицензирования RDS. Старые версии Windows Server просто не поддерживают RDS CAL для более новых версий WS.

При этом в окне RD License Diagnoser будет отображаться надпись:

The Remote Desktop Session Host is in Per User licensing mode and no Redirector Mode, but license server does not have any installed license with the following attributes:
Product version: Windows Server 2016
Use RD Licensing Manager to install the appropriate licenses on the license server.

The Remote Desktop Session Host is in Per User licensing mode and no Redirector Mode, but license server does not have any installed license with the following attributes:

Сначала Вам придется обновить версию Windows Server на сервере лицензирования (или развернуть новый RD License host). Более новая версия Windows Server (например, WS 2019 поддерживает RDS CAL для всех предыдущих версий Windows Server).