Все способы:
- Способ 1: Замена файла конфигурации
- Способ 2: Настройка в «Редакторе групповых политик»
- Не работает RDP в целом
- Вопросы и ответы: 5
Подключение по протоколу RDP в Виндовс 10 активно используется как некоторыми рядовыми пользователями, так и профессионалами. Для обхода системного ограничения последние использует программу RDP Wrap. Увы, но после обновлений системы этот софт перестаёт работать, и сегодня мы поможем вам решить эту проблему.
Способ 1: Замена файла конфигурации
Проблемы с работой рассматриваемой программы возникают вследствие обновлений системной библиотеки termsrv.dll. Под каждую её версию RDP Wrap нужно конфигурировать заново. К счастью, разработчики приложения заботятся об этом сами и после каждого мажорного апдейта выпускают новый конфигурационный файл. Алгоритм его замены выглядит следующим образом:
- Перейдите по ссылке в репозиторий приложения на GitHub.
Репозиторий на GitHub
- Откройте каталог res двойным щелчком левой кнопки мыши. Найдите внутри ссылку с именем rdpwrap.ini и кликните по ней правой кнопкой мыши. Выберите пункт «Сохранить ссылку как…» (в других браузерах – «Сохранить объект как…» или похожее по смыслу).
Сохраните файл rdpwrap.ini в любое подходящее место на компьютере.
- Теперь откройте утилиту «Выполнить» сочетанием Win+R, введите в неё запрос
services.msc
и нажмите «ОК».После запуска списка служб найдите запись «Службы удалённых рабочих столов», выделите её и нажмите «Остановить службу».
Подтвердите остановку.
- Далее откройте «Проводник» и перейдите по следующему адресу:
C:\Program Files\RDP Wrapper
Скопируйте полученный ранее rdpwrap.ini и вставьте в эту папку.
Подтвердите замену файла.
- Перезагрузите компьютер, после чего откройте монитор враппера с именем RDConfig.
Проверьте строку «Listener» – если надпись в ней гласит «Fully supported», проблема устранена.
Данный метод является предпочтительным, и к следующему следует прибегать только в случае отсутствия его эффективности.
Способ 2: Настройка в «Редакторе групповых политик»
Пользователи Windows 10 редакций Профессиональная и Корпоративная могут решить рассматриваемую проблему настройкой определённого параметра в «Редакторе групповых политик».
- Вызовите средство «Выполнить» (шаг 3 Способа 1), в котором введите запрос gpedit.msc.
- Перейдите по следующему пути:
Конфигурация компьютера/Административные шаблоны/Компоненты Windows/Службы удаленных рабочих столов/Узел сеансов удаленных рабочих столов/Подключения
- Дважды кликните по политике «Ограничить количество подключений».
Установите положение «Включено», после чего измените значение максимального количество подключений на
999999
. Сохраните изменения последовательным нажатием на кнопки «Применить» и «ОК». - Закройте «Редактор групповых политик» и перезагрузите компьютер.
Описанная выше манипуляция позволит решить проблему, но является потенциально небезопасной, поэтому используйте её в самом крайнем случае.
Не работает RDP в целом
Порой вышеприведённые действия не приводят к желаемому результату. В этом случае отметим, что скорее всего дело уже не во враппере и библиотеке. Действуйте так:
- Сначала проверьте параметры брандмауэра, как системного, так и стороннего, и разрешите в нём соединение по РДП.
Урок: Настройка брандмауэра на Windows 10
- Также стоит проверить состояние портов – не исключено, что требуемый для работы нужного протокола просто закрыт.
Подробнее: Как открыть порты на Windows 10
- Ещё раз проверьте редакцию целевой «десятки» – подключение по RDP не поддерживается в Windows 10 Home.
-
Рассматриваемый тип соединения может не работать из-за повреждений соответствующих системных файлов. Для начала проверьте, не завёлся ли в вашей системе вирус.
Подробнее: Борьба с компьютерными вирусами
После этого проверьте целостность компонентов ОС и восстановите их одним из возможных способов, если в этом появится необходимость.
Урок: Проверка целостности и восстановление системных файлов в Windows 10
Теперь вам известно, как нужно действовать в ситуации, когда RDP Wrapper перестал работать после обновления Windows 10, и что делать, если подключение по этому протоколу не работает в целом.
Наша группа в TelegramПолезные советы и помощь
Provide feedback
Saved searches
Use saved searches to filter your results more quickly
Sign up
Appearance settings
При запуске конфигуратора RDP Wrapper статус «not supported» или «supported partially»
По рекомендациям, которые нашел в сети, по-новому переустановил RDP Wrapper (re-install.bat), обновил (update.bat), обновил rdpwrap.ini (rdpwrap_ini_updater.bat). Запустил RDPConf.exe и опять получил «not supported»
В окне RDP Wrapper configuration высветилась версия моей Windows 10.0.17763.437, которая, как я понял, на тот момент не поддерживалась. Параллельно открыл файл rdpwrap.ini. И, дествительно, последняя в списке была версия 10.0.17763.379.
Полез на форум портала github.com. Шерстил долго, но — безрезультатно. Пока случайно не наткнулся на какую-то тривиальную, почти бессмысленную рекомендацию. Человек просто взял и заменил в файле rdpwrap.ini последние цифры близлежащей версии на свои. Попробовал проделать то же самое у себя: заменил 379 на 437. Запустил RDPConf.exe и получил «fully supported».
Не поверил. Запустил RDPCheck.exe и получил параллельную RDP-сессию
Не поверил. Попробовал подключиться по RDP удаленно. Подключился. Бред какой-то. Вообще-то, не должно было прокатить, но, почему-то прокатило. Попробовал то же самое проделать на другой машине с Windows 7. Прокатило! Чудно!
P.S. Гладко было на бумаге, да забыли про овраги! Рано было ставить точку, — вынужден снова вернуться к этому вопросу.
Пользователь при установке какой-то игровой «хрени» словил BlueScreen, который стал периодически повторяться. Не заморачиваясь особо, запустили восстановление системы. А «десятка» при восстановлении ещё и обновилась до более старшей версии: была 10.0.17763.437, а стала 10.0.17763.771. Естественно, при запуске RDPConf.exe опять получил «not supported». По новой проделал все вышеописанные шаги. В файле rdpwrap.ini для версии 10.0.17763.771 ничего не добавилось. Заменил в rdpwrap.ini 437 на 771. Не прокатило! Видимо 437 была ближе к 379, чем 771 к 437.
Пришлось опять шерстить портал github.com, где в комментах нашел блок для версии 10.0.17763.771 (ссылка на источник https://github.com/stascorp/rdpwrap/issues/886). Скопировал, вставил в rdpwrap.ini, подключился по RDP, параллельная сессия пошла.
Позже на другой машине в схожей ситуации «десятка» при восстановлении обновилась вообще до версии 10.0.18362.267. Естественно, все вышеописанные манипуляции ни к чему не привели. Но на этом же портале уже кто-то выложил build for win 10 home v18362.267 (ссылка на источник https://github.com/SobieskiCodes/RDPWrap). Скачал, проделал стандартные шаги по установке и обновлению. Из папки W10Privacy ничего не запускал, — параллельная RDP-сессия пошла и так.
P.S. P.S. 13 и 14 января 2021 года Windows 10 обновилась до версии 10.0.18362.1316. Опять получил «not supported». Нашел для неё дополнение в rdpwrap.ini:
[10.0.18362.1316]
LocalOnlyPatch.x64=1
LocalOnlyOffset.x64=83075
LocalOnlyCode.x64=jmpshort
SingleUserPatch.x64=1
SingleUserOffset.x64=0DC4C
SingleUserCode.x64=Zero
DefPolicyPatch.x64=1
DefPolicyOffset.x64=1FE65
DefPolicyCode.x64=CDefPolicy_Query_eax_rcx
SLInitHook.x64=1
SLInitOffset.x64=22E9C
SLInitFunc.x64=New_CSLQuery_Initialize
[10.0.18362.1316-SLInit]
bInitialized.x64 =F6A8C
bServerSku.x64 =F6A90
lMaxUserSessions.x64 =F6A94
bAppServerAllowed.x64 =F6A9C
bRemoteConnAllowed.x64=F6AA0
bMultimonAllowed.x64 =F6AA4
ulMaxDebugSessions.x64=F6AA8
bFUSEnabled.x64 =F6AAC
Запустил RDPConf.exe, получил «fully supported». Но второго пользователя по RDP не пускает. Несколько раз перезагрузился. Бесполезно. Блокирует второго юзера по RDP, хоть убейся. Полез опять на портал github.com. Нашел свежий файл autoupdate.bat. Поместил его в папку с установленным RDP Wrapper. Запустил от имени администратора. Потом попробовал подключиться по RDP. Подключение пошло, но сначала открылся черный (и пустой) рабочий стол. Потом через пару попыток оставил его таким на некоторое время. И, о чудо, всё появилось. В дальнейшем все последующие подключения пошли нормально. Каким образом этот батник повлиял, я так и не понял. Может, просто совпадение.
P.S. P.S. P.S. В двадцатых числах июня 2021 года Windows 10 обновилась до версии 10.0.17763.1971 и, соответственно, опять «not supported».
«Не мудрствуя лукаво» просто запустил файл autoupdate.bat, который ранее был скачан с портала github.com и помещён в папку с установленным RDP Wrapper. И сразу получил «fully supported». Параллельная RDP-сессия пошла.
ДОПОЛНЕНИЕ от 25.05.2024 года
После обновления Windows 10 до версии 10.0.19041.4355 получил «not supported». Но на портале github.com уже было выложено дополнение к файлу rdpwrap.ini:
[10.0.19041.4355]
LocalOnlyPatch.x86=1
LocalOnlyOffset.x86=C1BB9
LocalOnlyCode.x86=jmpshort
SingleUserPatch.x86=1
SingleUserOffset.x86=45605
SingleUserCode.x86=Zero
DefPolicyPatch.x86=1
DefPolicyOffset.x86=415B9
DefPolicyCode.x86=CDefPolicy_Query_eax_ecx
SLInitHook.x86=1
SLInitOffset.x86=700D8
SLInitFunc.x86=New_CSLQuery_Initialize
LocalOnlyPatch.x64=1
LocalOnlyOffset.x64=91281
LocalOnlyCode.x64=jmpshort
SingleUserPatch.x64=1
SingleUserOffset.x64=1835B
SingleUserCode.x64=Zero
DefPolicyPatch.x64=1
DefPolicyOffset.x64=1F375
DefPolicyCode.x64=CDefPolicy_Query_eax_rcx
SLInitHook.x64=1
SLInitOffset.x64=2885C
SLInitFunc.x64=New_CSLQuery_Initialize
[10.0.19041.4355-SLInit]
bInitialized.x86 =E398C
bServerSku.x86 =E3990
lMaxUserSessions.x86 =E3994
bAppServerAllowed.x86 =E399C
bRemoteConnAllowed.x86=E39A4
bMultimonAllowed.x86 =E39A8
ulMaxDebugSessions.x86=E39AC
bFUSEnabled.x86 =E39B0
bInitialized.x64 =123094
bServerSku.x64 =123098
lMaxUserSessions.x64 =12309C
bAppServerAllowed.x64 =1230A4
bRemoteConnAllowed.x64=1230AC
bMultimonAllowed.x64 =1230B0
ulMaxDebugSessions.x64=1230B4
bFUSEnabled.x64 =1230B8
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
Пример конфига:
[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:
Удаленные пользователи могут подключаться к своим компьютерам Windows 10 или 11 через службу удаленных рабочих столов (RDP). Достаточно включить удаленный рабочий стол (Remote Desktop), разрешить RDP доступ для пользователя и подключиться к компьютеру с помощью любого клиента удаленного рабочего стола. Однако в десктопных версия Windows есть ограничение на количество одновременных RDP сессии. Разрешается только один активный Remote Desktop сеанс пользователя.
Если вы попробуете открыть вторую RDP сессию, появится предупреждение с запросом отключить сеанс первого пользователя.
В систему вошел другой пользователь. Если вы продолжите, он будет отключен. Вы все равно хотите войти в систему?
Ограничения на количество RDP сессий в Windows
Во всех десктопных версиях Windows 10 и 11 есть ряд ограничений на использование служб удаленного рабочего стола
- Разрешено удаленно подключаться по RDP только к редакциям Windows Professional и Enterprise. В домашних редакциях (Home/Single Language) RDP доступ запрещен;
- Поддерживается только одно одновременное RDP подключение. При попытке запустить вторую RDP-сессию, пользователю будет предложено завершить активный сеанс;
- Если пользователь работает за консолью компьютера (локально), то при удаленном подключении по 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 включен протокол Remote Desktop.
- Откройте панель Settings -> System —> Remote Desktop -> включите опцию Enable Remote Desktop
- ;
- Либо воспользуйтесь классической панель управления: выполните команду 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 из репозитория GitHub: https://github.com/binarymaster/rdpwrap/releases (последняя доступная версия RDP Wrapper Library v1.6.2). Утилита не обновляется с 2017 года, но ее можно использовать на всех билдах Windows 10 и 11. Для работы утилиты в современных версиях Windows достаточно обновить конфигурационный файл rdpwrap.ini.
Архив 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, запустите файл install.bat
с правами администратора.
После окончания установки запустите RDPConfig.exe.
Скорее всего сразу после установки утилита покажет, что 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"
Перезагрузите компьютер, запустите утилиту RDPConfig.exe. Проверьте, что в секции Diagnostics все элементы окрашены в зеленый цвет, и появилось сообщение [Fully supported]. На скриншоте ниже показано, что RDP Wrapper с данным конфигом успешно запущен в Windows 11 22H2.
Теперь попробуйте установить несколько одновременных RDP сессий с этим компьютером под разными пользователями (воспользуйтесь любым RDP клиентом: mstsc.exe, RDCMan, mRemoteNG и т.д.).