rdpwrap.ini needs to be updatet to work on the last windows version (2020 10.21.).
10.0.19041.84 works (dont know why). It’s fully supported
The termsrv.dll of Version 20H2 is the same to 19041 right now.
The termsrv.dll of Version 20H2 is the same to 19041 right now.
You are right so it actually solved this so called problem
This comment was marked as spam.
Win10 Pro
Version 20H2 (OS Build 19042.572)
@affinityv Updated=2020-10-16
https://raw.githubusercontent.com/affinityv/INI-RDPWRAP/master/rdpwrap.ini
Working
https://ibb.co/GxHZwYRHi! Sure it works on version 10.0.19041.84 (I saw it on your uploaded pic) but (I don’t know why) my version is 10.0.19041.662 and it isn’t working at all .
Any ideas? Thanks so much in advance.
Patched by now: I unistalled the KB4586853 update and after rebooting I went back to version 10.0.19041.84. Then I got [fully supported]. Not a smart solution, but enough by now.
This comment was marked as spam.
Win10 Pro
Version 20H2 (OS Build 19042.572)
@affinityv Aktualisiert = 2020-10-16
https://raw.githubusercontent.com/affinityv/INI-RDPWRAP/master/rdpwrap.ini
Arbeiten
https://ibb.co/GxHZwYRHallo! Sicher funktioniert es auf Version 10.0.19041.84 (ich habe es auf Ihrem hochgeladenen Bild gesehen), aber (ich weiß nicht warum) meine Version ist 10.0.19041.662 und es funktioniert überhaupt nicht.
Irgendwelche Ideen? Vielen Dank im Voraus.Inzwischen gepatcht: Ich habe das KB4586853-Update deinstalliert und bin nach dem Neustart zur Version 10.0.19041.84 zurückgekehrt. Dann wurde ich [voll unterstützt]. Keine clevere Lösung, aber mittlerweile genug.
Hallo
ich suche verzweifelt nach einer gepatchten termsrv.dll für 20H2. Könnte mir die jemand hochladen?
Vielen Dank und viele Grüße
Hallo
ich suche verzweifelt nach einer gepatchten termsrv.dll für 20H2. Könnte mir die jemand hochladen?
Vielen Dank und viele Grüße
Hallo
ich suche verzweifelt nach einer gepatchten termsrv.dll für 20H2. Könnte mir die jemand hochladen?
Vielen Dank und viele Grüße
The termsrv.dll file itself is not patched, the INI file works with the normal, in place, termsrv.dll file.
What version of termsrv.dll is shown by RDPConf.exe
?
although in 20H2 works, the cursor of the remote machine has continuously the loading circle blinking.
when in vnc or working in the physical machine, this is not a problem.
is there any case that the defender with the rdpwraper service causing this issue?
although in 20H2 works, the cursor of the remote machine has continuously the loading circle blinking.
when in vnc or working in the physical machine, this is not a problem.is there any case that the defender with the rdpwraper service causing this issue?
You MUST add an exception for «C:Program FilesRDP Wrapper» for Windows Defender — at least you had to previously, probably the same now. So, if you don’t have the exception, then it could well be your problem.
although in 20H2 works, the cursor of the remote machine has continuously the loading circle blinking.
when in vnc or working in the physical machine, this is not a problem.
is there any case that the defender with the rdpwraper service causing this issue?You MUST add an exception for «C:Program FilesRDP Wrapper» for Windows Defender — at least you had to previously, probably the same now. So, if you don’t have the exception, then it could well be your problem.
thank you for your interest
I bought a digital windows 10 pro code and I updated my system using correctly. i have an official RDP service but the problem remains!. defender works like crazy when using remote desktop.
Удаленные пользователи могут подключаться к своим компьютерам с ОС Windows 10 и Windows 11 через службы удаленных рабочих столов (RDP). Достаточно включить RDP в настройках устройства и подключиться к компьютеру с помощью любого клиента удаленного рабочего стола, такого как MSTSC. Но существует ограничение на количество одновременных сеансов RDP – одновременно может работать только один удаленный пользователь. Если вы попытаетесь открыть второй сеанс RDP, появится предупреждение с просьбой отключить сеанс первого пользователя.
Изменения от 27.01.2023 г.
Настройка службы RDP на Windows 10
RDP работает только на Windows 10/11 Pro, в Home версии отключены нужные системные компоненты. Кроме этого, потребуется защитить паролем вашу учетную запись.
Включение доступа и добавление пользователей.
Откройте Пуск и нажмите на шестеренку Параметры.
Откройте раздел с настройкой системы.
Далее перейдите к настройке удаленного рабочего стола.
Включить удаленный рабочий стол.
Перейти в настройки электропитания, отключить переход компьютера в спящий режим.
Далее необходимо пользователей, которым будет предоставлен доступ к RDP По умолчанию доступ предоставлен администратору компьютера.
Добавляем еще пользователей.
Если вы попытаетесь открыть второй сеанс RDP, появится предупреждение с просьбой отключить сеанс первого пользователя.
На самом деле, количество одновременных подключений RDP в системе Windows ограничено лицензией, а не каким-либо техническим аспектом. Таким образом, это ограничение не позволяет создать терминальный RDP-сервер на базе компьютера с системой Windows 10/11. Логика компании Microsoft проста, если вам нужен сервер терминалов – купите лицензию Windows Server, RDS CALs, установите и настройте роль сервера сеансов удаленного рабочего стола.
Но технически, любая версия Windows, с достаточным объемом оперативной памяти может поддерживать одновременную работу нескольких удаленных пользователей. В среднем, для одного сеанса пользователя, требуется около 200 МБ оперативной памяти (без учета запущенных приложений). Т.е. максимальное количество одновременных сеансов RDP теоретически ограничено только компьютерными ресурсами.
Рассмотрим два способа разрешить одновременные RDP-подключения в Windows 10/11:
- с помощью RDP Wrapper
- исправления библиотеки termsrv.dll
RDP Wrapper
Проект RDP Wrapper – ПО с открытым исходным кодом, позволяет включить несколько сеансов RDP в Windows 10 без замены файла termsrv.dll. Этот инструмент работает как связующее звено между SCM (Service Control Manager) и службами удаленного рабочего стола. RDPWrap позволяет включить не только поддержку нескольких одновременных RDP-подключений, но и создать RDP-сервер в Windows Home. RDP Wrapper не вносит никаких изменений в termsrv.dll файл, это просто загрузка библиотеки termsrv с измененными параметрами.
Таким образом, RDPWrap будет работать даже в случае изменения файла termsrv.dll. Это позволяет не бояться обновлений Windows.
Вы можете загрузить RDP Wrapper из репозитория GitHub https://github.com/binarymaster/rdpwrap/releases (последняя доступная версия библиотеки RDP-оболочки — v1.6.2).
В RDPWrap-v1.6.2.zip содержит несколько файлов:
- RDPWinst.exe — библиотека-оболочка RDP для установки/удаления программы
- RDPConf.exe — инструмент настройки оболочки RDP
- RDPCheck.exe — утилита проверки RDP (Local RDP Checker)
- Install.bat, uninstall.bat, update.bat — пакетные файлы для установки, удаления и обновления оболочки RDP
Для установки оболочки необходимо запустить файл Install.bat с правами администратора.
RDPWrap не работает в Windows 10
После завершения установки запустите RDPConfig.exe . Скорее всего, сразу после установки инструмент покажет, что оболочка RDP запущена (установлена, запущена), но не работает. Обратите внимание на красное предупреждение [not supported]. В нем сообщается, что эта версия Windows 10 (версия 10.0.19041.1387) не поддерживается оболочкой RDP.
Дело в том, что для каждой версии Windows 10/11 должно быть описание в конфигурационном файле rdpwrap.ini. В текущем конфигурационном файле просто нет никаких настроек для вашей сборки Windows.
Текущую версию файла rdpwrap.ini можно загрузить здесь: https://raw.githubusercontent.com/sebaxakerhtc/rdpwrap.ini/master/rdpwrap.ini
Во всех источниках в интернете находятся советы, что необходимо скопировать новый файл rdpwrap.ini в “C:Program Файл FilesRDP Wrapperrdpwrap.ini” и перезапустить службу TermService. Но у меня это ни разу не получилось, ввиду того, что при перезапуске службы, оригинальный файл rdpwrap.ini восстанавливался на место нового.
Немного поискав решение этой проблемы, наткнулся на файл автоматического обновления rdpwrap.ini:
- С сайта GitHub
- С нашего сайта
Необходимо скопировать файлы RDPWinst.exe, RDPConf.exe, RDPCheck.exe и autoupdate.bat в каталог C:Program Файл FilesRDP Wrapper и запустить autoupdate.bat.
После завершения установки запустите RDPConfig.exe
Все работает!
Обновление Параметров Групповой политики
Количество подключений к компьютеру может быть ограничено правилами групповой политики.
В этом случае вы можете использовать редактор локальной групповой политики (gpedit.msc), чтобы включить политику “Ограничить количество подключений” в разделе Конфигурация компьютера -> Административные шаблоны -> Компоненты Windows -> Службы удаленных рабочих столов -> Узел сеансов удаленных рабочих столов -> Подключения –> Ограничить количество подключений.
Измените его значение на 999999.
Модификация Termsrv.dll
Второй, более трудозатратный метод – изменение файла Termsrv.dll.
для этого нужно сделать копию файла, затем нужно стать владельцем файла.
Для начала, остановите службу удаленного рабочего стола (TermService) из командной строки:
Net stop TermService
Чтобы изменить владельца файла с TrustedInstaller на локальную группу администраторов нужно выполнить команду:
takeown /F c:WindowsSystem32termsrv.dll /A
Теперь предоставьте локальной группе администраторов разрешения на полный контроль над termsrv.dll файл с использованием icacls.exe:
icacls c:WindowsSystem32termsrv.dll /grant Администраторы:F
Затем откройте termsrv.dll файл с использованием любого шестнадцатеричного редактора (например, WinHex). В зависимости от вашей сборки Windows вам необходимо найти и заменить строку в соответствии с приведенной ниже таблицей:
Версия Windows | Строка поиска |
Windows 11 RTM (21H2 – 22000.258) |
39 81 3C 06 00 00 0F 84 4F 68 01 00 |
Windows 10 x64 22H2 19045.2486 |
39 81 3C 06 00 00 0F 84 DB 61 01 00 |
Windows 10 x64 21H2 |
39 81 3C 06 00 00 0F 84 85 45 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 |
Строка замены
B8 00 01 00 00 89 81 38 06 00 00 90
Данную таблицу я нашел на просторах интернета. Проверка данного метода в полевых условиях привела к тому, что я не нашел данную последовательность в своем файле termsrv.dll.
Но если понять суть, то все решается достаточно легко. Необходимо искать последовательность: 39 81 3C 06 00 00 0F 84, последние 4 байта не особо важны.
Я нашел последовательность 39 81 3C 06 00 00 0F 84 73 55 01 00
Замена на
B8 00 01 00 00 89 81 38 06 00 00 90
Обновление от 27.01.2023 г.
Вышло новое обновление Windows 10 22H2 версия сборки: 10.0.19045.2486
Версия файла termsrv.dll: 10.0.19041.2075
Открываем файл в WinHe[x, находим исходную последовательность: 39 81 3C 06 00 00 0F 84 85 45 01 00.
Меняем на строку замены.
Готовый файл можете скачать: termsrv.dll
Сохраните модифицированный файл и запустите службу TermService.
Если что-то пойдет не так, остановите службу и замените измененный termsrv.dll файл с оригинальной версией.
В моем случае модификация файла помогла включить несколько сеансов RDP.
Преимущество метода включения нескольких сеансов RDP в Windows 10 или 11 путем замены termsrv.dll файл заключается в том, что антивирусы на него не реагируют, в отличие от RDPWrap, который обнаруживается многими антивирусами как вредоносное ПО.
Основным недостатком является то, что вам придется вручную редактировать termsrv.dll файл при каждом обновлении сборки Windows 10/11. И если вы используете RDPWrap, вам также потребуется обновить файл rdpwrap.ini после установки обновлений Windows.
Удаленные пользователи могут подключаться к своим компьютерам Windows 10 или 11 через службу удаленных рабочих столов (RDP). Достаточно разрешить RDP доступ и подключиться к компьютеру с помощью любого клиента. Но есть ограничение на количество одновременных RDP сессии – допускается одновременная работа только одного удаленного пользователя. Если вы попробуете открыть вторую RDP сессию, появится предупреждение с запросом отключить сеанс первого пользователя.
В систему вошел другой пользователь. Если вы продолжите, он будет отключен. Вы все равно хотите войти в систему?
В английской версии предупреждение такое:
Another user is signed in. If you continue, they’ll be disconnected. Do you want to sign in anyway?
Во всех десктопных версиях Windows (включая Win 10 и 11) есть ряд ограничений на использование службы удаленного рабочего стола
- Вы можете удаленно подключаться по RDP только к старшим редакциям Windows (Professional, Enterprise). В домашних редакциях (Home/Single Language) RDP доступ заблокирован;
- Поддерживается только одно одновременное RDP подключение. При попытке запустить вторую RDP-сессию, пользователю будет предложено завершить активное подключение;
- Если пользователь работает за консолью компьютера (локально), то при удаленном подключении по RDP, его локальный сеанс будет отключен (заблокирован). Правильно и обратное утверждение: удаленный RDP сеанс принудительно завершается, если пользователь входит через консоль Windows.
Ограничение на количество одновременных RDP подключений в Windows является не техническим, но программным и лицензионным. Таким образом Microsoft запрещает создавать терминальный RDP сервер на базе рабочей станции для одновременной работы нескольких пользователей. Логика Microsoft проста: если вам нужен терминальный сервер — купите лицензию Windows Server, лицензии RDS CAL, установите и настройте роль Remote Desktop Session Host (RDSH).
Технически любая редакция Windows при наличии достаточного количества оперативной памяти может обслуживать одновременную работу нескольких десятков удаленных пользователей. В среднем на одну RDP сессию пользователя без учета запускаемых приложений требуется 150-200 Мб памяти. Т.е. максимальное количество одновременных RDP сессий в теории ограничивается только ресурсами компьютера.
Мы рассмотрим два способа убрать ограничение на количество одновременных RDP подключений к Windows 10 и 11: с помощью приложения RDP Wrapper и с помощью модификации системного файла termsrv.dll.
Содержание:
- RDP Wrapper: разрешить несколько RDP сеансов в Windows
- Не работает RDP Wrapper в Windows 10
- Модификация файла termsrv.dll для снятия ограничений RDP в Windows 10 и 11
- Патчинг файл termsrv.dll с помощью PowerShell скрипта
Примечание. Модификации системы, описанные в этой статье, считаются нарушением лицензионного соглашения Windows, и вы можете выполнять их на свой страх и риск.
RDP Wrapper: разрешить несколько RDP сеансов в Windows
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). Утилита не развивается с 2017 года, но ее можно использовать на всех билдах Windows 10 и даже в Windows 11.
Архив 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. Проверьте, что в секции Diagnostics все элементы окрашены в зеленый цвет.
После окончания установки запустите RDPConfig.exe. Скорее всего сразу после установки утилита покажет, что RDP wrapper запущен (Installed, Running, Listening), но не работает. Обратите внимание на красную надпись. Она сообщает, что данная версий Windows 10 (ver. 10.0.19041.1320) не поддерживается ([not supported]).
Дело в том, что под каждую версию Windows 10 должно быть описание в конфигурационном файле rdpwrap.ini. В вашем файле конфигурации просто нет настроек для вашего билда Windows 10.
Актуальную версию файла rdpwrap.ini можно скачать здесь https://raw.githubusercontent.com/sebaxakerhtc/rdpwrap.ini/master/rdpwrap.ini
Вручную скопируйте содержимое данной страницы в файл «C:Program FilesRDP Wrapperrdpwrap.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 FilesRDP Wrapperrdpwrap.ini"
Перезагрузите компьютер, запустите утилиту RDPConfig.exe. Проверьте, что в секции Diagnostics все элементы окрашены в зеленый цвет, и появилось сообщение [Fully supported]. На скриншоте ниже показано, что RDP Wrapper с данным конфигом прекрасно работает и в Windows 11.
Осталось перезагрузить компьютер. Попробуйте подключиться к своим компьютерам несколькими RDP сессиями (воспользуйтесь любым RDP клиентом: mstsc.exe, rdcman и т.д.). Все получилось (можно даже использовать сохранённые RDP пароли)! Теперь ваша Windows 10 позволяет одновременно подключаться по RDP сразу двум (и более) удаленным пользователям.
Утилита RDPWrap поддерживается во редакциях Windows, таким образом из любой клиентской версии Windows можно сделать сервер терминалов.
Также из интересных возможностей RDP Wrapper можно выделить:
- Enable Remote Desktop — включить RDP доступ
- Опция Hide users onlogon screen позволяет скрыть список пользователей на экране приветствия;
- При отключении опции Single sessionper user — будут разрешены несколько одновременных RDP сессий под одной учетной записью (устанавливается параметр реестра fSingleSessionPerUser = 0 в ветке HKLMSYSTEM CurrentControlSetControlTerminal ServerfSingleSessionPerUser).
- RDP Port — можно изменить номера порта удаленного рабочего стола со стандартного TCP 3389 на любой другой;
- В секции Session Shadowing Mode вы можете настроить режим теневого подключения к рабочему столу пользователей Windows 10.
Не работает RDP Wrapper в Windows 10
В некоторых случая утилита RDP Wrapper не работает как ожидается, и вы не можете использовать несколько RDP подключений.
Если утилита в окне статуса показывала [not supported], значит в файле rdpwrap.ini отсутствует конфигурация для вашей версии Windows. Обновите файл rdpwrap.ini как описано выше.
Если RDP Wrapper не работает после обновления файла rdpwrap.ini, попробуйте открыть файл rdpwrap.ini и найти в нем описание для вашей версии Windows. Как понять, есть ли поддержка вашей версии Windows в конфиг фафле rdpwrapper?
На скриншоте ниже показано, что для моей версии Windows 10 (10.0.19041.1320) есть две секции с описаниями:
[10.0.19041.1320] ….. [10.0.19041.1320-SLInit] …..
Если для вашей версии Windows нет секции в конфигурационном файле, попробуйте поискать в сети строки rdpwrap.ini для вашего билда. Добавьте найденные строки в самый конец файл.
Также при проблемах с RDPWrap вы можете открыть ветку в https://github.com/stascorp/rdpwrap/issues. Здесь же можно найти актуальные файлы 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.
В этом случае нужно с помощью редактора групповых политики gpedit.msc в секции Конфигурация компьютера –> Административные шаблоны -> Компоненты Windows -> Службы удаленных рабочих столов -> Узел сеансов удаленных рабочих столов -> Подключения включить политику “Ограничить количество подключений” и изменить ее значение на 999999 (Computer Configuration -> Administrative Templates -> Windows Components ->Remote Desktop Services ->Remote Desktop Session Host -> Connections-> Limit number of connections).
Перезагрузите компьютер для обновления GPO и применения настроек .
Модификация файла termsrv.dll для снятия ограничений RDP в Windows 10 и 11
Чтобы убрать ограничение на количество RDP подключений пользователей в Windows 10 без использования rdpwraper, можно заменить файл termsrv.dll. Это файл библиотеки, которая используется службой Remote Desktop Services. Файл находится в каталоге C:WindowsSystem32.
Прежде, чем править или заменять файл termsrv.dll желательно создать его резервную копию. Это поможет вам в случае необходимости можно будет вернуться к исходной версии файла. Запустите командную строку с правами администратора и выполните команду:
copy c:WindowsSystem32termsrv.dll termsrv.dll_backup
Затем нужно стать владельцем файла. Проще всего это сделать из командной строки. Чтобы сменить владельца файла с TrustedInstaller на группу локальных администраторов с помощью команды:
takeown /F c:WindowsSystem32termsrv.dll /A
Должно появится сообщение: «SUCCESS: The file (or folder): «c:WindowsSystem32termsrv.dll» now owned by the administrators group».
Теперь с помощью icacls.exe предоставьте группе локальных администраторов полные права на файл termsrv.dll (Full Control):
icacls c:WindowsSystem32termsrv.dll /grant Administrators:F
(или
Администраторы
в русской версии Windows). Должно появится сообщение: «processed file: c:WindowsSystem32termsrv.dll Successfully processed 1 files; Failed processing 0 files«.
Теперь нужно остановить службу Remote Desktop Service (TermService) из консоли services.msc или из командной строки:
Net stop TermService
Вместе с ней останавливается служба Remote Desktop Services UserMode Port Redirector.
Прежде чем идти дальше, вам нужно узнать вашу версию (билд) Windows 10. Проще всего это сделать с помощью следующей команды PowerShell:
Get-ComputerInfo | select WindowsProductName, WindowsVersion
В моем случае установлена Windows 10 билд 21H1.
Затем откройте файл termsrv.dll с помощью любого HEX редактора (к примеру, Tiny Hexer). В зависимости от билда нужно найти и заменить строку:
Версия Windows | Найти строку | Заменить на |
Windows 11 RTM ( 21H2 22000.258) | 39 81 3C 06 00 00 0F 84 4F 68 01 00 |
B8 00 01 00 00 89 81 38 06 00 00 90 |
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 21H1 19043.1320 (версия файла termsrv.dll — 10.0.19041.1320) нужно открыть файл termsrv.dll в Tiny Hexer. Затем найдите строку:
39 81 3C 06 00 00 0F 84 2B 5F 01 00
И замените ее на:
B8 00 01 00 00 89 81 38 06 00 00 90
Сохраните файл и запустите службу TermService.
Если что-то пошло не так, и у вас возникнут проблемы со службой RDP, остановите службу и замените модифицированный файл termsrv.dll исходной версией:
copy termsrv.dll_backup c:WindowsSystem32termsrv.dll
Патчинг файл termsrv.dll с помощью PowerShell скрипта
Чтобы не редактировать файл termsrv.dll вручную с помощью HEX редактора, вы можете использовать следующий PowerShell скрипт для автоматического патчинга файла. Данный скрипт написан для версии Windows PowerShell, и не работает на PowerShell Core. Скрипт универсальный и может использоваться для внесения изменений в файл termsrv.dll на всех версиях Windows 10 и Windows 11.
# Остановить службу, сделать копию файл и изменить разрешения
Stop-Service UmRdpService -Force
Stop-Service TermService -Force
$termsrv_dll_acl = Get-Acl c:windowssystem32termsrv.dll
Copy-Item c:windowssystem32termsrv.dll c:windowssystem32termsrv.dll.copy
takeown /f c:windowssystem32termsrv.dll
$new_termsrv_dll_owner = (Get-Acl c:windowssystem32termsrv.dll).owner
cmd /c "icacls c:windowssystem32termsrv.dll /Grant $($new_termsrv_dll_owner):F /C"
# поиск шаблона в файле termsrv.dll
$dll_as_bytes = Get-Content c:windowssystem32termsrv.dll -Raw -Encoding byte
$dll_as_text = $dll_as_bytes.forEach('ToString', 'X2') -join ' '
$patternregex = ([regex]'39 81 3C 06 00 00(sSS){6}')
$patch = 'B8 00 01 00 00 89 81 38 06 00 00 90'
$checkPattern=Select-String -Pattern $patternregex -InputObject $dll_as_text
If ($checkPattern -ne $null) {
$dll_as_text_replaced = $dll_as_text -replace $patternregex, $patch
}
Elseif (Select-String -Pattern $patch -InputObject $dll_as_text) {
Write-Output 'The termsrv.dll file is already patch, exiting'
Exit
}
else {
Write-Output "Pattern not found"
}
# модификация файла termsrv.dll
[byte[]] $dll_as_bytes_replaced = -split $dll_as_text_replaced -replace '^', '0x'
Set-Content c:windowssystem32termsrv.dll.patched -Encoding Byte -Value $dll_as_bytes_replaced
# Сравним два файла
fc.exe /b c:windowssystem32termsrv.dll.patched c:windowssystem32termsrv.dll
# замена оригинального файла
Copy-Item c:windowssystem32termsrv.dll.patched c:windowssystem32termsrv.dll -Force
Set-Acl c:windowssystem32termsrv.dll $termsrv_dll_acl
Start-Service UmRdpService
Start-Service TermService
Полный код скрипта доступен в моем GitHub репозитарии по ссылке https://github.com/winadm/posh/blob/master/Desktop/RDP_patch.ps1
Чтобы выполнить скрипт, скачайте его на свой компьютер. Измените настройки политики запуска скриптов PowerShell:
Set-ExecutionPolicy Bypass -Scope Process -Force
Запустите скрипт:
C:usersrootdesktoprdp_patch.ps1
Скрипт можно запускать после установки обновлений Windows, чтобы немедленно внести изменения в файл termsrv.dll (защищает вас от ручной правки файла после каждой установки обновлений). Скрипт подходит для всех версий Windows 10 старше 1809 и для Windows 11.
Преимущество способа включения нескольких RDP сессий в Windows 10 путем замены файла termsrv.dll в том, что на него не реагируют антивирусы. В отличии от утилиты RDPWrap, которую многие антивирусов считают Malware/HackTool/Trojan. Основной недостаток — вам придется вручную править файл при каждом обновлении билда Windows 10 (или при обновлении версии файла termsrv.dll в рамках ежемесячных кумулятивных обновлений). А если вы используете RDPWrapper, то после установки обновлений Windows вам придётся обновлять файл rdpwrap.ini.
В этой статье вы рассмотрели, как снять ограничение на количество одновременных RDP подключений пользователей, и запустить бесплатный терминального сервера на клиентской Windows 10 или 11.
Содержание
- Что делать, если не работает RDP Wrap после обновления Windows 10
- Способ 1: Замена файла конфигурации
- Способ 2: Настройка в «Редакторе групповых политик»
- Не работает RDP в целом
- NOT UPDATED Windows 10 v20H2 10.0.19042.630 #1209
- Comments
- johnh92 commented Nov 17, 2020
- CrAsH0v3r commented Nov 17, 2020
- yanhuixie commented Nov 18, 2020 •
- francesco74 commented Nov 18, 2020
- hexbinoct commented Nov 20, 2020
- hexbinoct commented Nov 20, 2020
- This is a note all who own Win 10 Pro 20H2. #1354
- Comments
- mlvbible commented Mar 22, 2022
- LiamKarlMitchell commented Mar 22, 2022 •
- mlvbible commented Mar 22, 2022
- mlvbible commented Mar 22, 2022
- powerLambda commented Mar 23, 2022
- powerLambda commented Mar 23, 2022
- LiamKarlMitchell commented Mar 24, 2022
- bkms2018 commented Mar 24, 2022
- LiamKarlMitchell commented Mar 25, 2022
- botka4aet commented Mar 25, 2022
- DeviousFusion commented Mar 26, 2022
- botka4aet commented Mar 26, 2022 •
- Yanitwei commented Mar 26, 2022 •
- Windows 10 version: 20H build: 19042.572 #1188
- Comments
- Sharpik commented Oct 22, 2020
- Sharpik commented Oct 22, 2020
- sk-lau commented Oct 23, 2020
- sk-lau commented Oct 27, 2020
- Champion1971 commented Oct 30, 2020
- mabaega commented Oct 31, 2020 •
- pcalpha commented Nov 1, 2020
- sk-lau commented Nov 3, 2020
- shamilsun commented Nov 6, 2020
- This comment has been minimized.
- pcaste2000 commented Dec 5, 2020 •
- pcaste2000 commented Dec 5, 2020
- pcaste2000 commented Dec 5, 2020
- This comment has been minimized.
- holmrn1 commented Jan 6, 2022
- jens-max commented Jan 8, 2022
- jens-max commented Jan 8, 2022
- affinityv commented Jan 19, 2022
- totwired commented Apr 4, 2022 •
- affinityv commented May 3, 2022
- gtseriesx commented May 9, 2022
- simseb commented May 11, 2022
- totwired commented May 17, 2022
- teoformartel commented May 23, 2022
- 20H2 Build: 19041.789 Not working #1314
- Comments
- vgisbert commented Feb 3, 2022
- vgisbert commented Feb 3, 2022
- mariopedroSpo commented Feb 3, 2022
- nagyimre1980 commented Feb 3, 2022
- yuasa54 commented Feb 3, 2022
- snipper12343 commented Feb 3, 2022
- snipper12343 commented Feb 3, 2022
- MarcinWerra commented Feb 3, 2022
- nagyimre1980 commented Feb 3, 2022
- emanuelvittar commented Feb 3, 2022
- vgisbert commented Feb 3, 2022
- dmcdivitt commented Feb 4, 2022
- vgisbert commented Feb 4, 2022
- malicon commented Feb 4, 2022
- Lux-91 commented Feb 11, 2022
- MarcinWerra commented Feb 11, 2022
- lha314981 commented Feb 14, 2022
- owencamilo commented Feb 16, 2022
- MarcinWerra commented Feb 16, 2022
- lha314981 commented Feb 16, 2022 •
- MarcinWerra commented Feb 17, 2022
- lha314981 commented Feb 17, 2022 •
- MarcinWerra commented Feb 18, 2022
- Mindaugas85 commented Feb 22, 2022 •
Что делать, если не работает RDP Wrap после обновления Windows 10
Способ 1: Замена файла конфигурации
Проблемы с работой рассматриваемой программы возникают вследствие обновлений системной библиотеки termsrv.dll. Под каждую её версию RDP Wrap нужно конфигурировать заново. К счастью, разработчики приложения заботятся об этом сами и после каждого мажорного апдейта выпускают новый конфигурационный файл. Алгоритм его замены выглядит следующим образом:
Сохраните файл rdpwrap.ini в любое подходящее место на компьютере.
После запуска списка служб найдите запись «Службы удалённых рабочих столов», выделите её и нажмите «Остановить службу».
C:Program FilesRDP Wrapper
Скопируйте полученный ранее rdpwrap.ini и вставьте в эту папку.
Подтвердите замену файла.
Проверьте строку «Listener» – если надпись в ней гласит «Fully supported», проблема устранена.
Данный метод является предпочтительным, и к следующему следует прибегать только в случае отсутствия его эффективности.
Способ 2: Настройка в «Редакторе групповых политик»
Пользователи Windows 10 редакций Профессиональная и Корпоративная могут решить рассматриваемую проблему настройкой определённого параметра в «Редакторе групповых политик».
Конфигурация компьютера/Административные шаблоны/Компоненты Windows/Службы удаленных рабочих столов/Узел сеансов удаленных рабочих столов/Подключения
Описанная выше манипуляция позволит решить проблему, но является потенциально небезопасной, поэтому используйте её в самом крайнем случае.
Не работает RDP в целом
Порой вышеприведённые действия не приводят к желаемому результату. В этом случае отметим, что скорее всего дело уже не во враппере и библиотеке. Действуйте так:
После этого проверьте целостность компонентов ОС и восстановите их одним из возможных способов, если в этом появится необходимость.
Урок: Проверка целостности и восстановление системных файлов в Windows 10
Теперь вам известно, как нужно действовать в ситуации, когда RDP Wrapper перестал работать после обновления Windows 10, и что делать, если подключение по этому протоколу не работает в целом.
Помимо этой статьи, на сайте еще 12384 инструкций.
Добавьте сайт Lumpics.ru в закладки (CTRL+D) и мы точно еще пригодимся вам.
Отблагодарите автора, поделитесь статьей в социальных сетях.
Источник
NOT UPDATED Windows 10 v20H2 10.0.19042.630 #1209
The text was updated successfully, but these errors were encountered:
Take a look at my issue #1208.
It’s still not working in my case, but may be it will in yours.
ini-19041.330.zip
@johnh92 You may try my ini files. Work fine with 19041.330, I’m not sure they’ll work with 19042.630.
By the way, my termsrv.dll version is 19041.84.
I have been looking to work rdpwrap for 19042.630, searched a couple of posts, now came here and I have a question, suppose the rdpwrap starts working on my installation 19042.630, will this stop working when windows 10 is updated? Because it seems there is a new ini file for each version of windows 10?
ini-19041.330.zip
@johnh92 You may try my ini files. Work fine with 19041.330, I’m not sure they’ll work with 19042.630.
By the way, my termsrv.dll version is 19041.84.
hey thanks your file worked for me:
posting image in case it helps any confused soul.
My win version is 20H2 (OS Build 19042.630)
But will it keep working once the terminal service version changes?
Источник
This is a note all who own Win 10 Pro 20H2. #1354
The Evil Microsoft has made it impossible to replace the termserv.dll file in C:Windowssystem32
So RDP Wrapper is dead in 20H2, until someone has a way to fix this issue.
I tried Safe Mode. I put the hard drive in a different computer also in Safe Mode.
Xcopy & File Explorer will not allow the file to be overwritten with the version used in RDP Wrapper.
The text was updated successfully, but these errors were encountered:
Microsoft already made commands to take ownership of a file.
But there could be other protection enabled? DEP protection?
Have you tried this?
Before you edit the termsrv.dll file, you have to become its owner and give the Administrators group the full permissions to it. The easiest way to do this is from the command prompt. To change the file owner from TrustedInstaller to a local administrators group use the command:
Now grant the local administrators group Full Control permission on the termsrv.dll file:
I thought that RDPWrap changes it in memory however? not by patching the file on disk.
I was able to copy the old termsrv.dll over the top of the current 20h2 file and no remote desktop anything works now.
The RDP Service will not stop or start. Moving it to Manual, still gave me no good results.
dam it, I just upgraded to 20H2 five minutes ago. I should check the post before upgrade!
Thanks Microsoft provides RollBack to last version! REFUSE to UPGRADE!
@LiamKarlMitchell it’s not working for me. Windows 20H2, new install of RDPWrap, but Listener State is still showing «not supported»
Use the auto updater bat?
#1160
You will need to restore the original official dll file.
Doesn’t work even after updater bat
This is what I got:
I do have an optional update waiting. So that might be whats killing ya’lls installs. Its KB5001649. Try removing that and see if it helps.
Windows Feature Experience Pack 120.2212.551.0
`
+1 Optional update KB5001649 isn’t installed, still unsupported for 20H2.
I haven’t patched anything on my own yet, but I’m thinking to give it a try. If anybody succeeded please reach out guys.
And in order to be able to replace patched termsrv with the one in system32, I took ownership from TrustedInstaller using this commands (in cmd with admin privileges.)
I stopped TermService before replacing the file and started it again after the replacement using this commands.
and here you go guys patched termsrv.dll for Windows 10 20H2_v2 build 19042.867.
This should help to the ones looking for solution!
Источник
Windows 10 version: 20H build: 19042.572 #1188
rdpwrap.ini needs to be updatet to work on the last windows version (2020 10.21.).
The text was updated successfully, but these errors were encountered:
It does not and should not work. There’s no offset entry for October 2020 update. No 19042.572 in the rdpwrap.ini
Anyone has any ideas?
It does not and should not work. There’s no offset entry for October 2020 update. No 19042.572 in the rdpwrap.ini
Anyone has any ideas?
10.0.19041.84 works (dont know why). It’s fully supported
Win10 Pro
Version 20H2 (OS Build 19042.572)
The termsrv.dll of Version 20H2 is the same to 19041 right now.
The termsrv.dll of Version 20H2 is the same to 19041 right now.
You are right so it actually solved this so called problem
19042.572
not working
Win10 Pro
Version 20H2 (OS Build 19042.572)
Any ideas? Thanks so much in advance.
Any ideas? Thanks so much in advance.
Patched by now: I unistalled the KB4586853 update and after rebooting I went back to version 10.0.19041.84. Then I got [fully supported]. Not a smart solution, but enough by now.
Patched by now: I unistalled the KB4586853 update and after rebooting I went back to version 10.0.19041.84. Then I got [fully supported]. Not a smart solution, but enough by now.
Hallo! Sicher funktioniert es auf Version 10.0.19041.84 (ich habe es auf Ihrem hochgeladenen Bild gesehen), aber (ich weiß nicht warum) meine Version ist 10.0.19041.662 und es funktioniert überhaupt nicht.
Irgendwelche Ideen? Vielen Dank im Voraus.
Inzwischen gepatcht: Ich habe das KB4586853-Update deinstalliert und bin nach dem Neustart zur Version 10.0.19041.84 zurückgekehrt. Dann wurde ich [voll unterstützt]. Keine clevere Lösung, aber mittlerweile genug.
Hallo
ich suche verzweifelt nach einer gepatchten termsrv.dll für 20H2. Könnte mir die jemand hochladen?
Vielen Dank und viele Grüße
Hallo
ich suche verzweifelt nach einer gepatchten termsrv.dll für 20H2. Könnte mir die jemand hochladen?
Vielen Dank und viele Grüße
Hallo
ich suche verzweifelt nach einer gepatchten termsrv.dll für 20H2. Könnte mir die jemand hochladen?
Vielen Dank und viele Grüße
The termsrv.dll file itself is not patched, the INI file works with the normal, in place, termsrv.dll file.
although in 20H2 works, the cursor of the remote machine has continuously the loading circle blinking.
when in vnc or working in the physical machine, this is not a problem.
is there any case that the defender with the rdpwraper service causing this issue?
although in 20H2 works, the cursor of the remote machine has continuously the loading circle blinking.
when in vnc or working in the physical machine, this is not a problem.
is there any case that the defender with the rdpwraper service causing this issue?
Win10 Pro
Version 20H2 (OS Build 19042.572)
win10 home 20h2 working
May 9th 2022
This one also works for 19042.964
although in 20H2 works, the cursor of the remote machine has continuously the loading circle blinking.
when in vnc or working in the physical machine, this is not a problem.
is there any case that the defender with the rdpwraper service causing this issue?
thank you for your interest
I bought a digital windows 10 pro code and I updated my system using correctly. i have an official RDP service but the problem remains!. defender works like crazy when using remote desktop.
This one also works for 19042.964
Thanks a lot. Works for 19042.985
You can’t perform that action at this time.
You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session.
Источник
20H2 Build: 19041.789 Not working #1314
The text was updated successfully, but these errors were encountered:
Thanks for your hard work
no solution so not good (
yeah for now 789 build not in the wrapper ini file. so if you have autoupdater when they update the ini you will have it
Can someone post the new INI please?
@yuasa54 can you please post your new ini file or copy the lines? thank you
It fully works! Thanks.
Nice reverse engineering job. Thank you.
MarcinWerra’s change worked for me.
MarcinWerra Thank you. It works great.
@MarcinWerra there is any guide/tutorial/article where i can try to learn how to update the ini file by myself?
Thx 🙂
Single session per user
doesn’t work
best regards
Single session per user
doesn’t work
best regards
SingleUserOffset.x64=0CB22
here more precise test
in both cases ie
SingleUserOffset.x64=0CA4C
and
SingleUserOffset.x64=0CB22
setting Single session per user has no effect
—testing from host computer
i’m using client 5.1.2600.2180 (distibution client doesn’t connect)
connecting with user name and password entered In client works as Single session per user set active
disconected session is reused
connecting with user name and password entered on logon screen works as Single session per user set inactive
always new session is opened
—testing from remote computer
5.1.2600.2180 and distibution client works the same
behaviour is as above
mixing both types of login behaves as Single session per user set inactive
In the rdpconf.exe application, set:
I tested multi-session per user by connecting using client applications from Windows 10 and XP.
I stand by my opinion
setting Single session per user has no effect
however
Authentication mode works as follows
ps.
p. Marcinie ma Pan już to jakkolwiek ogarnięte, może się Panu uda znaleźć właściwe rozwiązanie
życzę powodzenia
pozdrawiam
@lha314981 setting Single session per user has no effect
I cannot reproduce your problem.
I tested RDPWrap on dozens of computers with version 19041.789 and it works fine with Single session per user.
Lines 722 to 740 in a5c64a4
With the patch SingleUserOffset.x64 = 0CB22, SingleUserCode.x64 = Zero is patched CSessionArbitrationHelper::IsSingleSessionPerUserEnabled
But the strangest thing is that, with the patch disabled by SingleUserPatch.x64 = 0, it also works fine for single session per user and multi session connections.
PS. @lha314981 🙂 Może prędzej się dogadamy po polsku. (Proszę odezwać się przez Messenger https://www.facebook.com/WerraMarcin/)
Источник
Содержание
- Способ 1: Замена файла конфигурации
- Способ 2: Настройка в «Редакторе групповых политик»
- Не работает RDP в целом
- Вопросы и ответы
Подключение по протоколу RDP в Виндовс 10 активно используется как некоторыми рядовыми пользователями, так и профессионалами. Для обхода системного ограничения последние использует программу RDP Wrap. Увы, но после обновлений системы этот софт перестаёт работать, и сегодня мы поможем вам решить эту проблему.
Способ 1: Замена файла конфигурации
Проблемы с работой рассматриваемой программы возникают вследствие обновлений системной библиотеки termsrv.dll. Под каждую её версию RDP Wrap нужно конфигурировать заново. К счастью, разработчики приложения заботятся об этом сами и после каждого мажорного апдейта выпускают новый конфигурационный файл. Алгоритм его замены выглядит следующим образом:
- Перейдите по ссылке в репозиторий приложения на GitHub.
Репозиторий на GitHub
- Откройте каталог res двойным щелчком левой кнопки мыши. Найдите внутри ссылку с именем rdpwrap.ini и кликните по ней правой кнопкой мыши. Выберите пункт «Сохранить ссылку как…» (в других браузерах – «Сохранить объект как…» или похожее по смыслу).
Сохраните файл rdpwrap.ini в любое подходящее место на компьютере.
- Теперь откройте утилиту «Выполнить» сочетанием Win+R, введите в неё запрос
services.msc
и нажмите «ОК».
После запуска списка служб найдите запись «Службы удалённых рабочих столов», выделите её и нажмите «Остановить службу».
Подтвердите остановку.
- Далее откройте «Проводник» и перейдите по следующему адресу:
C:Program FilesRDP Wrapper
Скопируйте полученный ранее rdpwrap.ini и вставьте в эту папку.
Подтвердите замену файла.
- Перезагрузите компьютер, после чего откройте монитор враппера с именем RDConfig.
Проверьте строку «Listener» – если надпись в ней гласит «Fully supported», проблема устранена.
Данный метод является предпочтительным, и к следующему следует прибегать только в случае отсутствия его эффективности.
Способ 2: Настройка в «Редакторе групповых политик»
Пользователи Windows 10 редакций Профессиональная и Корпоративная могут решить рассматриваемую проблему настройкой определённого параметра в «Редакторе групповых политик».
- Вызовите средство «Выполнить» (шаг 3 Способа 1), в котором введите запрос gpedit.msc.
- Перейдите по следующему пути:
Конфигурация компьютера/Административные шаблоны/Компоненты Windows/Службы удаленных рабочих столов/Узел сеансов удаленных рабочих столов/Подключения
- Дважды кликните по политике «Ограничить количество подключений».
Установите положение «Включено», после чего измените значение максимального количество подключений на
999999
. Сохраните изменения последовательным нажатием на кнопки «Применить» и «ОК». - Закройте «Редактор групповых политик» и перезагрузите компьютер.
Описанная выше манипуляция позволит решить проблему, но является потенциально небезопасной, поэтому используйте её в самом крайнем случае.
Порой вышеприведённые действия не приводят к желаемому результату. В этом случае отметим, что скорее всего дело уже не во враппере и библиотеке. Действуйте так:
- Сначала проверьте параметры брандмауэра, как системного, так и стороннего, и разрешите в нём соединение по РДП.
Урок: Настройка брандмауэра на Windows 10
- Также стоит проверить состояние портов – не исключено, что требуемый для работы нужного протокола просто закрыт.
Подробнее: Как открыть порты на Windows 10
- Ещё раз проверьте редакцию целевой «десятки» – подключение по RDP не поддерживается в Windows 10 Home.
-
Рассматриваемый тип соединения может не работать из-за повреждений соответствующих системных файлов. Для начала проверьте, не завёлся ли в вашей системе вирус.
Подробнее: Борьба с компьютерными вирусами
После этого проверьте целостность компонентов ОС и восстановите их одним из возможных способов, если в этом появится необходимость.
Урок: Проверка целостности и восстановление системных файлов в Windows 10
Теперь вам известно, как нужно действовать в ситуации, когда RDP Wrapper перестал работать после обновления Windows 10, и что делать, если подключение по этому протоколу не работает в целом.
Еще статьи по данной теме:
Помогла ли Вам статья?
Данная статья будет не очень короткой и нести исключительно ознакомительный характер. Все манипуляции, а также прочие технические проблемы или иные другие последствия — только на вас и вашей совести.
Часто так бывает, что дома стоит ПК и время от времени к нему есть необходимость подключаться удаленно. Можно конечно использовать специальные программы удаленного доступа, но это не удобно…
Всем знаком вариант RDP — очень удобный и простой в решении. Разрешаем в параметрах ПК удаленный доступ, пробрасываем порты на маршрутизаторе, разрешаем в брадмаузере и все — мы можем без проблем подключаться извне к своему компу.
Ситуация немного меняется, если есть дома кто-то еще, кто пользуется этим же компьютером. На правах лицензии Microsoft работает только 1 RDP сессия, то есть на ПК работаете либо вы по RDP, либо ваши члены семьи. Больше 1 RDP сессии поддерживают только серверные операционные системы Windows. Не очень удобно, не правда ли?
Обходилось это все дело в плоть до Windows 7 пропатчиванием библиотеки termsrv.dll — и вот ваше счастье: жена, дети работают под своей учетной записью, а вы спокойно работаете под своей по RDP.
В Windows 10 данная ситуация немного усугубляется. На сегодняшний день также есть 2 варианта: первый — пропатчивание DLL библиотеки с помощью HEX редактора, что в целом нарушает лицензионные права Microsoft и явно история не для новичков, и второй — использование бесплатной утилиты RDP Wrapper, которая не трогает библиотеки и включает эмулятор для нескольких RDP сессий.
Именно второй вариант мы и будем использовать вместе с вами. Для этого необходимо скачать RDP Wrapper по ссылке ниже и выполнить все пункты:
- Скачиваем архив с RDP Wrapper. Пароль на архив: x-flame.ru
- Распаковываем архив.
- Запускаем через правую кнопку мыши от прав администратора bat файл install.bat и производим установку.
- Копируем все файлы из распакованного архива в каталог с установленной программой, по умолчанию это: «C:Program FilesRDP Wrapper».
- Запускаем от прав администратора bat файл re-install.bat, который после копирования всех файлов находится в «C:Program FilesRDP Wrapperre-install.bat» и дожидаемся обновления библиотеки файлов RDP Wrapper.
- Запускаем RDPConf.exe и смотрим, чтобы все поля, выделенные на скриншоте горели зеленым.
- Если все как на рисунке, то создав пользователя с правами администратора и в свойствах компьютера разрешив удаленное подключение — вы сможете работать в нескольких RDP сессиях одновременного, включая локального пользователя. Не забудьте создать пароль для пользователя и хотя бы раз войти под ним локально, иначе не подключитесь.
При использовании данного программного обеспечения для работы из внешней сети интернет измените стандартный RDP порт 3389 на другой и разрешите работу этих портов в брадмаузере в целях обеспечения безопасности. При пробросе портов на маршрутизаторе, укажите порт, указанный в программе .
Данный метод работает на всех релизах Windows 10 по 1909 (10.0.19041.662) включительно.
Update: от 26.06.2020
Для корректной работы RDP Wrapper в Windows 10 до последнего релиза включительно необходимо:
- Скачать обновленный rdpwrap.ini от 2020-06-18 ;
- Распаковать архив и скинуть файл rdpwrap.ini в папку, указанную ранее по умолчанию это: «C:Program FilesRDP Wrapper» с замещением предыдущего файла (При необходимости приостановить службу);
- Перезапустить ПК;
- Радоваться жизни и оживлению RDP сессий.
Update: от 17.08.2020
Сегодня мой компьютер наконец-то обновился до версии 2004 (Сборка ОС 19041.450) и мой RDP Wrapper сразу же оказался нерабочим. Зайдя в RDPConf пункт [Fully supported] вообще не отображался, отсюда стало понятно, что слетела сама установка.
Повторно установив RDP Wrapper через батник в каталоге install.bat, выполнив следом rdpwrap_ini_updater.bat у меня наконец-то появился потерянный раздел [Not supported]. Порывшись в ветке разработчика, нашел рабочий rdpwrap.ini и подкинул его в каталог с RDP Wrapper.
Перезапустив службу Диспетчер подключений удаленного доступа и все связанные с ним по умолчанию службы — получил рабочий RDP Wrapper
Ссылка на скачивание обновленного rdpwrap.ini от 17.08.2020
Обновление *.ini файла от 10.12.2020 для RDP Wrapper с поддержкой релиза 10.0.19041.662
Ссылка на скачивание обновленного rdpwrap.ini от 10.12.2020
Обновление *.ini файла от 15.01.2021 для RDP Wrapper с поддержкой релиза 10.0.19041.746
Ссылка на скачивание обновленного rdpwrap.ini от 15.01.2021 (после замены *.ini файла не забудьте перезагрузить ПК)
Обновление *.ini файла от 12.02.2021 для RDP Wrapper с поддержкой релиза 10.0.19041.789
Ссылка на скачивание обновленного rdpwrap.ini от 12.02.2021 (после замены *.ini файла не забудьте перезагрузить ПК)
Обновление *.ini файла от 29.04.2021 для RDP Wrapper с поддержкой релиза 10.0.19041.964
Ссылка на скачивание обновленного rdpwrap.ini от 29.04.2021 для X86 разрядных OS Windows 10 и rdpwrap.ini от 29.04.2021 для X64 разрядных OS Windows 10 (после замены *.ini файла не забудьте перезагрузить ПК)
Обновление *.ini файла от 29.05.2021 для RDP Wrapper с поддержкой релиза 10.0.19041.1023
Ссылка на скачивание обновленного rdpwrap.ini от 29.05.2021 (после замены *.ini файла не забудьте перезагрузить ПК)
Обновление *.ini файла от 11.07.2021 для RDP Wrapper с поддержкой релиза 10.0.19041.1081
Ссылка на скачивание обновленного rdpwrap.ini от 11.07.2021 (после замены *.ini файла не забудьте перезагрузить ПК)
Обновление *.ini файла от 23.09.2021 для RDP Wrapper с поддержкой релиза 10.0.19041.1202
Ссылка на скачивание обновленного rdpwrap.ini от 23.09.2021 (после замены *.ini файла не забудьте перезагрузить ПК)
Появилась утилита автоматического обновления *.ini файла, которая корректно работает с последними релизами Windows 10. Жмите СКАЧАТЬ. После скачивания, распаковываете содержимое архива в каталог с RDP Wrapper по пути C:Program FilesRDP Wrapper . Переходим в каталог C:Program FilesRDP Wrapper и от туда запускаем autoupdate.bat от прав администратора и работаем дальше. При необходимости перезапускаем ПК.
Обновление *.ini файла от 20.11.2021 для RDP Wrapper с поддержкой релиза 10.0.22000.318 Windows 11
Ссылка на скачивание обновленного rdpwrap.ini от 20.11.2021 для 10.0.22000.318 (после замены *.ini файла не забудьте перезагрузить ПК)
Довольно редко обращаются с проблемой некорректной печати принтеров в RDP сессии после начала использования RDP Wrapper и для этой проблемы есть решение: в *.ini файле необходимо поправить строки SLInitHook.x86 и SLInitHook.x64 и сделать их равными 0.
P.S. если кто забыл или невнимательно читал, доступ к архивам: x-flame.ru
Если ваша жизнь стала хоть на чуточку легче, после прочтения данной статьи, не забудьте сказать спасибо, через кнопку поддержать проект
4.9
53
Голосов
Рейтинг записи
О себе:
Системное администрирование, подключение и настройка оборудования, планирование и монтаж локальных сетей, внедрение и настройка 1С Розница.
Remote users can connect to their Windows 10 and 11 computers via the Remote Desktop Services (RDP). It is enough to enable RDP in the device settings and connect to the computer using any Remote Desktop client. But there is a restriction on the number of simultaneous RDP sessions – only one remote user can work simultaneously. If you try to open a second RDP session, a warning will appear asking you to disconnect the first user’s session.
Another user is signed in. If you continue, they’ll be disconnected. Do you want to sign in anyway?
All desktop Windows versions (including Win 10 and 11) have a number of restrictions on the Remote Desktop Service usage:
- You can remotely connect via RDP only to higher Windows editions (Professional and Enterprise). In Windows Home and Single Language editions the incoming remote desktop connections are forbidden;
- Only one simultaneous RDP connection is supported. When you try to open a second RDP session, the user is prompted to close the active connection;
- If there is a user who works on the console of the computer (locally), then when you try to create a new remote RDP connection, the console session will be disconnected. A remote RDP session will be also forcibly disconnected if the user will try to log in locally.
Actually, the number of simultaneous RDP connections on Windows is limited by the license (and not by any technical aspect). Thus, this restriction doesn’t allow to create a terminal RDP server based on the workstation that can be used by multiple users. Microsoft’s logic is simple: if you need a terminal server – buy a Windows Server license, RDS CALs, install and configure the Remote Desktop Session Host (RDSH) role.
Technically, any Windows version with a sufficient amount of RAM can support the simultaneous operation of several dozens of remote users. On average, 150-200 MB of RAM is required for one user session (excluding running apps). Those, the maximum number of simultaneous RDP sessions is theoretically limited only by computer resources.
Let’s consider two ways on how to allow simultaneous RDP connections on Windows 10 and 11: using the RDP Wrapper tool or patching the termsrv.dll system file.
Contents:
- RDP Wrapper: Enable Multiple RDP Sessions on Windows
- RDP Wrapper Not Working on Windows 10
- Modify the Termsrv.dll to Enable Multiple RDP Sessions
- Patching Termsrv.dll on Windows Using PowerShell
Note. System modifications described in the article are considered as a violation of the Microsoft License Agreement and you may perform them at your own risk.
RDP Wrapper: Enable Multiple RDP Sessions on Windows
The RDP Wrapper Library OpenSource project allows you to enable multiple RDP sessions on Windows 10 without replacing the termsrv.dll file. This tool works as a layer between SCM (Service Control Manager) and the Remote Desktop Services. RDPWrap allows you to enable not only support for multiple simultaneous RDP connections but also to build an RDP server on Windows Home editions. RDP Wrapper doesn’t make any changes to the termsrv.dll file, it’s just loading termsrv library with the changed parameters.
Thus, the RDPWrap will work even in the case of termsrv.dll file update. It allows you not to be afraid of Windows updates.
Important. Before installing RDP Wrapper, it is important to make that you are using the original (unpatched) version of the termsrv.dll file. Otherwise, RDP Wrapper may become unstable or not start at all.
You can download the RDP Wrapper from the GitHub repository https://github.com/binarymaster/rdpwrap/releases (the latest available version of the RDP Wrapper Library is v1.6.2). The project hasn’t been updated since 2017, but it can be used in all new builds of Windows 10 and even Windows 11.
The RDPWrap-v1.6.2.zip archive contains some files:
- RDPWinst.exe — an RDP Wrapper Library install/uninstall the program;
- RDPConf.exe — an RDP Wrapper configuration tool;
- RDPCheck.exe —an RDP check utility (Local RDP Checker);
- install.bat, uninstall.bat, update.bat — batch files to install, uninstall, and update RDP Wrapper.
To install RDPWrap, run the install.bat file as an administrator. The program will be installed to the C:Program FilesRDP Wrapper directory.
After the installation is complete, run the RDPConfig.exe. Most likely, immediately after installation, the tool will show that the RDP wrapper is running (Installed, Running, Listening), but not working. Note the red warning [not supported]. It reports that this version of Windows 10 (ver. 10.0.19041.1320) is not supported by the RDPWrapper.
The fact is that for each version of Windows 10 there must be a description in the rdpwrap.ini configuration file. Your config file simply doesn’t have any settings for your Windows 10 build.
The current version of the rdpwrap.ini file can be downloaded here https://raw.githubusercontent.com/sebaxakerhtc/rdpwrap.ini/master/rdpwrap.ini
Manually copy the contents of this page to the “C:Program FilesRDP Wrapperrdpwrap.ini” file. Or download the file using the PowerShell cmdlet Invoke-WebRequest (you must first stop the Remote Desktop service):
Stop-Service termservice -Force
Invoke-WebRequest https://raw.githubusercontent.com/sebaxakerhtc/rdpwrap.ini/master/rdpwrap.ini -outfile "C:Program FilesRDP Wrapperrdpwrap.ini"
Restart your computer, run the RDPConfig.exe tool. Check that all items are green in the Diagnostics section and the caption [Fully supported] appears. The screenshot below shows that the RDP Wrapper with this new config works fine on Windows 11 as well.
Try to establish several RDP sessions to your computer (use any RDP client: mstsc.exe, rdcman, etc.). It worked out well (you can even use saved RDP credentials)! Now your Windows 10 allows two (and more) remote users to use different RDP sessions simultaneously.
The RDPWrap tool is supported in all Windows editions, so you can build your own terminal (RDS) server on any Windows device.
Also, RDP Wrapper allows to:
- Enable Remote Desktop;
- The option Hide users on logon screen allows you to hide the list of users from the Windows Logon Screen;
- If you disable the Single session per user option, multiple simultaneous RDP sessions will be allowed under the same user account (the registry parameter fSingleSessionPerUser = 0 is set under the reg key
HKLMSYSTEM CurrentControlSetControlTerminal ServerfSingleSessionPerUser
); - RDP Port — you can change the Remote Desktop port number from TCP 3389 to any other;
- In the Session Shadowing Mode section, you can configure the remote control (shadow) connection mode to RDP sessions.
RDP Wrapper Not Working on Windows 10
In some cases, the RDP Wrapper tool doesn’t work as expected and you cannot to your Windows host using multiple RDP sessions.
If the utility showed [not supported] in the status section, then the rdpwrap.ini file doesn’t contain configuration for your Windows build. Update the rdpwrap.ini file as described above.
If the RDP Wrapper doesn’t work after updating the rdpwrap.ini file, try opening the rdpwrap.ini file and looking for a description section for your Windows version. How to know if there is support for your version of Windows in the rdpwrapper config file?
The screenshot below shows that for my version of Windows 10 (10.0.19041.1320) there are two description sections:
[10.0.19041.1320] ….. [10.0.19041.1320-SLInit] …..
If there is no section in the config file for your version of Windows, try using Google to search for the rdpwrap.ini strings for your Windows build. Add the lines you find to the end of the file.
If after installing security updates or upgrading the Windows 10 build, RDP Wrapper doesn’t work correctly, check if the “Listener state: Not listening” is displayed in the Diagnostics section.
Try updating the rdpwrap.ini file, and then reinstalling the service:
rdpwinst.exe -u
rdpwinst.exe -i
It happens that when you try to establish a second RDP connection under a different user account, you see a warning:
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.
In this case, you can use the Local Group Policy Editor (gpedit.msc) to enable the policy “Limit number of connections” under Computer Configuration -> Administrative Templates -> Windows Components -> Remote Desktop Services -> Remote Desktop Session Host -> Connections section. Change its value to 999999.
Restart your computer to update the GPO and apply the settings.
Modify the Termsrv.dll to Enable Multiple RDP Sessions
To remove the restriction on the number of concurrent RDP user connections in Windows 10 without using rdpwrapper, you can replace the original termsrv.dll file. This is the main library file used by the Remote Desktop Service. The file is located in C:WindowsSystem32 directory.
Before you edit or replace the termsrv.dll file, it is advisable to create its backup copy. This will help you to revert to the original version of the file if necessary. Open the elevated command prompt and run the command:
copy c:WindowsSystem32termsrv.dll termsrv.dll_backup
Then you need to take ownership of the file. To change the owner of a file from TrustedInstaller to the local Administrators group using the command:
takeown /F c:WindowsSystem32termsrv.dll /A
SUCCESS: The file (or folder): c:WindowsSystem32termsrv.dll now owned by the administrators group
Now grant the local administrators group Full Control permissions on the termsrv.dll file using the icacls.exe:
icacls c:WindowsSystem32termsrv.dll /grant Administrators:F
processed file: c:WindowsSystem32termsrv.dll Successfully processed 1 files; Failed processing 0 files.
After that, stop the Remote Desktop service (TermService) using the services.msc console or from the command prompt:
Net stop TermService
The Remote Desktop Services UserMode Port Redirector service stops with it.
Before moving on, you need to find out your version (build number) of Windows 10. Open the PowerShell console and run the command:
Get-ComputerInfo | select WindowsProductName, WindowsVersion
In my case, Windows 10 build 21H1 is installed.
Then open the termsrv.dll file using any HEX editor (for example, Tiny Hexer). Depending on your Windows build, you need to find and replace the string according to the table below:
Windows build | Find the string | Replace with |
Windows 11 RTM (
21H2 – 22000.258) |
39 81 3C 06 00 00 0F 84 4F 68 01 00 |
B8 00 01 00 00 89 81 38 06 00 00 90 |
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 editor cannot edit termsvr.dll file directly from system32 folder. Copy it to your desktop, and after modification replace the original file.
For example, my build of Windows 10 x64 is 21H1 (19043.1320) with the termsrv.dll file version 10.0.19041.1320. Open the termsrv.dll file in Tiny Hexer, then find the text:
39 81 3C 06 00 00 0F 84 2B 5F 01 00
and replace it with:
B8 00 01 00 00 89 81 38 06 00 00 90
Save the file and run the TermService.
If something goes wrong and you experience some problems with the Remote Desktop service, stop the service and replace the modified termsrv.dll file with the original version:
copy termsrv.dll_backup c:WindowsSystem32termsrv.dll
Patching Termsrv.dll on Windows Using PowerShell
In order not to modify the termsrv.dll file manually using a HEX editor, you can use the following PowerShell script to apply the patch automatically. This script is based on the Windows PowerShell version and doesn’t work on modern PowerShell Core. The script is universal and can be used to patch the termsrv.dll file on all editions of Windows 10 (1809+) and Windows 11.
# Stop RDP service, make a backup of the termsrv.dllfile and change the permissions
Stop-Service UmRdpService -Force
Stop-Service TermService -Force
$termsrv_dll_acl = Get-Acl c:windowssystem32termsrv.dll
Copy-Item c:windowssystem32termsrv.dll c:windowssystem32termsrv.dll.copy
takeown /f c:windowssystem32termsrv.dll
$new_termsrv_dll_owner = (Get-Acl c:windowssystem32termsrv.dll).owner
cmd /c "icacls c:windowssystem32termsrv.dll /Grant $($new_termsrv_dll_owner):F /C"
# search for a pattern in termsrv.dll file
$dll_as_bytes = Get-Content c:windowssystem32termsrv.dll -Raw -Encoding byte
$dll_as_text = $dll_as_bytes.forEach('ToString', 'X2') -join ' '
$patternregex = ([regex]'39 81 3C 06 00 00(sSS){6}')
$patch = 'B8 00 01 00 00 89 81 38 06 00 00 90'
$checkPattern=Select-String -Pattern $patternregex -InputObject $dll_as_text
If ($checkPattern -ne $null) {
$dll_as_text_replaced = $dll_as_text -replace $patternregex, $patch
}
Elseif (Select-String -Pattern $patch -InputObject $dll_as_text) {
Write-Output 'The termsrv.dll file is already patch, exitting'
Exit
}
else {
Write-Output "Pattern not found "
}
# patching termsrv.dll
[byte[]] $dll_as_bytes_replaced = -split $dll_as_text_replaced -replace '^', '0x'
Set-Content c:windowssystem32termsrv.dll.patched -Encoding Byte -Value $dll_as_bytes_replaced
# comparing two files
fc.exe /b c:windowssystem32termsrv.dll.patched c:windowssystem32termsrv.dll
# replacing the original termsrv.dll file
Copy-Item c:windowssystem32termsrv.dll.patched c:windowssystem32termsrv.dll -Force
Set-Acl c:windowssystem32termsrv.dll $termsrv_dll_acl
Start-Service UmRdpService
Start-Service TermService
The complete script code is available in my GitHub repository at https://github.com/maxbakhub/winposh/blob/main/termsrv_rdp_patch.ps1
To execute the script, download it to your computer. Change the PowerShell execution policy settings for the current session:
Set-ExecutionPolicy Bypass -Scope Process -Force
And run the script:
C:usersrootdesktoptermsrv_rdp_patch.ps1
The script can be run after installing Windows updates to immediately make changes to the termsrv.dll file (you don’t have to modify the termsrv.dll file in the HEX editor after each update installation).
The advantage of the method of enabling multiple RDP sessions in Windows 10 or 11 by replacing the termsrv.dll file is that antiviruses do not respond to it (unlike the RDPWrap, which is detected by many antiviruses as a Malware/HackTool/Trojan).
The main drawback is that you will have to manually edit the termsrv.dll file each time you upgrade the Windows 10 build (or when updating the version of the termsrv.dll file during the installation of monthly cumulative updates). And if you are using RDPWrapper, you will also need to update the rdpwrap.ini file after installing Windows updates.
In this article, we looked at how to remove the restriction on the number of simultaneous RDP user connections and run a free terminal server on desktop versions of Windows.
Удаленные пользователи могут подключаться к своим компьютерам с Windows 10 или 11 через службу удаленного рабочего стола (RDP). Просто включите RDP-доступ и подключитесь к своему компьютеру с помощью любого клиента. Но есть ограничение на количество одновременных сеансов RDP: одновременно может работать только удаленный пользователь. Если вы попытаетесь открыть второй сеанс RDP, появится предупреждение с просьбой выйти из первого сеанса пользователя.
Другой пользователь вошел в систему. Если вы продолжите, он будет отключен. Вы все равно хотите войти в систему?
В английской версии предупреждение:
Другой пользователь вошел в систему. Если вы продолжите, они будут отключены. Вы все равно хотите войти в систему?
Все настольные версии Windows (включая Win 10 и 11) имеют ряд ограничений на использование службы удаленного рабочего стола
- вы можете удаленно подключиться только через RDP к предыдущим выпускам Windows (Professional, Enterprise). В домашних версиях (Home / Single Language) доступ по RDP заблокирован;
- поддерживается только одно одновременное соединение RDP. При попытке начать второй сеанс RDP пользователю будет предложено завершить активное соединение;
- Если пользователь работает на консоли компьютера (локально), при удаленном подключении через RDP его локальная сессия будет отключена (заблокирована). Верно и обратное: удаленный сеанс RDP принудительно завершается, если пользователь входит в систему через консоль Windows.
Ограничение количества одновременных подключений RDP в Windows не техническое, а программное и лицензионное. Поэтому Microsoft запрещает создание терминального RDP-сервера на базе рабочей станции для одновременной работы нескольких пользователей. Логика Microsoft проста: если вам нужен терминальный сервер, приобретите лицензию Windows Server, клиентские лицензии RDS, установите и настройте роль узла сеансов удаленного рабочего стола (RDSH).
Технически любая редакция Windows при наличии достаточного количества оперативной памяти может обслуживать одновременную работу нескольких десятков удаленных пользователей. В среднем для сеанса пользователя RDP, за исключением запущенных приложений, требуется 150-200 МБ памяти. Теоретически максимальное количество одновременных сессий RDP ограничено только ресурсами компьютера.
Мы рассмотрим два способа снять ограничение на количество одновременных подключений RDP к Windows 10 и 11: с помощью приложения RDP Wrapper и путем изменения файла systematermrv.dll.
Примечание. Системные изменения, описанные в этой статье, считаются нарушением Лицензионного соглашения Windows, и вы можете вносить их на свой страх и риск.
RDP Wrapper: разрешить несколько RDP сеансов в Windows
Библиотека RDP Wrapper проекта OpenSource позволяет включать конкурентные сеансы RDP в Windows 10 без замены файла systematermrv.dll. Эта программа работает как слой между Service Control Manager (SCM) и службами удаленных рабочих столов. RDPWrap позволяет не только включить поддержку нескольких одновременных сеансов RDP, но и реализовать сервер RDP в домашних выпусках Windows 10. RDP Wrapper не вносит никаких изменений в файл termrv.dll, просто загружая termrv с измененными параметрами.
Следовательно, RDPWrap будет работать даже при обновлении версии filetermrv.dll, что позволяет избежать опасений перед обновлениями Windows.
Важный. Перед установкой RDP Wrapper важно убедиться, что вы используете исходную (непропатченную) версию filetermsrv.dll. В противном случае RDP Wrapper может работать нестабильно или вообще не загружаться.
Вы можете скачать RDP Wrapper из репозитория GitHub: https://github.com/binarymaster/rdpwrap/releases (последняя версия библиотеки RDP Wrapper – v1.6.2). Утилита не развивалась с 2017 года, но ее можно использовать во всех сборках Windows 10 и даже Windows 11.
Архив RDPWrap-v1.6.2.zip содержит несколько файлов:
- RDPWinst.exe – программа установки / удаления библиотеки RDP Wrapper;
- RDPConf.exe – утилита настройки оболочки RDP;
- RDPCheck.exe – Local RDP Checker – утилита для проверки доступа по RDP;
- install.bat, uninstall.bat, update.bat – командный файл для установки, удаления и обновления RDP Wrapper.
Для установки RDPWrap запустите файл
install.bat
с правами администратора.
После завершения установки запустите RDPConfig.exe. Убедитесь, что в разделе «Диагностика» все элементы окрашены в зеленый цвет.
После завершения установки запустите RDPConfig.exe. Скорее всего, сразу после установки утилита покажет, что оболочка RDP запущена (Установлена, Выполняется, Прослушивается), но не работает. Обратите внимание на красные буквы. Сообщите, что эта версия Windows 10 (ver.10.0.19041.1320) не поддерживается ([не поддерживается]).
Дело в том, что для каждой версии Windows 10 обязательно должно быть описание в файле конфигурации rdpwrap.ini. В вашем файле конфигурации просто нет настроек для вашей сборки Windows 10.
Текущую версию файла rdpwrap.ini можно скачать здесь https://raw.githubusercontent.com/sebaxakerhtc/rdpwrap.ini/master/rdpwrap.ini
Вручную скопируйте содержимое этой страницы в файл «C: Program Files RDP Wrapper rdpwrap.ini». Или загрузите файл с помощью командлета Invoke-WebRequest PowerShell (сначала необходимо остановить службу удаленного рабочего стола):
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. Убедитесь, что в разделе “Диагностика” все элементы зеленого цвета и отображается сообщение [Полностью поддерживается]… На скриншоте ниже показано, что RDP Wrapper с этой конфигурацией также отлично работает в Windows 11.
Осталось перезагрузить компьютер. Попробуйте подключиться к своим компьютерам с разными сеансами RDP (используйте любой клиент RDP: mstsc.exe, rdcman и т.д.). Все заработало (также можно использовать сохраненные пароли RDP)! Ваша Windows 10 теперь позволяет двум (или более) удаленным пользователям одновременно подключаться через RDP.
Утилита RDPWrap поддерживается в выпусках Windows, поэтому вы можете создать сервер терминалов из любой клиентской версии Windows.
Также среди интересных особенностей RDP Wrapper можно выделить:
- Включить удаленный рабочий стол – включить доступ RDP
- Параметр «Скрыть пользователей на экране входа в систему» позволяет скрыть список пользователей на экране приветствия;
- Если параметр Один сеанс на пользователя отключен, несколько одновременных сеансов RDP будут разрешены под одной учетной записью (параметр реестра fSingleSessionPerUser = 0 установлен в ветке HKLM SYSTEM CurrentControlSet Control Terminal Server fSingleSessionPerUser).
- Порт RDP: вы можете изменить номер порта удаленного рабочего стола со стандартного TCP 3389 на любой другой;
- В разделе Session Shadowing Mode вы можете настроить теневое подключение к рабочему столу пользователей Windows 10.
Ограничения продолжительности сеансов RDP можно настроить через GPO.
Не работает RDP Wrapper в Windows 10
В некоторых случаях RDP Wrapper не работает должным образом, и нельзя использовать несколько подключений RDP.
Если утилита отображается в окне статуса [не поддерживается], это означает, что файл rdpwrap.ini не содержит конфигурации для вашей версии Windows. Обновите файл rdpwrap.ini, как описано выше.
Если RDP Wrapper не работает после обновления файла rdpwrap.ini, попробуйте открыть файл rdpwrap.ini и найдите описание для своей версии Windows. Как узнать, есть ли поддержка вашей версии Windows в файле конфигурации rdpwrapper?
На скриншоте ниже видно, что для моей версии Windows 10 (10.0.19041.1320) есть два раздела с описаниями:
[10.0.19041.1320]… .. [10.0.19041.1320-SLInit] …..
Если в файле конфигурации для вашей версии Windows нет разделов, попробуйте поискать в сети строки rdpwrap.ini для вашей сборки. Добавьте строки, которые вы найдете в конце файла.
Также при проблемах с RDPWrap вы можете открыть ветку по адресу https://github.com/stascorp/rdpwrap/issues. Здесь вы также можете найти текущие файлы rdpwrap.ini перед обновлением в официальном репозитории.
Если после установки обновлений безопасности или после обновления сборки Windows 10 RDP Wrapper не работает, проверьте наличие надписи Listener Status: Not Listening в разделе «Диагностика.
Попробуйте обновить ini-файл, а затем переустановить службу:
rdpwinst.exe -u
rdpwinst.exe -i
Бывает, что когда вы пытаетесь установить второе RDP-соединение с другим пользователем, вы получаете сообщение:
Количество разрешенных подключений к этому компьютеру ограничено, и все подключения уже используются. Попробуйте подключиться позже или обратитесь к системному администратору.
Количество подключений к этому компьютеру ограничено, и в настоящее время используются все подключения. Попробуйте подключиться позже или обратитесь к системному администратору.
В этом случае с помощью редактора групповой политики gpedit.msc в разделе «Конфигурация компьютера» -> «Административные шаблоны» -> «Компоненты Windows» -> «Службы удаленных рабочих столов» -> «Узел сеанса удаленного рабочего стола» -> «Подключения», включите «Ограничить количество подключений» и измените его для 999999 (Конфигурация компьютера -> Административные шаблоны -> Компоненты Windows -> Службы удаленных рабочих столов -> Узел сеанса удаленного рабочего стола -> Подключения-> Ограничить количество подключений).
Перезагрузите компьютер, чтобы обновить GPO и применить настройки .
Модификация файла termsrv.dll для снятия ограничений RDP в Windows 10 и 11
Чтобы снять ограничение на количество подключений пользователей RDP в Windows 10 без использования rdpwraper, вы можете заменить filetermrv.dll. Это файл библиотеки, используемый службами удаленных рабочих столов. Файл находится в каталоге C: Windows System32.
Перед изменением или заменой файла termsrv.dll рекомендуется сделать его резервную копию. Это поможет вам при необходимости восстановить исходную версию файла. Запустите командную строку от имени администратора и выполните команду:
Stop-Service termservice -Force
Invoke-WebRequest https://raw.githubusercontent.com/sebaxakerhtc/rdpwrap.ini/master/rdpwrap.ini -outfile "C:Program FilesRDP Wrapperrdpwrap.ini"
Таким образом, вы должны стать владельцем файла. Самый простой способ сделать это – из командной строки. Чтобы изменить владельца файла с TrustedInstaller на локальную группу администраторов, используйте команду:
rdpwinst.exe -u
rdpwinst.exe -i
Вы должны увидеть сообщение: «УСПЕХ: файл (или папка):« c: Windows System32 termsrv.dll »теперь принадлежит группе администраторов».
Теперь с помощью icacls.exe предоставьте группе локальных администраторов все права на файл termrv.dll (полный доступ):
copy c:WindowsSystem32termsrv.dll termsrv.dll_backup
(или
takeown /F c:WindowsSystem32termsrv.dll /A
в русской версии Windows). Должно появиться сообщение: «Файл обработан: c: Windows System32 termsrv.dll Успешно обработан 1 файл; Не удалось обработать 0 файлов«.
Теперь вам нужно остановить службу удаленного рабочего стола (TermService) из консоли services.msc или из командной строки:
icacls c:WindowsSystem32termsrv.dll /grant Administrators:F
Служба перенаправления портов пользовательского режима служб удаленных рабочих столов останавливается на нем.
Прежде чем мы продолжим, вам нужно узнать вашу версию (сборку) Windows 10. Самый простой способ сделать это – использовать следующую команду PowerShell:
Администраторы
В моем случае установлена Windows 10 build 21H1.
Затем откройте файлtermsrv.dll с помощью любого HEX-редактора (например, Tiny Hexer). В зависимости от вашей сборки вам нужно найти и заменить строку:
Версия для Windows | Найти строку | Заменяется |
Windows 11 RTM (21H2 22000.258) | 39 81 3C 06 00 00 0F 84 4F 68 01 00 |
В8 00 01 00 00 89 81 38 06 00 00 90 |
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×64 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 не может редактировать filetermsvr.dll непосредственно из папки system32. Скопируйте его на рабочий стол и замените исходный файл после редактирования.
Например, для той же редакции Windows 10 x64 21H1 19043.1320 (версия файла termrv.dll – 10.0.19041.1320) вам нужно открыть файл termrv.dll в Tiny Hexer. Затем найдите строку:
Net stop TermService
И замените его на:
Get-ComputerInfo | select WindowsProductName, WindowsVersion
Сохраните файл и запустите TermService.
Если что-то пойдет не так и у вас возникнут проблемы со службой RDP, остановите службу и замените измененный filetermsrv.dll исходной версией:
39 81 3C 06 00 00 0F 84 2B 5F 01 00
Патчинг файл termsrv.dll с помощью PowerShell скрипта
Чтобы вручную не редактировать filetermrv.dll с помощью шестнадцатеричного редактора, вы можете использовать следующий сценарий PowerShell для автоматического исправления файла. Этот сценарий написан для версии Windows PowerShell и не работает в PowerShell Core. Скрипт универсален и может использоваться для внесения изменений в файл termrv.dll на всех версиях Windows 10 и Windows 11.
# Остановите службу, сделайте копию файла и измените разрешения
Stop-Service UmRdpService -Force
Прекращение обслуживания stopService -Force
$ termsrv_dll_acl = Get-Acl c: windows system32 termsrv.dll
Копировать элемент c: windows system32 termsrv.dll c: windows system32 termsrv.dll.copy
takeown /fc:windowssystem32termsrv.dll
$ new_termsrv_dll_owner = (Get-Acl c: windows system32 termsrv.dll) .owner
cmd / c "icacls c: windows system32 termsrv.dll / Grant $ ($ new_termsrv_dll_owner): F / C"
# ищем шаблон в файле termsrv.dll
$ dll_as_bytes = Get-Content c: windows system32 termsrv.dll -Raw -Байт кодирования
$ dll_as_text = $ dll_as_bytes.forEach ('ToString', 'X2') -join ' '
$ patternregex = ([регулярное выражение] '39 81 3C 06 00 00 ( s S S) {6}')
$ patch = 'B8 00 01 00 00 89 81 38 06 00 00 90'
$ checkPattern = Select-String -Pattern $ patternregex -InputObject $ dll_as_text
Если ($ checkPattern -ne $ null) {
$ dll_as_text_replaced = $ dll_as_text -replace $ patternregex, $ patch
}
Elseif (Select-String -Pattern $ patch -InputObject $ dll_as_text) {
Write-Output 'Файлtermsrv.dll уже был исправлен при выходе'
Выход
}
другие {
Запись-вывод «Модель не найдена"
}
# модификация файлаtermsrv.dll
[byte][ ] $ dll_as_bytes_replaced = -split $ dll_as_text_replaced -replace '^', '0x'
Set-Content c: windows system32 termsrv.dll.patched -Encoding Byte -Value $ dll_as_bytes_replaced
# Сравните два файла
fc.exe /bc:windowssystem32termsrv.dll исправлен c: windows system32 termsrv.dll
# заменить исходный файл
Копировать-элемент c: windows system32 termsrv.dll. Исправлен c: windows system32 termsrv.dll -Force
Set-Acl c: windows system32 termsrv.dll $ termsrv_dll_acl
Старт-Сервис UmRdpService
Начало-конец обслуживания Обслуживание
Полный код скрипта доступен в моем репозитории GitHub по адресу https://github.com/winadm/posh/blob/master/Desktop/RDP_patch.ps1
Чтобы запустить сценарий, загрузите его на свой компьютер. Измените параметры политики выполнения сценария PowerShell:
B8 00 01 00 00 89 81 38 06 00 00 90
Запускаем скрипт:
copy termsrv.dll_backup c:WindowsSystem32termsrv.dll
Сценарий можно запустить после установки обновлений Windows, чтобы немедленно внести изменения в filetermrv.dll (защищает вас от редактирования файла вручную после каждой установки обновления). Скрипт подходит для всех версий Windows 10 до 1809 и Windows 11.
Преимущество включения нескольких сеансов RDP в Windows 10 путем замены filetermsrv.dll заключается в том, что антивирусы не отвечают. В отличие от утилиты RDPWrap, которую многие антивирусные программы считают Malware / HackTool / Trojan. Главный недостаток заключается в том, что вам нужно вручную редактировать файл каждый раз, когда вы обновляете сборку Windows 10 (или когда вы обновляете версию файла termrv.dll в рамках ежемесячных накопительных обновлений). А если вы используете RDPWrapper, вам нужно будет обновить файл rdpwrap.ini после установки обновлений Windows.
В этой статье вы узнали, как снять ограничение на количество одновременных пользовательских RDP-подключений и запустить бесплатный терминальный сервер на клиентах Windows 10 или 11.
Источник изображения: winitpro.ru
Удаленный рабочий стол на Windows — очень удобная опция для тех, кто не хочет ограничивать себя стационарным рабочим местом. Однако у нее есть ограничение: пользователь может быть только один, физически перед компьютером или удаленно. В части случаев это может быть неудобно.
Сегодня мы оставим без внимания актуальность и варианты использования удаленных рабочих столов, ведь, раз уж вы читаете эти строки, доказывать их полезность вам, скорее всего, не нужно вовсе. Вместо этого мы сосредоточимся на том, как обойти обозначенное выше ограничение и создать более одного подключения одновременно.
Заметим, ограничение носит исключительно программный характер и фактически удаленных пользователей может быть столько, насколько хватит вычислительной мощности вашего ПК. Кроме прочего, это означает, что решаясь на все описанные ниже манипуляции вы нарушаете условия лицензионного соглашения и будете выполнять их на свой риск и страх.
Что ж, это была минутка теории, а теперь пора переходить к практике, где мы разберем, как можно настроить одновременную работу нескольких RDP на Windows.
Как именно работают ограничения?
Первым делом уточним, что работают удаленные рабочие столы исключительно на версиях Windows Pro и выше, тогда как на домашней (Windows Home) эта опция не доступна в принципе. Также, как мы уже уточнили выше, подключение может быть только одно: либо локально на интересующем нас ПК, либо удаленно, две и более сессии пользователям недоступны. При попытке нового подключения, система выдаст предупреждение о том, что текущий пользователь будет отключен и запросит подтверждение для продолжения работы.
Как обойти?
1 способ: сторонние программы
Надо признать, оба описанных способа имеют свои ограничения и особенности, которые мы также уточним, но именно этот метод кажется нам наименее проблемным и простым как при подключении, так и для дальнейшего использования.
Для одновременного подключения нескольких RDP мы будем использовать программу RDP Wrapper. Это OpenSource-проект, следить за которым вы можете на GitHub. Кроме нескольких RDP сессий, данная программа позволит реализовать удаленный доступ, в том числе, на Windows Home, и если необходимо, под одной учетной записью, скрыть список пользователей на экране приветствия, создать теневое RDP подключение и другое.
Чтобы установить и подготовить программу к использованию, выполняем следующие шаги:
- Скачиваем RDP Wrapper из репозитория GitHub по ссылке
- В получившемся архиве находим и запускаем файл install.bat, не забывая о правах администратора.
- После установки, обратим внимание на файл RDPConfig.exe (его вы найдете в том же архиве). Здесь нас интересует раздел Diagnostics, где все элементы должны быть окрашены в зеленый цвет. Если вместо [fully supported] вы видите [not supported], программа нуждается в обновлении. Нет возможности обновить полностью — скачайте отдельно файл rdpwrap.ini с ресурса разработчика и сохраните его по пути C:Program FilesRDP Wrapperrdpwrap.ini. Этот же способ нужно использовать для самых новых версий Windows.
- В качестве проверки, запускаем файл RDPCheck.exe или создаем удаленное подключение. Если все сделано правильно, две и более сессий будут работать параллельно.
Также сразу обратим внимание читателей, что антивирусы данную программу, мягко говоря, недолюбливают, считая её вредоносным ПО, будьте готовы.
2 способ: внутренняя модификация
Этот способ подходит для пользователей Windows 10 и не требует установки сторонних приложений, однако требует бОльших, по сравнению с первым вариантом, навыков работы, в частности, с командной строкой. Есть и еще одна сложность, правку файла termsrv.dll (а именно этим мы будем заниматься) придется повторять после каждой установки новой версии системы.
Итак, интересующий нас файл можно найти по пути C:WindowsSystem32 и прежде чем мы начнем, желательно создать его резервную копию. Если все пройдет как надо — она не понадобится, а если нет — сбережет вам немало нервных клеток. Для этого делаем следующее: запускаем командную строку с правами администратора и вводим команду:
copy c:WindowsSystem32termsrv.dll termsrv.dll_backup
Кроме того, нам понадобится информация об установленной версии (билде) Windows 10. Это проще всего узнать, введя в PowerShell: “Get-ComputerInfo | select WindowsProductName, WindowsVersion”. Билд обозначается четырьмя цифрами, указывающими на год и месяц его выпуска. Впрочем, это скорее теоретические сведения, нас интересует лишь сам номер, его можно просто запомнить.
Теперь можно смело переходить к собственно правке файла. Для этого нам нужно проделать следующие шаги:
- Меняем владельца файла с TrustedInstaller на локальных администраторов. Для этого вводим в командную строку команду: «takeown /F c:WindowsSystem32termsrv.dll /A» В ответ получаем сообщение: «SUCCESS: The file (or folder): «c:WindowsSystem32termsrv.dll» now owned by the administrators group«.
- Даем группе администраторов полные права на файл командой: «icacls c:WindowsSystem32termsrv.dll /grant Administrators:F» (или Администраторы, если речь идет о русской версии Windows). В подтверждение будет ответ: «processed file: c:WindowsSystem32termsrv.dll Successfully processed 1 files; Failed processing 0 files«.
- Останавливаем службу Remote Desktop Service (TermService) при помощи команды: «Net stop TermService«.
- Теперь переходим к собственно правке файла termsrv.dll. Для этого нам понадобится HEX редактор (скачиваем бесплатно из интернета) и немного внимания. В зависимости от билда, находим одну из строк, представленных в таблице ниже и заменяем её последовательностью “B8 00 01 00 00 89 81 38 06 00 00 90”, после этого сохраняем изменения.
- Запускаем TermService.
Версия |
Строка |
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 |
Если все сделано правильно, вы сможете использовать столько удаленных подключений, сколько вам понадобится. Если же что-то пойдет не так, вам нужно будет снова остановить упомянутую ранее службу TermService и восстановить сохраненный ранее файл при помощи команды
copy termsrv.dll_backup c:WindowsSystem32termsrv.dll
На этом все. Как видите, при подробном рассмотрении оба способа не так сложны как кажется поначалу, зато они могут значительно упростить вашу жизнь, если у вас потребность в удаленном доступе возникает часто. Все вопросы относительно описанных здесь методов, вы можете задать их в комментариях или нашем Telegram чате, а за новостями и обновлениями игр не забывайте следить на канале ТЕХМО.