Убираем ограничение на количество rdp сессий. Исправляем недостатки RDP с помощью RDP Wrapper Library

04.07.2021

Приветствую вас, дорогие читатели и снова Тришкин Денис на связи.

Недавно я встретился с таким вопросом, как «Удаленный рабочий стол» (RDP Windows 7). Это инструмент позволяет работать с компьютером, используя другое устройство. Так, например, пользователь может с помощью домашнего оборудования выполнять все необходимые функции на ПК, расположенном в офисе. Согласитесь, в некоторых ситуациях такая возможность является удобной. Но при этом сначала необходимо все правильно отладить.

Для того, чтобы включить rdp, нужно выполнить несколько действий:

Установка соединения ( )

Чтобы установить подключение по rdp, необходимо для начала знать его IP-адрес. Для этого на искомом устройстве заходим в командную строку (открываем «» и прописываем «cmd »).

В появившемся окне указываем «». Откроется список, в котором необходимо отыскать строку с параметром IPv4. Цифры, которые указаны напротив, и есть нужные нам данные.

После этого на компьютере, с которого планируем осуществлять подключение, запускаем rdp клиент или «». Для этого необходимо зайти в «Пуск », а затем отправиться в «Стандартные ».

увеличить

Откроется окно, где задается адрес оборудования (IPv4). Затем нажать «».

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

Перед этим есть возможность выбора «Параметров », где предусмотрены различные настройки rdp:


Обновление ( )

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

Для корректного функционирования необходимо правильно указать все настройки. Но в некоторых случаях этого недостаточно. Также стоит вовремя устанавливать все выходящие обновления rdp от Microsoft. Это можно делать не только в соответствующем центре, предусмотренном в самой операционной системе, но и на официальной странице разработчика.

Смена порта RDP ( )

Для стандартного подключения к удаленному компьютеру используется порт 3389. При этом взаимодействие происходит посредством TCP протокола. Поэтому он используется без udp.

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

Для процедуры необходимо воспользоваться редактором реестра:


Нет подключения ( )

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

Windows XP Professional и Windows XP Media Center Edition (MCE) имеют сервис подключения удалённого рабочего стола (RDP) , который позволяет удалённо подключить компьютер,получить доступ и управление с другого компьютера или хоста. Тем не менее, машины на операционной системе Windows XP позволяют одновременное подключение к удаленному рабочему столу только одного пользователя который был подключен к нему, без нескольких сеансов подключения удаленного рабочего стола или соединения поддержки.

Всякий раз, когда удаленный пользователь подключается через клиент к удаленному рабочему столу (RDC) для подключения к хосту Windows XP , локальный пользователь отключается с блокировкой консоли, или без его разрешения. Удаленный рабочий стол , в отличие от терминального сервера услуги в Windows Server 2003 и Server 2008, предназначен для одноразового использования пользователем, независимо от того, это локальный или удаленный пользователь.

Вот хак для разблокировки одного ограничения который позволяет несколько одновременных Remote Desktop Connection сессий в Windows XP Professional и Media Center Edition, используя либо пропатченный termserv.dll или старый пропатченный termserv.dll сборки версии 5.1.2600.2055, так, что неограниченное число пользователей могут одновременно подключиться к компьютеру с помощью удаленного рабочего стола .

  1. Скачать копию пропатченного, который снимет ограничения удаленного подключения к рабочему столу отключенную для вашей версии Windows XP:

Windows XP SP3: termsrv.dll (версия 5.1.2600.5512)

Для получения информации termsrv.dll патч обычно имеет следующие биты HEX кодов,которые перезаписываются в следующие значения:

00022A17: 74 75
00022A69: 7F 90
00022A6A: 16 90

  1. Перезагрузите компьютер и загрузите информацию в безопасном режиме, нажав F8 во время начальной загрузки и выберите безопасный режим . Этот шаг необходим только если вы в данный момент используете Windows Terminal Services или службы удаленного рабочего стола , защита файловой системы должна быть пропущена, иначе появиться следующее сообщение об ошибке, чтобы восстановить исходный termsrv.dll.

3.Перейдите в % WINDIR% System32 и сделайте резервную копию (или переименуйте) termsrv.dll .

4.Переименуйте или удалите termserv.dll в папке % WINDIR% System32 Dllcache .

5.Скопируйте загруженный termsrv.dll в % WINDIR% System32 , % WINDIR% ServicePackFiles i386 (если есть) и % WINDIR% System32 Dllcache .

6.Затем скачайте и запустите, чтобы объединить значения реестра в registery, или вы можете запустить редактор реестра вручную и добавить следующие параметры реестра:



«EnableConcurrentSessions» = DWORD: 00000001


«AllowMultipleTSSessions» = DWORD: 00000001

7.Нажмите на кнопку Пуск -> Выполнить и введите команду gpedit.msc , нажмите Enter , чтобы открыть редактор групповой политики.

8.Перейдите в Computer Configuration -> Административные шаблоны -> Компоненты Windows -> Службы терминалов .

9.Включить ограничить число подключений и установить число подключений в 3 (или более). Настройка позволяет более одного использования компьютера одновременно.

10.Обеспечить включение Remote Desktop на вкладке Удаленные Свойства системы, выбрав переключатель Разрешить пользователям удаленно подключаться к этому компьютеру .

11.Включите быстрое переключение пользователей в Панели управления -> Учетные записи пользователей -> Изменение входа пользователей в систему или выключение .

12.Перезагрузите компьютер в обычном режиме.

Замечу, если вы не можете заменить или переписать файл termserv.dll - доступ запрещен или ошибка файла, выключите «Termine услуги» в разделе «Услуги» Панель управления «Администрирование». Кроме того, каждое подключенное физическое соединение должно иметь свой собственный пользовательский аккаунт в целевом компьютере, и должны проходить проверку подлинности с соответствующим собственным именем пользователя и паролем учетных данных.

Для удаления и возврата к оригинальному termsrv.dll, просто удалите исправленную версию, а также переименуйте резервную копию обратно в «termsrv.dll». Если службы терминалов включены и работают,Вам нужно сделать это в безопасном режиме,.

Если компьютер с Windows XP подключен к домену, в локальную сеть, Windows будет установливать значение RegKey «AllowMultipleTSSessions» в «0» каждый раз, когда компьютер не будет перезапущен. Для того, чтобы было несколько или неограниченное количество сеансов удаленного подключения к рабочему столу допускается в среде домена AD, значение данных для «AllowMultipleTSSessions» которое должно быть установлен в «1» при каждом старте системы. Чтобы изменить значение, просто перезапускайте ts_multiple_sessions.bat каждый раз при запуске компьютера. Кроме того, положите ts_multiple_sessions.bat в C: Documents и Settings All Users Главное меню Программы Автозагрузка папки так, что он будет автоматически запускаться на первого пользователя с правами администратора. Другое решение состоит в установке дополнительного сервиса или определение ключа в ветке реестра HKEY_LOCAL_MACHINE SOFTWARE Microsoft Windows CurrentVersion Run , через которую работает автоматически пакетный файл при загрузке, и это полезно, если компьютер не будет регистрироваться никем, но все ещё ​​требуется работнику, чтобы позволить неограниченные подключения к удаленному рабочему столу для работы.

Другое дело, если пользователь закрывает удаленное соединения вместо завершения сеанса, когда он или она пытается снова войти в систему,появиться сообщение об ошибке кодом 4226 связанное с TCP / IP событием. Чтобы решить эту проблему, загрузите и установите Windows XP TCP / IP, ограничивая подключение и Event ID 4226 патч, и установите связь, по крайней мере 50.

Данная сборка построена на оригинальном образе Microsoft Windows XP Professional SP3 русская версия, со всеми обновлениями!Диск мультизагрузочный. СКАЧАТЬ БЕСПЛАТНО -


В ОС Windows 8 / 8.1, как и предыдущих версиях клиентских ОС Microsoft, поддерживается только одно одновременное входящее RDP-подключение . Это означает что к компьютеру Windows 8 через удаленный рабочий стол может одновременно подключиться только один пользователь (одна сессия), локальная или удаленная. В большинстве случаев этого достаточно, но иногда хотелось бы иметь возможность одновременной работы сразу нескольких пользователей в собственных сессиях. Хорошим примером может быть компьютер в роли Media Center, когда в консольной сессии воспроизводится видео, и одновременно необходимо удаленно поработать с системой без прерывания видео на TV.

Совет. Удаленный RDP доступ не работает в домашних (Home) редакциях Windows, требуется редакции Pro или Enterprise.

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

Совет . Предварительно в свойствах компьютере на вкладке Удаленный доступ (Remote) нужно и добавить учетные записи нужных пользователей в локальную группу Remote Desktop Users. Локальным администраторам удаленный RDP доступ разрешен по умолчанию. После включения RDP доступа в свойствах системы, Windows Firewall автоматически включает правила, разрешающий входящий трафик на порт 3389. Иногда наличие этого правила следует проверить вручную.

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

Тем не менее, на просторах интернета можно найти специальный патч, позволяющий обойти это ограничение. Благодаря этому патчу несколько пользователей смогут одновременно подключиться по RDP к компьютеру с Windows 8 / Windows 8.1.

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

Итак, патч предполагает собой замену оригинального системного файла %SystemRoot%\System32\termsrv.dll (библиотека, используемая службой Remote Desktop Services).

  • Windows 8 – termsrv.dll-win8.zip
  • Windows 8.1 — termsrv.dll-win8.1.zip

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

Copy c:\Windows\System32\termsrv.dll termsrv.dll_old

Теперь, если что-то пойдет не так, всегда можно вернуться к начальной конфигурации, заменив текущий файл оригинальным termsrv.dll_old.

Скачайте архив с библиотекой для своей версии Windows.

В Windows 8 предварительно нужно изменить значение следующих ключей в ветке реестра HKLM\System\CurrentControlSet\Control\Terminal Server\ :

  • fDenyTSConnections (DWORD) —0 (ключ позволяет на компьютере)
  • fSingleSessionPerUser (DWORD) — 0

Эту же операцию можно выполнить из командной строки:

REG ADD "HKLM\SYSTEM\CurrentControlSet\Control\Terminal Server" /v fDenyTSConnections /t REG_DWORD /d 0 /f REG ADD "HKLM\SYSTEM\CurrentControlSet\Control\Terminal Server" /v fSingleSessionPerUser /t REG_DWORD /d 0 /f

Затем переходим в каталог C:\Windows\System32 , находим файл termsrv.dll и открываем его свойства.

По-умолчанию, владельцем этого файла является TrustedInstaller и даже у администратора нет прав на его замену.

Перейдем на вкладку Security и нажмем кнопку Edit . В списке доступа найдите группу локальных администраторов и предоставьте ей полные права на файл (Full Control ) и сохраните изменения.

Следующий шаг перед заменой файла библиотеки, открыть консоль управления службами (services.msc ) и остановить службу Remote Desktop Services .

Скопируем файл termsrv.dll из скачанного архива для своей версии Windows в каталог %SystemRoot%\System32\ (с заменой).

Примечание . Архив для Windows 8.1 содержит два файла 32_termsrv.dll и 64_termsrv.dll , для 32-х и 64-х битной версии Windows 8.1 соответственно. Распакуйте архив и переименуйте файл для своей версии системы в termsrv.dll

После замены файла запустите службу Remote Desktop Services и попытайтесь создать две RDP сессии с пропатченной машиной под разными учетными записями. Если вы все сделали правильно, должны открыться две независимые сессии удаленного рабочего стола.

Совет . Возможно потребуется перезагрузка компьютера.

Важно ! Использование пропатченной версии termsrv.dll имеет ряд недостатков. Главный из которых – при установке очередного обновления Windows 8.1 / 8 этот файл может быть заменен. Соответственно, придется самостоятельно с помощью HEX редактора патчить новый файл, либо искать в интернете готовый модифицированный файл для вашего билда Windows.

В качестве решения, устойчивого к замене файла termsrv.dll при установке обновлений Windows, следует использовать открытое Open Source решение RDP Wrapper Library (доступен на GitHub), которое не правит файл termsrv.dll, и является прослойкой между службой Terminal Services и SCM. Подробнее об использовании RDP Wrapper Library можно почитать .

Привет. Как вам всем известно, на клиентских ОС от Microsoft разрешено одновременно работать только одному пользователю. Выражается это в том, что если вы подключаетесь к удаленному рабочему столу, и уже есть активный пользователь, то выскакиват предупреждение, что активный пользователь будет отключен.

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

Как это сделать на Windows 10 я сегодня вам покажу.

Тут можно заморочиться, и делать всё в ручную - править реестр, заменять dllки и т. д., но способ о котором я буду рассказывать гораздо проще. Есть проект под название rdp wrapper, который позволяет сделать терминальный сервер из Windows 10 буквально за 2 клика. Кстати, и на windows 7 и на windows 8 этот способ так же работает.

В общем качаем архив , распаковываем его куда-нибудь, и запускаем командную строку от имени администратора.

В ней переходим в папку, куда был распакован архив архив (кто не в курсе - команда cd путь\до\файла

И выполняем команду install.bat

Так же в комплекте идет утилита для изменения некоторых настроек - RDPConf.exe.

Здесь можно обратить внимание на возможность легкой смены порта, на котором висит наш rdp сервер, и еще несколько настроек, которые вам могут оказаться полезными.

Теперь добавим дополнительного пользователя для теста. Жмем win+r (или правой кнопкой по пуску - выполнить) и набираем lusrmgr.msc. Заходим в пользователи.

Жмем действие новый пользователь, даем ему имя и пароль.

Все, теперь можно подключаться. Кстати, вы можете подключиться со своего же компьютера на совой же под другой учеткой, для этого в адресе подключения нужно ввести 127.0.0.2.


Как и в прошлых клиентских версиях операционных систем Майкрософт, пользователи 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 есть следующие основные ограничения на использование службы удаленного рабочего стола:

  1. Поддержка RDP доступа имеется только в старших редакциях Windows (Professional и выше), а в домашних редакциях (Home) этот функционал отключен.
  2. Возможно только одно удаленного RDP подключения. При попытке открыть вторую RDP-сессию, пользователю предлагается завершить существующее подключение.
  3. В том случае, есть пользователь работает за консолью компьютера (локально), при удаленном подключении 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. Поэтому в статусе указано . Скачайте файл rdpwrap.ini с ресурса разработки и поместите его в каталог установки. Перезапустите службу и убедитесь, что надпись сменилась на .

Из интересных особенностей новой версии RDP Wrapper:

  • опция Hide users on logon screen – позволяет .
  • При отключении опции Single session per user — будут разрешены несколько одновременных RDP сессий под одной учетной записью (устанавливается ключ реестра fSingleSessionPerUser = 0 в ветке HKLM\SYSTEM\ CurrentControlSet\Control\Terminal Server\fSingleSessionPerUser).

В том случае, если после обновления версии Windows, RDP Wrapper не работает, проверьте, что в секции Diagnostics присутствует надпись .

Попробуйте обновить ini файл скриптом update.bat , либо вручную и переустановить службу

rdpwinst.exe -u
rdpwinst.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:\Windows\System32).

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

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

Перед правкой файла termsrv.dll нужно стать его владельцем и предоставить группе администраторов полные права на него (все операции выполняются аналогично описанным в статье ). Затем остановите службу 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.