Удаленные пользователи могут подключаться к своим компьютерам 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.
Удаленные пользователи могут подключаться к своим компьютерам с ОС 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.
Содержание
- 1 RDP Wrapper Library
- 2 Модификация файла termsrv.dll
- 3 Руководство по настройке терминального сервера Windows 10
- 4 Почему RDP на Windows 7/10 не работает для нескольких пользователей
- 5 Установка сервера терминалов займет секунды
- 6 RDP для Windows 7/10 не подключается
Как и в прошлых клиентских версиях операционных систем Майкрософт, пользователи Pro и Enterprise Windows 10 (но не Home) редакций могут удаленно подключаться к своим компьютерам через службу удаленных рабочих столов (RDP). Однако есть ограничение на количество одновременных RDP сессии – возможна одновременная работа только одного удаленного пользователя. При попытке открыть вторую RDP сессию, сеанс первого пользователя предлагается завершить.
В систему вошел другой пользователь. Если вы продолжите, он будет отключен. Вы все равно хотите войти в систему?
В английской версии предупреждение такое:
Another user is signed in. If you continue, they’ll be disconnected. Do you want to sign in anyway?
Дело в том, что в настольных редакциях операционных систем Microsoft есть следующие основные ограничения на использование службы удаленного рабочего стола:
- Поддержка RDP доступа имеется только в старших редакциях Windows (Professional и выше), а в домашних редакциях (Home) этот функционал отключен.
- Возможно только одно удаленного RDP подключения. При попытке открыть вторую RDP-сессию, пользователю предлагается завершить существующее подключение.
- В том случае, есть пользователь работает за консолью компьютера (локально), при удаленном подключении RDP, его сеанс будет отключен (заблокирован). Правильно и обратное утверждение: удаленный RDP сеанс принудительно завершается, если пользователь авторизуется на консоле системы
По сути, ограничение на количество одновременных rdp подключений является не техническим, а скорее лицензионным, запрещающее создавать на базе рабочей станции терминальный RDP сервер для работы нескольких пользователей. Хотя с технической точки зрения любая редакция Windows при наличии достаточного количества памяти может поддерживать одновременную работу нескольких десятков удаленных пользователей (в среднем на одну сессию пользователя без учета запускаемых приложений требуется 150-200 Мб памяти). Т.е. максимальное количество одновременных сессий в теории ограничивается только ресурсами компьютера.
Мы рассмотрим два способа отключить ограничение на количество одновременных RDP подключений к Windows 10:
Содержание:Важно. Изначально в самой первой версии статьи основным рабочим вариантом, позволяющим снять ограничение на количество одновременных RDP подключений пользователей был способ модификации и подмены файла termsrv.dll в папке %SystemRoot%System32. Однако при установке нового билда Windows 10 или некоторых обновлений безопасности, этот файл обновляется. В результате приходится каждый раз редактировать этот файл Hex редактором, что довольно утомительно. Поэтому в качестве основного способа организации бесплатного терминального сервера на клиентской Windows 10 стоит считать утилиту RDP Wrapper Library.Примечание. Модификации системы, описанные в этой статье, вероятно, будут считаться нарушением лицензионного соглашения на Windows со всеми вытекающими последствиями.
RDP Wrapper Library
Альтернативой модификации файла termsrv.dll является использование проекта RDP Wrapper Library. Эта программа работает в качестве прослойки между менеджером управления службами (SCM- Service Control Manager) и службой терминалов (Terminal Services) и позволяет включить не только поддержку нескольких одновременных RDP сессии, но и активировать поддержку RDP Host на домашних редакциях Windows 10. RDP Wrapper не вносит никаких изменений в файл termsrv.dll, просто подгружая termsrv с изменёнными параметрами.
Таким образом, это решение будет работать даже при обновлении версии файла termsrv.dll, что позволяет не опасаться обновлений Windows.
Важно. Перед установкой RDP Wrapper: важно, чтобы у вас использовалась оригинальная (непропатченная) версия файл termsrv.dll. В противном случае RDP Wrapper может работать не стабильно, или вообще не запускаться.
Скачать RDP Wrapper можно с репозитория GitHub: https://github.com/binarymaster/rdpwrap/releases (последняя доступная версия RDP Wrapper Library v1.6.2 вышла относительно недавно – 28 декабря 2017 года). Судя по информации на странице разработчика, поддерживаются все версии Windows. Windows 10 поддержиывается вплость до версии Insider Preview build 10.0.17063.1000 от 13 декабря 2017 года.
Совет. Кстати говоря, доступны исходники RDP Wrapper Library, что позволяет при желании самому собрать исполняемые файлы.
Архив RDPWrap-v1.6.2.zip содержит несколько файлов:
- RDPWinst.exe —программа установки/удаления RDP Wrapper Library
- RDPConf.exe — утилита настройки RDP Wrapper
- RDPCheck.exe — Local RDP Checker — утилита проверки RDP
- install.bat, uninstall.bat, update.bat — пакетные файлы для установки, удаления и обновления RDP Wrapper
Чтобы установить утилиту, запускам файл install.bat с правами администратора.
После окончания установки запускаем RDPConfig.exe. И удостоверяемся, что в секции Diagnostics все элементы окрашены в зеленый цвет.
Примечание. В моем случае, т.к. на компьютере отсутствует доступ в интернет, программа не смогла получить с Github актуальную версию INI файла с настройками под мою версию Windows. Поэтому в статусе указано [not supported]. Скачайте файл rdpwrap.ini с ресурса разработки и поместите его в каталог установки. Перезапустите службу и убедитесь, что надпись [not supported] сменилась на [fully supported].
Из интересных особенностей новой версии RDP Wrapper:
- опция Hide users on logon screen – позволяет скрыть список пользователей на экране приветствия.
- При отключении опции Single session per user — будут разрешены несколько одновременных RDP сессий под одной учетной записью (устанавливается ключ реестра fSingleSessionPerUser = 0 в ветке HKLMSYSTEM CurrentControlSetControlTerminal ServerfSingleSessionPerUser).
В том случае, если после обновления версии Windows, RDP Wrapper не работает, проверьте, что в секции Diagnostics присутствует надпись Listener state: Not listening.
Попробуйте обновить ini файл скриптом update.bat, либо вручную и переустановить службу
rdpwinst.exe -urdpwinst.exe -i
Пытаемся открыть вторую RDP сессию. Все получилось! Теперь наша Windows 10 позволяет одновременно подключаться по RDP сразу двум удаленным пользователям.
Утилита должна работать на всех поддерживаемых на данный момент редакциях Windows : Windows Vista, Windows 7, Windows 8, Windows 8.1 и Windows 10. Таким образом из любой клиентской версии Windows можно сделать сервер терминалов.
Модификация файла termsrv.dll
Примечание. Данный способ применим только к RTM версии Windows 10 x64 (10240).
Убрать ограничение на количество RDP подключений можно с помощью модификации файла termsrv.dll (файл библиотеки, используемый службой Remote Desktop Services). Файл находится в каталоге C:WindowsSystem32).
Перед модификацией файла termsrv.dll желательно создать его резервную копию (в случае необходимости можно будет вернуться к первоначальной версии файла):
copy c:WindowsSystem32termsrv.dll termsrv.dll_backup
Перед правкой файла termsrv.dll нужно стать его владельцем и предоставить группе администраторов полные права на него (все операции выполняются аналогично описанным в статье Убираем ограничение на количество RDP сессий в Windows 8). Затем остановите службу Remote Desktop service (TermService) из консоли services.msc или из командной строки:
Net stop TermService
Для редакции Windows 10 x64 RTM (версия файла termsrv.dll — 10.0.10240.16384): Откройте файл termsrv.dll с помощью любого HEX редактора (к примеру, Tiny Hexer)
Найдите строку:
39 81 3C 06 00 00 0F 84 73 42 02 00
И замените ее на:
B8 00 01 00 00 89 81 38 06 00 00 90
Сохраните файл и запустите службу TermService.
Готовый пропатченный файл termsrv.dll для Windows 10 Pro x64 можно скачать здесь: termsrv_windows_10_x64_10240.zip
По умолчанию операционная система Windows 10 не позволяет нескольким пользователям одновременно подключиться к одному компьютеру, но в современном мире подобная необходимость возникает все чаще и чаще. Причем эта функция применяется не только для удаленной работы, но и для личных целей. Из данной статьи вы узнаете о том, как настроить и использовать терминальный сервер в Windows 10.
Какой бы сложной на первый взгляд не казалась озвученная в теме статьи задача, на самом деле все до неприличия просто. Все что от вас требуется – четко следовать указанным инструкциям. Обратите внимание, что способ подключения схож с таковым в более ранних версиях ОС.
Подробнее: Создание терминального сервера на Windows 7
Шаг 1: Установка специализированного ПО
Как мы уже говорили ранее, стандартные настройки Windows 10 не позволяют использовать систему одновременно нескольким пользователям. При попытке такого подключения вы увидите следующую картину:
Чтобы исправить это, необходимо внести изменения в параметры ОС. К счастью, для этого есть специальный софт, который все сделает за вас. Сразу предупредим, что файлы, о которых пойдет речь далее, модифицируют системные данные. В связи с этим в некоторых случаях они распознаются как опасные для самой Windows, поэтому использовать их или нет – решать только вам. Все описанные действия были проверены на практике нами лично. Итак, приступим, в первую очередь выполните следующее:
- Перейдите по данной ссылке, после чего нажмите на строку, которая указана на изображении ниже.
В результате начнется загрузка архива с нужным софтом на компьютер. По окончании скачивания извлеките все его содержимое в любое удобное место и найдите среди полученных файлов тот, что называется «install». Запустите его от имени администратора. Для этого нажмите на нем правой кнопкой мышки и выберите из контекстного меню строчку с одноименным названием.</li>
Как мы упоминали ранее, система не определит издателя запускаемого файла, поэтому может сработать встроенный «Защитник Windows». Он попросту вас предупредит об этом. Для продолжения нажмите кнопку «Запустить».</li>
Если у вас включен контроль профилей, на экране может появиться запрос на запуск приложения «Командная строка». Именно в ней и будет выполняться инсталляция ПО. Кликните в появившемся окне «Да».</li>
Далее появится окно «Командная строка» и начнется автоматическая установка модулей. Вам необходимо лишь немного подождать, пока не появится просьба нажать любую клавишу, что и нужно сделать. Это автоматически закроет окно инсталляции.</li>Остается лишь проверить все внесенные изменения. Для этого в списке извлеченных файлов найдите «RDPConf» и запустите его.</li>В идеале все пункты, которые мы отметили на следующем скриншоте, должны быть зеленого цвета. Это означает, что все изменения внесены корректно и система готова к подключению нескольких пользователей.</li>На этом первый шаг по настройке терминального сервера завершен. Надеемся, у вас не возникло сложностей. Двигаемся далее.</ol>
Шаг 2: Изменение параметров профилей и настроек ОС
Теперь необходимо добавить профили, под которыми другие пользователи смогут подключаться к нужному компьютеру. Помимо этого, мы произведем некоторую настройку системы. Список действий будет следующим:
- Нажмите на рабочем столе вместе клавиши «Windows» и «I». Это действие активирует окно основных настроек ОС Windows 10.
- Перейдите в группу «Учетные записи».
- В боковой (левой) панели зайдите в подраздел «Семья и другие пользователи». Кликните на кнопку «Добавить пользователя для этого компьютера» несколько правее.
- Появится окно с параметрами входа Windows. Вводить ничего в единственную строку не стоит. Необходимо просто кликнуть по надписи «У меня нет данных для входа этого человека».
- Далее нужно нажать на строку «Добавить пользователя без учетной записи Майкрософт».
- Теперь укажите название нового профиля и ключ к нему. Помните, что пароль следует вводить в обязательном порядке. В противном случае в дальнейшем могут возникнуть проблемы с удаленным подключением к компьютеру. Все остальные поля также нужно заполнить. Но это уже требование самой системы. По окончании нажмите кнопку «Далее».
- Спустя несколько секунд новый профиль будет создан. Если все пройдет успешно, вы увидите его в списке.
- Теперь перейдем к изменению параметров операционной системы. Для этого на рабочем столе на иконке «Этот компьютер» нажмите правой кнопкой мышки. Выберите из контекстного меню параметр «Свойства».
- В следующем открывшемся окне нажмите на отмеченную ниже строчку.
- Перейдите в подраздел «Удаленный доступ». Ниже вы увидите параметры, которые и следует изменить. Отметьте галочкой строку «Разрешить подключения удаленного помощника к этому компьютеру», а также активируйте опцию «Разрешить удаленные подключения к этому компьютеру». По завершении нажмите кнопку «Выбрать пользователей».
- В новом маленьком окне выберите функцию «Добавить».
- Затем необходимо прописать имя пользователя, которому будет открыт удаленный доступ к системе. Сделать это нужно в самом нижнем поле. После ввода названия профиля нажмите на кнопку «Проверить имена», которая находится правее.
- В результате вы увидите, что имя пользователя преобразится. Это значит, что оно прошло проверку и было найдено в перечне профилей. Для завершения операции нажмите «ОК».
- Примените внесенные изменения во всех открытых окнах. Для этого нажмите в них на «ОК» или «Применить». Остается совсем немного.
Шаг 3: Подключение к удаленному компьютеру
Подключение к терминалу будет происходить посредством интернета. Это значит, что нам необходимо сперва узнать адрес системы, к которой будут подключаться пользователи. Сделать это не сложно:
- Откройте вновь «Параметры» Windows 10, используя клавиши «Windows+I» либо меню «Пуск». В настройках системы зайдите в раздел «Сеть и Интернет».
- С правой стороны открывшегося окна вы увидите строку «Изменить свойства подключения». Нажмите на нее.
- На следующей странице будет отображена вся имеющаяся информация о сетевом подключении. Спуститесь вниз до тех пор, пока не увидите свойства сети. Запомните цифры, которые расположены напротив отмеченной на скриншоте строчки:
- Все необходимые данные мы получили. Остается лишь подключиться к созданному терминалу. Дальнейшие действия нужно выполнять на том компьютере, с которого будет происходить подключение. Для этого нажмите на кнопку «Пуск». В списке приложений найдите папку «Стандартные-Windows» и откройте ее. В перечне элементов будет «Подключение к удаленному рабочему столу», его и нужно запустить.
- Затем в следующем окне введите IP адрес, который вы узнали ранее. В завершении нажмите кнопку «Подключить».
- Как и при стандартном входе в систему Windows 10, потребуется ввести имя пользователя, а также пароль от учетной записи. Учтите, что на данном этапе нужно вводить имя того профиля, которому вы дали разрешение на удаленное подключение ранее.
- В некоторых случаях вы можете увидеть уведомление о том, что системе не удалось проверить подлинность сертификата удаленного компьютера. Если такое произойдет, нажмите кнопку «Да». Правда делать это нужно лишь в том случае, если вы уверены в компьютере, к которому подключаетесь.
- Остается лишь немного подождать, пока система удаленного подключения загрузится. При первом подключении к терминальному серверу вы увидите стандартный набор опций, которые при желании можно изменить.
- В конечном итоге подключение должно завершится успехом, и вы увидите на экране изображение рабочего стола. В нашем примере это выглядит следующим образом:
Это все, о чем мы хотели вам рассказать в рамках данной темы. Проделав описанные выше действия, вы без труда сможете подключаться к своему или рабочему компьютеру удаленно практически с любого устройства. Если у вас впоследствии возникнут трудности или вопросы, рекомендуем ознакомиться с отдельной статьей на нашем сайте:
Подробнее: Решаем проблему с невозможностью подключения к удаленному ПКМы рады, что смогли помочь Вам в решении проблемы.Опишите, что у вас не получилось. Наши специалисты постараются ответить максимально быстро.
Помогла ли вам эта статья?
Сервер терминалов на Windows 10 в многопользовательском режимеRDP — это такой протокол удаленного доступа к одному компьютеру (серверу терминалов), который позволяет нескольким пользователям работать одновременно. Прикиньте, у каждого будет свой рабочий стол в режиме реального времени. Но и это еще не все. Многопользовательский режим на законных основаниях вообще недоступен в ОС, рассчитанных для клиентских машин (не серверных). Более того, если во время работы локального пользователя на компьютере, например, с Win 10 Pro будет осуществлено подключение терминального, то система попросит «выкинуть» первого из сессии, выдав сообщение.
В систему вошел другой пользователь. Если вы продолжите, он будет отключен. Вы все равно хотите войти в систему?
То есть по факту работать может только один человек: локальный (он же консольный), либо терминальный. Двое одновременно не уживаются никак. Отсюда вопрос.
Почему RDP на Windows 7/10 не работает для нескольких пользователей
Это решение компании Microsoft, которое основывается на приобретении платных лицензий на каждого подключающегося в таком режиме пользователя. А продаются такие лицензии только для серверных операционных систем. Но для домашних пользователей выход есть и он хорошо показал себя на практике. Главное понять, что в дальнейшем делать с моральным стыдом и угрызениями совести, поскольку такая схема идет вразрез с интересами вышеназванной корпорации. Знакомьтесь с решением, которые поможет-таки организовать сервер терминалов на Windows 7 и 10 в многопользовательском режиме. Это RDP Wrapper Library. Оно прекрасно подойдет для небольшого офиса, где количество рабочих мест около десятка. Данное ПО очень простое в настройке, что всегда хорошо воспринимается техническими специалистами на местах. Есть информация на форумах, что даже Home версии Windows поддерживаются, но я лично не проверял. Давайте переходить к делу и распаковывать скачанный архив. В нем мы видим следующее.
Где:
RDPWInst — установка и удалениеRDPConf — просмотр конфигурацииRDPCheck — проверка работоспособности*.bat — пакетные файлы установки, удаления и обновления
Рекомендую сразу распаковывать архив в рабочий каталог, чтобы потом не переносить файлы по двадцать раз.
Установка сервера терминалов займет секунды
Запускаем от имени администратора файл install.bat и наблюдаем за процессом, который должен завершиться победой, как в нашем случае.
Но еще рано открывать шампанское, необходимо запустить файл RDPConf и убедиться, что все четыре пункта, показанные на скриншоте, горят зеленым цветом.
Если у вас так, значит, примите поздравления, сервер терминалов настроен и готов к работе в многопользовательском режиме. Осталось только создать группу пользователей удаленного рабочего стола, дать им нужные права на ресурсы и вперед. По случаю успешного запуска давайте рассмотрим некоторые интересные функции программы.
Single session per user — одновременный запуск нескольких сессий под логином одного пользователяHide users on logon screen — скрывает список пользователей (карусель) на экране приветствияAllow to start custom programs — автозапуск пользовательских программ при подключении к рабочему столу (как я понимаю)
Также интерес представляет секция с названием «Session Shadowing Mode». Это теневой режим подключения, который позволяет админу наблюдать за активным сеансом пользователя в режиме реального времени. Кому сильно интересно, гуглите.
RDP для Windows 7/10 не подключается
Поговорим о проблемах, ведь ситуации бывают разные. Вот некоторые из популярных траблов. Например, в строке «Listener State» могут красным гореть сообщения типа «Not listening» или «Not Supported». В таком случае попробуйте запустить файл update.bat, чтобы программа скачала последние обновления. Может сложиться ситуация, когда Windows обновилась в фоновом режиме и разработчики данного ПО еще не успели добавить поддержку конкретной сборки операционной системы. Если это не поможет, следует пройти в каталог Program Files — RDP Wrapper, открыть блокнотом файл rpdwrap.ini, спуститься вниз документа и убедиться, что здесь есть секции настроек с указанием номера именно вашей (или выше) сборки Win 7 или 10.
А вот что говорит вкладка «О системе». Как видим, в данном случае полный порядок.
Продолжим разговор о файле rpdwrap.ini, поскольку чаще всего проблемы могут быть именно из-за его настроек, а вернее, их отсутствия. В случае если номера нужной сборки операционной системы в нем нет, нужно проследовать на форум разработчиков, где через какое-то время выкладывают новые версии данного файла. Следует его скачать, перезаписать в рабочем каталоге, затем переустановить службу. Пакетные файлы install.bat и uninstall.bat вам в помощь. Напоследок скажу еще один важный момент. До установки приложения RDP Wrapper Library, никакие другие способы организации терминального сервера на Windows 7/10 не должны осуществляться. Кстати, вариант, описываемый в этой статье, по информации из Сети вроде как не модифицирует никакие системные файлы, а работает как прослойка между службами Windows.Используемые источники:
- https://winitpro.ru/index.php/2015/09/02/neskolko-rdp-sessij-v-windows-10/
- https://lumpics.ru/terminal-server-on-windows-10/
- https://pronetblog.by/rdp-na-windows-7-i-10.html
Терминальный сервер 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 под правами администратора (правой кнопкой мыши на файл и Запуск от имени администратора)
Откроется окно с командной строкой. Дожидаемся окончания установки.
3. По окончании установки запускаем файл RDPConf.exe – приложение настроек и проверки состояния
4. Необходимо убедиться, что все сообщения подсвечены зеленым.
Если у вас все, как на картинке, то поздравляю! Ваш терминальный сервер на Windows 10 готов! Можно подключаться по RDP без ограничений.
Примечание. Если одна из строк в RDPConf.exe у вас горит красным (или стала гореть после обновления Windows), как на картинке ниже, то:
1. проверьте подключение к Интернет
2. запустите пакетный файл update.bat (все есть в архиве с программой)
Снова откройте RDPConf.exe. Все должно гореть зеленым.
RDP Wrapper Library поддерживает работу на ОС Windows 7, Windows 8, Windows 8.1, Windows 10.
На этом все, всем удачи!
Оцените статью. Вам не сложно, а автору приятно
Удаленный рабочий стол на 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 чате, а за новостями и обновлениями игр не забывайте следить на канале ТЕХМО.
Удаленные пользователи могут подключаться к своим компьютерам Windows 10 или 11 через службу удаленных рабочих столов (RDP). Достаточно разрешить RDP доступ и подключиться к компьютеру с помощью любого клиента. Но есть ограничение на количество одновременных RDP сессии – допускается одновременная работа только одного удаленного пользователя. Если вы попробуете открыть вторую RDP сессию, появится предупреждение с запросом отключить сеанс первого пользователя.
Ограничение на количество одновременных RDP подключений в Windows является не техническим, но программным и лицензионным. Таким образом Microsoft запрещает создавать терминальный RDP сервер на базе рабочей станции для одновременной работы нескольких пользователей. Логика Microsoft проста: если вам нужен терминальный сервер — купите лицензию Windows Server, лицензии RDS CAL, установите и настройте роль Remote Desktop Session Host (RDSH).
Технически любая редакция Windows при наличии достаточного количества оперативной памяти может обслуживать одновременную работу нескольких десятков удаленных пользователей. В среднем на одну RDP сессию пользователя без учета запускаемых приложений требуется 150-200 Мб памяти. Т.е. максимальное количество одновременных RDP сессий в теории ограничивается только ресурсами компьютера.
Есть несколько способ решения этого. Я расскажу об одном, который точно работает.
Решение
Будем использовать 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 репозитарии по ссылке.
Чтобы выполнить скрипт, скачайте его на свой компьютер. Далее измените настройки политики запуска скриптов PowerShell:
Set-ExecutionPolicy Bypass -Scope Process -Force
Затем запускаем сам скрипт:
C:usersrootdesktoprdp_patch.ps1
Скрипт можно запускать после установки обновлений Windows, чтобы немедленно внести изменения в файл termsrv.dll (защищает вас от ручной правки файла после каждой установки обновлений). Скрипт подходит для всех версий Windows 10 старше 1809 и для Windows 11.
Преимущество способа включения нескольких RDP сессий в Windows 10 путем замены файла termsrv.dll в том, что на него не реагируют антивирусы.
ВНИМАНИЕ!!! ЕСТЬ ОСОБЕННОСТЬ! При каждом обновлении билда Windows 10 (или при обновлении версии файла termsrv.dll в рамках ежемесячных кумулятивных обновлений) придется снова запускать скрипт.
Спасибо: https://winitpro.ru/index.php/2015/09/02/neskolko-rdp-sessij-v-windows-10/
Как и в прошлых клиентских версиях операционных систем Майкрософт, пользователи Pro и Enterprise Windows 10 редакций могут удаленно подключаться к своим компьютерам через службу удаленных рабочих столов (RDP). Однако есть ограничение на количество одновременных RDP сессии – возможна одновременная работа только одного удаленного пользователя. При попытке открыть вторую RDP сессию, сеанс первого пользователя предлагается завершить.
В систему вошел другой пользователь. Если вы продолжите, он будет отключен. Вы все равно хотите войти в систему?
По сути, ограничение на количество одновременных rdp подключений является не техническим, а скорее лицензионным, запрещающее создавать на базе рабочей станции RDP сервер для работы нескольких пользователей.
Совет. В домашних редакциях Windows 10 входящие подключения к удаленному рабочему столу совсем запрещены, что, впрочем, можно победить с помощью RDP Wrapper Library.
Мы рассмотрим два способа отключить ограничение на количество одновременных RDP подключений к Windows 10:
Примечание. Модификации системы, описанные в этой статье, вероятно, будут считаться нарушением лицензионного соглашения на Windows со всеми вытекающими последствиями.
Модификация файла termsrv.dll
Убрать ограничение на количество RDP подключений можно с помощью модификации файла termsrv.dll (файл библиотеки, используемый службой Remote Desktop Services). Файл находится в каталоге C:WindowsSystem32).
Перед модификацией файла termsrv.dll желательно создать его резервную копию (в случае необходимости можно будет вернуться к первоначальной версии файла):
copy c:WindowsSystem32termsrv.dll termsrv.dll_backup
Перед правкой файла termsrv.dll нужно стать его владельцем и предоставить группе администраторов полные права на него (все операции выполняются аналогично описанным в статье Убираем ограничение на количество RDP сессий в Windows 8). Затем остановите службу Remote Desktop service (TermService) из консоли services.msc или из командной строки:
Net stop TermService
Для редакции Windows 10 x64 RTM (версия файла termsrv.dll — 10.0.10240.16384): Откройте файл termsrv.dll с помощью любого HEX редактора (к примеру, Tiny Hexer)
Найдите строку:
39 81 3C 06 00 00 0F 84 73 42 02 00
И замените ее на:
B8 00 01 00 00 89 81 38 06 00 00 90
Сохраните файл и запустите службу TermService.
Готовый пропатченный файл termsrv.dll для Windows 10 Pro x64 можно скачать здесь: termsrv_windows_10_x64_10240.zip
RDP Wrapper Library
Альтернативой модификации файла termsrv.dll является использования проекта RDP Wrapper Library. Эта программа работает в качестве прослойки между менеджером управления службами (SCM- Service Control Manager) и службой терминалов (Terminal Services) и позволяет включить не только поддержку нескольких одновременных RDP сессии, но и активировать поддержку RDP Host на домашних редакциях Windows 10. RDP Wrapper не вносит никаких изменений в файл termsrv.dll, просто подгружая termsrv с изменёнными параметрами.
Таким образом, это решение будет работать даже при обновлении версии файла termsrv.dll, что позволяет не опасаться обновлений Windows.
Скачать RDP Wrapper можно с репозитория GitHub: https://github.com/binarymaster/rdpwrap/releases (последняя доступная версия RDP Wrapper Library v1.6)
Совет. Кстати говоря, доступны исходники RDP Wrapper Library, что позволяет при желании самому собрать исполняемые файлы.
Архив RDPWrap-v1.6.zip содержит несколько файлов:
- RDPWinst.exe —программа установки/удаления RDP Wrapper Library
- RDPConf.exe — утилита настройки RDP Wrapper
- RDPCheck.exe — Local RDP Checker — утилита проверки RDP
- install.bat, uninstall.bat, update.bat — пакетные файлы для установки, удаления и обновления RDP Wrapper
Чтобы установить утилиту, запускам файл install.bat с правами администратора.
После окончания установки запускаем RDPConfig.exe. И удостоверяемся, что в секции Diagnostics все элементы окрашены в зеленый цвет.
Пытаемся открыть вторую RDP сессию. Все получилось! Теперь наша Windows 10 позволяет одновременно подключаться по RDP сразу двум удаленным пользователям.
Удаленные пользователи могут подключаться к своим компьютерам с 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
Содержание
- Сколько одновременных подключений позволяет удаленный рабочий стол?
- Как увеличить лимит подключения к удаленному рабочему столу
- Как повторно ограничить RDP-соединения
- Другие расширенные параметры конфигурации удаленного рабочего стола
- Не использовать удаленный рабочий стол? Полностью выключить
Сколько одновременных подключений позволяет удаленный рабочий стол?
По умолчанию это Microsoft инструмент разрешает только одно соединение за раз . Когда мы подключаемся к компьютеру через удаленный рабочий стол, мы используем компьютер так, как если бы мы сидели перед ним во время нашего сеанса. Однако, если второй пользователь попытается подключиться к тому же ПК, он увидит сообщение об ошибке, указывающее, что пользователь уже подключен, и что, если мы продолжим, пользователь, который уже находится внутри, будет выгнан.
Чтобы избежать этой проблемы, мы должны сделать следующее: увеличить количество подключений RDP . Таким образом, мы можем настроить ПК так, чтобы два или более пользователей могли подключаться одновременно без проблем и конфликтов.
В целом протокол Microsoft позволяет одновременно подключаться неограниченному количеству пользователей. Для этого нам просто нужно изменить параметр в групповых политиках Windows 10, чтобы иметь возможность изменять это ограничение.
Как увеличить лимит подключения к удаленному рабочему столу
Из конфигурации удаленного рабочего стола мы не можем изменить эти параметры. Чтобы увеличить количество одновременных подключений, нам нужно открыть окно групповой политики Windows 10. Этот инструмент доступен только в Windows 10 Pro, как и RDP, поэтому у нас не должно возникнуть проблем с его поиском.
Чтобы открыть этот инструмент администрирования, мы должны ввести в поисковой системе Windows 10: gpedit.msc . Мы увидим новое окно, подобное следующему, где мы найдем все политики, которые мы можем настроить. Мы также можем сделать это из окна запуска, которое мы можем запустить с помощью сочетания клавиш Windows + R.
Тот, который позволяет нам изменять это значение, можно найти в разделе Политика локального компьютера> Конфигурация компьютера> Административные шаблоны> Компоненты Windows> Службы удаленных рабочих столов > Узел сеанса удаленного рабочего стола> Подключения.
Административный шаблон, который мы хотим изменить: » Ограничить количество подключений ».
Мы дважды щелкаем по нему, и откроется новое окно конфигурации, подобное приведенному ниже.
Здесь первое, что мы должны сделать, это проверить » Включено », Чтобы он начал работать. После этого мы увидим, как активизируется поле внизу, пока серое. В нем мы можем отметить количество одновременных подключений, которые мы хотим, чтобы наш RDP имел. Мы можем выбрать любое число от 1 (одно соединение) до 999999 (неограниченное соединение).
Применяем изменения, принимаем окно и все. Отныне мы сможем подключаться к нескольким компьютерам одновременно через удаленный рабочий стол Windows 10. Если он по-прежнему не работает, нам придется перезагрузить компьютер, чтобы изменения вступили в силу.
Как повторно ограничить RDP-соединения
Если у нас нет сервера, позволять нескольким людям одновременно подключаться к нашему ПК не имеет большого смысла. И не только это, мы можем поставить под угрозу компьютер, так как любой может подключиться, даже не осознавая этого.
В случае, если после изменения лимита пользователей мы сожалеем об этом, мы можем вернуться к его значению по умолчанию, опять же из административных шаблонов. Мы повторно открыть gpedit.msc , мы переходим в раздел Политика локального компьютера> Конфигурация компьютера> Административные шаблоны> Компоненты Windows> Службы удаленных рабочих столов> Узел сеанса удаленного рабочего стола> Подключения> Ограничить количество подключений и перенастраиваем ваше значение на «Не настроено» или «Отключено».
Таким образом мы не позволим групповым политикам управлять количеством подключений RDP, и поэтому мы вернемся к значению по умолчанию, то есть к одному одновременному подключению.
Другие расширенные параметры конфигурации удаленного рабочего стола
Из административных шаблонов удаленного рабочего стола мы также сможем настроить другие параметры этого инструмента. Например, в том же разделе «Подключения» мы сможем активировать автоматическое переподключение для повторного подключения в случае потери соединения или изменения типа сетевого протокола, который мы хотим использовать, либо TCP (для большей надежности), либо UDP (для скорости).
В » Временные папки », Мы сможем активировать или деактивировать использование временных папок для каждого сеанса, или выбрать, хотим ли мы, чтобы они автоматически удалялись при выходе.
Секция » Ограничения по времени сеанса ”Позволяет нам установить продолжительность сеансов, как активных, так и неактивных, чтобы завершить их (или нет) после достижения порогового значения.
И в » Охранник », Мы можем заставить пользователей использовать сертификаты, всегда запрашивать пароль перед подключением или требовать безопасную связь RPC.
Не использовать удаленный рабочий стол? Полностью выключить
Как и любую другую функцию Windows, если мы не используем удаленный рабочий стол, лучшее, что мы можем сделать, это отключить его. Если он у нас активирован, мы открываем дверь для хакеров, чтобы удаленно подключаться к нашему компьютеру и ставить под угрозу нашу безопасность.
Поэтому, если мы не собираемся использовать эту функцию, мы можем деактивировать ее в Windows 10. Для этого мы должны открыть окно настроек Windows 10 и перейти к Система> раздел Удаленный рабочий стол . Здесь мы найдем переключатель, который позволит нам активировать или деактивировать эту функцию одним щелчком мыши.
Если мы отключим RDP, никто не сможет подключиться к нашему компьютеру удаленно. Если он нам понадобится в будущем, нам просто нужно повторно активировать это поле, чтобы иметь возможность использовать этот протокол.
И, если мы хотим иметь больший контроль над учетными записями или пользователями, которые могут получить доступ к этой функции, мы можем ввести » Учетные записи пользователей »В том же меню, которое мы только что видели на предыдущем шаге, чтобы указать учетные записи пользователей, которые могут использовать эту функцию.