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


Добрый день уважаемые читатели и подписчики, в прошлый раз мы с вами решали ошибку, что не работает поиск в outlook 2013. Сегодня же мы не будем трогать офисные продукты компании Microsoft, а разберем ошибку в работе RDP соединения, на терминальный сервер под управлением Windows Server 2012 R2. Сотрудник пытается подключиться к удаленному рабочему столу, а в место привычного рабочего окружения он получает ошибку: Удаленный сеанс отключен, поскольку клиентская лицензия удаленного рабочего стола, хранимая на этом компьютере, была изменена. И в результате отпинывает пользователя, не давая ему зайти по удаленному подключению. Ниже мы рассмотрим, как с этим бороться.
Причины ошибки хранимая на этом компьютере, была изменена
Давайте разберемся, из-за чего у вас происходит данная проблема, это отголоски другой ошибки: Ошибка удаленный сеанс отключен поскольку отсутствуют доступные серверы лицензирования удаленных рабочих столов, у нас на тот момент на сервере терминалов закончились лицензии, для клиентских подключений и как следствие мы не смогли попасть. В результате этого у вас в некоторых случаях может в реестре Windows возникнуть проблема, ведущая к ошибке, что клиентская лицензия, хранимая на этом компьютере, была изменена.
В большинстве случаев ошибка удаленный сеанс отключен, так как клиентская лицензия удаленного рабочего стола, хранимая на этом компьютере, была изменена, выскакивает на клиентских операционных системах, по типу Windows 10 или 8.1


Переходим в ветку реестра
HKEY_LOCAL_MACHINE\Software\Microsoft\MSLicensin
И полностью удаляем весь раздел, через правый клик.

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

Как только вы перезагрузились, нажмите WIN+R и введите mstsc /admin, чтобы у вас открылось окно удаленного рабочего стола от имени администратора.

Все можем пытаться подключаться к вашему серверу терминалов.

Если не поможет, то попробуйте создать bat файл и выполнить его, ниже содержимое.
Const HKLM = &H80000002
Const MSLicensingStore = «Software\Microsoft\MSLicensing\Store\»
Set oReg = GetObject(«winmgmts:\\.\root\default:StdRegProv»)
RetVal = oReg.EnumKey(HKLM, MSLicensingStore, RegKeys)
If RetVal <> 0 Then
MsgBox(«Не удалось прочитать ветвь реестра » & MSLicensingStore)
WScript.Quit
End If
If IsArray(RegKeys) Then
For Each Key In RegKeys
KeyName = MSLicensingStore & Key
If InStr(1, UCase(KeyName), «LICENSE») > 0 Then
RetVal = oReg.DeleteKey(HKLM, KeyName)
End If
Next
End If
Так же если у вас сервер терминалов на Windows 7, то проверьте работу модуля, возможно придется переустановить.
Популярные Похожие записи:
Ошибка The number of connections to this computer is limited
При подключении по rdp черный экран рабочего стола- Бесконечное подключение по RDP в Windows 11
Ошибка the property session directory location is configured by using group policy- Этот сеанс будет прекращен из-за ошибки шифрования данных
- Ошибка certificate chain processed corrently 0x800b0112
Удаленный сеанс отключен, поскольку для данного компьютера отсутствуют клиентские лицензии удаленного рабочего стола
Удаленный сеанс отключен, поскольку для данного компьютера отсутствуют клиентские лицензии удаленного рабочего стола.
Обратитесь к администратору сервера.
Код ошибки 2056.
—————————
ОК
—————————
В английской вервии сообщение выглядит так:
The remote session was disconnected because there are no Remote Desktop client access licenses available for this computer.
Please contact the server administrator.
Error code 2056.
В большенстве случаев это означает, что на сервере действительно кончились лицензии. Но иногда бывает так, что клиентский компьютер закэшировал лицензию локально и не может получить новую.
В этой ситуации стоит поступить следующим образом.
Найдем в системном реестре ветку (для 32-битных систем):
HKEY_LOCAL_MACHINE\Software\Microsoft\MSLicensing
для 64-битных систем:
HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\MSLicensing
и удалим все ее подразделы.
Внимание! При первом запуске клиент RDP нужно запустить от имени Администратора.
RDS: Удаленный сеанс отключен, отсутствуют серверы лицензирования/клиентские лицензии

12.03.2021

itpro

Windows 10, Windows Server 2012 R2, Windows Server 2016

комментария 23
В этой статье мы рассмотрим несколько распространенных ошибок, связанных с RDS лицензированием, когда RDP удаленные клиенты не могут подключится к терминальным серверам Windows Server с ролью Remote Desktop Services Host.
Ошибки лицензирования при подключении RDP клиентов к RDS хосту могут появляться, если:
-
На хосте Remote Desktop Services не указан сервер RDS лицензирования, с которого нужно получить клиентские лицензии (RDS CAL);
Удаленный сеанс отключен, поскольку для данного компьютера отсутствуют клиентские лицензии удаленного рабочего стола
Сначала рассмотрим ошибку, связанную с получением клиентами лицензий (RDS CAL) с сервера лицензирования.
Remote session was disconnected because there are no Remote Desktop client access licenses available for this computer
Удаленный сеанс отключен, поскольку для данного компьютера отсутствуют клиентские лицензии удаленного рабочего стола

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

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

В данном примере видно, что RDS CAL есть, и они выдаются пользователям (Issued = 44).
Совет. Если ваш сервер RDSH развернут в рабочей группе (не в домене), то на нем нельзя использовать лицензии RDS CAL Per User. При подключении ваши пользователю всегда будут получать временную лицензию Per Device.
Скорее всего в этом случае клиентский компьютер пытается подключиться к вашему RDSH серверу со временной RDP лицензией с истекшим сроком (если при первом подключении клиента ваш RDS Licensing сервер был недоступен, клиенту была выдана временная лицензия на 180 дней). В этом случае нужно на клиенте сбросить эту просроченную лицензию в реестре.
На клиентском компьютере (в этом примере Windows 10), выполните следующее:
- Запустите редактор реестра regedit.exe ;
- Удалите ветку реестра HKEY_LOCAL_MACHINE\Software\Microsoft\MSLicensing;

- Закройте редактор реестра и запустите mstsc.exe (Remote Desktop Connection) с правами администратора;

- Потом подключитесь к вашему RDS серверу. При этом ветка MSLicensing автоматически пересоздастся, и компьютер получит новую лицензию.
Если вы не запустили mstsc.exe с правами администратора, то при любом RDP подключении будет появляться ошибка:
The remote computer disconnected the session because of an error in the licensing protocol. Please try connecting to the remote computer again or contact your server administrator.
Удаленный сеанс отключен, поскольку отсутствуют доступные серверы лицензирования удаленных рабочих столов, которые могли бы провести лицензирование
У одного из заказчиков появилась другая проблема с фермой терминальных серверов Remote Desktop Services на базе. По какой-то причине RDS сервер перестал выдавать терминальные лицензии пользователям, хотя роль сервера лицензий RDS установлена и настроена, а RDP CAL активированы.
Когда пользователь пытается подключится к терминальному серверу по RDP, появляется ошибка:
The remote session was disconnected because there are no Remote Desktop License Servers available to provide a license. Please contact the server administrator.
В русской версии Windows ошибка выглядит так:
Удаленный сеанс отключен, поскольку отсутствуют доступные серверы лицензирования удаленных рабочих столов, которые могли бы провести лицензирование.

Подключитесь к консоли сервера в административном режиме ( 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).

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

Как мы видите, LicenseServer в конфигурации указан, и используется тип лицензирования PerUser.
Проверьте, что следующие порты не блокируются межсетевыми экранами при доступе с RDSH хоста до RDS LicenseingServer: TCP:135, UDP:137, UDP:138, TCP:139, TCP:445, TCP:49152–65535 (RPC range) . Если RDS License сервер не доступен, в окне License Diagnoser будет ошибка:
License server rdslic_hostname is not available. This could be caused by network connectivity problems, the Remote Desktop Licensing service is stopped on the license server, or RD Licensing isn't available.
RDS Licensing Grace Period Has Expired (L$RTMTIMEBOMB)
Внимательно посмотрите события в Event Viewer на RDS хосте. Возможно там есть такая ошибка:
EventID: 1128 Source: TerminalServices-RemoteConnectionManagerThe RD Licensing grace period has expired and the service has not registered with a license server with installed licenses. A RD Licensing server is required for continuous operation. A Remote Desktop Session Host server can operate without a license server for 120 days after initial start up.

В RD License Diagnoser скорее всего также будет отображаться ошибка:
The grace period for the Remote Desktop Session Host server has expired, but the RD Session Host server hasn't been configured with any license servers. Connections to the RD Session Host server will be denied unless a license server is configured for the RD Session Host server.
Это означает, что ваш льготный период работы RDSH сервера (grace) истек, и вам нужно продлить grace режим, либо активировать хост на полноценном сервере лицензий RDS.
RDS grace period позволяет вам бесплатно использовать Remote Desktop Services в Windows Server в течении 120 дней. Скорее всего при входе на RDSH под администраторов вы видели ошибку:
Licensing mode for the Remote Desktop Session Host is not configured. Remote Desktop Service will stop working in 94 days.
Количество дней до окончания RDS Grace Period можно узнать из cmd.exe с правами администратора командой:
wmic /namespace:\\root\CIMV2\TerminalServices PATH Win32_TerminalServiceSetting WHERE (__CLASS !=»») CALL GetGracePeriodDays

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

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

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

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

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

Если RDS CAL не получен, проверьте есть ли в журнале событие:
Event ID : 1130 Source : TerminalServices-RemoteConnectionManager The Remote Desktop Session Host server does not have a Remote Desktop license server specified. To specify a license server for the Remote Desktop Session Host server, use the Remote Desktop Session Host Configuration tool.

С помощью следующей PowerShell команды проверьте, задан ли сервер RDS лицензирования:
$obj = gwmi -namespace «Root/CIMV2/TerminalServices» Win32_TerminalServiceSetting
$obj.GetSpecifiedLicenseServerList()

Как вы видите, сервер лицензирования 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

Теперь RDS хост сможет получать лицензии от сервера RDS Licensing и выдавать их вашим RDP пользователям.
Предыдущая статья Следующая статья
Клиентская лицензия удаленного рабочего стола была изменена
Иногда при RDP соединений происходит ошибка, предполагаю, что причина в быстром заходе сразу с нескольких компьютеров и вероятно где-то в реестре происходит какое-то неправильное сохранение лицензии-устройства.
И после этого при попытке подключиться данным пользователем с этого возникает ошибка, которая выглядит так:
Удаленный сеанс отключен, так как клиентская лицензия удаленного рабочего стола, хранимая на этом компьютере, была изменена.

Для решения данной проблемы требуется немного бубна в реестре на компьютере-клиенте.
- Открываем редактор реестра (Пуск-regedit-ок)
- Заходим в ветку реестра HKEY_LOCAL_MACHINE\Software\Microsoft\MSLicensing
- Удаляем всю папку с под папками MSLicensing
- Первый раз запускаем подключение к удаленному рабочему столу с правами администратора! И заходим на сервер.
- Теперь заходить уже можно с пользовательскими правами. Проблема решена.