Rdp wrapper not listening windows 10

Удаленные пользователи могут подключаться к своим компьютерам Windows 10 или 11 через службу удаленных рабочих столов (RDP). Достаточно включить удаленный рабочий стол (Remote Desktop), разрешить RDP доступ для пользователя и подключиться к компьютеру с помощью любого клиента удаленного рабочего стола. Однако в десктопных версия Windows есть ограничение на количество одновременных RDP сессии. Разрешается только один активный Remote Desktop сеанс пользователя.

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

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

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

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

Another user is signed in. If you continue, they’ll be disconnected. Do you want to sign in anyway?

Содержание:

  • Ограничения на количество RDP сессий в Windows
  • RDP Wrapper: разрешить несколько RDP сеансов в Windows
  • Не работает RDP Wrapper в Windows
  • Модификация файла termsrv.dll для снятия ограничений RDP в Windows 10 и 11
  • Встроенная поддержка нескольких RDP сессий в редакции Windows 10 Enterprise Multi-session

Ограничения на количество RDP сессий в Windows

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

  1. Разрешено удаленно подключаться по RDP только к редакциям Windows Professional и Enterprise. В домашних редакциях (Home/Single Language) RDP доступ запрещен;
  2. Поддерживается только одно одновременное RDP подключение. При попытке запустить вторую RDP-сессию, пользователю будет предложено завершить активный сеанс;
  3. Если пользователь работает за консолью компьютера (локально), то при удаленном подключении по RDP, его локальный сеанс будет отключен (заблокирован). Также завершается и удаленный RDP сеанс, если пользователь входит в Windows через консоль компьютера.

Ограничение на количество одновременных RDP подключений в Windows является не техническим, но программным и лицензионным. Таким образом Microsoft запрещает создавать терминальный RDP сервер на базе рабочей станции для одновременной работы нескольких пользователей.

Если ваши задачи требуют развертывание терминального сервера, Microsoft предлагает пробрести Windows Server (по умолчанию разрешает 2 активных RDP подключения). Если вам нужно большее количество одновременных сессий пользователей, нужно приобрести лицензии RDS CAL, установить и настроить роль Remote Desktop Session Host (RDSH) или полноценную RDS ферму.

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

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

  • Использование RDP Wrapper
  • Модификации системного файла termsrv.dll
  • Апгрейд до редакции Windows 10/11 Enterprise for virtual desktops (multi-session)

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

Прежде, чем продолжить, проверьте что в настройках Windows включен протокол Remote Desktop.

  • Откройте панель Settings -> System —> Remote Desktop -> включите опцию Enable Remote Desktop;
    settings - включить rdp в windows

  • Либо воспользуйтесь классической панель управления: выполните команду SystemPropertiesRemote -> Перейдите на вкладку Remote Settings (Удаленный доступ), включите опцию Allow remote connection to this computer (Разрешить удалённые подключения к этому компьютеру).

RDP Wrapper: разрешить несколько RDP сеансов в Windows

Open-source утилита RDP Wrapper Library позволяет разрешить конкурентные RDP сессии в Windows 10/11 без замены системного файла termsrv.dll.

RDP Wrapper работает в качестве прослойки между менеджером управления службами Service Control Manager, SCM) и службой терминалов (Remote Desktop Services). RDP Wrapper не вносит никаких изменений в файл termsrv.dll, просто загружая termsrv с изменёнными параметрами.

Важно. Перед установкой RDP Wrapper важно убедится, чтобы у вас использовалась оригинальная (непропатченная) версия файл termsrv.dll. Иначе RDP Wrapper может работать не стабильно, или вообще не запускаться.

Вы можете скачать RDP Wrapper из репозитория GitHub: https://github.com/binarymaster/rdpwrap/releases (последняя доступная версия RDP Wrapper Library v1.6.2). Утилита не обновляется с 2017 года, но ее можно использовать на всех билдах Windows 10 и 11. Для работы утилиты в современных версиях Windows достаточно обновить конфигурационный файл rdpwrap.ini.

Большинство антивирусов определяют RDP Wrapper как потенциально опасную программу. Например, встроенный Microsoft Defender антивирус классифицирует программу как PUA:Win32/RDPWrap (Potentially Unwanted Software) с низким уровнем угрозы. Если настройки вашего антивируса блокируют запуск RDP Wrapper, нужно добавить его в исключения.

Антвирус определеяет RDPwrapper как PUA-Win32-RDPWrap

Архив 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.

Архив RDPWrap-v1.6.2.zip

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

Установка rdpwrapper в windows 10

После окончания установки запустите RDPConfig.exe.

rdp-wrapper: красная надпись не поддерживается [not supported]

Скорее всего сразу после установки утилита покажет, что RDP wrapper запущен (Installed, Running, Listening), но не работает. Обратите внимание на красную надпись. Она сообщает, что данная версий Windows 10 (ver. 10.0.19041.1949) не поддерживается ([not supported]).

Причина в том, что в конфигурационном файле rdpwrap.ini отсутствует секция с настройками для вашего версии (билда) Windows. Актуальную версию файла rdpwrap.ini можно скачать здесь https://raw.githubusercontent.com/sebaxakerhtc/rdpwrap.ini/master/rdpwrap.ini

Вручную скопируйте содержимое данной страницы в файл «C:\Program Files\RDP Wrapper\rdpwrap.ini». Или скачайте файл с помощью PowerShell командлета Invoke-WebRequest (предварительно нужно остановить службу Remote Desktop):

Stop-Service termservice -Force
Invoke-WebRequest https://raw.githubusercontent.com/sebaxakerhtc/rdpwrap.ini/master/rdpwrap.ini -outfile "C:\Program Files\RDP Wrapper\rdpwrap.ini"

обновить файл rdpwrap.ini вручную

alert] Можно создать задание планировщика для проверки изменений в файле rdpwrap.ini и его автоматического обновления [/alert]

На данном скриншоте видно, что на компьютере установлена свежая версия файла rdpwrap.ini (Updated=2023-06-26).

Перезагрузите компьютер, запустите утилиту RDPConfig.exe. Проверьте, что в секции Diagnostics все элементы окрашены в зеленый цвет, и появилось сообщение [Fully supported]. На скриншоте ниже показано, что RDP Wrapper с данным конфигом успешно запущен в Windows 11 22H2.

запуск rdpwrapper в windows 11

Теперь попробуйте установить несколько одновременных RDP сессий с этим компьютером под разными пользователями (воспользуйтесь любым RDP клиентом: mstsc.exe, RDCMan, mRemoteNG и т.д.).

Можете проверить что на компьютере активны одновременно две RDP сессии (или более) с помощью команды:

qwinsta

rdp-tcp#0         user1                 1  Active
rdp-tcp#1         user2                 2  Active

qwnista: вывести активные rdp сессии в windows

Поддержка нескольких RDP сесиий в Windows 10

Утилита RDPWrap поддерживается во версиях Windows (включая домашние редакции Windows Home), таким образом из любой клиентской версии Windows можно сделать полноценный сервер терминалов.

В интерфейсе RDP Wrapper доступны следующие опции:

  • Enable Remote Desktop — включить/отключить Remote Desktop в Windows доступ
  • RDP Port — можно изменить стандартный номера порта удаленного рабочего стола TCP 3389
  • Опция Hide users on logon screen позволяет скрыть список пользователей на экране приветствия;
  • Single session per user —разрешить несколько одновременных RDP сессий под одной учетной записью пользователя. Эта опция устанавливает параметр реестра fSingleSessionPerUser = 0 в ветке HKLM\SYSTEM\CurrentControlSet\Control\Terminal Server). Также этот параметр настраивается через опцию GPO Restrict Remote Desktop Services to a single Remote Desktop Services session в разделе Computer Configuration > Administrative Templates > Windows Components > Remote Desktop Services > Remote Desktop Session Host > Connections.
  • В секции Session Shadowing Mode вы можете настроить режим теневого подключения к рабочему столу пользователей Windows .

Не работает RDP Wrapper в Windows

В некоторых случая утилита RDP Wrapper не работает как ожидается, и вы не можете использовать несколько RDP подключений.

Во время установки обновлений Windows может обновиться версия файла termsrv.dll. Если в файле rdpwrap.ini отсутствует описание для вашей версии Windows, значит RDP Wrapper не может применить необходимые настройки. В этом случае в окне RDP Wrapper Configuration будет указан статус [not supported].

В этом случае нужно обновить файл rdpwrap.ini как описано выше.
Если RDP Wrapper не работает после обновления файла rdpwrap.ini, попробуйте открыть файл rdpwrap.ini и найти в нем описание для вашей версии Windows.
Как понять, есть ли поддержка вашей версии Windows в конфиг файле rdpwrapper?
На скриншоте ниже показано, что для моей версии Windows 11 (10.0.22621.317) есть две секции с описаниями:

[10.0.22621.317]
...
[10.0.22621.317-SLInit]
...

rdpwrapper - добавить описание в файл rdpwrap.ini для вашей редакции windows

Если в конфигурационном файле rdpwrap соответствующая секция отсутствует для вашей версии Windows, попробуйте поискать в сети строки rdpwrap.ini для вашего билда. Добавьте найденные строки в самый конец файла.

Если после установки обновлений безопасности или после апгрейда билда Windows 10, RDP Wrapper не работает, проверьте, возможно в секции Diagnostics присутствует надпись Listener state: Not listening.

Попробуйте обновить ini файл, и затем переустановить службу:

rdpwinst.exe -u
rdpwinst.exe -i

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

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

Число разрешенных подключений к этому компьютеру ограничено и все подключений уже используются.

The number of connections to this computer is limited and all connections are in use right now. Try connecting later or contact your system administrator.

The number of connections to this computer is limited and all connections are in use right now.

В этом случае нужно с помощью редактора групповых политики gpedit.msc в секции Конфигурация компьютера –> Административные шаблоны -> Компоненты Windows -> Службы удаленных рабочих столов -> Узел сеансов удаленных рабочих столов -> Подключения включить политику “Ограничить количество подключений” и изменить ее значение на 999999 (Computer Configuration -> Administrative Templates -> Windows Components ->Remote Desktop Services ->Remote Desktop Session Host -> Connections-> Limit number of connections).

групповая политика Ограничить количество rdp подключений

Перезагрузите компьютер для обновления настроек GPO и применения новых параметров.

Модификация файла termsrv.dll для снятия ограничений RDP в Windows 10 и 11

Чтобы убрать ограничение на количество RDP подключений пользователей в Windows без использования rdpwrapper нужно заменить файл termsrv.dll. Это файл библиотеки, которая используется службой Remote Desktop Services. Файл находится в каталоге C:\Windows\System32.

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

copy c:\Windows\System32\termsrv.dll termsrv.dll_backup

Затем нужно стать владельцем файла. Проще всего это сделать из командной строки. Чтобы сменить владельца файла с TrustedInstaller на группу локальных администраторов с помощью команды:

takeown /F c:\Windows\System32\termsrv.dll /A

Должно появится сообщение: «SUCCESS: The file (or folder): «c:\Windows\System32\termsrv.dll» now owned by the administrators group».

Теперь с помощью icacls.exe предоставьте группе локальных администраторов полные права на файл termsrv.dll (Full Control):

icacls c:\Windows\System32\termsrv.dll /grant Administrators:F
(или
Администраторы
в русской версии Windows).

Должно появится сообщение: «processed file: c:\Windows\System32\termsrv.dll Successfully processed 1 files; Failed processing 0 files«.

termsrv.dll стать владельцем файла termsrv.dll с помощью takeown

Теперь нужно остановить службу Remote Desktop Service (TermService) из консоли services.msc или из командной строки:

Net stop TermService

Вместе с ней останавливается служба Remote Desktop Services UserMode Port Redirector.

Служба Remote Desktop service

Чтобы узнать номер билда вашей Windows, выполните команду winver или следующую команды PowerShell:

Get-ComputerInfo | select WindowsProductName, WindowsVersion

В моем случае установлена Windows 10 билд 22H2.

Затем откройте файл termsrv.dll с помощью любого HEX редактора (к примеру, Tiny Hexer). В зависимости от билда нужно найти и заменить строку:

Версия Windows Найти строку Заменить на
Windows 11 22H2 39 81 3C 06 00 00 0F 84 75 7A 01 00  

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

Windows 10 22H2 39 81 3C 06 00 00 0F 84 85 45 01 00
Windows 11 RTM ( 21H2 22000.258) 39 81 3C 06 00 00 0F 84 4F 68 01 00
Windows 10 x64 21H2 39 81 3C 06 00 00 0F 84 DB 61 01 00
Windows 10 x64 21H1 39 81 3C 06 00 00 0F 84 2B 5F 01 00
Windows 10 x64 20H2 39 81 3C 06 00 00 0F 84 21 68 01 00
Windows 10 x64 2004 39 81 3C 06 00 00 0F 84 D9 51 01 00
Windows 10 x64 1909 39 81 3C 06 00 00 0F 84 5D 61 01 00
Windows 10 x64 1903 39 81 3C 06 00 00 0F 84 5D 61 01 00
Windows 10 x64 1809 39 81 3C 06 00 00 0F 84 3B 2B 01 00
Windows 10 x64 1803 8B 99 3C 06 00 00 8B B9 38 06 00 00
Windows 10 x64 1709 39 81 3C 06 00 00 0F 84 B1 7D 02 00

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

Например, для самой редакции Windows 10 x64 22H2 19045.2006 (версия файла termsrv.dll — 10.0.19041.1949) нужно открыть файл termsrv.dll в Tiny Hexer. Затем найдите строку:

39 81 3C 06 00 00 0F 84 85 45 01 00

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

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

редактировать termsrv.dll в hex редакторечтобы разрешить множественные rdp подключения

Сохраните файл и запустите службу TermService.
Если что-то пошло не так, и у вас возникнут проблемы со службой RDP, остановите службу и замените модифицированный файл termsrv.dll исходной версией:

copy termsrv.dll_backup c:\Windows\System32\termsrv.dll

Преимущество способа отключения ограничения на количество RDP сессий в Windows путем замены файла termsrv.dll в том, что на него не реагируют антивирусы. В отличии от утилиты RDPWrap, которую многие антивирусов считают Malware/HackTool/Trojan. Основной недостаток — вам придется вручную править файл после каждого обновления билда Windows (или при обновлении версии файла termsrv.dll в рамках ежемесячных кумулятивных обновлений).

Встроенная поддержка нескольких RDP сессий в редакции Windows 10 Enterprise Multi-session

Недавно Microsoft выпустило специальные Enterprise редакции Windows multi-session (ранее назывались Windows 10 Enterprise for Remote Sessions и Windows 10 Enterprise for Virtual Desktops).

Редакция Enterprise multi-session доступна как для Windows 10, так и для Windows 11.

Главная особенность этой редакции – она поддерживает множественные одновременные RDP сессии пользователей прямо из коробки. Несмотря на то, что редакцию Windows multi-session разрешено запускать только в виртуальных машинах Azure, вы можете вам установить эту редакцию в on-premises сети и использовать данный компьютер терминальный сервер (хотоя это будет нарушением лицензионной политики Microsoft).

Далее мы покажем, как обновить компьютер с Windows 10 Pro до Windows 10 Enterprise for Virtual Desktop и использовать его для одновременного подключения нескольких пользователей.

Откройте командную строку и проверьте текущую редакцию Windows (Professional в этом примере):

DISM /online /Get-CurrentEdition

Обновите вашу редакцию Windows с Pro до Enterprise:

Changepk.exe /ProductKey NPPR9-FWDCX-D2C8J-H872K-2YT43

Теперь установить GVLK ключ для Windows 10 Enterprise for Remote Sessions:

slmgr.vbs /ipk CPWHC-NT2C7-VYW78-DHDB2-PG3GK

Апгрейд windows до редакции enterprise remote sessions

Проверьте, что теперь ваша редакция Windows 10 изменилась на
ServerRdsh
(Windows 10 Enterprise for Virtual Desktops).

Редакция windows 10 ServerRdsh

Активируйте вашу копию Windows Enterprise Multi-Session на вашем KMS сервере:

slmgr /skms msk-man02.winitpro.local:1688
slmgr /ato

Откройте редактор локальной GPO
(gpedit.msc
) и включите Per-User режим лицензирования в параметре Set the Remote Desktop licensing mode (Computer Configuration -> Policies -> Administrative Templates -> Windows Components -> Remote Desktop Services -> Remote Desktop Session Host -> Licensing).

После активации нужно перезагрузить Windows. Теперь попробуйте подключиться к компьютеру по RDP под несколькими пользованиями. Как вы видите, Windows 10 Enterprise multi-session одновременные RDP подключения поддерживаются прямо из коробки.

Get-ComputerInfo | select WindowsProductName, WindowsVersion, OsHardwareAbstractionLayer

Windows 10 Enterprise for Virtual Desktops 2009           10.0.19041.2728

qwinsta

несколько активных rdp сеансов в windows 10 enterprise virtual desktop 2009

В этой статье мы рассмотрели способы, позволяющие снять ограничение на количество одновременных RDP подключений пользователей, и запустить бесплатный терминальный сервер на клиентской Windows 10 или 11. У каждого из этих способов есть свои преимущества и недостатки. Какой из них использовать — решать вам.

null

Существует множество различий между двумя основными редакциями Windows 10 Home и Pro. Одно из ключевых различий — отсутствие Remote Desktop Services в Home редакции Windows 10. Покупку Pro лицензии на замену Home ради RDP, трудно назвать обоснованным решением при наличии модификаций, позволяющих вернуть функционал для работы с удалённым доступом.  Например патченный файл «Termsrv.dll» в связке с системным процессом Service Control Manager.
​​​​​​​
​​​​​​​Одно из лучших решений модификаций, которое предлагает сообщество — является RDP Wrapper Library.  В интернете достаточно информации о данной библиотеке и её использовании. Однако она имеет свой основной недостаток в виде отсутствия обновлений с 27 декабря 2017 года. С того времени по сегодняшний день, в свет успели выйти версии Windows 10 начиная с 1703 и заканчивая 20H2.

​​​​​​​Основная проблема возникающая при запуске RDP Wrapper — это [not supported] в Listener State из-за различий версий Service Control Manager с конфигом rdpwrap.ini

Win10 - April 2019 Updates - RDP Wrapper Not Supported ...

​​​​​​​Пример конфига:

[10.0.18362.657]
LocalOnlyPatch.x86=1
LocalOnlyOffset.x86=B7D06
LocalOnlyCode.x86=jmpshort
LocalOnlyPatch.x64=1
LocalOnlyOffset.x64=82FB5
LocalOnlyCode.x64=jmpshort
SingleUserPatch.x86=1
SingleUserOffset.x86=50535
SingleUserCode.x86=nop
SingleUserPatch.x64=1
SingleUserOffset.x64=0DBFC
SingleUserCode.x64=Zero
DefPolicyPatch.x86=1
DefPolicyOffset.x86=50269
DefPolicyCode.x86=CDefPolicy_Query_eax_ecx
DefPolicyPatch.x64=1
DefPolicyOffset.x64=1FE15
DefPolicyCode.x64=CDefPolicy_Query_eax_rcx
SLInitHook.x86=1
SLInitOffset.x86=5A77A
SLInitFunc.x86=New_CSLQuery_Initialize
SLInitHook.x64=1
SLInitOffset.x64=22DDC
SLInitFunc.x64=New_CSLQuery_Initialize

[10.0.18362.657-SLInit]
bInitialized.x86      =D577C
bServerSku.x86        =D5780
lMaxUserSessions.x86  =D5784
bAppServerAllowed.x86 =D578C
bRemoteConnAllowed.x86=D5790
bMultimonAllowed.x86  =D5794
ulMaxDebugSessions.x86=D5798
bFUSEnabled.x86       =D579C
bInitialized.x64      =F6A8C
bServerSku.x64        =F6A90
lMaxUserSessions.x64  =F6A94
bAppServerAllowed.x64 =F6A9C
bRemoteConnAllowed.x64=F6AA0
bMultimonAllowed.x64  =F6AA4
ulMaxDebugSessions.x64=F6AA8
bFUSEnabled.x64       =F6AAC

Где 10.0.* версия SCM.

​​​​​​​Основное решение проблемы [not supported] — это правка конфига под нужную версию SCM.
​​​​​​​
​​​​​​​При «гугление» проблемы, можно обнаружить множестве веток обсуждений на GitHub с приведением конфигов к нужной версии. Для частичной автоматизации можно воспользоваться этим bat скриптом: https://github.com/asmtron/rdpwrap/blob/master/bin/autoupdate.bat

​​​​​​​Его особенность, что после строчек:

REM -----------------------------------------
REM Location of new/updated rdpwrap.ini files
REM -----------------------------------------

Можно добавлять свои найденные правки чужого конфига rdpwrap.ini, которые он успешно внесёт в основной конфиг rdpwrap.ini. Это помогает автоматизировать развёртыватывание RDP Wrapper в случае большого парка машин с разными сборками Windows 10 редакции Home.

​​​​​​Пример добавления найденного конгфига:

set rdpwrap_ini_update_github_1="https://raw.githubusercontent.com/asmtron/rdpwrap/master/res/rdpwrap.ini"

Где set задаёт значение в виде ссылки на конфиг.

​​​​​​​При установке RDP Wrapper желательно заранее отключить все сетевые интерфейсы используя ncpa.cpl

​​​​​​​По итогу пункт Listener State должен получить статус [fully supported] и можно проверять доступ по RDP:

Any help available for 10.0.18363.476 (1909 enterprise)? · Issue #928 ·  stascorp/rdpwrap · GitHub

​​​​​​​

​​​

​​​​​​​

Удаленные пользователи могут подключаться к своим компьютерам Windows 10 через службу удаленных рабочих столов (RDP) в редакциях Pro и Enterprise (но не в Home/Single Language). Но есть ограничение на количество одновременных RDP сессии – допускается одновременная работа только одного удаленного пользователя. Если вы попробуете открыть вторую RDP сессию, появится предупреждение с запросом отключить сеанс первого пользователя.

Данная информация предназначена для услуг: VPS хостинг или Облачный хостинг

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

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

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

Another user is signed in. If you continue, they’ll be disconnected. Do you want to sign in anyway?

Рассмотрим основные ограничения на использование службы удаленного рабочего стола в Windows 10 (и всех предыдущих десктопных версиях Windows):

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

Ограничение на количество одновременных RDP подключений является не техническим, а скорее лицензионным. Таким образом Microsoft запрещает создавать терминальный RDP сервер на базе рабочей станции для одновременной работы нескольких пользователей. Логика Microsoft проста: если вам нужен терминальный сервер — купите лицензию Windows Serverлицензии RDS CAL, установите и настройте роль Remote Desktop Session Host (RDSH).

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

Мы рассмотрим два способа отключить ограничение на количество одновременных RDP подключений к Windows 10: с помощью приложения RDP Wrapper и с помощью правки файла termsrv.dll.

Важно. Изначально в самой первой версии статьи основным рабочим вариантом, позволяющим снять ограничение на количество одновременных RDP подключений пользователей в Windows был способ модификации и подмены файла termsrv.dll в папке %SystemRoot%\System32. Однако при установке нового билда Windows 10 или некоторых обновлений безопасности, этот файл обновляется.

В результате приходится каждый раз редактировать этот файл Hex редактором, что довольно утомительно. Поэтому в качестве основного способа организации бесплатного терминального сервера на клиентской Windows 10 стоит считать утилиту RDP Wrapper Library.

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

RDP Wrapper: разрешить несколько RDP сеансов в Windows 10

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

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

Важно. Перед установкой RDP Wrapper важно убедится, чтобы у вас использовалась оригинальная (непропатченная) версия файл termsrv.dll. В противном случае RDP Wrapper может работать не стабильно, или вообще не запускаться.

Вы можете скачать RDP Wrapper из репозитория GitHub: https://github.com/binarymaster/rdpwrap/releases (последняя доступная версия RDP Wrapper Library v1.6.2). Судя по информации на странице разработчика, поддерживаются все версии Windows. Windows 10 поддерживается вплоть до 1809 (хотя в 1909 тоже все прекрасно работает, см. ниже).

Архив 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.

Архив RDPWrap-v1.6.2.zip

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

Установка rdpwrapper в windows 10

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

RDPConfig поддержка последних версий windows 10

Запустите RDPCheck.exe и попробуйте открыть вторую RDP сессию (или подключитесь несколькими сессиями RDP с удаленных компьютеров) Все получилось! Теперь ваша Windows 10 позволяет одновременно подключаться по RDP сразу двум удаленным пользователям.

Поддержка нескольких RDP сесиий в Windows 10

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

Также из интересных возможностей RDP Wrapper можно выделить:

  • Опция Hide users on logon screen позволяет скрыть список пользователей на экране приветствия;
  • При отключении опции Single session per user — будут разрешены несколько одновременных RDP сессий под одной учетной записью (устанавливается параметр реестра fSingleSessionPerUser = 0 в ветке HKLM\SYSTEM\ CurrentControlSet\Control\Terminal Server\fSingleSessionPerUser).
  • RDP Port — можно изменить номера порта удаленного рабочего стола со стандартного TCP 3389 на любой другой;
  • В секции Session Shadowing Mode вы можете выбрать режим теневого подключения к рабочему столу пользователей Windows 10.

Не работает RDP Wrapper в Windows 10

Рассмотрим, что делать, если у вас в Windows 10 при установленной утилите RDP Wrapper не получается использовать несколько RDP подключений..

В моем случае утилита RDConfig в окне статуса показывала [not supported]. Проблема была в том, что на компьютере отсутствовал прямой доступ в Интернет и программа не смогла скачать с GitHub актуальную версию файла rdpwrap.ini с настройками для последних версий Windows (как вручную обновить rdpwrap.ini см. ниже).

Скачайте файл rdpwrap.ini с ресурса разработчика и поместите его в каталог установки (C:\Program Files\RDP Wrapper\rdpwrap.ini). Перезапустите службу TermService и убедитесь, что надпись [not supported] сменилась на [fully supported].

RDPConfig - диагностика

Чтобы заменить файл rdpwrap.ini:

  1. Остановите службу termservice: get-service termservice|stop-service
  2. Замените файл rdpwrap.ini в каталоге C:\Program Files\RDP Wrapper\;
  3. Перезагрузите компьютер;
  4. После перезагрузки запустите RDPConf и убедитесь, что все статусы стали зелеными.

ручное обновление конфигурационного файла rdpwrap.ini в windows 10

Если после установки обновлений безопасности или после апгрейда билда Windows 10, RDP Wrapper не работает, проверьте, возможно в секции Diagnostics присутствует надпись Listener state: Not listening.

Попробуйте обновить ini файл «C:\Program Files\RDP Wrapper\rdpwrap.ini» скриптом update.bat (либо вручную) и переустановить службу:

rdpwinst.exe -u
rdpwinst.exe -i

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

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

Число разрешенных подключений к этому компьютеру ограничено и все подключений уже используются.

The number of connections to this computer is limited and all connections are in use right now. Try connecting later or contact your system administrator.

The number of connections to this computer is limited and all connections are in use right now.

В этом случае нужно с помощью редактора групповых политики gpedit.msc в секции Конфигурация компьютера –> Административные шаблоны ->  Компоненты Windows -> Службы удаленных рабочих столов -> Узел сеансов удаленных рабочих столов ->  Подключения включить политику “Ограничить количество подключений” и изменить ее значение на 999999 (Computer Configuration -> Administrative Templates -> Windows Components ->Remote Desktop Services ->Remote Desktop Session Host -> Connections-> Limit number of connections).

групповая политика Ограничить количество rdp подключений

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

Модификация файла termsrv.dll  для снятия ограничений RDP в Windows 10

Чтобы убрать ограничение на количество RDP подключений пользователей в Windows 10 без использования rdpwraper, можно заменить файл termsrv.dll. Это файл библиотеки, которая используется службой Remote Desktop Services. Файл находится в каталоге C:\Windows\System32.

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

copy c:\Windows\System32\termsrv.dll termsrv.dll_backup

создать резевную копию файла termsrv.dll

Прежде чем править файл termsrv.dll, вам нужно стать его владельцем и предоставить группе администраторов полные права на него. Проще всего это сделать из командной строки. Чтобы сменить владельца файла с TrustedInstaller на группу локальных администраторов с помощью команды:

takeown /F c:\Windows\System32\termsrv.dll /A

Должно появится сообщение: «SUCCESS: The file (or folder): «c:\Windows\System32\termsrv.dll» now owned by the administrators group».

Теперь предоставим группе локальных администраторов полные права на файл termsrv.dll (Full Control):

icacls c:\Windows\System32\termsrv.dll /grant Administrators:F (или Администраторы в русской версии Windows). Должно появится сообщение: «processed file: c:\Windows\System32\termsrv.dll Successfully processed 1 files; Failed processing 0 files«.

termsrv.dll стать владельцем файла termsrv.dll с помощью takeown

Теперь нужно остановить службу Remote Desktop Service (TermService) из консоли services.msc или из командной строки:

Net stop TermService

Служба Remote Desktop service

Прежде чем идти дальше, вам нужно узнать вашу версию (билд) Windows 10. Проще всего это сделать с помощью следующей команды PowerShell:

Get-ComputerInfo | select WindowsProductName, WindowsVersion

В моем случае установлена Windows 10 билд 1909.

Затем откройте файл termsrv.dll с помощью любого HEX редактора (к примеру, Tiny Hexer). В зависимости от билда нужно найти и заменить строку:

Версия Windows 10 Найти строку Заменить на
Windows 10 x64 1909 39 81 3C 06 00 00 0F 84 5D 61 01 00  

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

Windows 10 x64 1903 39 81 3C 06 00 00 0F 84 5D 61 01 00
Windows 10 x64 1809 39 81 3C 06 00 00 0F 84 3B 2B 01 00

Windows 10 x64 1803 8B 99 3C 06 00 00 8B B9 38 06 00 00

Windows 10 x64 1709 39 81 3C 06 00 00 0F 84 B1 7D 02 00

Например, для самой первой редакции Windows 10 x64 RTM 10240 (версия файла termsrv.dll — 10.0.10240.16384) нужно открыть файл termsrv.dll в Tiny Hexer. Затем найдите строку:

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

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

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

hex редактор

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

Готовый пропатченный файл termsrv.dll для Windows 10 Pro RTM x64 можно скачать здесь: termsrv_windows_10_x64_10240.zip

Если что-то пошло не так, и у вас возникнут проблемы со службой RDP, остановите службу и замените модифицированный файл termsrv.dll исходной версией:

copy termsrv.dll_backup c:\Windows\System32\termsrv.dll

Преимущество способа включения нескольких RDP сессий в Windows 10 путем замены файла termsrv.dll в том, что на него не реагируют антивирусы. В отличии от утилиты RDPWrap, которую многие антивирусов считают Malware/HackTool/Trojan. Основной недостаток — вам придется вручную править файл при каждом обновлении билда Windows 10 (или при обновлении версии файла termsrv.dll в рамках ежемесячных кумулятивных обновлений).

Remote Desktop Protocol (RDP) is a powerful tool that allows users to access their Windows desktop from another computer or device. However, Windows 10 Home Edition does not come with built-in RDP support. To enable RDP, many users turn to the RDP Wrapper Library, a third-party software that enables remote desktop functionality on Windows editions where it’s disabled by default. While this tool is incredibly useful, it can sometimes run into issues, especially after a Windows update. This guide will walk you through the steps of how to fix RDP wrapper on Windows 10.

What is RDP Wrapper?

RDP Wrapper is a free, open-source tool that acts as a layer between the Terminal Services and Service Control Manager in Windows. It allows users to enable multiple RDP connections simultaneously on Windows editions where this feature is typically disabled. It modifies the termsrv.dll file to enable the RDP features, but it doesn’t replace or modify the original file, making it a safer option than directly patching the system files.

Common Issues with RDP Wrapper

Before diving into the solutions, it’s essential to understand the common issues users face with RDP Wrapper:

  1. RDP Wrapper Not Working After Windows Update: One of the most frequent problems is that RDP Wrapper stops working after a Windows update. This occurs because updates often modify the termsrv.dll file, which RDP Wrapper relies on.
  2. Listener State: Not Listening: Another common issue is when the RDP Wrapper configuration shows that the listener state is “Not Listening,” meaning it’s not accepting RDP connections.
  3. Access Denied or Connection Refused: Users might also encounter “Access Denied” or “Connection Refused” errors when trying to connect to their Windows machine via RDP.
  4. Multiple Connections Not Allowed: Even with RDP Wrapper installed, some users find that they can’t establish multiple RDP connections simultaneously.

1. Update RDP Wrapper Configuration

The most common fix for RDP Wrapper issues, especially after a Windows update, is to update the RDP Wrapper configuration.

Steps:

    1. Download the Latest Configuration Files:
      • Visit the RDP Wrapper GitHub repository or search online for the latest rdpwrap.ini configuration file.
        Download the file to your computer.
    2. Replace the Existing Configuration File:
      • Navigate to the RDP Wrapper installation directory, usually located at C:\Program Files\RDP Wrapper.
      • Back up the existing rdpwrap.ini file by renaming it to rdpwrap_old.ini.
      • Copy the newly downloaded rdpwrap.ini file to the RDP Wrapper directory.
    3. Restart the Service:
      • Open the Command Prompt as Administrator.
      • Run the following commands:
        bash   Copy code
        net stop termservice
        net start termservice
      • This will restart the Remote Desktop protocol Services & apply the new configuration.
    4. Check Listener State:
      • Run RDPConf.exe from the RDP Wrapper directory to check if the listener state is now “Listening.”

2. Reinstall RDP Wrapper

If updating the configuration file doesn’t solve the problem, you might need to reinstall RDP Wrapper.

Steps:

    1. Uninstall RDP Wrapper:
      • Open Command Prompt as Administrator.
      • Run the following command to uninstall RDP Wrapper:
        bash   Copy code
        unins000.exe
      • Alternatively, you can navigate to the RDP Wrapper directory and run the uninstaller.
    2. Restart Your Computer:
      • Restart your pc to ensure all remnants of the previous installation are removed.
    3. Reinstall RDP Wrapper:
      • Download the latest version of RDP Wrapper from the official GitHub repository.
      • Extract the files and run install.bat as Administrator.
      • After installation, run RDPConf.exe to check the status.
    4. Check Listener State:
      • Ensure that the listener state is “Listening” and that all other configurations are correct.

3. Manually Patch Termsrv.dll

If both the above methods fail, you may need to manually patch the termsrv.dll file.

Warning: This method is more advanced and involves directly modifying system files, which can lead to system instability if not done correctly. Proceed with caution.

Steps:

    1. Backup Termsrv.dll:
      • Navigate to C:\Windows\System32.
      • Locate termsrv.dll and create a backup by copying it to another folder.
    2. Download a Compatible Termsrv.dll Patch:
      • Search online for a compatible termsrv.dll patch for your Windows version.
      • Download the patch and follow the instructions provided by the source.
    3. Replace Termsrv.dll:
      • Replace the existing termsrv.dll in C:\Windows\System32 with the patched version.
      • Make sure to set the correct file permissions if required.
    4. Restart Remote Desktop Services:
      • Open Command Prompt as Administrator & run the following commands:
        bash   Copy code
        net stop termservice
        net start termservice
    5. Test RDP Functionality:
      • Attempt to connect to your Windows machine via RDP to ensure everything is working correctly.

What Protocol Does RDP Use in Windows 10?

4. Enable Multiple RDP Connections

To enable multiple RDP connections on Windows 10, you need to modify the Group Policy or use a third-party tool.

Using Group Policy:

    1. Open Group Policy Editor:
      • Press Win + R, type gpedit.msc, & press Enter.
    2. Navigate to RDP Settings:
      • Go to Personal Computer Configuration -> Administrative Templates -> Windows
      • Components -> Remote Desktop Services -> Remote Desktop Session Host -> Connections.
    3. Allow Multiple Connections:
      • Double-click on “Limit number of connections” and set it to “Enabled,” then specify the maximum number of connections.
      • Double-click on “Restrict Remote Desktop Protocol Services users to a single Remote Desktop Protocol Services session” & set it to “Disabled.”
    4. Apply Changes:
      • Click “Apply” & “OK” to save your settings.
      • Restart the personal computer for changes to take effect.

5. Check and Fix Firewall Settings

Sometimes, the firewall settings can block RDP connections, leading to issues with RDP Wrapper.

Steps:

    1. Open Windows Firewall:
      • Go to Control Panel -> System and Security -> Windows Defender Firewall.
    2. Allow RDP Through Firewall:
      • Press on “Permit an app or feature through Windows Defender Firewall.”
      • Find “Remote Desktop” and ensure both “Private” and “Public” networks are checked.
        Click “OK” to save the changes.
    3. Test the Connection:
      • Try connecting to your Windows machine via RDP to verify if the issue is resolved.

Conclusion

RDP Wrapper is a valuable tool for enabling Remote Desktop functionality on Windows 10 Home and other non-server editions. However, it can encounter issues, especially after a Windows update. By following the steps outlined in this guide, you should be able to fix common problems with RDP Wrapper and restore your remote desktop functionality. Whether it’s updating the configuration file, reinstalling the software, or tweaking system settings, these solutions will help you maintain a smooth RDP experience on your Windows machine.

Join GitHub today

GitHub is home to over 28 million developers working together to host and review code, manage projects, and build software together.

Sign up

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and
privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account


Listener is not listening on Win 10 Home (build 14997+)

#194

Comments

Понравилась статья? Поделить с друзьями:
0 0 голоса
Рейтинг статьи
Подписаться
Уведомить о
guest

0 комментариев
Старые
Новые Популярные
Межтекстовые Отзывы
Посмотреть все комментарии
  • Удаление принтера из системы windows 10 полностью
  • Презентация windows для чайников
  • Whatsapp beta windows 10 mobile
  • Windazo plastic windows and doors wordpress theme
  • Как подключить принтер к двум компьютерам через локальную сеть windows 10