Listener state not listening windows 10

Сервер терминалов на Windows 10 в многопользовательском режиме

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

Но есть загвоздка. Работает такая штука только на редакциях Windows 7/10 версий Pro и выше. То есть релизы, обозначенные как Home, курят в сторонке.

Но и это еще не все. Многопользовательский режим на законных основаниях вообще недоступен в ОС, рассчитанных для клиентских машин (не серверных).

Более того, если во время работы локального пользователя на компьютере, например, с Win 10 Pro будет осуществлено подключение терминального, то система попросит "выкинуть" первого из сессии, выдав сообщение.

В систему вошел другой пользователь. Если вы продолжите, он будет отключен. Вы все равно хотите войти в систему?

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

Почему RDP на Windows 7/10 не работает для нескольких пользователей

Это решение компании Microsoft, которое основывается на приобретении платных лицензий на каждого подключающегося в таком режиме пользователя. А продаются такие лицензии только для серверных операционных систем.

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

Знакомьтесь с решением, которые поможет-таки организовать сервер терминалов на Windows 7 и 10 в многопользовательском режиме. Это RDP Wrapper Library. Оно прекрасно подойдет для небольшого офиса, где количество рабочих мест около десятка.

Данное ПО очень простое в настройке, что всегда хорошо воспринимается техническими специалистами на местах. Есть информация на форумах, что даже Home версии Windows поддерживаются, но я лично не проверял.

Давайте переходить к делу и распаковывать скачанный архив. В нем мы видим следующее.

RDPWInst — установка и удаление

RDPConf — просмотр конфигурации

RDPCheck — проверка работоспособности

*.bat — пакетные файлы установки, удаления и обновления

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

Установка сервера терминалов займет секунды

Запускаем от имени администратора файл install.bat и наблюдаем за процессом, который должен завершиться победой, как в нашем случае.

Но еще рано открывать шампанское, необходимо запустить файл RDPConf и убедиться, что все четыре пункта, показанные на скриншоте, горят зеленым цветом.

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

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

Single session per user — одновременный запуск нескольких сессий под логином одного пользователя

Hide users on logon screen — скрывает список пользователей (карусель) на экране приветствия

Allow to start custom programs — автозапуск пользовательских программ при подключении к рабочему столу (как я понимаю)

Читайте также:  1С запрос округление в большую сторону

Также интерес представляет секция с названием "Session Shadowing Mode". Это теневой режим подключения, который позволяет админу наблюдать за активным сеансом пользователя в режиме реального времени. Кому сильно интересно, гуглите.

RDP для Windows 7/10 не подключается

Поговорим о проблемах, ведь ситуации бывают разные. Вот некоторые из популярных траблов. Например, в строке "Listener State" могут красным гореть сообщения типа "Not listening" или "Not Supported".

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

Если это не поможет, следует пройти в каталог Program Files — RDP Wrapper, открыть блокнотом файл rpdwrap.ini, спуститься вниз документа и убедиться, что здесь есть секции настроек с указанием номера именно вашей (или выше) сборки Win 7 или 10.

А вот что говорит вкладка "О системе". Как видим, в данном случае полный порядок.

Продолжим разговор о файле rpdwrap.ini, поскольку чаще всего проблемы могут быть именно из-за его настроек, а вернее, их отсутствия.

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

Следует его скачать, перезаписать в рабочем каталоге, затем переустановить службу. Пакетные файлы install.bat и uninstall.bat вам в помощь.

Напоследок скажу еще один важный момент. До установки приложения RDP Wrapper Library, никакие другие способы организации терминального сервера на Windows 7/10 не должны осуществляться.

То есть файл termsrv.dll должен иметь оригинальный вид. Иначе все проблемы могут быть из-за него.

Кстати, вариант, описываемый в этой статье, по информации из Сети вроде как не модифицирует никакие системные файлы, а работает как прослойка между службами Windows.

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

Как и в прошлых клиентских версиях операционных систем Майкрософт, пользователи Pro и Enterprise Windows 10 (но не Home) редакций могут удаленно подключаться к своим компьютерам через службу удаленных рабочих столов (RDP). Однако есть ограничение на количество одновременных RDP сессии – возможна одновременная работа только одного удаленного пользователя. При попытке открыть вторую RDP сессию, сеанс первого пользователя предлагается завершить.

В английской версии предупреждение такое:

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

  1. Поддержка RDP доступа имеется только в старших редакциях Windows (Professional и выше), а в домашних редакциях (Home) этот функционал отключен.
  2. Возможно только одно удаленного RDP подключения. При попытке открыть вторую RDP-сессию, пользователю предлагается завершить существующее подключение.
  3. В том случае, есть пользователь работает за консолью компьютера (локально), при удаленном подключении RDP, его сеанс будет отключен (заблокирован). Правильно и обратное утверждение: удаленный RDP сеанс принудительно завершается, если пользователь авторизуется на консоле системы

По сути, ограничение на количество одновременных rdp подключений является не техническим, а скорее лицензионным, запрещающее создавать на базе рабочей станции терминальный RDP сервер для работы нескольких пользователей. Хотя с технической точки зрения любая редакция Windows при наличии достаточного количества памяти может поддерживать одновременную работу нескольких десятков удаленных пользователей (в среднем на одну сессию пользователя без учета запускаемых приложений требуется 150-200 Мб памяти). Т.е. максимальное количество одновременных сессий в теории ограничивается только ресурсами компьютера.

Читайте также:  Как запустить жесткий диск без компьютера

Мы рассмотрим два способа отключить ограничение на количество одновременных RDP подключений к Windows 10:

RDP Wrapper Library

Альтернативой модификации файла termsrv.dll является использование проекта RDP Wrapper Library. Эта программа работает в качестве прослойки между менеджером управления службами (SCM- Service Control Manager) и службой терминалов (Terminal Services) и позволяет включить не только поддержку нескольких одновременных RDP сессии, но и активировать поддержку RDP Host на домашних редакциях Windows 10. RDP Wrapper не вносит никаких изменений в файл termsrv.dll, просто подгружая termsrv с изменёнными параметрами.

Таким образом, это решение будет работать даже при обновлении версии файла termsrv.dll, что позволяет не опасаться обновлений Windows.

Скачать RDP Wrapper можно с репозитория GitHub: https://github.com/binarymaster/rdpwrap/releases (последняя доступная версия RDP Wrapper Library v1.6.2 вышла относительно недавно – 28 декабря 2017 года). Судя по информации на странице разработчика, поддерживаются все версии Windows. Windows 10 поддержиывается вплость до версии Insider Preview build 10.0.17063.1000 от 13 декабря 2017 года.

Архив RDPWrap-v1.6.2.zip содержит несколько файлов:

  • RDPWinst.exe —программа установки/удаления RDP Wrapper Library
  • RDPConf.exe — утилита настройки RDP Wrapper
  • RDPCheck.exe — Local RDP Checker — утилита проверки RDP
  • install.bat, uninstall.bat, update.bat — пакетные файлы для установки, удаления и обновления RDP Wrapper

Чтобы установить утилиту, запускам файл install.bat с правами администратора.

После окончания установки запускаем RDPConfig.exe. И удостоверяемся, что в секции Diagnostics все элементы окрашены в зеленый цвет.

Из интересных особенностей новой версии RDP Wrapper:

    опция H >В том случае, если после обновления версии Windows, RDP Wrapper не работает, проверьте, что в секции Diagnostics присутствует надпись Listener state: Not listening.

Попробуйте обновить ini файл скриптом update.bat, либо вручную и переустановить службу

rdpwinst.exe -u
rdpwinst.exe -i

Пытаемся открыть вторую RDP сессию. Все получилось! Теперь наша Windows 10 позволяет одновременно подключаться по RDP сразу двум удаленным пользователям.

Утилита должна работать на всех поддерживаемых на данный момент редакциях Windows : Windows Vista, Windows 7, Windows 8, Windows 8.1 и Windows 10. Таким образом из любой клиентской версии Windows можно сделать сервер терминалов.

Модификация файла termsrv.dll

Убрать ограничение на количество RDP подключений можно с помощью модификации файла termsrv.dll (файл библиотеки, используемый службой Remote Desktop Services). Файл находится в каталоге C:WindowsSystem32).

Перед модификацией файла termsrv.dll желательно создать его резервную копию (в случае необходимости можно будет вернуться к первоначальной версии файла):

copy c:WindowsSystem32 ermsrv.dll termsrv.dll_backup

Перед правкой файла termsrv.dll нужно стать его владельцем и предоставить группе администраторов полные права на него (все операции выполняются аналогично описанным в статье Убираем ограничение на количество RDP сессий в Windows 8). Затем остановите службу Remote Desktop service (TermService) из консоли services.msc или из командной строки:

Net stop TermService

Для редакции Windows 10 x64 RTM (версия файла termsrv.dll — 10.0.10240.16384): Откройте файл termsrv.dll с помощью любого HEX редактора (к примеру, Tiny Hexer)

Читайте также:  Размер динамиков пежо 307

39 81 3C 06 00 00 0F 84 73 42 02 00

И замените ее на:

B8 00 01 00 00 89 81 38 06 00 00 90

Сохраните файл и запустите службу TermService.

У настольных операционных систем Microsoft есть некоторые ограничения, связанные с работой службы удаленных рабочих столов. Так во первых, поддержка серверной части (RDP Host) есть только в старших редакциях Windows (не ниже Professional). В домашних редакциях этот функционал отключен, поэтому подключиться к младшим версиям Windows по RDP невозможно.

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

Обойти эти ограничения позволит проект RDP Wrapper Library by Stas’M. RDP Wrapper работает как прослойка между менеджером служб (Service Control Manager, SCM) и службой удаленных рабочих столов. При этом, в отличии от других решений подобного рода, он не подвергает изменениям файл termsrv.dll (библиотека, используемая службой Remote Desktop Services), что позволяет не опасаться обновлений Windows.

Судя по официальному сайту, проект активно живет и развивается. На данный момент выложена версия 1.5 от 2014.12.11, для которой заявлена поддержка новейших ОС, включая Windows 10 Technical Preview. Также доступны исходники, так что при желании можно самостоятельно собрать проект.

Загрузить RDP Wrapper можно со страницы программы в репозитории GitHub. В архив входят следующие компоненты:

• RDPWinst.exe — инсталлятор, с помощью которого производится установка и удаление RDP Wrapper;
• RDPConf.exe — утилита для настройки параметров подключения;
• RDPCheck.exe — утилита для локальной проверки работы RDP;
• install.bat и uninstall.bat — bat-файлы для удобства установкиудаления программы.

Для установки программы надо открыть командную строку с правами администратора, перейти в директорию с распакованными файлами и запустить install.bat. Все остальное, включая настройку исключений на файерволле, установщик сделает сам.

Дополнительно можно запустить утилиту RDPConf.exe, которая позволяет включатьотключать доступ, а также настраивать основные параметры подключения (порт, количество сессий на пользователя, тип аутентификации и пр.).

Ну и в качестве проверки я открыл на компьютер с установленной Windows 7 Home Basic две RDP-сессии для двух разных пользователей.

Что еще можно сказать. Проект однозначно полезный, в некоторых ситуациях даже незаменимый. Из минусов же — используя RDP Wrapper вы скорее всего нарушаете лицензионное соглашение.

Дополнение 04.05.2019.

Для корректной работы на Windows 10 1809 требуется обновить файл конфигурации rdpwrap.ini. В него надо добавить следующие строчки:

[10.0.17763.292]
; Patch CEnforcementCore::GetInstanceOfTSLicense
LocalOnlyPatch.x86=1
LocalOnlyOffset.x86=AFAD4
LocalOnlyCode.x86=jmpshort
LocalOnlyPatch.x64=1
LocalOnlyOffset.x64=77A11
LocalOnlyCode.x64=jmpshort
; Patch CSessionArbitrationHelper::IsSingleSessionPerUserEnabled
SingleUserPatch.x86=1
SingleUserOffset.x86=4D665
SingleUserCode.x86=nop
SingleUserPatch.x64=1
SingleUserOffset.x64=1322C
SingleUserCode.x64=Zero
; Patch CDefPolicy::Query
DefPolicyPatch.x86=1
DefPolicyOffset.x86=4BE69
DefPolicyCode.x86=CDefPolicy_Query_eax_ecx
DefPolicyPatch.x64=1
DefPolicyOffset.x64=17F45
DefPolicyCode.x64=CDefPolicy_Query_eax_rcx
; Hook CSLQuery::Initialize
SLInitHook.x86=1
SLInitOffset.x86=5B18A
SLInitFunc.x86=New_CSLQuery_Initialize
SLInitHook.x64=1
SLInitOffset.x64=1ABFC
SLInitFunc.x64=New_CSLQuery_Initialize

И в конец ini файла дополнительно надо добавить строки:

[10.0.17763.292-SLInit]
bInitialized.x86 =CD798
bServerSku.x86 =CD79C
lMaxUserSessions.x86 =CD7A0
bAppServerAllowed.x86 =CD7A8
bRemoteConnAllowed.x86=CD7AC
bMultimonAllowed.x86 =CD7B0
ulMaxDebugSessions.x86=CD7B4
bFUSEnabled.x86 =CD7B8

bInitialized.x64 =ECAB0
bServerSku.x64 =ECAB4
lMaxUserSessions.x64 =ECAB8
bAppServerAllowed.x64 =ECAC0
bRemoteConnAllowed.x64=ECAC4
bMultimonAllowed.x64 =ECAC8
ulMaxDebugSessions.x64=ECACC
bFUSEnabled.x64 =ECAD0

В конце файла обязательно пустая строка.

Оцените статью
Добавить комментарий

Adblock
detector