Подключение к удаленному рабочему столу windows 10 несколько пользователей

Удаленные пользователи могут подключаться к своим компьютерам Windows 10 или 11 через службу удаленных рабочих столов (RDP). Достаточно включить удаленный рабочий стол (Remote Desktop), разрешить RDP доступ для пользователя и подключиться к компьютеру с помощью любого клиента удаленного рабочего стола. Однако в десктопных версия Windows есть ограничение на количество одновременных RDP сессии. Разрешается только один активный Remote Desktop сеанс пользователя.

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

В систему вошел другой пользователь. Если вы продолжите, он будет отключен. Вы все равно хотите войти в систему?

В систему вошел другой пользователь. Если вы продолжите, он будет отключен. Вы все равно хотите войти в систему?

В английской версии предупреждение такое:

Another user is signed in. If you continue, they’ll be disconnected. Do you want to sign in anyway?

Содержание:

  • Ограничения на количество RDP сессий в Windows
  • RDP Wrapper: разрешить несколько RDP сеансов в Windows
  • Не работает RDP Wrapper в Windows
  • Модификация файла termsrv.dll для снятия ограничений RDP в Windows 10 и 11
  • Встроенная поддержка нескольких RDP сессий в редакции Windows 10 Enterprise Multi-session

Ограничения на количество RDP сессий в Windows

Во всех десктопных версиях Windows 10 и 11 есть ряд ограничений на использование служб удаленного рабочего стола

  1. Разрешено удаленно подключаться по RDP только к редакциям Windows Professional и Enterprise. В домашних редакциях (Home/Single Language) RDP доступ запрещен;
  2. Поддерживается только одно одновременное RDP подключение. При попытке запустить вторую RDP-сессию, пользователю будет предложено завершить активный сеанс;
  3. Если пользователь работает за консолью компьютера (локально), то при удаленном подключении по RDP, его локальный сеанс будет отключен (заблокирован). Также завершается и удаленный RDP сеанс, если пользователь входит в Windows через консоль компьютера.

Ограничение на количество одновременных RDP подключений в Windows является не техническим, но программным и лицензионным. Таким образом Microsoft запрещает создавать терминальный RDP сервер на базе рабочей станции для одновременной работы нескольких пользователей.

Если ваши задачи требуют развертывание терминального сервера, Microsoft предлагает пробрести Windows Server (по умолчанию разрешает 2 активных RDP подключения). Если вам нужно большее количество одновременных сессий пользователей, нужно приобрести лицензии RDS CAL, установить и настроить роль Remote Desktop Session Host (RDSH) или полноценную RDS ферму.

Технически любая редакция Windows при наличии достаточного ресурсов оперативной памяти и CPU может обслуживать одновременную работу нескольких десятков удаленных пользователей. В среднем на одну RDP сессию пользователя требуется 150-200 Мб памяти (без учета запускаемых приложений). Т.е. максимальное количество одновременных RDP сессий в теории ограничивается только ресурсами компьютера.

В этой статье мы покажем три способа убрать ограничение на количество одновременных RDP подключений в Windows 10 и 11:

  • Использование RDP Wrapper
  • Модификации системного файла termsrv.dll
  • Апгрейд до редакции Windows 10/11 Enterprise for virtual desktops (multi-session)

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

Прежде, чем продолжить, проверьте что в настройках Windows включен протокол Remote Desktop.

  • Откройте панель Settings -> System —> Remote Desktop -> включите опцию Enable Remote Desktop;settings - включить rdp в windows
  • Либо воспользуйтесь классической панель управления: выполните команду SystemPropertiesRemote -> Перейдите на вкладку Remote Settings (Удаленный доступ), включите опцию Allow remote connection to this computer (Разрешить удалённые подключения к этому компьютеру).

RDP Wrapper: разрешить несколько RDP сеансов в Windows

Open-source утилита RDP Wrapper Library позволяет разрешить конкурентные RDP сессии в Windows 10/11 без замены системного файла termsrv.dll.

RDP Wrapper работает в качестве прослойки между менеджером управления службами Service Control Manager, SCM) и службой терминалов (Remote Desktop Services). RDP Wrapper не вносит никаких изменений в файл termsrv.dll, просто загружая termsrv с изменёнными параметрами.

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

Вы можете скачать RDP Wrapper из репозитория GitHub: https://github.com/binarymaster/rdpwrap/releases (последняя доступная версия RDP Wrapper Library v1.6.2). Утилита не обновляется с 2017 года, но ее можно использовать на всех билдах Windows 10 и 11. Для работы утилиты в современных версиях Windows достаточно обновить конфигурационный файл rdpwrap.ini.

Большинство антивирусов определяют RDP Wrapper как потенциально опасную программу. Например, встроенный Microsoft Defender антивирус классифицирует программу как PUA:Win32/RDPWrap (Potentially Unwanted Software) с низким уровнем угрозы. Если настройки вашего антивируса блокируют запуск RDP Wrapper, нужно добавить его в исключения. Антвирус определеяет RDPwrapper как PUA-Win32-RDPWrap

Архив RDPWrap-v1.6.2.zip содержит несколько файлов:

  • RDPWinst.exe —программа установки/удаления RDP Wrapper Library;
  • RDPConf.exe — утилита настройки RDP Wrapper;
  • RDPCheck.exe — Local RDP Checker — утилита для проверки RDP доступа;
  • install.bat, uninstall.bat, update.bat — пакетные файлы для установки, удаления и обновления RDP Wrapper.

Архив RDPWrap-v1.6.2.zip

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

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

После окончания установки запустите RDPConfig.exe.

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

Скорее всего сразу после установки утилита покажет, что RDP wrapper запущен (Installed, Running, Listening), но не работает. Обратите внимание на красную надпись. Она сообщает, что данная версий Windows 10 (ver. 10.0.19041.1949) не поддерживается ([not supported]).

Причина в том, что в конфигурационном файле rdpwrap.ini отсутствует секция с настройками для вашего версии (билда) Windows. Актуальную версию файла rdpwrap.ini можно скачать здесь https://raw.githubusercontent.com/sebaxakerhtc/rdpwrap.ini/master/rdpwrap.ini

Вручную скопируйте содержимое данной страницы в файл «C:\Program Files\RDP Wrapper\rdpwrap.ini». Или скачайте файл с помощью PowerShell командлета Invoke-WebRequest (предварительно нужно остановить службу Remote Desktop):

Stop-Service termservice -Force
Invoke-WebRequest https://raw.githubusercontent.com/sebaxakerhtc/rdpwrap.ini/master/rdpwrap.ini -outfile "C:\Program Files\RDP Wrapper\rdpwrap.ini"

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

alert] Можно создать задание планировщика для проверки изменений в файле rdpwrap.ini и его автоматического обновления [/alert]

На данном скриншоте видно, что на компьютере установлена свежая версия файла rdpwrap.ini (Updated=2023-06-26).

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

запуск rdpwrapper в windows 11

Теперь попробуйте установить несколько одновременных RDP сессий с этим компьютером под разными пользователями (воспользуйтесь любым RDP клиентом: mstsc.exe, RDCMan, mRemoteNG и т.д.).

Можете проверить что на компьютере активны одновременно две RDP сессии (или более) с помощью команды:

qwinsta

rdp-tcp#0         user1                 1  Active
rdp-tcp#1         user2                 2  Active

qwnista: вывести активные rdp сессии в windows

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

Утилита RDPWrap поддерживается во версиях Windows (включая домашние редакции Windows Home), таким образом из любой клиентской версии Windows можно сделать полноценный сервер терминалов.

В интерфейсе RDP Wrapper доступны следующие опции:

  • Enable Remote Desktop — включить/отключить Remote Desktop в Windows доступ
  • RDP Port — можно изменить стандартный номера порта удаленного рабочего стола TCP 3389
  • Опция Hide users on logon screen позволяет скрыть список пользователей на экране приветствия;
  • Single session per user —разрешить несколько одновременных RDP сессий под одной учетной записью пользователя. Эта опция устанавливает параметр реестра fSingleSessionPerUser = 0 в ветке HKLM\SYSTEM\CurrentControlSet\Control\Terminal Server). Также этот параметр настраивается через опцию GPO Restrict Remote Desktop Services to a single Remote Desktop Services session в разделе Computer Configuration > Administrative Templates > Windows Components > Remote Desktop Services > Remote Desktop Session Host > Connections.
  • В секции Session Shadowing Mode вы можете настроить режим теневого подключения к рабочему столу пользователей Windows .

Не работает RDP Wrapper в Windows

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

Во время установки обновлений Windows может обновиться версия файла termsrv.dll. Если в файле rdpwrap.ini отсутствует описание для вашей версии Windows, значит RDP Wrapper не может применить необходимые настройки. В этом случае в окне RDP Wrapper Configuration будет указан статус [not supported].

В этом случае нужно обновить файл rdpwrap.ini как описано выше.
Если RDP Wrapper не работает после обновления файла rdpwrap.ini, попробуйте открыть файл rdpwrap.ini и найти в нем описание для вашей версии Windows.
Как понять, есть ли поддержка вашей версии Windows в конфиг файле rdpwrapper?
На скриншоте ниже показано, что для моей версии Windows 11 (10.0.22621.317) есть две секции с описаниями:

[10.0.22621.317]
...
[10.0.22621.317-SLInit]
...

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

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

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

Listener state: Not listening

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

rdpwinst.exe -u
rdpwinst.exe -i

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

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

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

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

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

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

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

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

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

Чтобы убрать ограничение на количество RDP подключений пользователей в Windows без использования rdpwrapper нужно заменить файл termsrv.dll. Это файл библиотеки, которая используется службой Remote Desktop Services. Файл находится в каталоге C:\Windows\System32.

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

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

Затем нужно стать владельцем файла. Проще всего это сделать из командной строки. Чтобы сменить владельца файла с TrustedInstaller на группу локальных администраторов с помощью команды:

takeown /F c:\Windows\System32\termsrv.dll /A

Должно появится сообщение: «SUCCESS: The file (or folder): «c:\Windows\System32\termsrv.dll» now owned by the administrators group».

Теперь с помощью icacls.exe предоставьте группе локальных администраторов полные права на файл termsrv.dll (Full Control):

icacls c:\Windows\System32\termsrv.dll /grant Administrators:F
(или
Администраторы
в русской версии Windows).

Должно появится сообщение: «processed file: c:\Windows\System32\termsrv.dll Successfully processed 1 files; Failed processing 0 files«.

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

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

Net stop TermService

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

Служба Remote Desktop service

Чтобы узнать номер билда вашей Windows, выполните команду winver или следующую команды PowerShell:

Get-ComputerInfo | select WindowsProductName, WindowsVersion

В моем случае установлена Windows 10 билд 22H2.

Затем откройте файл termsrv.dll с помощью любого HEX редактора (к примеру, Tiny Hexer). В зависимости от билда нужно найти и заменить строку:

Версия Windows Найти строку Заменить на
Windows 11 22H2 39 81 3C 06 00 00 0F 84 75 7A 01 00  

B8 00 01 00 00 89 81 38 06 00 00 90

Windows 10 22H2 39 81 3C 06 00 00 0F 84 85 45 01 00
Windows 11 RTM ( 21H2 22000.258) 39 81 3C 06 00 00 0F 84 4F 68 01 00
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 22H2 19045.2006 (версия файла termsrv.dll — 10.0.19041.1949) нужно открыть файл termsrv.dll в Tiny Hexer. Затем найдите строку:

39 81 3C 06 00 00 0F 84 85 45 01 00

И замените ее на:

B8 00 01 00 00 89 81 38 06 00 00 90

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

Сохраните файл и запустите службу TermService.
Если что-то пошло не так, и у вас возникнут проблемы со службой RDP, остановите службу и замените модифицированный файл termsrv.dll исходной версией:

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

Преимущество способа отключения ограничения на количество RDP сессий в Windows путем замены файла termsrv.dll в том, что на него не реагируют антивирусы. В отличии от утилиты RDPWrap, которую многие антивирусов считают Malware/HackTool/Trojan. Основной недостаток — вам придется вручную править файл после каждого обновления билда Windows (или при обновлении версии файла termsrv.dll в рамках ежемесячных кумулятивных обновлений).

Встроенная поддержка нескольких RDP сессий в редакции Windows 10 Enterprise Multi-session

Недавно Microsoft выпустило специальные Enterprise редакции Windows multi-session (ранее назывались Windows 10 Enterprise for Remote Sessions и Windows 10 Enterprise for Virtual Desktops).

Редакция Enterprise multi-session доступна как для Windows 10, так и для Windows 11.

Главная особенность этой редакции – она поддерживает множественные одновременные RDP сессии пользователей прямо из коробки. Несмотря на то, что редакцию Windows multi-session разрешено запускать только в виртуальных машинах Azure, вы можете вам установить эту редакцию в on-premises сети и использовать данный компьютер терминальный сервер (хотоя это будет нарушением лицензионной политики Microsoft).

Далее мы покажем, как обновить компьютер с Windows 10 Pro до Windows 10 Enterprise for Virtual Desktop и использовать его для одновременного подключения нескольких пользователей.

Откройте командную строку и проверьте текущую редакцию Windows (Professional в этом примере):

DISM /online /Get-CurrentEdition

узнать текущую редакцию windows

Обновите вашу редакцию Windows с Pro до Enterprise:

Changepk.exe /ProductKey NPPR9-FWDCX-D2C8J-H872K-2YT43

Теперь установить GVLK ключ для Windows 10 Enterprise for Remote Sessions:

slmgr.vbs /ipk CPWHC-NT2C7-VYW78-DHDB2-PG3GK

Апгрейд windows до редакции enterprise remote sessions

Проверьте, что теперь ваша редакция Windows 10 изменилась на
ServerRdsh
(Windows 10 Enterprise for Virtual Desktops).

Редакция windows 10 ServerRdsh

Активируйте вашу копию Windows Enterprise Multi-Session на вашем KMS сервере:

slmgr /skms msk-man02.winitpro.local:1688
slmgr /ato

kms активация windows 10 ServerRdsh

Откройте редактор локальной GPO
(gpedit.msc
) и включите Per-User режим лицензирования в параметре Set the Remote Desktop licensing mode (Computer Configuration -> Policies -> Administrative Templates -> Windows Components -> Remote Desktop Services -> Remote Desktop Session Host -> Licensing).

per-user режим лицензирования RDS

После активации нужно перезагрузить Windows. Теперь попробуйте подключиться к компьютеру по RDP под несколькими пользованиями. Как вы видите, Windows 10 Enterprise multi-session одновременные RDP подключения поддерживаются прямо из коробки.

Get-ComputerInfo | select WindowsProductName, WindowsVersion, OsHardwareAbstractionLayer

Windows 10 Enterprise for Virtual Desktops 2009           10.0.19041.2728

qwinsta

несколько активных rdp сеансов в windows 10 enterprise virtual desktop 2009

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

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

Удаленные пользователи могут подключаться к своим компьютерам с ОС Windows 10 и Windows 11 через службы удаленных рабочих столов (RDP). Достаточно включить RDP в настройках устройства и подключиться к компьютеру с помощью любого клиента удаленного рабочего стола, такого как MSTSC. Но существует ограничение на количество одновременных сеансов RDP – одновременно может работать только один удаленный пользователь. Если вы попытаетесь открыть второй сеанс RDP, появится предупреждение с просьбой отключить сеанс первого пользователя.

Изменения от 04.07.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 Файл Files\RDP Wrapper\rdpwrap.ini” и перезапустить службу TermService. Но у меня это ни разу не получилось, ввиду того, что при перезапуске службы, оригинальный файл rdpwrap.ini восстанавливался на место нового.

Немного поискав решение этой проблемы, наткнулся на файл автоматического обновления rdpwrap.ini:

  • С сайта GitHub
  • С нашего сайта

Необходимо скопировать файлы RDPWinst.exe, RDPConf.exe, RDPCheck.exe и autoupdate.bat в каталог C:\Program Файл Files\RDP Wrapper\ и запустить autoupdate.bat.

После завершения установки запустите RDPConfig.exe

Все работает!

Обновление Параметров Групповой политики

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

В этом случае вы можете использовать редактор локальной групповой политики (gpedit.msc), чтобы включить политику “Ограничить количество подключений” в разделе Конфигурация компьютера -> Административные шаблоны -> Компоненты Windows -> Службы удаленных рабочих столов -> Узел сеансов удаленных рабочих столов -> Подключения –> Ограничить количество подключений.
Измените его значение на 999999.

Модификация Termsrv.dll

Второй, более трудозатратный метод – изменение файла Termsrv.dll.
для этого нужно сделать копию файла, затем нужно стать владельцем файла.

Для начала, остановите службу удаленного рабочего стола (TermService) из командной строки:
Net stop TermService

Чтобы изменить владельца файла с TrustedInstaller на локальную группу администраторов нужно выполнить команду:
takeown /F c:\Windows\System32\termsrv.dll /A

Теперь предоставьте локальной группе администраторов разрешения на полный контроль над termsrv.dll файл с использованием icacls.exe:
icacls c:\Windows\System32\termsrv.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 версия сборки: 19045.2486 и 19045.2604
Версия файла termsrv.dll: 10.0.19041.2075

Открываем файл в WinHex, находим исходную последовательность: 39 81 3C 06 00 00 0F 84 85 45 01 00.

Меняем на строку замены.

Обновление от 04.07.2023 г.

Скачать измененный файл termsrv.dll для конкретной версии Windows 10 можно в данной таблице.

Версия Windows Скачать termsrv.dll

Windows 10 x64 22H2 сборка 19045.2486 и 19045.2604

termsrv.dll

Windows 10 x64 22H2 сборка 19045.3086

termsrv.dll

Сохраните модифицированный файл и запустите службу TermService.

Если что-то пойдет не так, остановите службу и замените измененный termsrv.dll файл с оригинальной версией.
В моем случае модификация файла помогла включить несколько сеансов RDP.

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

Основным недостатком является то, что вам придется вручную редактировать termsrv.dll файл при каждом обновлении сборки Windows 10/11. И если вы используете RDPWrap, вам также потребуется обновить файл rdpwrap.ini после установки обновлений Windows.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Данная статья представляет собой пошаговую инструкцию по настройке Windows 10 в качестве терминального сервера с доступом по RDP.

После настройки, к одному компьютеру смогут одновременно подключаться несколько пользователей по RDP (Remote Desktop Protocol — протокол удалённого рабочего стола). Наиболее популярное применение данного решения — работа нескольких пользователей с файловой базой 1С.

Процесс настройки показан на примере Windows 10 Enterprise x64, однако данное руководство полностью подходит для установки на других ОС Windows.

Внимание! статья написана исключительно в научных интересах. Лицензия Windows не позволяет использовать ОС в таком режиме.

СОДЕРЖАНИЕ

  • I. Создание пользователя и настройка прав для доступа по RDP
  • II. Настройка терминального сервера с доступом по RDP
  • III. Подключение к удаленному рабочему столу
  • IV. Часто задаваемые вопросы по теме статьи (FAQ)

Для настройки Windows 10 в качестве терминального сервера с доступом по RDP понадобятся:

1. Компьютер с установленной операционной системой Windows 10 и правами администратора, подключённый к локальной сети;

2. Компьютер в локальной сети, с которого будет производиться подключение и который имеет RDP клиент (прим. требуется ОС Windows XP/Vista/7/8/8.1/10 и т.д.);

3. Библиотека: RDP Wrapper Library Скачать c GitHub RDP Wrapper Library

I. Создание пользователя и настройка прав для доступа по RDP

1. Нажмите на значок поиска  , затем с помощью поисковой строки найдите и выберите Управление учетной записью (Рис.1).

2. В открывшемся окне выберите Семья и другие люди, затем нажмите Добавить пользователя для этого компьютера (Рис.2).

3. Нажмите на пункт У меня нет данных для входа этого человека (Рис.3).

4. Нажмите на пункт Добавить пользователя без учетной записи Майкрософт (Рис.4).

5. В соответствующих полях введите имя пользователя (прим. в данном примере это UserRDP), пароль для новой учётной записи и подсказку для пароля, затем нажмите Далее (Рис.5).

6. В окне параметров Вы увидите нового пользователя (прим. в данном примере это UserRDP) (Рис.6).

7. Нажмите на значок поиска  , затем с помощью поисковой строки найдите и выберите Этот компьютер, через правую кнопку мыши откройте меню и нажмите Управлять (Рис.7).

8. В открывшемся окне выберите: Служебные программы > Локальные пользователи и группы > Пользователи, затем выберите пользователя (прим. в данном примере это UserRDP), перейдите на вкладку Членство в группах и нажмите Добавить… (Рис.8).

9. Нажмите Дополнительно… (Рис.9).

10. Нажмите Поиск, выберите из списка Пользователи удаленного рабочего стола и нажмите OK (Рис.10).

11. Нажмите OK (Рис.11).

12. Нажмите Применить, затем OK (Рис.12).

II. Настройка терминального сервера с доступом по RDP

1. Нажмите на значок поиска  , затем с помощью поисковой строки найдите и выберите Система (Рис.13).

2. Нажмите Настройка удалённого доступа, в открывшемся окне перейдите на вкладку Удалённый доступ, выберите пункт Разрешить удалённые подключения к этому компьютеру, затем нажмите Применить и OK (Рис.14).

3. Распакуйте (прим. с помощью WinRAR или просто открыть через Проводник) скачанную Вами ранее библиотеку RDP Wrapper Library. Откройте папку и запустите от имени администратора (прим. используя правую кнопку мыши) файл install,после чего начнётся установка (Рис.15).

4. После окончания установки нажмите любую клавишу (Рис.16).

5. Нажмите на значок поиска  , затем с помощью поисковой строки найдите и выберите Выполнить (Рис.17).

6. В открывшемся окне введите gpedit.msc и нажмите OK (Рис.18).

7. Выберите: Конфигурация компьютера > Административные шаблоны > Компоненты Windows > Службы удалённых рабочих столов > Узел сеансов удалённых рабочих столов > Подключения > Ограничить количество подключений (Рис.19).

8. В открывшемся окне выберите пункт Включить, установите в параметрах разрешённое количество подключений к удалённым рабочим столам на 999999, затем нажмите Применить и OK. Перезагрузите компьютер (Рис.20).

III. Подключение к удаленному рабочему столу

1. Используя второй компьютер, находящийся в той же локальной сети, нажмите Пуск, с помощью поисковой строки найдите, а затем выберите Подключение к удалённому рабочему столу (Рис.21).

2. В открывшемся окне ведите имя компьютера к которому следует подключиться (прим. Тот, на котором производились все настройки), затем нажмите Подключить (Рис.22).

3. Прежде всего, выберите пользователя (прим. в данном примере это UserRDP) и введите пароль от учётной записи, который Вы указывали ранее (прим. см. Рис.5), затем нажмите OK (Рис.23).

4. В появившемся окне нажмите Да, после чего начнётся сеанс удаленного подключения (Рис.24).

 Настройка Windows 10 в качестве терминального сервера с доступом по RDP завершена!

IV. Часто задаваемые вопросы по теме статьи (FAQ)

Не работает терминальный сервер в Windows 10

Если у вас изначально не заработал терминальный сервер на windows 10 и количество rdp подключений ограничено одним. Либо если у вас после обновление сломался терминальный доступ, то давайте разбираться, что с этим делать.

Для начала запустите утилиту RDPConf.exe и посмотрите ее вывод.

Не работает терминальный сервер в Windows 10 после обновления

Значение listener state [not supportet] намекает на то, что у нас проблемы и rdp wrapper не работает. Проблема тут в том, что практически под каждую версию Windows 10 нужен свой файл конфигурации rdpwrap.ini. Так как автор давно забросил свою программу, автоматически эти конфигурации не обновляются. Их нужно либо писать самому, если понимаешь, как именно, либо искать где-то в интернете. Проще всего посмотреть в обсуждении проблем в репозитории на github https://github.com/stascorp/rdpwrap/issues.

Для того, чтобы на моей версии windows 10 заработал терминальный сервер, я пошел в указанный выше репозиторий и нашел там файл конфигурации под свою версию системы. Я взял содержимое этого файла и добавил его в существующий файл C:\Program Files\RDP Wrapper\rdpwrap.ini в самый конец.

После этого запустил еще раз RDPConf.exe.

Восстановление rdpwrap

Статус изменился на [fully supported]. Теперь нужно перезагрузить компьютер. После этого запустите утилиту RDPCheck.exe и убедитесь, что можно подключиться второй учетной записью к компьютеру.

Как починить rdpwrap после обновления windows

Если вы нигде не можете найти файл конфигурации rdpwrap.ini под вашу версию системы, то можно попробовать сделать следующий трюк. В некоторых случаях это помогает. По крайней мере у меня так иногда получалось.

Вам нужно найти рабочую конфигурацию под максимально близкую к вам версию. Далее просто в текстовом редакторе поменяйте указанную там версию на свою. Если разница в версиях не сильно большая, может помочь. Я видел в issues на гитхабе информацию о том, что получалось сразу же после поломки терминального доступа после очередного обновления, отредактировать конфиг под новую версию и все снова продолжало работать.

Так же в одном из обсуждений на github была предложена утилита с автоматическим обновлением rdpwrap.ini. Называется Automatic RDP Wrapper installer and updater — https://github.com/stascorp/rdpwrap/pull/859. Описание и инструкция по использованию есть внутри архива. Судя по отзывам, штука неплохая, работает. Если кратко, то пользоваться так:

  1. Скачиваем архив
  2. Распаковываем в Program Files/RDP Wrapper
  3. От имени администратора запускаем Program Files/RDP Wrapper/autoupdate.bat
  4. Проверяем конфигурацию через RDPConf.exe и пробуем подключаться.

В целом про превращение windows 10 в сервер терминалов для одновременного подключения и работы нескольких пользователей по rdp у меня все. Все очень легко и просто, можно использовать по необходимости для решения прикладных задач.

Является ли создание сервера терминалов из Windows 10 нарушением лицензии?

Однозначно, да. У Microsoft есть отдельный продукт и отдельная программа лицензирования для работе в терминале. И все это стоит немалых денег. Так что создавая терминал из windows 10 вы точно нарушаете условия лицензионного соглашения.

Как обезопасить себя в случае обновления операционной системы? Очень часто после этого терминальный режим перестает работать.

Надежнее всего отложить обновление и подождать, пока не появится rdpwrap.ini под новую версию обновленной системы. После этого можно самому обновиться и обновить конфигурационный файл.

Автор RDP Wrapper забросил свою программу?

Судя по всему, да. Обновлений давно не было. Меняются только конфигурационные файлы rdpwrap.ini, которые обновляет сообщество. Сама программа при этом не обновляется.

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

Да, не работает. Если вы все сделали правильно, то можно работать как локально, так и удаленно одновременно разным пользователям. Если одновременно не получается работать больше, чем одному пользователю, значит терминальный режим в windows 10 не работает.

Можно ли не обновлять систему, чтобы не сломать терминальный доступ?

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

Join @AdmNtsRu on Telegram

Смотрите также:

UPD от 16.03.2023: для Windows 10 версии 22H2 данный скрипт у меня не сработал. Пришлось подменять пропатченный файл termsrv.dll. Скачать.

Файл в системе лежит по пути %Windows/system32. Перед тем как заменить файл необходимо отключить службу удаленных рабочих столов (TermService). После этого копируем пропатченный файл termsrv.dll (не забывая забэкапить оригинальный). После замены снова запускаем службу TermService. 

Удаленные пользователи могут подключаться к своим компьютерам 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:\windows\system32\termsrv.dll
Copy-Item c:\windows\system32\termsrv.dll c:\windows\system32\termsrv.dll.copy
takeown /f c:\windows\system32\termsrv.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 -Encoding byte
$dll_as_text = $dll_as_bytes.forEach('ToString', 'X2') -join ' '
$patternregex = ([regex]'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
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:\windows\system32\termsrv.dll.patched -Encoding Byte -Value $dll_as_bytes_replaced
# Сравним два файла
fc.exe /b c:\windows\system32\termsrv.dll.patched c:\windows\system32\termsrv.dll
# замена оригинального файла
Copy-Item c:\windows\system32\termsrv.dll.patched c:\windows\system32\termsrv.dll -Force
Set-Acl c:\windows\system32\termsrv.dll $termsrv_dll_acl
Start-Service UmRdpService
Start-Service TermService

Полный код скрипта доступен в GitHub репозитарии по ссылке.

Чтобы выполнить скрипт, скачайте его на свой компьютер. Далее измените настройки политики запуска скриптов PowerShell:

Set-ExecutionPolicy Bypass -Scope Process -Force

Затем запускаем сам скрипт:

C:\users\root\desktop\rdp_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/

  • Поддерживает ли core 2 duo windows 10
  • Подключение к интернету установить не удалось windows 10
  • Подключение к системе невозможно так как домен недоступен windows xp
  • Подключение к принтеру windows не удается подключиться к принтеру не найдено ни одного принтера
  • Подключение к интернету отсутствует windows 10 но интернет есть что делать