Устранение ошибки лицензионного протокола RDP

Ошибка в лицензионном протоколеПо непонятным причинам терминальный клиент работающий много лет вдруг, совершенно внезапно, не мог соединиться с терминальным сервером по загадочной причине отсутствия клиентской лицензии. На чешском (я столкнулся с этим у одного из клиентов именно на чешской версии windows) эта ошибка звучит так:
[quote style=”1″]”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.”[/quote] На русском:
[quote style=”1″]”Удаленный компьютер отключил сеанс из-за ошибки в протоколе лицензирования. Попытайтесь подключиться к удаленному компьютеру снова или обратитесь к администратору сервера.”[/quote] На английском:
[quote style=”1″]”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.”[/quote] При этом

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

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

[heading style=”1″]С этого места могут читать и нетерпеливые читатели.[/heading]

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

  • Запустите редактор реестра.
  • На клиенте перейдите в следующий подраздел реестра: 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.

P.S.
Программисты помните! Тщательно обрабатывая ошибки вы упрощаете жизнь многим, как пользователям ваших программ так и системным администраторам и даже вашей службе технической поддержки.