Возникла проблема с вашей лицензией удаленных рабочих столов, и ваш сеанс будет отключен через 60 мин. Для устранения этой неисправности обратитесь к системному администратору.
В Windows Server 2019 Microsoft сломала привычную схему лицензирования удалённых рабочих столов. Теперь предыдущая схема активация, о которой я рассказывал на примере 2012 сервера больше не работает, вернее выдаёт ошибку, указанную выше.
Есть два решения этой проблемы: ввести сервер в домен и подключаться только доменными пользователями, либо перевести лицензии на «устройство».
Если вам тоже претит ради обычного терминального сервера разворачивать домен, то запускаем редактор групповых политик. В строке терминала пишем gpedit.msc и изменяем соответствующие ключи:
Конфигурация компьютераАдминистративные шаблоныКомпоненты WindowsСлужбы удаленных рабочих столовУзел сеансов удаленных рабочих столовЛицензирование — Задать режим лицензирования удаленных рабочих столов (выбираем тип лицензий) «На устройство»
Англоязычный вариант:
Computer ConfigurationAdministrative TemplatesWindows ComponentsRemote Desktop ServicesRemote Desktop Session HostLicensing — Use the specified Remote Desktop license servers
Тут ещё следует проверить какие лицензии у вас выдаются пользователям. Они должны быть тоже на устройство, иначе будет выдаваться такая ошибка:
Сервер узла сеансов удаленных рабочих столов находится в режиме лицензирования На устройство и режиме перенаправителя Нет, но на сервере лицензирования [имя_сервера] нет установлено лицензий со следующими атрибутами:
Версия продукта: Windows Server 2019
Режим лицензирования: На устройство
Лицензии можно конвертировать, кликнув по ним правой кнопкой мыши и перевести с пользователя на устройства без каких-либо последствий. У меня ошибка с лицензированием ушла.
Подписывайтесь на канал
Яндекс.Дзен
и узнавайте первыми о новых материалах, опубликованных на сайте.
Обновлено 20.09.2020
Добрый день! Уважаемые читатели и гости одного из крупнейших IT блогов России Pyatilistnik.org. В прошлый раз мы с вами научились отключать software reporter tool в Chrome Браузере, так как этот компонент уж очень сильно мог загружать центральный процессор вашего компьютера или ноутбука. В сегодняшней публикации я хочу поговорить про ошибки лицензирования терминальных столов и RDSH узлов в RDS ферме с которыми может встретиться любой системный администратор в своей практике. Мы рассмотрим ошибку «Этому серверу узла сеансов удаленных рабочих столов недоступны лицензии«.
Проблемы при лицензировании терминальных серверов
Ситуация такая, ранее я развернул новую терминальную ферму Remote Desktop Services High Availability на базе Windows Server 2019 с определенным количеством RDSH хостов. Решил через месяц добавить еще несколько сервер подключений и после ввода их в состав RDS фермы и подключившись на каждый из них я увидел ошибку получения лицензий в виде формулировки:
Не указан сервер лицензирования удаленных рабочих столов. Службы удаленных рабочих столов прекратят работать через 91 день, если не будет указан сервер лицензирования. На сервере посредника подключений
Самое интересное, что у меня при разворачивании RDS фермы был добавлен сервер лицензирования, который мы специально устанавливали под Windows Server 2019. Давайте разбираться в чем дело.
Диагностика и устранение проблем с лицензированием служб удаленных рабочих столов
Если у вас проблема с лицензированием RDSH хостов, то первым делом вы должны проверить ваши настройки RDS фермы через оснастку управления. В списке «Deployment Server» убедитесь, что у вас добавлены нужные сервера лицензирования RDS и нет лишних. В моем примере было добавлено три сервера лицензирования Remote Desktop Services. Один из них был точно с нужными лицензиями, а вот остальные были под вопросом.
Зайдите на каждый из серверов, который предоставляет лицензии и проверьте, что для нужной операционной системы у вас есть лицензии. Делается это через оснастку «Средство диагностики и лицензирования удаленных рабочих столов (RD License Manager)«. Как оказалось на одном из серверов вообще не было лицензий на Windows Server 2019, а на втором их было 0. Исходя из этого, данные сервера нужно удалить из RDS развертывания.
Для удаления выбираем «Задачи (Tasks) — Remove RD Licensing Servers«.
Выделяем нужные сервера и переносим их в правую область, я специально не стал удалять саму роль лицензирования (Uninstall the RD Licensing role service from the selected server), так как они раздавали лицензии для других версий Windows.
Если тут все привели в порядок, то следующим шагом вам необходимо подключиться к нужному участнику RDS фермы, где есть проблемы с получением лицензий и так же проверить, что выдает вам оснастка «Средство диагностики и лицензирования удаленных рабочих столов (RD License Manager)«. Тут вы можете встретить несколько разновидностей ошибок:
Этому серверу узла сеансов удаленных рабочих столов недоступны лицензии, и средство диагностики лицензирования удаленных рабочих столов обнаружило проблемы с лицензированием на этом сервере.
Льготный период использования сервера узла сеансов удаленных рабочих столов еще не истек, но этот сервер не настроен на использование хотя бы одного сервера лицензирования. В английской редакции будет вот такая формулировка «Licensing mode for the Remote Desktop Session Host is not configured. Remote Desktop Service will stop working in 100 days. Remote Desktop Services will stop working because this computer is past grace period and has not contacted at least a valid Windows Server 2019 license server. Click this message to open RD Session Host Server Configuration to use Licensing Diagnosis.»
В данном примере не видно ни одного сервера раздающего лицензии.
Этому серверу узла сеансов удаленных рабочих столов недоступны лицензии, и средство диагностики лицензирования удаленных рабочих столов обнаружило проблемы с лицензированием на этом сервере.
Сервер узла сеансов удаленных рабочих столов находится в режиме лицензирования для пользователя и режиме перенаправителя Нет, но на сервере лицензирования не установлено лицензий со следующими атрибутами «Версия продукта Windows Server 1016 — 2019»
В данном примере на добавленных серверах лицензирования RDS просто нет лицензий для нужной редакции. Данные сервера нужно удалить и добавить актуальные.
Удалить текущие, неправильные сервера лицензирования вы можете через реестр, но нужно понять как они прилетают на сервер и как были добавлены, если в ручную, то это одно дело, если через групповые политики, то другое. Для начала я вам советую выяснить какие политики применяются к данному серверу, посмотрите как это делается. В моем случае и в правду была общая политика на данной OU, где задавались два неправильных сервера лицензирования.
Напоминаю, что это делается при редактировании GPO политики в ветке
Конфигурация компьютераАдминистративные шаблоныКомпоненты WindowsСлужбы удаленных рабочих столовУзел сеансов удаленных рабочих столовЛицензирование — Использовать указанные серверы лицензирования удаленных рабочих столов (добавляем имя нашего сервера) (Computer ConfigurationAdministrative TemplatesWindows ComponentsRemote Desktop ServicesRemote Desktop Session HostLicensing — Use the specified Remote Desktop license servers )
Та же ветка будет участвовать в настройке локальных политик, если это необходимо, вызвать их можно через окно выполнить, введя там gpedit.msc.
Так же задайте тут сразу режим лицензирования для всей RDS фермы, через настройку:
Конфигурация компьютераАдминистративные шаблоныКомпоненты WindowsСлужбы удаленных рабочих столовУзел сеансов удаленных рабочих столовЛицензирование — Задать режим лицензирования удаленных рабочих столов (выбираем тип лицензий)(Computer ConfigurationAdministrative TemplatesWindows ComponentsRemote Desktop ServicesRemote Desktop Session HostLicensing — Set the Remote licensing mode)
Далее вам нужно произвести обновление групповой политики, в случае с локальной она должна применится сразу. Проверяем появление ваших лицензий. Как видите нужные мне лицензии были добавлены и режим лицензирования настроен.
Удаление старых серверов лицензирования через реестр
Может получиться ситуация, что у вас сервера лицензирования были добавлены не через политику, как того требует инфраструктура Active Directory, а через реестр, либо может быть ситуация, что в реестре остались мусорные записи, которые политикой не получается перезаписать. В таких ситуациях вам необходимо самостоятельно проверить вот эту ветку реестра. Запустите окно выполнить и введите в нем regedit, чтобы открыть редактор реестра.
HKEY_LOCAL_MACHINESOFTWAREPoliciesMicrosoftWindows NTTerminal Services
тут нужно найти ключ LicenseServers, именно он и отвечает за список серверов лицензирования, которые назначаются для службы удаленных рабочих столов. Убедитесь, что у вас тут стоит правильное значение. При необходимости его можно поменять, и значения будут применены без необходимости перезагружать сервер.
Еще можете проверить вот такую ветку реестра:
HKEY_LOCAL_MACHINESOFTWAREWOW6432NodePoliciesMicrosoftWindows NTTerminal Services
Тут то же может быть ключ LicenseServers.
Если необходимо задать режим лицензирования на устройства или пользователя с помощью реестра, то вы это легко сможете сделать в ветке:
HKLMSYSTEMCurrentControlSetControlTerminal ServerRCMLicensing Core
Тут будет ключ реестра LicensingMode, который может содержать три значения:
- 2 — Задает режим лицензирования на устройство
- 4 — Задает режим лицензирования на пользователя
- 5 — Режим лицензирования не настроен
Подробнее на https://docs.microsoft.com/en-us/windows-hardware/customize/desktop/unattend/microsoft-windows-terminalservices-remoteconnectionmanager-licensingmode
Как настроить сервер лицензирования удаленных рабочих столов на узле сеанса удаленных рабочих столов через PowerShell
Так же вы можете управлять и просматривать значения настроек сервера лицензирования RDS через оболочку PowerShell, для этого вы можете воспользоваться вот такими командлетами.
- Проверка настроен ли сервер лицензирования
$obj = gwmi -namespace «Root/CIMV2/TerminalServices» Win32_TerminalServiceSetting
$obj.GetSpecifiedLicenseServerList()
- Задать нужный сервер лицензий через PowerShell
$obj = gwmi -namespace «Root/CIMV2/TerminalServices» Win32_TerminalServiceSetting
$obj.SetSpecifiedLicenseServerList(«FQDN вашего сервера лицензий»)
В процессе выполнения вы можете получить ошибку:
Исключение при вызове «SetSpecifiedLicenseServerList» : «Недопустимая операция » (“Exception … Invalid operation” или $obj.setspecifiedlicenseserverlist invalid operation)
С большой вероятностью у вас уже задана настройка через групповую политику, поэтому идет такой конфликт. Тут либо отключать политику через gpedit.msc или менять значение в самой политике. Речь идет о данной ветке «Конфигурация компьютераАдминистративные шаблоныКомпоненты WindowsСлужбы удаленных рабочих столовУзел сеансов удаленных рабочих столовЛицензирование — Использовать указанные серверы лицензирования удаленных рабочих столов (Administrative TemplatesWindows ComponentsRemote Desktop ServicesRemote Desktop Session HostLicensing)«
Так же убедитесь, что вы выполняете команду в режиме администратора и имея административные права на данном сервере.
- Проверка режима лицензирования через PowerShell
$obj = gwmi -namespace «Root/CIMV2/TerminalServices» Win32_TerminalServiceSetting
$obj.LicensingType
$obj.LicensingName
- Смена режима лицензирования через PowerShell
$obj = gwmi -namespace «Root/CIMV2/TerminalServices» Win32_TerminalServiceSetting
$obj.ChangeMode(value)
PS: Value = 2(Per Device)/4(Per User)
На этом я думаю у меня все, вы теперь точно научились диагностировать и решать проблемы с получением и назначением лицензий на сервера RDSH. Вы сами в праве выбирать тот метод, что вам подходит более всего, но старайтесь все же использовать по возможности централизацию в виде групповых политик, это уберет проблему с массовыми настройками и даст инструмент быстрого обновления настроек. С вами был Иван Семин, автор и создатель IT портала Pyatilistnik.org. Жду ваших вопросов и комментариев.
Подскажите что не так. Лицензий нет
Установил WS2019-Standart
Добавил Службы удаленных рабочих столов», и роль «Лицензирование удаленных рабочих столов»
Установил лицензию на УСТРОЙСТВО удаленного подключение на 10 пк (при лицензировании выбирал пункт «другое соглашение» нашел номер соглашения в интернете.
При проверке «Средство диагностики лицензирования удаленных рабочих столов» ОШИБОК нет
Но больше 2 устройств, на сервер не заходит (просит выгнать )
Домена нет, служба поднята на рабочей группе workgroup
-
Вопрос заданболее двух лет назад
-
3627 просмотров
Пригласить эксперта
При проверке «Средство диагностики лицензирования удаленных рабочих столов» ОШИБОК нет
Да при чем тут ошибки — сколько лицензий доступно?
Сервер лицензирования настроен? Я дальше 2008 R2 не залезал, но там вроде через групповую политику его надо вкрутить..
Если не пускает больше двух — то сервер в режиме удаленного управления (вход для двух администраторов), а не в режиме сервера терминалов.
А в свойствах службы rdp указана нужное сетевое? а то был случай, при настройке выбралось сушествующее, а потом в рабочую сетку воткнул, а там другое, долго траблу искал.
ля просто домен подыми и все будет работать)
Не забыли в групповой политике указать адрес сервера лицензий и какие типы лицензий с него просить?
Спасибо!
Проблема была в службе лицензирования (останавливалась через 5 сек. работы)
-
Показать ещё
Загружается…
05 февр. 2023, в 12:13
20000 руб./за проект
05 февр. 2023, в 11:48
5000 руб./за проект
05 февр. 2023, в 11:27
15000 руб./за проект
Минуточку внимания
- 14.12.2020
Если Вы лицензировали свой Windows Server лицензией RDS (CAL) для доступа к возможностям RDP (Удаленных рабочих столов), но у Вас выходит следующая ошибка — «Проблема с лицензией удалённых рабочих столов. Возникла проблема с вашей лицензией удалённых рабочих столов, и ваш сеанс будет отключён через 60 мин. Для устранения этой неисправности обратитесь к системному администратору«.
Из-за чего выходит такая ошибка?
Вы активировали лицензию RDS User CAL (На пользователя), но при этом Ваш сервер не входит в домен.
Какое решение проблемы?
Есть два варианта решения проблемы:
1) Добавить Ваш сервер в домен.
2) Либо в настройках лицензирования сервер сменить настройку «На устройство», вместо «На пользователя». Сделать это можете в меню: «Поиск» на панели инструментов => gpedit.msc => Конфигурация компьютера => Административные шаблоны => Компоненты Windows => Службы удаленных рабочих столов => Узел сеансов удаленных рабочих столов => Лицензирование. (Данный вариант не всегда помогает в решении проблемы)
После смены настроек — перезагрузите сервер.
А так же, приобрести лицензии Windows Server CAL (RDS) для различных версий Windows Server можете в нашем каталоге по самым низким ценам от 2490 ₽ на 50 пользователей/устройств. Быстрая доставка ключей активаций Windows Server CAL, гарантия.
В это статье мы рассмотрим процесс установки, настройки и активации роли сервера лицензирования удаленных рабочих столов (Remote Desktop Licensing) на базе Windows Server 2019 и 2016, а также процедуру установки и активации клиентских терминальных (RDS CAL).
Напомню, что после установки роли терминального сервера Remote Desktop Session Host, пользователи могут использовать его только в течении пробного периода 120 дней, после окончания которого возможность подключения к удаленному RDS серверу пропадает. Согласно схеме лицензирования Microsoft, все пользователи или устройства, подключающиеся к рабочему столу RDS сервера, должны быть лицензированы. Для учета и выдачи терминальных лицензий (RDS CAL) существует отдельная служба в роли RDS — Remote Desktop License Server.
Содержание:
- Установка роли Remote Desktop Licensing в Windows Server 2019/2016
- Активация сервера лицензий RDS в Windows Server
- Типы клиентских терминальных лицензий (RDS CAL)
- Установка клиентских лицензий RDS CAL в Windows Server 2019/2016
- Отчеты об использовании лицензий CAL на RDS
- Удаление RDS CAL с сервера лицензирования
- Настройка серверов RDSH на использование сервера лицензий RDS
Установка роли Remote Desktop Licensing в Windows Server 2019/2016
Вы можете установить компонент Remote Desktop Licensing на любом сервере домена, не обязательно устанавливать его на одном из серверов фермы RDSH.
Переда началом установки сервера лицензирования RDS нужно добавить данный хост (или убедиться, что у вас есть право на добавление) в доменную группу Terminal Server License Servers, иначе сервер не сможет выдать CAL типа RDS Per User пользователям домена.
Установить службу Remote Desktop Licensing можно через консоль Server Manager. Для этого в мастере Add Roles and Features выберите роль Remote Desktop Services.
В качестве компонента роли нужно выбрать службу Remote Desktop Licensing.
Осталось дождаться окончания установки роли.
Для управления службой RDS-Licensing используется консоль Remote Desktop Licensing Manager —
licmgr.exe
.
В Windows Server стандартные компоненты и роли проще всего установить с помощью PowerShell. Для установки службы лицензирования RDS и утилиты RD Licensing Diagnoser достаточно выполнить одну команду:
Install-WindowsFeature RDS-Licensing –IncludeAllSubFeature -IncludeManagementTools
Для вывода списка RDS служб, установленных на сервере, используйте команду:
Get-WindowsFeature -Name RDS* | Where installed
Активация сервера лицензий RDS в Windows Server
Чтобы сервер лицензирования RDS мог выдавать лицензии клиентам, его необходимо активировать. Для этого, откройте консоль Remote Desktop Licensing Manager (licmgr.exe), щелкните ПКМ по имени вашего сервера и выберите пункт меню Activate Server.
Запустится мастер активации сервера лицензирования RDS, в котором нужно будет выбрать желаемый метод активации. Если ваш сервер имеет доступ в Интернет, он может автоматически подключиться к серверам Microsoft. Если доступа в интернет с сервера нет, можно активировать сервер через веб браузер или по телефону.
Далее нужно будет заполнить ряд информации о вашей организации (часть полей является обязательными).
Осталось нажать кнопку Finish.
Щелкните в консоли по имени сервера правой клавишей и выбрать пункт Review Configuration. Здесь можно убедиться, что данный сервер лицензий RDS является активированным и может быть использован для активации RDS клиентов в домене.
- 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)
Каждый пользователь или устройство, которое подключается к серверам Remote Desktop Session Host, должно иметь клиентскую лицензию (CAL — client access license). Есть два типа терминальных CAL.
- На устройство (Per Device CAL) – это постоянный тип лицензии, назначающийся компьютеру или устройству, которое подключается к RDS серверу более одного раза (при первом подключении устройства ему выдается временная лицензия). Данные лицензии не являются конкурентными, т.е. если у вас 10 лицензий Per Device, то к вашему RDS серверу смогут подключится всего 10 компьютеров. Актуальная OVL лицензия называется так:
WinRmtDsktpSrvcsCAL 2019 SNGL OLV NL Each AP DvcCAL
- На пользователя (Per User CAL) – такой тип лицензии позволяет одному пользователю подключиться к серверу RDS с любого количества компьютеров/устройств. Данный тип лицензий привязывается к учетной записи пользователя в Active Directory, но выдается не навсегда, а на определенный период времени. Лицензия выдается на срок от 52 до 89 дней (случайное число). Актуальная Open Value лицензия этого типа называется так:
WinRmtDsktpSrvcsCAL 2019 SNGL OLV NL Each AP UsrCAL
.Если вы попытаетесь использовать RDS CAL Per User 2019 в рабочей группе (не в домене), то RDSH сервер будет каждые 60 минут принудительно завершать сеанс пользователей с сообщением: “Проблема с лицензией удаленных рабочих столов и ваш сеанс будет завершен через 60 мин / There is a problem with your Remote Desktop license, and your session will be disconnected in 60 minutes ”. Поэтому для RDS серверов в среде workgroup нужно использовать только лицензирование на устройство — Per Device RDS CAL.
Примечание. Отметим, что 2016 RDS CAL можно установить только на сервере лицензирования под управлением Windows Server 2016 или 2019. Установка RDS CALs для более новые версий Windows Server на предыдущие версии Windows не поддерживается. Т.е. вы не сможете установить 2016 RDS CAL на хост лицензирования Windows Server 2012 R2.
При попытке добавить новые RDS CAL 2019 на Windows Server 2016 появится ошибка:
RD Licensing Manager The license code is not recognized. Ensure that you have entered the correct license code.
Установка клиентских лицензий RDS CAL в Windows Server 2019/2016
Теперь на сервер лицензирования нужно установить приобретенный пакет терминальных лицензий (RDS CAL).
В консоли Remote Desktop Licensing Manager щелкните ПКМ по серверу и выберите Install Licenses.
Выберите способ активации (автоматически, через веб или по телефону) и программу лицензирования (в нашем случае Enterprise Agreement).
В сеть утекло уже довольно много enterprise agreement номеров для RDS (4965437). Найти номера думаю, не составит проблемы. Обычно даже не нужно искать кряки или активаторы.
Следующие шаги мастера зависят от того, какой тип лицензирования выбран. В случае Enterprise Agreement нужно указать его номер. Если выбран тип лицензирования License Pack (Retail Purchase), нужно будет указать 25-символьный ключ продукта, полученный от Microsoft или партнера.
Укажите тип продукта (Windows Server 2016 или 2019), тип лицензии (RDS Per User CAL) и количество терминальных лицензий, которые нужно установить на сервере.
После этого, сервер может выдавать лицензии (RDS CAL) клиентам.
Вы можете сконвертировать RDS лицензии User CAL в Device CAL (и наоборот) с помощью контекстного меню Convert Licenses в консоли RD Licensing Manager.
Если у вас закончились свободные лицензии, вы можете отозвать ранее выданные лицензии RDS Device 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()
Можно отозвать до 20% Per-Device RDS CALs. Per-User CALs отозвать нельзя.
Отчеты об использовании лицензий CAL на RDS
В консоли управления CAL лицензиями RDS можно сформировать отчет по использованию лицензий. Для этого в контекстном меню сервера выберите Create Report -> CAL Usage.
Однако, я предпочитаю использовать PowerShell для построения отчетов об использовании RDS CAL.
Следующий скрипт покажет оставшееся количество лицензий во всех паках RDS CAL:
Import-Module RemoteDesktopServices -ErrorAction Stop
Set-Location -Path 'rds:' -ErrorAction Stop
$licenses = (Get-Item -Path RDS:LicenseServerLicenseKeyPacks* | Where-Object Name -Like "-Per User-*").Name
$total=0;
$issued=0;
foreach ($license in $licenses) {
$count=(Get-Item -Path RDS:LicenseServerLicenseKeyPacks$licenseTotalLicenses).CurrentValue
$total= $total + $count
$count2=(Get-Item -Path RDS:LicenseServerLicenseKeyPacks$licenseIssuedLicensesCount).CurrentValue
$issued= $issued + $count2
}
$available = $total - $issued
Write-Host "Total Licenses available: $available"
Вы можете запускать этот PowerShell скрипт через Zabbix и генерировать алерт, если оставшееся количество лицензий меньше, например, 5.
Следующий скрипт позволит получить таблицу по использованию Per User лицензий:
Import-Module RemoteDesktopServices -ErrorAction Stop
Set-Location -Path 'rds:' -ErrorAction Stop
$path = “C:LogsReportsRDS_CAL_Report.csv”
$fileName = (Invoke-WmiMethod Win32_TSLicenseReport -Name GenerateReportEx).FileName
$fileEntries = (Get-WmiObject Win32_TSLicenseReport | Where-Object FileName -eq $fileName).FetchReportEntries(0,0).ReportEntries
$objArray = @()
foreach($entry in $fileEntries){
$objArray += $entry | select User, ProductVersion, CALType, ExpirationDate
$objArray[-1].User = $objArray[-1].User.Split('') | select -Last 1
$time = $objArray[-1].ExpirationDate.Split('.') | select -first 1
$objArray[-1].ExpirationDate = [datetime]::ParseExact($time, "yyyyMMddHHmmss", $null)
}
$objArray | Export-Csv -Path $path -Delimiter ',' -NoTypeInformation
Удаление RDS CAL с сервера лицензирования
Если вы хотите перенести свой набор лицензий RDS CAL с одного сервера лицензирования Remote Desktop на другой, вы можете удалить установленные лицензии с сервера лицензирования с помощью PowerShell.
Следующая команда выведет список установленных пакетов RDS лицензий на сервере:
Get-WmiObject Win32_TSLicenseKeyPack|select-object KeyPackId,ProductVersion,TypeAndModel,AvailableLicenses,IssuedLicenses |ft
Найдите значение KeyPackId для пакета RDS CAL, который нужно удалить и выполите команду:
wmic /namespace:\rootCIMV2 PATH Win32_TSLicenseKeyPack CALL UninstallLicenseKeyPackWithId KEYPACKID
Также вы можете полностью удалить все наборы CAL, пересоздав базу лицензий RDS. Для этого остановите службу Remote Desktop Licensing:
Stop-Service TermServLicensing
Переименуйте файл C:WindowsSystem32lserverTLSLic.edb в C:WindowsSystem32lserverTLSLic.bak и запустите службу:
Start-Service TermServLicensing
После этого все RDS CAL лицензии будут удалены, и вы должны активировать их заново.
Настройка серверов RDSH на использование сервера лицензий RDS
После активации службы сервера лицензирования RDS можно перенастроить терминальные сервера RD Session Host на получение лицензий с данного сервера. Выбрать тип лицензий и указать имя терминального сервера из графического интерфейса Server Manager, с помощью PowerShell или групповой политики.
Чтобы изменить адрес сервера лицензирования на хосте RDS, откройте Server Manager -> Remote Desktop Services -> Collections. В правом верхнем меню “Tasks” выберите “Edit Deployment Properties”.
В настройках перейдите на вкладку RD Licensing, выберите тип лицензирования (Select the Remote Desktop licensing mode) и сервер RDS лицензий (Specify a license server). Нажмите Add -> Ok.
Вы можете изменить адрес сервера лицензирования RDS и тип CAL с помощью PowerShell:
$obj = gwmi -namespace "Root/CIMV2/TerminalServices" Win32_TerminalServiceSetting
Затем укажите желаемый тип лицензирования:
$obj.ChangeMode(4)
Примечание. 4 указывается, если сервер должен использовать тип лицензирования Per User, 2 – если Per Device.
Теперь можно указать имя сервера лицензирования RDS:
$obj.SetSpecifiedLicenseServerList("rds-lic1.winitpro.ru")
И проверить настройки:
$obj.GetSpecifiedLicenseServerList()
Если вы хотите назначить настройки сервера лицензирования RDS через групповые политики, нужно создать новую GPO и назначить ее на OU с RDS серверами (либо вы можете указать имя сервера лицензирования RDS с помощью локального редактора групповых политик –
gpedit.msc
). Настройки лицензирования задаются в разделе: Computer Configuration -> Policies -> Admin Templates -> Windows Components -> Remote Desktop Services -> Remote Desktop Session Host -> Licensing.
В этом разделе имеется 2 интересующие нас политики:
- Use the specified Remote Desktop license servers – здесь указывается адрес сервера лицензирования RDS;
- Set the Remote Desktop licensing mode – выбор метода лицензирования (типа клиентских лицензий – RDS CAL).
Хосты RDSH для получения лицензий с сервера RDS Licensing обращаются к нему по следующим портам. Убедитесь, что они не блокируются межсетевыми экранами (или Windows Firewall):
- 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). Утилиту RD Licensing Diagnoster можно установить на серверах с ролью RDSH через (Server Manager: Features -> Remote Server Administration Tools -> Role Administration Tools -> Remote Desktop Services Tools -> Remote Desktop Licensing Diagnoser Tools).
Если сервер RDSH не настроен на использование сервера лицензий 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.
alert] Если вы установили RDSH на ознакомительно редакции Windows Server Evaluation, не забудьте перевести его в полноценную версию согласно инструкции. Без конвертации службы RDSH на таком хосте будут работать только 120 дней даже после того, как вы нацелите его на активированный сервер лицензий RDS.[/alert]
Если предупреждений нет, и вы видите сообщение “RD Licensing Diagnoser did not identify any licensing problems for the Remote Desktop Session Host server”, значит RDSH сервер может получать лицензии RDS CAL для пользователей.
Примечание. В нашем случае после указания нового сервера лицензирования, на RDP клиенте при подключении стала появляться ошибка “The remote session was disconnected because there are no Remote Desktop License Servers available to provide a license”. Решение – удаление ключа L$RTMTIMEBOMB из реестра.
Содержание
- Способы устранения ошибки
- Способ 1: Удаление веток реестра
- Способ 2: Копирование веток реестра
- Заключение
- Вопросы и ответы
При использовании RDP на компьютере под управлением операционной системы Windows по некоторым причинам может возникать ошибка об отсутствии клиентских лицензий удаленного рабочего стола. Далее в статье мы расскажем о причинах и методах устранения подобного сообщения.
Способы устранения ошибки
Возникает рассматриваемая ошибка вне зависимости от версии ОС из-за отсутствия лицензий на клиентском компьютере. Иногда то же самое сообщение можно увидеть из-за невозможности получения новой лицензии, так как ранняя была кэширована.
Способ 1: Удаление веток реестра
Первый метод заключается в удалении определенных ключей реестра, связанных с лицензиями RDP. Благодаря данному подходу можно обновить временные лицензии и вместе с тем избавиться от проблем по части кэширования устаревших записей.
- На клавиатуре воспользуйтесь комбинацией клавиш «Win+R» и введите следующий запрос.
regedit
- В реестре разверните ветку «HKEY_LOCAL_MACHINE» и переключитесь к разделу «SOFTWARE».
- На 32-битной ОС перейдите в папку «Microsoft» и пролистайте ее вниз до директории «MSLicensing».
- Кликните правой кнопкой мыши по строке с указанной папкой и выберите пункт «Удалить».
Примечание: Не забывайте делать копию изменяемых ключей.
- Процесс удаления необходимо подтвердить вручную.
- В случае с 64-битной ОС единственное отличие заключается в том, что после перехода к разделу «SOFTWARE», вам необходимо дополнительно раскрыть директорию «Wow6432Node». Остальные действия полностью аналогичны вышеописанному.
- Прежде чем перейти к запуску, выполните перезагрузку компьютера.
Читайте также: Как перезагрузить ПК
- Теперь, чтобы избежать повторного возникновения ошибки, запустите клиент «От имени администратора». Это необходимо сделать только в первый раз.
Если вы все сделали правильно, стабильная работа RDP будет восстановлена. В противном случае переходите к следующему разделу статьи.
Способ 2: Копирование веток реестра
Первый способ исправления проблемы с отсутствием клиентской лицензии удаленного рабочего стола является действенным не на всех версиях ОС Windows, что в особенности относится к десятке. Исправить ошибку можно путем переноса веток реестра с машины под управлением Windows 7 или 8 на ваш компьютер.
Читайте также: Включение RDP 8/8.1 в Windows 7
- В соответствии с инструкцией из первого способа на ПК с Win 7 откройте реестр и найдите ветку «MSLicensing». Кликните по данному разделу правой кнопкой мыши и выберите пункт «Экспортировать».
- Укажите любое удобное место сохранения файла, на свой выбор введите название и нажмите кнопку «Сохранить».
- Переместите созданный файл на ваш основной компьютер и дважды кликните по нему.
- Через окно с уведомлением подтвердите импорт, нажав кнопку «Да».
- В случае успеха вы получите уведомление и теперь компьютер нужно перезапустить.
Примечание: Несмотря на различия в версиях ОС, ключи реестра работают должным образом.
После выполнения описанных в данной инструкции действий ошибка должна исчезнуть.
Заключение
Рассмотренные способы позволяют избавиться от ошибки отсутствия клиентских лицензий в большинстве случае, но все же не всегда. Если настоящая статья не помогла вам с решением проблемы, оставляйте свои вопросы нам в комментариях.
Еще статьи по данной теме: