Сервер лицензирования удаленных рабочих столов используется для выдачи и отслеживания лицензий терминального доступа клиентов RDS (CALs). Политика лицензирования Microsoft требует, чтобы все пользователи или устройства, подключающиеся к сеансам рабочего стола на RDS, были лицензированы. В этой статье мы рассмотрим, как установить и активировать роль сервера Remote Desktop Licensing на хосте под управлением Windows Server 2022, 2019 или 2016, а также как установить RDS CALs.

Установка роли лицензирования удаленных рабочих столов на Windows Server

Роль лицензирования удаленных рабочих столов можно установить на любом узле Windows Server. Нет необходимости устанавливать ее на один из серверов в ферме RDS. Если вы устанавливаете узел RD Licensing в домене AD, добавьте сервер во встроенную систему Серверы лицензий терминального сервера (в противном случае хост не сможет выдавать RDS Per User CALs пользователям домена).

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

Группа AD Серверы лицензий сервера терминалов

Установите службу Remote Desktop Licensing из консоли Server Manager (Add Roles and Features -> Службы удаленных рабочих столов -> Лицензирование удаленных рабочих столов).

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

Подождите, пока роль будет установлена. Установка функции лицензирования RDS

На Windows Server можно также использовать PowerShell для установки службы RDS Licensing и инструментов управления RD Licensing.

Install-WindowsFeature RDS-Licensing –IncludeAllSubFeature -IncludeManagementTools

Перечислите функции RDS, установленные на сервере, и проверьте, установлены ли RDS-Licensing и RDS-Licensing-UI:

Get-WindowsFeature -Name RDS* | Where installed

установка роли лицензирования rds с помощью powershell

Для управления службой RDS Licensing используются две консоли MMC.

  • Remote Desktop Licensing Manager (licmgr.exe)
  • RD Licensing Diagnoser (lsdiag.msc)

Оснастка для управления лицензиями RDS

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

Чтобы выдавать лицензии клиентам RDP, необходимо активировать сервер лицензий RDS. Откройте Менеджер лицензирования удаленных рабочих столов (licmgr.exe), щелкните правой кнопкой мыши имя вашего сервера и выберите Активировать сервер.

сервер лицензирования activa rds

В мастере активации сервера лицензирования RDS выберите способ активации сервера: через Интернет, с помощью браузера или по телефону.

Автоматическая активация сервера лицензирования RDS

Далее заполните информацию о вашей компании (некоторые поля обязательны для заполнения).

информация о компании с лицензией rds

Нажмите на кнопку Завершить кнопку. Должно появиться следующее сообщение:

The license server has been successfully activated.

сервер лицензий rds успешно активирован

Щелкните на имени сервера в консоли и выберите Просмотр конфигурации. В этом примере сервер лицензий RD включен и может выдавать лицензии клиентам в домене AD.

  • This license server is a member of the Terminal Server License Servers group in Active Directory. This license server will be able to issue RDS Per User CALs to users in the domain, and you will be able to track the usage of RDS Per User CALs.
  • This license server is registered as a service connection point (SCP) in Active Directory Domain Services.

просмотр информации об активации rds

Установка лицензий клиентского доступа RDS (CAL) на Windows Server

Теперь вам нужно установить приобретенный пакет лицензий доступа терминального клиента (RDS CAL) на сервер лицензий. Существует два типа RDS CAL:

  • Per-Device CAL — это постоянная лицензия, назначаемая компьютеру (устройству), который подключается к серверу RDS более одного раза (временная лицензия выдается при первом подключении устройства). Эти лицензии не являются одновременными, поэтому если у вас есть 10 лицензий Per-Device, только 10 компьютеров смогут подключиться к вашему хосту RDS. Текущий OVL RDS CAL называется: Win Remote Desktop Services CAL 2022 SLng OLV NL AP DCAL ;
  • Per-User CAL — лицензия позволяет пользователю подключаться к RDS с любого количества компьютеров/устройств. Этот тип лицензии связан с учетной записью пользователя в Active Directory. Она выдается на срок от 52 до 89 дней (случайное число). Текущая лицензия Open Value этого типа называется Win Remote Desktop Services CAL 2022 SLng OLV NL AP UCAL.
    Если вы развертываете хост RD в рабочей группе (без домена AD), используйте RDS CALs для каждого устройства. В противном случае сервер RDSH будет принудительно завершать сеанс пользователя каждые 60 минут:

    Remote Desktop License Issue: There is a problem with your Remote Desktop license, and your session will be disconnected in 60 minutes

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

Используемые RDS CAL должны быть совместимы с версией Windows Server, к которой подключаются пользователи или устройства. Чтобы определить совместимость RDS CAL с версиями Windows Server на сервере лицензий RD, обратитесь к следующей таблице:

2008 R2 CAL 2012 CAL 2016 CAL 2019 CAL 2022 CAL
2008 R2 Да Нет Нет Нет Нет
2012 Да Да Нет Нет Нет
2012 R2 Да Да Нет Нет Нет
2016 Да Да Да Нет Нет
2019 Да Да Да Да Нет
2022 Да Да Да Да Да
RDS CALs для новых версий Windows Server нельзя установить на предыдущие версии WS. Например, вы не сможете установить RDS CALs 2022 на хост лицензирования Windows Server 2016. При попытке установить новые RDS CAL на старую версию Windows Server возникает ошибка:

RD Licensing Manager
The license code is not recognized. Ensure that you have entered the correct license code.

код лицензии rds не распознан

Щелкните правой кнопкой мыши ваш хост в консоли Remote Desktop Licensing Manager и выберите Установить лицензии.

установка rds CAL

Выберите способ активации (автоматическая, онлайн или по телефону) и лицензионную программу (в нашем случае это Enterprise Agreement).

В Интернет просочилось несколько номеров корпоративных соглашений RDS (4965437), вам даже не нужно искать кряки или активаторы rds.

rds cal - корпоративное соглашение

Следующие шаги мастера зависят от того, какую лицензионную программу вы выбрали. В случае корпоративного соглашения необходимо указать его номер. Если вы выбрали License Pack (Retail Purchase), введите 25-символьный ключ продукта, полученный от Microsoft или партнера.

rds cal - номер соглашения

Укажите версию продукта (Windows Server 2022, 2019 или 2016), тип RDS CAL и количество терминальных лицензий, которые будут установлены на сервере.

выбор типа лицензии и количества RDS CAL

Вы можете конвертировать RDS User CALs в Device CALs (и наоборот) с помощью функции Конвертировать лицензии в консоли RD Licensing Manager.

Преобразование RDS CALs

Настройка параметров лицензирования на узлах сеансов RD

Пользователи могут использовать роль RDSH в течение 120 дней после ее установки на Windows Server, после чего они не смогут подключаться к RDS. Чтобы хост RDSH мог получать CAL и выдавать их устройствам/пользователям, необходимо указать адрес сервера лицензий RD в настройках хоста сеансов RD.

Чтобы изменить имя/адрес сервера лицензирования на хосте RDS, откройте Server Manager -> Remote Desktop Services -> Collections. В правом верхнем меню «Задачи» выберите «Редактировать свойства развертывания«.

rds Редактирование свойств развертывания

Перейдите в раздел Лицензирование RD , выберите тип лицензирования (На пользователя или На устройство, в зависимости от имеющихся у вас CAL) и адрес сервера лицензий. Нажмите кнопку Добавить -> OK.

настройка сервера лицензий rd через диспетчер серверов

Если на сервере RDSH не установлен тип лицензирования, вы получите ошибку «Licensing mode for the Remote Desktop Session Host is not configured».

Параметры сервера лицензирования RDS на хосте RDS можно задать с помощью групповой политики. Вы можете создать новый GPO домена с помощью консоли GPMC и назначить его OU с хостами RDS. Или можно использовать локальный редактор групповой политики для установки адреса сервера лицензий RDS. Или воспользуйтесь редактором локальной групповой политики (gpedit.msc) для установки адреса сервера лицензий RDS.

Перейдите в раздел Computer Configuration -> Policies -> Admin Templates -> Windows Components -> Remote Desktop Services -> Remote Desktop Session Host -> Licensing и настройте следующие параметры:

  • Использовать указанные серверы лицензий Remote Desktop — укажите имя или IP-адрес сервера, на котором установлена лицензия RDS;
  • Установите режим лицензирования удаленного рабочего стола — выберите тип лицензии для RDS CALs.

gpo - использовать указанные серверы лицензий Remote Desktop

Если вы установили RDSH на Windows Server Evaluation edition, вам необходимо преобразовать его в полную версию в соответствии с этим руководством. Без обновления службы RDSH на таком хосте будут работать только в течение 120 дней, даже если вы нацелите его на активированный сервер лицензий RDS.

Вы также можете использовать PowerShell для установки имени сервера лицензирования RDS и типа CAL. Если у вас развернут RDS Connection Broker, вы можете изменить параметры лицензирования с помощью команды:

Set-RDLicenseConfiguration -LicenseServer @("rds-lic01.woshub.loc") -Mode PerDevice -ConnectionBroker "rdcb01.woshub.loc"

Или можно указать адрес сервера лицензирования и тип лицензии непосредственно в реестре с помощью PowerShell:

# RDS licensing type: 2 – Per Device CAL, 4 – Per User CAL
$RDSCALMode = 4
# RDS license server name
$RDSlicServer = "rds-lic01.woshub.loc"
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 подключаются к серверу лицензирования RDS через следующие порты. Убедитесь, что они не заблокированы брандмауэрами (или Windows Defender Firewall):

  • TCP/135 — Microsoft RPC;
  • UDP/137 — NetBIOS Datagram Service;
  • UDP/138 — Разрешение имен NetBIOS;
  • TCP/139 — Служба сеансов NetBIOS;
  • TCP/445 — SMB;
  • TCP/49152-65535 — динамический диапазон адресов RPC

Чтобы проверить доступность портов, используйте команду Test-NetConnection или инструмент PortQry.

Запустите программу Remote Desktop Licensing Diagnoser (lsdiag.msc) на RDSH и убедитесь, что он видит сервер лицензирования и количество доступных RDS CAL.

Если предупреждений нет и вы видите это сообщение, значит, сервер RDSH может успешно получать RDS CALs для удаленных пользователей и/или устройств.

RD Licensing Diagnoser did not identify any licensing problems for the Remote Desktop Session Host server.

RD Licensing Diagnoser не выявил проблем с лицензированием для сервера Remote Desktop Session Host

Следующие предупреждения отображаются в консоли Licensing Diagnoser, если сервер лицензий RDS не настроен или недоступен:

  • Licenses are not available for this Remoter Desktop Session Host server, and RD Licensing Diagnose has identified licensing problems for the RDSH.
  • Number of licenses available for clients: 0
  • The licensing mode for the Remote Desktop Session Host server is not configured.
  • Remote Desktop Session Host server is within its grace period, but the RD Session Host server has not been configured with any license server.

лицензии rds licensing diagnoser недоступны

В нашем случае ошибка подключения клиента RDP появилась после указания нового сервера RD Licensing.

The remote session was disconnected because there are no Remote Desktop License Servers available to provide a license.

Решение заключается в удалении ключа L$RTMTIMEBOMB из реестра на сервере RDSH.

Подключитесь к серверу RDSH с клиента и проверьте, что сервер лицензирования выпустил RDS CAL. Откройте консоль Event Viewer и перейдите по адресу Журналы приложений и служб -> Microsoft -> Windows -> TerminalServices-Licensing -> Оперативный. Идентификатор события 82 должен содержать следующее описание для успешно выпущенного RDS CAL.

The "Temporary" Windows Server 2022 : RDS Per Device CAL belonging to computer "DESKTOP-PCNAME1" has been upgraded to "Permanent" Windows Server 2022 : RDS Per Device CAL.

RDS-CAL, назначенные клиенту, в журнале просмотра событий

Управление CALs для удаленных рабочих столов

Давайте рассмотрим несколько типичных задач администратора при управлении RDS CAL на сервере лицензирования.

Отчет об использовании лицензий RDS CAL можно получить из консоли RD Licensing Manager. Щелкните правой кнопкой мыши сервер и выберите Создать отчет -> Использование CAL.

rds cals генерировать отчет об использовании

Просмотр информации об установленных и используемых RDS CAL с помощью PowerShell:

Get-WmiObject Win32_TSLicenseKeyPack|select-object KeyPackId,ProductVersion,TypeAndModel,AvailableLicenses,IssuedLicenses |ft

Win32_TSLicenseKeyPack получить установленные пакеты RDS CAL

Если у вас закончились свободные клиентские лицензии, вы можете отозвать ранее выданный RDS Device CAL для неактивного компьютера из консоли (щелкните правой кнопкой мыши лицензию и выберите Отозвать лицензию).

отозвать RDS CAL

Можно также использовать сценарий PowerShell для отзыва ранее выданного CAL устройства RDS:

$RevokedPCName=”lon-bc1-123”
$licensepacks = Get-WmiObject win32_tslicensekeypack | where {($_.keypacktype -ne 0) -and ($_.keypacktype -ne 4) -and ($_.keypacktype -ne 6)}
$licensepacks.TotalLicenses
$TSLicensesAssigned = gwmi win32_tsissuedlicense | where {$_.licensestatus -eq 2}
$RevokePC = $TSLicensesAssigned | ? sIssuedToComputer -EQ $RevokedPCName
$RevokePC.Revoke()

Можно отозвать до 20 % RDS CAL для каждого устройства. Пользовательские CAL не могут быть отозваны.