Сбросить лицензии rdp windows server 2012 r2

Обновлено: 05.07.2024

В этой статье описывается, как удалить лицензии терминала Server из клиента удаленного протокола рабочего стола (RDP).

Применяется к: Windows 10 — все выпуски, Windows Server 2012 R2
Исходный номер КБ: 187614

Сводка

Когда нелицензионный клиент впервые подключается к терминаловому серверу, сервер терминала выдает клиенту маркер временной лицензии клиентского доступа к терминалу сервера (CAL). После входа пользователя в сеанс сервер терминала поручит серверу лицензии отметить выданный временный маркер Cal Terminal Server как проверяемый. При следующем подключении клиента будет предпринята попытка обновить проверенный временный маркер CAL терминала Server до полного маркера Cal Terminal Server. Если нет токенов лицензии, временный маркер Cal Terminal Server будет работать в течение 90 дней. Лицензия хранится в реестре клиента.

32-битные клиенты RDP хранят лицензию под ключом HKEY_LOCAL_MACHINE\Software\Microsoft\MSLicensing .

В этот раздел, описание метода или задачи включены действия, содержащие указания по изменению параметров реестра. Однако неправильное изменение параметров реестра может привести к возникновению серьезных проблем. Поэтому следует в точности выполнять приведенные инструкции. Для дополнительной защиты создайте резервную копию реестра, прежде чем редактировать его. Так вы сможете восстановить реестр, если возникнет проблема. Дополнительные сведения о том, как создать и восстановить реестр, см. в этой информации, как создать и восстановить реестр в Windows.

Чистый кэш лицензии клиента RDP

Чтобы очистить кэш лицензии клиента, просто удалите этот ключ и его подки. При следующем подключении клиента к серверу будет получена другая лицензия.

Для 16-битных клиентов RDP запустите regedit /v . Затем удалите ключи, \Software\Microsoft\MSLicensing чтобы очистить кэш лицензии клиента. Вы также можете удалить файлы BIN из \Windows\System\Regdata .

Клиент RDP для Macintosh сохраняет лицензию в файле на локальном компьютере в иерархии папок под /users/Shared/Microsoft/RDC Crucial Server Information/ . Чтобы очистить кэш лицензии клиента Macintosh, удалите содержимое этой папки. Клиент будет пытаться получить новую лицензию с сервера в следующий раз, когда он подключается.

Ошибка произошла в протоколе лицензирования

Чтобы устранить эту проблему, щелкните правой кнопкой мыши ярлык удаленное подключение к рабочему столу, а затем выберите Выполнить в качестве администратора. По умолчанию удаленное подключение к рабочему столу выполняется как пользователь с самыми низкими разрешениями пользователя. По умолчанию ограниченный пользователь не имеет разрешения на запись записей реестра для HKEY_LOCAL_MACHINE. Поэтому попытки переписать ключ не MSLicensing удается. Запуск удаленного подключения к рабочему столу с административными учетными данными предоставляет разрешения, необходимые для записи необходимых ключей реестра.

Исправлена ли эта проблема

Проверьте, устранена ли проблема. Если проблема не устранена, обратитесь в службу поддержки.

Сброс тестового периода для терминального сервера Windows

Основанные на Windows терминальные сервера (сервера удаленных рабочих столов, и т. д.) требуют приобретения дополнительных лицензий, в противном случае терминальный сервер будет работать с пробном режиме - без каких-либо ограничений по функционалу, но только первые 180 дней. После того, как пройдут 180 дней, подключится к такому серверу пользователям не получится, поскольку он будет ругаться на отсутствие лицензий.

Сброс пробного периода

Поскольку при подключении удаленно к такому серверу будет появлятся ошибка об отсутствии лицензий на подключения к серверу, подключаться к нему будет возможно только через консольный сеанс - для этого, необходимо выполнить команду mstsc /admin .

Однако, можно без проблем сбросить пробный период терминального сервера, достаточно выполнить несколько манипуляций в реестре Windows. Для этого, запускаем редактор реестра, и переходим в следующий раздел реестра:

В данном разделе реестра необходимо удалить значение реестра с названием начинающимся на L$RTMTIMEBOMB. , однако, скорее всего ничего не выйдет, поскольку по умолчанию у пользователей компьютера нет прав на внесение изменений в данном разделе. Для исправления данного недоразумения, необходимо открыть разрешения данного раздела, и сменить его владельца на Администраторы.

Делается это следующим образом:

  1. На нужном разделе реестра нужно нажать правой кнопкой мыши, и в появившемся меню выбрать пункт "Разрешения".
  2. Откроется список разрешений. В нем нужно нажать на кнопку "Дополнительно".
  3. Откроются дополнительные параметры, где в самом верху будет написан владелец, а рядом будет кнопка "Изменить". Нажимаем на неё.
  4. Откроется окошко, где нужно будет ввести имя группы администраторов - например "Administrators". Для корректировки названия в понятный системе формат следует нажать на кнопку "Проверить имена".

    Если все будет правильно, система подчеркнет название группы, после чего остается только выйти из всех ранее открытых окон, нажимая кнопки "ОК" (для применения новых разрешений).

После этого, остается только удалить значение реестра с названием L$RTMTIMEBOMB. , после чего перезагрузить сервер. Если все было сделано правильно, то пробный период будет активирован по новой, и пользователи смогут работать на данном сервере как раньше.

Бывает такое, что необходимо переустановить терминальные лицензии, для этого необходимо удалить уже имеющиеся настроенные и активированные терминальные лицензии. Инструкция подходит для всех версий Windows Server, начиная от Windows Server 2012 и более новые версии.

1) Заходим в "Диспетчер серверов" => Средства => Terminal Services => Диспетчер лицензирования удаленных рабочих столов


И видим список Ваших установленных терминальных лицензий.

2) Деактивируем Ваш сервер. Нажимаете правой кнопкой мыши на Ваш созданный сервер => Подробно => Деактивировать сервер.


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

3) Закрываем окно "Диспетчер лицензирования удаленных рабочих столов".

4) Запускаете меню "Службы" путем Win + R => services.msc => Ищите службу "Лицензирование удаленных рабочих столов" (по англ. Remote Desktop Licensing) и останавливаете ее.

5) После заходите в папку: C:\Windows\System32\lserver и удаляете файл "TLSLic.edb" (Внимание, предварительно сохраните данный файл где-нибудь в надежном месте)

6) Далее, запускаете обратно службу "Лицензирование удаленных рабочих столов" (по англ. Remote Desktop Licensing) в меню services.msc.

7) Теперь можем зайти снова в меню "Диспетчер лицензирования удаленных рабочих столов" и видим, что лицензии удалились. Далее, для установки новых лицензий можете воспользоваться следующей инструкцией.


Приобрести лицензии для удаленных рабочих столов на пользователя и на устройство Вы можете в нашем каталоге по самым низким ценам. Круглосуточная техподдержка и гарантия.

date

12.03.2021

directory

Windows 10, Windows Server 2012 R2, Windows Server 2016

comments

комментариев 15

В этой статье мы рассмотрим несколько распространенных ошибок, связанных с RDS лицензированием, когда RDP удаленные клиенты не могут подключится к терминальным серверам Windows Server с ролью Remote Desktop Services Host.

Ошибки лицензирования при подключении RDP клиентов к RDS хосту могут появляться, если:

  • На хосте Remote Desktop Services не указан сервер RDS лицензирования, с которого нужно получить клиентские лицензии (RDS CAL);
  • На сервере RDS Licensing закончились доступные клиентские лицензии;
  • Клиент пытается подключиться с истекшей временной RDS лицензией;

Удаленный сеанс отключен, поскольку для данного компьютера отсутствуют клиентские лицензии удаленного рабочего стола

Сначала рассмотрим ошибку, связанную с получением клиентами лицензий (RDS CAL) с сервера лицензирования.

Удаленный сеанс отключен, поскольку для данного компьютера отсутствуют клиентские лицензии удаленного рабочего стола

В первую очередь вам нужно подключиться к RDSH серверу в административном режиме ( mstsc.exe /admin ) и запустить утилиту RD Licensing Diagnoser. Если у вас все настроено правильно, вы должны увидеть имя сервера лицензирования RDS, и тип лицензии (Per User/Per Device).

RD Licensing Diagnoser

С помощью консоли RD Licensing Manager ( licmgr.exe ) подключитесь к серверу RDS лицензий и проверьте, что в вам доступны свободные лицензии нужного типа (Per User/Per Device). Если свободные лицензии закончились, нужно приобрести новый пакет CAL, дождаться пока кто-нибудь освободит лицензию или отозвать неиспользуемые лицензии прямо из консоли (Revoke License).

список выданных rds cal лицензий

В данном примере видно, что RDS CAL есть, и они выдаются пользователям (Issued = 44).

Совет. Если ваш сервер RDSH развернут в рабочей группе (не в домене), то на нем нельзя использовать лицензии RDS CAL Per User. При подключении ваши пользователю всегда будут получать временную лицензию Per Device.

Скорее всего в этом случае клиентский компьютер пытается подключиться к вашему RDSH серверу со временной RDP лицензией с истекшим сроком (если при первом подключении клиента ваш RDS Licensing сервер был недоступен, клиенту была выдана временная лицензия на 180 дней). В этом случае нужно на клиенте сбросить эту просроченную лицензию в реестре.

На клиентском компьютере (в этом примере Windows 10), выполните следующее:

Если вы не запустили mstsc.exe с правами администратора, то при любом RDP подключении будет появляться ошибка:

Удаленный сеанс отключен, поскольку отсутствуют доступные серверы лицензирования удаленных рабочих столов, которые могли бы провести лицензирование

У одного из заказчиков появилась другая проблема с фермой терминальных серверов Remote Desktop Services на базе. По какой-то причине RDS сервер перестал выдавать терминальные лицензии пользователям, хотя роль сервера лицензий RDS установлена и настроена, а RDP CAL активированы.

Когда пользователь пытается подключится к терминальному серверу по RDP, появляется ошибка:

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

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

Подключитесь к консоли сервера в административном режиме ( mstsc /admin ). Запустите Server Manager, откройте настройки RDS (Remote Desktop Services -> Deployment Overview -> Tasks -> Edit Deployment Properties ) и проверьте что в конфигурации RDSH указан правильный сервер лицензирования (Remote Desktop License Server) и тип RDS CAL (Per Device или Per User).

Настройки RD licensing

Также можно проверить настройки сервера RDS лицензирования из PowerShell:

Get-RDLicenseConfiguration

Как мы видите, LicenseServer в конфигурации указан, и используется тип лицензирования PerUser.

Проверьте, что следующие порты не блокируются межсетевыми экранами при доступе с RDSH хоста до RDS LicenseingServer: TCP:135, UDP:137, UDP:138, TCP:139, TCP:445, TCP:49152–65535 (RPC range) . Если RDS License сервер не доступен, в окне License Diagnoser будет ошибка:

RDS Licensing Grace Period Has Expired (L$RTMTIMEBOMB)

Внимательно посмотрите события в Event Viewer на RDS хосте. Возможно там есть такая ошибка:

A Remote Desktop Session Host server can operate without a license server for 120 days after initial start up

В RD License Diagnoser скорее всего также будет отображаться ошибка:

Это означает, что ваш льготный период работы RDSH сервера (grace) истек, и вам нужно продлить grace режим, либо активировать хост на полноценном сервере лицензий RDS.

RDS grace period позволяет вам бесплатно использовать Remote Desktop Services в Windows Server в течении 120 дней. Скорее всего при входе на RDSH под администраторов вы видели ошибку:

Количество дней до окончания RDS Grace Period можно узнать из cmd.exe с правами администратора командой:

wmic /namespace:\\root\CIMV2\TerminalServices PATH Win32_TerminalServiceSetting WHERE (__CLASS !="") CALL GetGracePeriodDays

GetGracePeriodDays команда позволяет узнать сколько дней осталась до окончания пробной периода сервера rdsh

Обратите внимание, что DaysLeft = 0 . Это означает, что на RDSH хосте истек Grace Period.

Чтобы продлить grace период в RDS нужно на сервере удалить параметр реестра, в котором задается время отсчета льготного периода лицензирования (grace period licensing). Дата, определяющая время окончания работы RDSH в режиме grace хранится в reg_binary параметре реестра L$RTMTIMEBOMB (довольно забавное имя –TIME BOMB …. ;), находящемся в ветке:

L$RTMTIMEBOMB ключ, в котором считается grace period работы терминального сервера rds

Вам нужно удалить из реестра параметр L$RTMTIMEBOMB. Однако, у администратора недостаточно прав для этого.

не удается удалить в реестра windows server параметр L$RTMTIMEBOMB

Чтобы удалить этот параметр реестра, нужно открыть разрешения родительской ветки и предоставить своей учетной записи права владельца на ветку. Затем дайте себе права RW на ветку (не буду подробно описывать сам процесс).

получить разрешение для удаления ветки реестра

Теперь щелкните правой кнопкой по параметру L$RTMTIMEBOMB и удалите его.

Удалить ключ L$RTMTIMEBOMB

Перезагрузите RDSH сервер и подключитесь к нему с клиента по RDP.

С помощь консоли Remote Desktop Licensing Manager проверьте, что RDS CAL лицензия выдана.

Не выдаются лицензии RD

Если RDS CAL не получен, проверьте есть ли в журнале событие:

Event-ID 1130 TerminalServices-RemoteConnectionManager

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

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

не задан сервер лицензирования на RDS, проверить содержимое объекта из powershell

Как вы видите, сервер лицензирования RDS не задан (список SpecifiedLSList пуст). Следующая команда принудительно задаст адрес сервера лицензий RDS.

$obj = gwmi -namespace "Root/CIMV2/TerminalServices" Win32_TerminalServiceSetting
$obj.SetSpecifiedLicenseServerList("msk-rdslic.winitpro.ru")

Также можно задать имя сервера лицензирования и тип лицензии с помощью GPO. Если вы используете локальную политику, запустите gpedit.msc и перейдите в раздел Computer Configuration -> Administrative Templates -> Windows Components -> Remote Desktop Services -> Remote Desktop Session Host -> Licensing и настройте два параметра:
  • Use the specified Remote Desktop license servers
  • Set the Remote licensing mode

групповая политика для настройки параметров лицнезирования Remote Desktop Services

Теперь RDS хост сможет получать лицензии от сервера RDS Licensing и выдавать их вашим RDP пользователям.

Читайте также: