Подробный гайд: несколько одновременных подключений по RDP в Windows 11

Настройка нескольких одновременных RDP-подключений в Windows 11: RDP Wrapper, патчинг termsrv.dll, легальные методы и безопасность.

2026.04.23                  


Подробный гайд: несколько одновременных подключений по RDP в Windows 11Подробный гайд: несколько одновременных подключений по RDP в Windows 11

Важное предупреждение:

  • Все описанные ниже методы обходят лицензионные ограничения Microsoft и могут нарушать условия использования (EULA). Используйте на свой страх и риск, предпочтительно в тестовых средах.

Почему это не работает «из коробки»?

В десктопных версиях Windows 10/11 (Home, Pro, Enterprise) действуют следующие ограничения:

Ограничение Описание
Одна активная сессия При подключении второго пользователя первый автоматически отключается
Блокировка консоли Локальный сеанс блокируется при удалённом подключении, и наоборот
Требования к редакции RDP-сервер работает только в Pro/Enterprise, в Home — отключён

Это программное ограничение лицензии, а не техническая невозможность. Технически любой ПК с достаточным объёмом ОЗУ (~150–200 МБ на сессию) может обслуживать десятки одновременных подключений.

Предварительная настройка (обязательно для всех методов)

1. Включите RDP:

  • ПараметрыСистемаУдалённый рабочий стол → переключите на Включено
  • Или выполните: SystemPropertiesRemote → отметьте «Разрешить удалённые подключения»

2. Добавьте пользователей в группу:

  • ПараметрыУчётные записиСемья и другие пользователи
  • Или через lusrmgr.msc → группа «Пользователи удалённого рабочего стола»

3. Отключите спящий режим:

  • ПараметрыСистемаЭлектропитание → «Никогда»

4. Проверьте брандмауэр:

  • Порт 3389 (TCP) должен быть открыт для входящих подключений

Способ 1: RDP Wrapper Library (рекомендуемый)

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

Установка

1. Скачайте актуальную версию:

  • Официальный релиз: github.com/stascorp/rdpwrap/releases (v1.6.2)
  • Антивирусы могут блокировать как PUA:Win32/RDPWrap — добавьте в исключения

2. Распакуйте архив и запустите от имени администратора:

   install.bat

3. Проверьте статус:

   RDPConfig.exe

Если видите [not supported] — обновите конфигурационный файл.

Обновление rdpwrap.ini (критично после обновлений Windows)

После каждого крупного обновления Windows файл rdpwrap.ini может устареть.

Обновите его:

# Остановите службу
Stop-Service TermService -Force

# Скачайте актуальный конфиг
Invoke-WebRequest `
  https://raw.githubusercontent.com/sebaxakerhtc/rdpwrap.ini/master/rdpwrap.ini `
  -OutFile "C:\Program Files\RDP Wrapper\rdpwrap.ini"

# Перезапустите службу
Start-Service TermService

После обновления все индикаторы в RDPConfig.exe должны стать зелёными, а статус — [Fully supported].

Дополнительные настройки

Параметр Где настроить Описание
Несколько сессий для одного пользователя RDPConfig.exe → «Single session per user» → Off Разрешает одному аккаунту несколько одновременных подключений
Лимит подключений gpedit.msc → Конфигурация компьютера → Административные шаблоны → Компоненты Windows → Службы удалённых рабочих столов → Узел сеансов → Подключения → «Ограничить количество подключений» → 99999
Скрыть пользователей на экране входа RDPConfig.exe → «Hide users on logon screen» Повышает безопасность
Теневой режим (наблюдение) RDPConfig.exe → «Session Shadowing Mode» Позволяет администратору видеть сеанс пользователя

Проверка работы

qwinsta

Пример вывода при двух активных сессиях:

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

Способ 2: Патчинг termsrv.dll (альтернативный)

Предупреждение:

  • Более рискованный метод: требует правки системного файла, может сломаться после обновлений.

Пошаговая инструкция

1. Создайте резервную копию:

   copy C:\Windows\System32\termsrv.dll C:\Windows\System32\termsrv.dll.backup

2. Получите права на файл:

   takeown /F C:\Windows\System32\termsrv.dll /A
   icacls C:\Windows\System32\termsrv.dll /grant Administrators:F

3. Остановите службу:

   net stop TermService

4. Узнайте сборку Windows:

   winver

или

   Get-ComputerInfo | Select WindowsProductName, WindowsVersion

5. Отредактируйте termsrv.dll в HEX-редакторе (Tiny Hexer, HxD):

Сборка Windows Найти (байты) Заменить на
11 24H2 / 25H2 8B 81 38 06 00 00 39 81 3C 06 00 00 75 B8 00 01 00 00 89 81 38 06 00 00 90 EB
11 23H2 39 81 3C 06 00 00 0F 84 75 7A 01 00 B8 00 01 00 00 89 81 38 06 00 00 90
10 22H2 39 81 3C 06 00 00 0F 84 85 45 01 00 B8 00 01 00 00 89 81 38 06 00 00 90

Совет:

  • Ищите начало последовательности 39 81 3C 06 00 00 0F 84, последние 4 байта могут отличаться.

Запустите службу:

   net start TermService

Автоматизация через PowerShell

Используйте актуальный скрипт:

TermsrvPatcher на GitHub - github.com/fabianosrc/TermsrvPatcher — автоматически определяет сборку и применяет патч.

# Разблокируйте скрипт
Unblock-File .\TermsrvPatcher.ps1

# Разрешите выполнение
Set-ExecutionPolicy RemoteSigned -Scope Process -Force

# Запустите
.\TermsrvPatcher.ps1

Преимущество:

  • антивирусы обычно не реагируют на патчинг DLL, в отличие от RDP Wrapper.

Недостаток:

  • требуется повторный патч после каждого обновления termsrv.dll.

Способ 3: Windows 11 Enterprise Multi-Session (официальный)

Единственный лицензионно корректный способ — использовать специальную редакцию Windows 11 Enterprise Multi-Session, предназначенную для Azure Virtual Desktop.

Ключевые особенности:

  • Поддерживает неограниченное число одновременных сессий «из коробки»
  • Лицензируется только для использования в Azure (локальное использование нарушает EULA)
  • Требует активации через KMS или MAK-ключ

Конвертация Pro → Multi-Session (только для тестов!)

# Проверка текущей редакции
DISM /online /Get-CurrentEdition

# Обновление до Enterprise
changepk.exe /ProductKey NPPR9-FWDCX-D2C8J-H872K-2YT43

# Установка GVLK-ключа для Multi-Session
slmgr.vbs /ipk CPWHC-NT2C7-VYW78-DHDB2-PG3GK

# Активация (пример для локального KMS)
slmgr /skms kms.local:1688
slmgr /ato

После перезагрузки настройте лицензирование через gpedit.msc:

  • Компоненты WindowsСлужбы удалённых рабочих столовЛицензированиеPer-User.

Устранение частых проблем

Проблема Решение
[not supported] в RDPConfig Обновите rdpwrap.ini
Listener state: Not listening Переустановите RDP Wrapper: rdpwinst.exe -urdpwinst.exe -i
Ошибка «все подключения заняты» Включите политику «Ограничить количество подключений» → 99999
Не работает печать через RDP В rdpwrap.ini установите SLInitHook.x64=0 для вашей сборки
Сессии «зависают» после обновления Обновите rdpwrap.ini или перепатчите termsrv.dll

Сравнение методов

Критерий RDP Wrapper Патчинг termsrv.dll Enterprise Multi-Session
Сложность Низкая Высокая Средняя
Стабильность Зависит от ini Требует обновления Официальная
Антивирусы Часто блокируют Обычно пропускают Чисто
Обновления ОС Нужно обновлять ini Нужно перепатчить Автоматически
Лицензионная чистота Нарушает EULA Нарушает EULA Только в Azure

Рекомендации по безопасности

  1. Не используйте публичные порты 3389 — смените на нестандартный в RDPConfig.exe или реестре
2. Включите NLA (Network Level Authentication):
  • Параметры RDP → «Разрешать подключения только с компьютеров, на которых работает Remote Desktop с проверкой подлинности»
  1. Используйте сложные пароли и, по возможности, 2FA через RDP-шлюз
  2. Ограничьте доступ по IP через брандмауэр
5. Ведите журнал подключений:
  • Просмотр событийЖурналы WindowsБезопасность → фильтр по событию 4624 (успешный вход)

Совет:

  • Для производственных сред с несколькими пользователями рассмотрите Windows Server + RDS — это единственный полностью легальный и масштабируемый вариант с поддержкой лицензий RDS CAL.