Сервер Remote Desktop Licensing используется для выдачи и отслеживания клиентских терминальных лицензий RDS (CAL). Согласно схеме лицензирования Microsoft все пользователи, или устройства, подключающиеся к графическому сеансу рабочего стола RDS, должны быть лицензированы. В этой статье мы рассмотрим, как установить и активировать роль сервера лицензирования удаленных рабочих столов на хосте с Windows Server 2022, 2019 и 2016, а также как установить клиентские лицензии RDS CAL.
Установка роли Remote Desktop Licensing в Windows Server
Компонент Remote Desktop Licensing можно установить на любом хосте Windows Server (не обязательно устанавливать его на одном из серверов фермы RDS). Если вы разворачиваете хост RD Licensing в домене AD, добавьте сервер во встроенную группу Terminal Server License Servers (иначе сервер не сможет выдать CAL типа RDS Per User пользователям домена).
Установите службу Remote Desktop Licensing через консоль Server Manager (Add Roles and Features -> Remote Desktop Services -> Remote Desktop Licensing.
Дождитесь окончания установки роли.
Также вы можете в Windows Server установить компонент лицензирования RDS и инструменты управления RD Licensing с помощью PowerShell:
Install-WindowsFeature RDS-Licensing –IncludeAllSubFeature -IncludeManagementTools
Выведите установленные компоненты RDS на сервере и проверьте, что RDS-Licensing и RDS-Licensing-UI установлены:
Get-WindowsFeature -Name RDS* | Where installed
Для управления службой RDS-Licensing используются две консоли:
- Remote Desktop Licensing Manager (
licmgr.exe
) - RD Licensing Diagnoser (
lsdiag.msc
)
Активация сервера лицензий RDS на Windows Server
Чтобы сервер лицензирования RDS мог выдавать лицензии клиентам, его необходимо активировать. Откройте консоль Remote Desktop Licensing Manager (
licmgr.exe
), щелкните ПКМ по имени вашего сервера и выберите пункт меню Activate Server.
В мастере активации сервера лицензирования RDS нужно выбрать, хотите ли вы активировать сервер через интернет, с помощью браузера или по телефону.
Далее нужно будет заполнить ряд информации о вашей организации (часть полей является обязательными).
Нажмите кнопку Finish. Должна появится надпись:
The license server has been successfully activated.
Щелкните в консоли по имени сервера и выберите Review Configuration. В этом примере сервер лицензий RDS активирован и может выдавать лицензии клиентам в домене 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 CAL в Windows Server
Теперь на сервер лицензирования нужно установить приобретенный вами пакет терминальных лицензий (RDS CAL, client access license). Есть два типа терминальных CAL:
- На устройство (Per Device CAL) – лицензия назначается на устройство (компьютер). Дает право подключения к RDS серверам с одного устройства любому количеству пользователей. При первом подключении устройства к RDS ему назначается временная лицензия, а при втором – постоянная. Лицензия не являются конкурентными, это означает что если у вас 10 лицензий Per Device, то к вашему RDS серверу смогут подключится всего 10 компьютеров. Актуальная OVL лицензия называется так:
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
.Если вы разворачиваете RDSH сервер в рабочей группе (не в домене), используйте лицензирование на устройство (Per Device RDS CAL). Иначе RDSH сервер будет каждые 60 минут завершать сеанс пользователей с сообщением: “Проблема с лицензией удаленных рабочих столов и ваш сеанс будет завершен через 60 мин / There is a problem with your Remote Desktop license, and your session will be disconnected in 60 minutes ”.
Клиентские лицензия RDS которые вы используете должны быть совместимы с версией Windows Server, к которой подключается пользователь или устройство. Следующая таблица позволяет определить совместимость RDS CAL с версий Windows Server на сервере лицензирования RDS:
2008 R2 СAL | 2012 CAL | 2016 CAL | 2019 CAL | 2022 CAL | |
2008 R2 | Yes | No | No | No | No |
2012 | Yes | Yes | No | No | No |
2012 R2 | Yes | Yes | No | No | No |
2016 | Yes | Yes | Yes | No | No |
2019 | Yes | Yes | Yes | Yes | No |
2022 | Yes | Yes | Yes | Yes | Yes |
RD Licensing Manager The license code is not recognized. Ensure that you have entered the correct license code.
В консоли Remote Desktop Licensing Manager щелкните по серверу и выберите Install Licenses.
Выберите способ активации (автоматически, через веб или по телефону) и программу лицензирования (в нашем случае Enterprise Agreement).
Следующие шаги мастера зависят от того, какой тип лицензирования выбран. В случае Enterprise Agreement нужно указать его номер. Если выбран тип лицензирования License Pack (Retail Purchase), нужно будет указать 25-символьный ключ продукта, полученный от Microsoft или партнера.
Укажите тип продукта (Windows Server 2022, 2019 или 2016), тип RDS CAL и количество терминальных лицензий, которые нужно установить на сервере.
Если нужно сконвертировать RDS лицензии User CAL в Device CAL (или наоборот), щелкните по пакету лицензий в консоли RD Licensing Manager и выберите Convert Licenses.
Настройка серверов RDSH на использование сервера лицензий RDS
После установки роли RDSH на Windows Server пользователю могут использовать его в течении пробного (grace) периода 120 дней, после чего они не смогут подключиться к RDS. Чтобы ваши RDSH хосту могли получать CAL лицензии с RDS License сервера и выдавать их устройствам/пользователям, нужно указать адрес сервера с RDS лицензиями в настройках терминальных серверов RD Session Host.
Можно задать адрес сервера лицензирования в настройка коллекции на RDSH. Откройте Server Manager -> Remote Desktop Services -> Collections. В правом верхнем меню выберите Tasks -> Edit Deployment Properties.
Перейдите на вкладку RD Licensing, выберите тип лицензирования (Per user или Per device в зависимости от имеющихся лицензий) и адрес сервера RDS. Нажмите Add -> Ok.
Можно задать настройки сервера лицензирования RDS через групповые политики. В домене нужно создать нужно создать новую GPO в консоли GPMC и назначить ее на OU с RDS серверами (либо вы можете указать имя сервера лицензирования RDS с помощью локального редактора групповых политик –
gpedit.msc
).
Перейдите в раздел Computer Configuration -> Policies -> Admin Templates -> Windows Components -> Remote Desktop Services -> Remote Desktop Session Host -> Licensing и настройте два параметра.
- Use the specified Remote Desktop license servers – укажите имя или IP адрес сервера лицензирования RDS;
- Set the Remote Desktop licensing mode – выбор тип клиентских лицензий (RDS CAL).
Также можно задать имя сервера лицензирования RDS и тип CAL с помощью PowerShell. Если у вас развернут посредник RDS Connection Broker, можно изменить настройки лицензирования с помощью команды:
Set-RDLicenseConfiguration -LicenseServer @("rds-lic01.winitpro.loc") -Mode PerDevice -ConnectionBroker "rdcb01.winitpro.loc"
Либо вы можете указать адрес сервера лицензирования и тип лицензий в реестре с помощью PowerShell команд:
# Тип лицензирования RDS 2 – Per Device CAL, 4 – Per User CAL
$RDSCALMode = 4
# Имя сервера лицензирования RDS
$RDSlicServer = "rds-lic01.winitpro.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
- TCP/135 (Microsoft RPC)
- UDP/137 (NetBIOS Datagram Service)
- UDP/138 (NetBIOS Name Resolution)
- TCP/139 (NetBIOS Session Service)
- TCP/445 (SMB)
- TCP 49152 – 65535 — RPC динамический диапазон адресов
Вы можете проверить доступность портов с помощью утилиты PortQry или командлета Test-NetConnection.
Запустите утилиту Remote Desktop Licensing Diagnoser (
lsdiag.msc
) на RDSH хосте и проверьте, что он видит сервер лицензирования и количество доступных RDS CAL.
RD Licensing Diagnoser did not identify any licensing problems for the Remote Desktop Session Host server.
Если сервер сервера лицензий RDS не задан, или недоступен, в консоли Licensing Diagnoser будут присутствовать следующие предупреждения:
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.
The remote session was disconnected because there are no Remote Desktop License Servers available to provide a license
. Решение – удаление ключа L$RTMTIMEBOMB из реестра.Можете подключиться к RDSH серверу с клиента и проверить, что сервер лицензирования назначил RDS CAL подключению. Откройте консоль Event Viewer и перейдите Applications and Services Logs -> Microsoft -> Windows -> TerminalServices-Licensing -> Operational. Событие успешной выдачи RDS CAL с Event ID 82 будет содержать такую надпись:
The "Temporary" Windows Server 2022 : RDS Per Device CAL belonging to computer "DESKTOP-S6G9U9C" has been upgraded to "Permanent" Windows Server 2022 : RDS Per Device CAL.
Управление клиентскими лицензиями CAL на RDS
Рассмотрим несколько типовых инструментов администратора при управлении RDS CAL на сервере лицензирования.
Вы можете в консоли управления RD Licensing Manager отчет об использовании лицензий RDS CAL. Для этого в контекстном меню сервера выберите Create Report -> CAL Usage.
Вывести информацию по установленным и используемым лицензиям RDS CAL с помощью PowerShell:
Get-WmiObject Win32_TSLicenseKeyPack|select-object KeyPackId,ProductVersion,TypeAndModel,AvailableLicenses,IssuedLicenses |ft
Если у вас закончились свободные лицензии, вы можете отозвать ранее выданные лицензии RDS Device CAL для неактивных компьютеров из консоли (правой кнопкой по лицензии и выберите Revoke License.
Также вы можете отозвать RDS CAL с помощью скрипта PowerShell:
$RevokedPCName=”msk-pc2332”
$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()