При настройке нового узла фермы RDS на Windows Server 2022/2019/2016/2012 R2 вы можете увидеть следующее всплывающее предупреждение в трее:
Licensing mode for the Remote Desktop Session Host is not configured. Remote Desktop Service will stop working in 104 days. On the RD Connection Broker server, use Server Manager to specify the Remote Desktop licensing mode and the license server.
В то же время будут появляться предупреждения с сообщением Event ID 18 в средстве просмотра событий:
Log Name: System Source: Microsoft-Windows-TerminalServices-Licensing Level: Warning Description: The Remote Desktop license server UK-RDS01 has not been activated and therefore will only issue temporary licenses. To issue permanent licenses, the Remote Desktop license server must be activated.
Эти ошибки указывают на то, что ваш RDS работает в режиме льготного периода лицензирования. Вы можете использовать Remote Desktop Session Host в течение 120 дней без активации лицензий RDS в течение льготного периода. Когда льготный период истечет, пользователи не смогут подключиться к 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, можно отобразить с помощью команды:
wmic /namespace:\\root\CIMV2\TerminalServices PATH Win32_TerminalServiceSetting WHERE (__CLASS !="") CALL GetGracePeriodDays
Проверка параметров лицензирования на сервере удаленных рабочих столов
Чтобы диагностировать проблему, запустите программу Remote Desktop Licensing Diagnoser инструмент (lsdiag.msc
, или Инструменты администрирования -> Службы удаленных рабочих столов -> RD Licensing Diagnoser). Инструмент должен выдать следующую ошибку:
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. Number of licenses available for clients: 0 Set the licensing mode on the Remote Desktop Session Host server to either Per User or Per Device. Use RD Licensing Manager to install the corresponding licenses on the license server 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 и/или режим лицензирования. Это необходимо сделать, даже если тип лицензии уже был указан при развертывании узла RDS (Настроить развертывание -> Лицензирование RD -> Выбрать режим лицензирования Remote Desktop).
Настройка режима лицензирования RDS на Windows Server
Существует несколько способов настройки параметров лицензирования RDS на хосте:
- Использование PowerShell
- Через реестр Windows
- Использование групповой политики (предпочтительно)
Установка режима лицензирования удаленного рабочего стола с помощью GPO
Чтобы настроить параметры сервера лицензий на хосте RDS, необходимо использовать консоль управления GPO домена (gpmc.msc
) или редактор локальной групповой политики (gpedit.msc
).
На отдельном хосте RDSH (в домене и рабочей группе) проще всего использовать локальную политику. Перейдите к Конфигурация компьютера -> Административные шаблоны -> Компоненты Windows -> Службы удаленных рабочих столов -> Хост сеансов удаленных рабочих столов -> Лицензирование.
Нам нужны два варианта GPO:
- Использовать указанные серверы лицензий Remote Desktop — включите политику и укажите адреса серверов лицензий RDS. Если сервер лицензий RD работает на том же хосте, введите
127.0.0.1
Можно указать адреса нескольких хостов с ролью RDS Licensing через запятую; - Установите режим лицензирования удаленного рабочего стола — выберите режим лицензирования. В нашем случае это На одного пользователя.
Remote Desktop Issue.There is a problem with your Remote Desktop license, and your session will be disconnected in 60 minutes. Contact your system administrator to fix the problem.
Настройка режима лицензирования RDS из приглашения PowerShell
Откройте консоль PowerShell и проверьте, что адрес сервера лицензирования RDS настроен на вашем RDSH:
$obj = gwmi -namespace "Root/CIMV2/TerminalServices" Win32_TerminalServiceSetting
$obj.GetSpecifiedLicenseServerList()
Если сервер лицензий RDS не настроен, его можно настроить с помощью команды:
$obj.SetSpecifiedLicenseServerList("uk-rdslic1.woshub.com")
Также можно установить режим лицензирования (4 — на пользователя или 2 — на устройство):
$obj.ChangeMode(4)
Get-ADObject -Filter {objectClass -eq 'serviceConnectionPoint' -and Name -eq 'TermServLicensing'}
Также можно настроить параметры лицензирования хоста RDS через хост с ролью RD Connection Broker:
Set-RDLicenseConfiguration -LicenseServer @("uk-rdslic1.woshub.com","uk-rdslic2.woshub.com") -Mode PerDevice -ConnectionBroker "uk-rdcb1.woshub.com"
Настройка параметров лицензирования RDS через реестр
В HKLM\SYSTEM\CurrentControlSet\Control\Terminal Server\RCM\Licensing Core ключ, вам нужно будет изменить DWORD-значение параметра LicensingMode со значения 5 (режим лицензии не установлен):
- 2 — если На устройство Используется режим лицензирования RDS;
- 4 — если На одного пользователя используется лицензирование.
Вы можете изменить параметр реестра вручную с помощью regedit.exe или следующих команд PowerShell, которые позволяют изменять значения элементов реестра:
# Specify the RDS licensing mode: 2 - Per Device CAL, 4 - Per User CAL
$RDSCALMode = 2
# RDS Licensing hostname
$RDSlicServer = "uk-rdslic1.woshub.com"
# Set the server name and licensing mode in the registry
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
После внесения изменений перезапустите сервер RDSH. Затем откройте консоль RDS Licensing Diagnoser. Если вы все настроили правильно, вы должны увидеть количество лицензий, доступных для клиентов, и установленный режим лицензирования (Режим лицензирования: На устройство).
RD Licensing Diagnoser did not identify any licensing problems for the Remote Desktop Session Host.
Также обратите внимание, что если на сервере лицензирования RD установлена, например, ОС Windows Server 2016 и CALs для RDS 2016, вы не сможете установить лицензии RDS CAL для Windows Server 2019 или 2022. На сайте 'Remote Desktop Licensing mode is not configured'
ошибка сохраняется даже при указании правильного типа лицензии и имени сервера лицензий RDS. Старые версии Windows Server просто не поддерживают RDS CALs для новых версий 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.
Сначала необходимо обновить версию Windows Server на сервере лицензий или развернуть новый узел RD License. Более новая версия Windows Server (например, WS 2022) имеет поддержку RDS CALs для всех предыдущих версий Windows Server.