Rdp wrapper library windows 10 home

RDP Wrapper Library. Contribute to stascorp/rdpwrap development by creating an account on GitHub.

RDP Wrapper Library v1.6.2

  • Installer updated
    • Include updated INI file for latest Windows builds
    • Added check for supported Windows versions (#155)
    • Added feature to take INI file from current directory (#300)
    • Added feature to restore rfxvmt.dll (missing in Windows 10 Home #194)
  • RDP Config updated
    • Added feature to allow custom start programs (#13 (comment))
  • MSI installation package added (#14)

RDP Wrapper Library v1.6.1

  • Include updated INI file for latest Windows builds
  • Installer updated
  • Added online install mode
  • Added feature to keep settings on uninstall
  • RDP Config updated
  • Fixed update firewall rule on RDP port change
  • Added feature to hide users on logon

RDP Wrapper Library v1.6

  • Added support for Windows 10
  • INI file has smaller size now — all comments are moved to KB file
  • Installer updated
  • Added workaround for 1056 error (although it isn’t an error)
  • Added update support to installer
  • Newest RDPClip versions are included with installer
  • RDP Checker updated
  • Changed connect IP to 127.0.0.2
  • Updated some text messages
  • RDP Config updated
  • Added all possible shadowing modes
  • Also it will write settings to the group policy

RDP Wrapper Library v1.5

Version 1.5 (build 2014.12.11)

  • Added INI config support
  • Configuration is stored in INI file now
  • We can extend version support without building new binaries
  • Added support for Windows 8.1 with KB3000850
  • Added support for Windows 10 Technical Preview Update 2
  • Installer updated
  • RDP Config updated
  • Diagnostics feature added to RDP Config

RDP Wrapper Library v1.4

Version 1.4 (build 2014.11.14)

  • Added support for Windows 10 Technical Preview Update 1
  • Added support for Windows Vista SP2 with KB3003743
  • Added support for Windows 7 SP1 with KB3003743
  • Added new RDP Configuration Program

Удаленные пользователи могут подключаться к своим компьютерам 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) есть ряд ограничений на использование службы удаленного рабочего стола

  1. Вы можете удаленно подключаться по RDP только к старшим редакциям Windows (Professional, Enterprise). В домашних редакциях (Home/Single Language) RDP доступ заблокирован;
  2. Поддерживается только одно одновременное RDP подключение. При попытке запустить вторую RDP-сессию, пользователю будет предложено завершить активное подключение;
  3. Если пользователь работает за консолью компьютера (локально), то при удаленном подключении по 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-v1.6.2.zip

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

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

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

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

После окончания установки запустите 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"

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

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

запуск rdpwrapper в windows 11

Осталось перезагрузить компьютер. Попробуйте подключиться к своим компьютерам несколькими RDP сессиями (воспользуйтесь любым RDP клиентом: mstsc.exe, rdcman и т.д.). Все получилось (можно даже использовать сохранённые RDP пароли)! Теперь ваша Windows 10 позволяет одновременно подключаться по RDP сразу двум (и более) удаленным пользователям.

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

Утилита 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]
…..

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

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

Также при проблемах с RDPWrap вы можете открыть ветку в https://github.com/stascorp/rdpwrap/issues. Здесь же можно найти актуальные файлы rdpwrap.ini до момента обновления в официальном репозитории.

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

Listener state: Not listening

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

rdpwinst.exe -u
rdpwinst.exe -i

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

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

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

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

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

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

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

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

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

Чтобы убрать ограничение на количество RDP подключений пользователей в Windows 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«.

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

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

Net stop TermService

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

Служба Remote Desktop service

Прежде чем идти дальше, вам нужно узнать вашу версию (билд) 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

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

Сохраните файл и запустите службу 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

powershell патч для автоматической модификации файла rdp termsrv.dll

Скрипт можно запускать после установки обновлений 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.

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

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

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

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

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

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

rdp wrapper файлы

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

установка rdp wrapper

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

настройка rdp wrapper

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

пример работы rdp wrapper

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

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

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

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

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

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

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

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

Взято отсюда: https://github.com/stascorp/rdpwrap/issues/699

Несколько сеансов RDP в Windows 10 и 11

Удаленные пользователи могут подключаться к своим компьютерам с ОС 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 Home и Professional. Функция удаленного рабочего стола является одним из них. В отличие от профессиональной версии, если вы когда-нибудь попробуете использовать функцию удаленного рабочего стола в домашней версии, вы не сможете это сделать. В этом посте я поделюсь тем, как вы можете использовать Windows 10 Remote Desktop в Windows 10 Home. Также мы предложим альтернативу для лучшего опыта.

Интересно отметить, что компоненты и сервис для RDP-сервера, которые делают возможным удаленное подключение, также доступны в Windows 10 Home. Однако эта функция отключена или заблокирована в домашней версии. Тем не менее, это решение — обходной путь, который исходит от двоичного мастера разработчика в форме библиотеки-оболочки RDP.

Действия по включению функции удаленного рабочего стола Windows 10 Home

  1. Загрузите последнюю версию библиотеки RDP Wrapper с Github
  2. Запустите установочный файл. Это позволит все, что нужно для удаленного рабочего стола.
  3. Введите Remote Desktop в поиске, и вы сможете увидеть программное обеспечение RDP.
  4. Введите имя удаленного компьютера и пароль для подключения к компьютеру.

Убедитесь, что подключение к удаленному рабочему столу разрешено на компьютере, к которому вы хотите подключиться.

Я подключился со своего ноутбука, который находится в версии для дома, к своему рабочему столу под управлением Windows 10 Pro. Он работает безупречно, как и в Pro версиях.

После установки, если вы перейдете в «Настройки» → «Система» → «Удаленный рабочий стол», все равно будет указано, что удаленный рабочий стол недоступен. Однако другие компьютеры могут подключаться к ПК с Windows Home.

Так как это работает? Библиотека RDP-оболочки — та, которую мы только что установили, она делает возможной связь, так как необходимые службы уже доступны на компьютере. Если вам интересно, почему Microsoft полностью не удалила его? Это потому, что это необходимо для поддержки, а также сделать возможным использование сторонних сервисов.

Мы знаем, сколько стоит обновить Windows 10 Pro с Windows Home. Так что вы можете использовать этот обходной путь или выбрать стороннее приложение. Кроме того, может быть не разрешено использовать RDP-оболочку для изменения некоторых файлов конфигурации.

Сторонние приложения для удаленного рабочего стола

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

Однако, если вы хотите законченное решение, лучше использовать такие решения, как TeamViewer. Приложение теперь доступно и в Магазине Windows и позволяет использовать его.

Терминальный сервер Windows 10

Как и во всех пользовательских версиях Windows, в Windows 10 присутствует ограничение на одновременное подключение нескольких пользователей по RDP (через удаленный рабочий стол). То есть, если один пользователь уже вошел в систему (не важно – через RDP или непосредственно сидя за компьютером), то никто другой уже подключиться не может. Как настроить удаленный рабочий стол Windows и как убрать ограничение на количество одновременных сессии RDP на Windows 7, было рассмотрено ранее. Теперь опишем способ, как открыть возможность одновременного подключения нескольких пользователей в Windows 10.

Напоминаю, что возможность открытия удаленного подключения к компьютеру по RDP есть только у версий Windows 10 Pro и Windows 10 Enterprise. Владельцы Windows 10 Home со своих машин могут подключаться к другим компьютерам по RDP, но организовать подключение к своему компьютеру через удаленный рабочий стол у них возможности нет.

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

Итак, чтобы снять ограничение на несколько сессий RDP в Windows 10, как и в Windows 7 необходимо было внести изменения в системный файл termsrv.dll. Однако данная процедура на Windows 10 осуществляется вручную, весьма трудоемка и длительна. Кроме того, при каждом обновлении Windows процедуру придется повторять. Поэтому в данной статье мы не будем рассматривать метод исправления файла termsrv.dll вручную, а рассмотрим использование программы RDP Wrapper Library.

RDP Wrapper Library для снятия ограничения на несколько одновременных сессий RDP в Windows 10

RDP Wrapper Library не вносит никаких физических изменений в файл termsrv.dll, а работает как своеобразная прослойка между службами. RDP Wrapper Library подгружает файл termsrv.dll с нужными параметрами, не затрагивая исходник.

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

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

Итак, приступим.

Внимание! Чтобы установить RDP Wrapper Library ваша учетная запись должна обладать правами администратора.

1. Скачиваем RDP Wrapper Library

Файлы находятся в архиве, воспользуемся архиватором. Пароль на архив: 123.

Пара слов о содержимом архива:

RDPWInst.exe – запуск установки или удаления RDP Wrapper Library

RDPConf.exe – приложение для настройки

RDPCheck.exe – приложение для проверки работы RDP

install.bat, update.bat, uninstall.bat – пакетные файлы запуска установки, обновления и удаления RDP Wrapper Library

2. Для установки RDP Wrapper Library запускаем файл install.bat под правами администратора (правой кнопкой мыши на файл и Запуск от имени администратора)

Откроется окно с командной строкой. Дожидаемся окончания установки.

несколько rdp сессий, пользователей удаленного рабочего стола, Windows 10, одновременно, патч rdp termsrv.dll, RDP Wrapper Library

3. По окончании установки запускаем файл RDPConf.exe – приложение настроек и проверки состояния

4. Необходимо убедиться, что все сообщения подсвечены зеленым.

несколько rdp сессий, пользователей удаленного рабочего стола, Windows 10, одновременно, патч rdp termsrv.dll, RDP Wrapper Library

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

Примечание. Если одна из строк в RDPConf.exe у вас горит красным (или стала гореть после обновления Windows), как на картинке ниже, то:

1. проверьте подключение к Интернет

2. запустите пакетный файл update.bat (все есть в архиве с программой)

Снова откройте RDPConf.exe. Все должно гореть зеленым.

несколько rdp сессий, пользователей удаленного рабочего стола, Windows 10, одновременно, патч rdp termsrv.dll, RDP Wrapper Library

RDP Wrapper Library поддерживает работу на ОС Windows 7, Windows 8, Windows 8.1, Windows 10.

На этом все, всем удачи!

Оцените статью. Вам не сложно, а автору приятно

Для чего нужен RDP wrapper?

Про стандартный RDP

RDP (Remote Desktop Protocol) — дословно протокол Удаленного Рабочего Стола. Позволяет подключится к компьютеру по IP адресу с любого другого компьютера.  

Подключение по протоколу RDP осуществляется между компьютерами, находящимися в одной локальной сети, или по интернету, но для этого потребуются дополнительные действия – проброс порта 3389 на роутере, либо соединение с удаленным компьютером по VPN.

Для подключения к удаленному рабочему столу , необходимо разрешить удаленное подключение — Свойства компьютера — дополнительные параметры системы —  удаленный доступ

Windows 10 Home — данная функция отключена

Windows 10 Pro — позволяет одновременно использовать только одно подключение под выбранным пользователем

Windows Server — позволяет подключаться сразу с нескольких устройств, под разными пользователями и работать одновременно.

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

монитор + мини ПК

Так же RDP часто используется в 1С для работы с файловой базой данных

Варианты применения RDP дома

Как можно использовать RDP дома? 

Если компьютером пользуется только один человек.

Персональный мощный ПК стоит в углу включенный, установлены и настроены все программы под себя любимого.

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

Если компьютером пользуются несколько человек.

Персональный мощный ПК стоит в углу включенный, установлены и настроены все программы. Создана вторая учетная запись например для жены. У неё свой набор программ, свой браузер с отдельными вкладками закладками, все под себя настроено.

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

В общем и целом

Именно для дома, это получается  больше, как элемент комфорта. 

Гораздо приятнее и привычнее работать со своего личного ПК когда имеется необходимая производительность под свои задачи. Все что нужно под себя установлено и настроено как удобно. Без разницы за каким компьютером сидеть и где находится (главное чтоб интернет канал хороший) тогда можно спокойно подключится к своему личному ПК.

Конечно в организациях используются Windows Server специальная операционная система которая предназначено для этого. 

С домашними системами такого не получится, Windows 10 Pro подойдет если компьютером пользуется один человек. Windows 10 Home не подойдет вообщем. Вот тут как раз на помощь приходит RDP Wrapper

RDPWrapper инструкция

Данная программа (библиотека) дает возможность подключаться с нескольких устройств по RDP одновременно как в Windows Server

Установка

1. Отключить антивирус, создать папку C:Program FilesRDP Wrapper и добавить его в ислючение

3. Скачать файл autoupdate.bat и распоквать в ту же папку с RDP Wrapper

4. Запустить run autoupdate.bat от имени администратора

RDP wrapper user — Добавление нового пользователя

Создать нового пользователя (учетную запись Windows)

Добавить новому пользователю членство в группе «Пользователи удаленного рабочего стола»

Подключаюсь с другого ПК под новым пользователям, и проверяю в диспетчере задач — пользователей.

Таким образом можно дома комфортно использовать домашний ПК и его производительность делить на несколько пользователей

При обновлении Windows возможно будет необходимо запустить файл autoupdate.bat

Самое большое количество вопросов, обсуждений и помощи по данной теме происходит в телеграмм группе https://t.me/rdpwrap

Существует много различий между Windows 10 Home и Professional. Функция удаленного рабочего стола является одним из них. В отличие от профессиональной версии, если вы когда-нибудь попробуете использовать функцию удаленного рабочего стола в домашней версии, вы не сможете это сделать. Используя «Подключение к удаленному рабочему столу» вы не можете подключиться к компьютеру на котором установлен Windows 10 Home, но вы можете это исправить. Рассмотрим как добавить RDP в Windows 10 Home. Компоненты и сервис для RDP-сервера, которые делают возможным удаленное подключение, также доступны в Windows 10 Home. Однако эта функция отключена или заблокирована в домашней версии. Тем не менее, это решение — обходной путь, который исходит от двоичного мастера разработчика в форме библиотеки-оболочки RDP.

Действия по включению функции удаленного рабочего стола Windows 10 Home

Загрузите последнюю версию библиотеки RDP Wrapper с Github Откройте скачанный архив и распакуйте содержимое в любую папку

Изображение

Откройте папку с файлами, которые вы распаковали, нажмите на install.bat правой клавишей мыши и выберите «Запуск от имени администратора». Установка произойдет. Введите Remote Desktop в поиске, и вы сможете увидеть программное обеспечение RDP.

Введите имя удаленного компьютера и пароль для подключения к компьютеру.

Понравилась статья? Поделить с друзьями:
  • Rdp windows 7 служба не запущена
  • Rdp windows 10 несколько пользователей одновременно wrapper
  • Rdp windows 10 несколько пользователей одновременно termsrv dll
  • Rdp windows 10 несколько пользователей одновременно 2020
  • Rdp windows 10 как подключиться к другому компьютеру