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

Ошибки Windows

По непонятным причинам терминальный клиент работающий много лет вдруг, совершенно внезапно, не мог соединиться с терминальным сервером по загадочной причине отсутствия клиентской лицензии. На чешском (я столкнулся с этим у одного из клиентов именно на чешской версии windows) эта ошибка звучит так:
”Vzdálený počítač přerušil spojení z důvodu chyby v licenčním protokolu. Pokuste se připojit ke vzdálenému počítači znovu nebo se obraťte na správce serveru.” На русском:
”Удаленный компьютер отключил сеанс из-за ошибки в протоколе лицензирования. Попытайтесь подключиться к удаленному компьютеру снова или обратитесь к администратору сервера.” На английском:
”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.” При этом

  • другие компьютеры если такие имеются нормально подключаются и работают;
  • linux клиент также нормально соединяется с терминалом;
  • mstsc запущенный из командной строки на проблемном компьютере исправно соединяется с консолью терминала (mstsc.exe /admin);
  • проблемный компьютер не соединяется ни с одним терминальным сервером;
  • на сервере лицензий терминалов имеется достаточное количество лицензий.

На множестве сайтов в том числе на Microsoft я обнаружил практически одно и тоже решение. Но на практике оказалось, что пройдя все пункты этого решения, оно почему-то не работает. Но я не буду “катить бочку” на компанию Microsoft потому что решив проблему самостоятельно и работая над этой статьёй я всёже потрудился и нашёл им . Но конкретно чуть позже.

ПОМНИТЕ ЧТО РАБОТА С РЕЕСТРОМ МОЖЕТ ПРИВЕСТИ К ОТКАЗУ ОПЕРАЦИОННОЙ СИСТЕМЫ ИЛИ ПРОГРАММ.
Ведите себя в редакторе реестра очень аккуратно и предельно внимательно.

  • Запустите редактор реестра.
  • На клиенте перейдите в следующий подраздел реестра: HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSLicensing
  • Выберите пункт MSLicensing.
  • Делаем резервную копию:
    • В меню Реестр выберите команду Экспорт файла реестра.
    • В поле Имя файла введите mslicensingbackup, а затем нажмите кнопку Сохранить.
    • Если в будущем потребуется восстановить данный раздел реестра, дважды щелкните имя mslicensingbackup.reg.
  • В менюПравка выберите команду Удалить, а затем нажмите кнопку Да, чтобы подтвердить удаление подраздела реестра MSLicensing.
  • Закройте редактор реестра и перезагрузите компьютер. (мне это не понадобилось)
  • Последним обязательным к исполнению завершающим пунктом который не был указан на первой найденной странице Microsoft является: - ЗАПУСК КЛИЕНТА RDP ПОД ПРИВИЛЕНИЯМИ СИСТЕМНОГО АДМИНИСТРАТОРА! Под системами Windows Vista, Windows 7 где по умолчанию система UAC понижает привилегии даже административных пользователей клиент RDP не сможет произвести запись в системный реестр в ветку HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSLicensing! А ошибка о какой то там лицензии никогда вас не подведёт к решению проблемы которая заключается в отсутствии прав записи в реестр. Вот в этом я не понимаю программиста который не обработал ситуацию с такой ошибкой.

И в заключении привожу немного картинок для тех кто хочет знать, что понял всё верно. Но надписи на скриншотах только на чешском, сбой произошёл именно на машине с чешской версией Windows 7.

В Windows 8, как и в предыдущих версиях Windows, ряд задач администрирования и управления системой осуществляется через интерфейс командной строки (cmd.exe ). Однако, как и в предыдущих версиях Windows, ряд подобных задач для своего выполнения требуют наличие прав администратора. В этой статье мы поговорим о том, как открыть командную строку с . В связи с тем, что Microsoft несколько переделало интерфейс этой операционной системы, эта процедура будет несколько отличаться о той, к которой мы привыкли в Windows 7 (отсутствует меню Пуск ). Проблема в том, что при щелчке правой кнопкой мыши по ярлыку программы на стартовом экране Metro, меню «Run as administrator » не появляется.

В Windows 8 запустить командную строку с помощью прав администратора можно несколькими способами:

  1. Со стартового экрана
  2. Из меню проводника Explorer
  3. С помощью диспетчера задач
  4. При помощи меню Win+X

Опишем каждый из этих способов открытия командной строки с правами админа в Win8 подробнее.

Открываем командную строку из интерфейса Metro UI

В строке «Поиск» интерфейса Windows 8 Metro UI, нужно набрать cmd ” (или “ command prompt ”) , в результате в левой панели отобразится найденное приложение. Затем нужно щелкнуть правой кнопкой мыши по появившемуся ярлыку и в нижней части экрана появится строка с дополнительными опциями запуска. Выберите «Запуск от имени администратора» (“Run as administrator”)

Все то же самое можно выполнить, выделив найденное приложение и нажав на клавиатуре комбинацию Ctrl + Shift + Enter .


Запуск командной строки из проводника

Откройте окно проводника Windows Explorer, нажав сочетание клавиш Win+ E . В левом окне выберите элемент Мой компьютер , а справа – диск C:\ . Затем в верхнем меню выберите File-> Open command prompt -> Open command prompt as administrator (Открыть командную строку как администратор ).


Запуск командной строки из диспетчера задач

Откройте диспетчер задач Windows 8, нажав сочетание клавиш Ctrl + Shift + Esc. Затем нужно создать новую задачу, выбрав пункт меню «Файл -> Запустить новую задачу» («File -> New Task (Run)»), набрать в появившемся окне cmd , поставить флажок «Запустить задачу с привилегиями Администратора » («Create this task with administrative privileges.») и нажать ОК.


Запуск из меню быстрого доступа Win+X

Окно командной строки с повышенными привилегиями также можно открыть с помощью меню быстрого запуска, для этого, находясь на начальном экране, нужно нажать Win+ X . В появившемся меню выберите пункт «Командная строка (администратор)» («Command Prompt (Admin)»).

Вот какие способы запуска командной строки с правами администратора в Windows 8 удалось обнаружить нам. В комментариях предлагайте свои варианты .

То, чего мне всегда не хватало в Windows Vista и во всех её потомках - возможности открыть командую строку с правами Администратора там, где мне нужно. Я из тех параноиков, что не отключают UAC, и мне чертовски досадно, когда очередная команда, которую я набрал в консоли, внезапно отказывается работать без повышения привилегий.

Windows не позволяет открыть окно команд там, где вам хочется, от имени администратора. Вместо этого вы должны открыть окно команд из меню Пуск, набрав в поиске cmd.exe и нажав CTRL + SHIFT + Enter . Это быстро? Нет. Это удобно? Нет. Вам придется совершать дополнительные телодвижения, чтобы оказаться в той папке, которая вам нужна, потому как окно команд открывается в папке %windir%\system32.

Три месяца назад я решил изменить ситуацию. Нет, я не выключил Контроль учётных записей (я всегда считал подобные действия откровенной глупостью). Я открыл студию и написал с десяток строчек на до-диезе .

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

Повышение привилегий открытого окна командной строки

Первая и основная задача, которую мне хотелось решить при помощи ELE - открытие окна cmd.exe из cmd.exe. Иными словами, я хотел открыть точно такое же окно, как то, которое было открыто сейчас, с тем же путём, и с историей команд.
К моему сожалению, эту задачку мне удалось решить лишь частично. Открыть окно команд от имени администратора в нужной папке - не проблема. Проблемой оказалось получение истории введенных пользователем команд. cmd.exe хранит их в своей памяти, они живут ровно сеанс работы окна команд, и как их считать из памяти, я не знаю.

Тем не менее, результатом я был доволен. Набрав в командной строке ele , я мгновенно получал запущенное с правами администратора окно команд, открытое в той же папке, что и предыдущее.

Открытие окна команд с правами администратора из файловых менеджеров

Особенность ELE - открывать окно команд с правами администратора в текущей папке - может сослужить вам добрую службу и сэкономить время и нервы, если интегрировать её в ваш любимый файловый менеджер. Я покажу вам это на примере Проводника, Total Commander и Far.

Открытие окна команд с правами администратора из Проводника

Достаточно интегрировать ELE в контекстное меню папки и фона папки (пустого, свободного от файлов пространства окна Проводника), и вы откроете командую строку от имени администратора в любой локации жесткого диска.
Твик реестра мог бы выглядеть так:

Windows Registry Editor Version 5.00


@="ele.exe"


@="ele.exe"


@="cmd /c cd /d \"%1\" & ele /x"

Ну и, соответственно, результат:


В один клик мышью.

Открытие окна команд с правами администратора из Total Commander

Просто перетащите ele.exe на тулбар этого файлового менеджера, и отредактируйте полученную кнопку, удалив путь запуска. Это необходимо, чтобы при запуске ele в качестве рабочей папки использовался путь в активной панели Total Commander.


Нажав на эту кнопку, вы откроете текущую папку в командной строке с правами администратора.

Открытие окна команд с правами администратора из Far

Один из способов сделать подобный трюк в этом популярном файловом менеджере - добавить ELE в пользовательское меню. Для это надо нажать F2 , и затем нажать INS . В качестве команды следует ввести ele.exe.


Я повесил на ELE хоткей E, таким образом, чтобы открыть окно командной строки от имени администратора в текущей папке, мне достаточно нажать F2 - e .

Ключи командной строки ELE

Их немного.

Краткая справка по использованию

При указании опции /x ELE закрывает окно командной строки, из которого она была вызвана. Т.е. на экране остается только одно окно cmd.exe - то, что открыто с правами администратора.

Этот ключ появился по просьбе , с которым я поделился идеей создания утилиты. Вадим проявил интерес к утилите и провёл активное её тестирование, в ходе которого и предложил добавить /x, дескать, бывает удобно что-то скопировать из "обычного" окна в высокопривигелированное. Скажу честно, у меня такой ситуации ни разу не было, и в своей повседневной деятельности я использую экзешник, который автоматически закрывает предыдущее окно, без дополнительных ключей. (Закрытие процесса-родителя, к слову, реализовано по аналогии с примером Саймона Мориера )

Ele программа [параметры]

Запустить программу от имени администратора. Например, Блокнот от имени администратора:

Ele notepad.exe d:\text1.txt

ELE - одна из немногих утилит, за создание которой мне не стыдно. Она действительно полезная, и способна сэкономить немного вашего времени и нервов.

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

Причины ошибки хранимая на этом компьютере, была изменена

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

В большинстве случаев ошибка удаленный сеанс отключен, так как клиентская лицензия удаленного рабочего стола, хранимая на этом компьютере, была изменена, выскакивает на клиентских операционных системах, по типу Windows 10 или 8.1


Я буду описывать как я это устранял на Windows 10, но это подойдет для любой версии ОС. Открываем редактор реестра Windows .


Переходим в ветку реестра

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 , то проверьте работу модуля, возможно придется переустановить.