Подробный гайд: Несколько RDP-сессий в Windows 11: установка RDP Wrapper и настройка termsrv.dll
Важно понимать, что файл termsrv.dll — это основной системный файл службы удалённых рабочих столов (Remote Desktop Services). По умолчанию Microsoft ограничивает Windows 11 (как Home, так и Pro) только одной активной сессией: если вы подключаетесь удаленно, локальный сеанс блокируется, и наоборот.
Модификация termsrv.dll (или использование прослойки) позволяет устранить это ограничение и организовать терминальный сервер с несколькими одновременными RDP-сессиями.
В среде системных администраторов не рекомендуется патчить сам файл termsrv.dll вручную (через Hex-редактор), так как при каждом обновлении Windows версия файла меняется, и патч слетает. Вместо этого используется безопасный метод — RDP Wrapper Library. Эта программа работает как прослойка между службой RDP и termsrv.dll, не изменяя сам системный файл.
Ниже представлен подробный гайд по установке и настройке для актуальных сборок Windows 11.
ЭТАП 1: Подготовка системы
1. Отключите автоматические обновления Windows.
Это критически важно. Как только Windows обновится, версия termsrv.dll изменится, и настроенный патч перестанет работать (в RDPConf статус станет красным).
* Пуск -> Параметры -> Центр обновления Windows -> Дополнительные параметры -> Приостановить обновления (выберите максимальный срок).
2. Создайте точку восстановления системы.
- Нажмите
Win + R, введитеsysdm.cpl, перейдите на вкладку «Защита системы» -> «Создать».
3. Добавьте папку с утилитой в исключения антивируса.
Windows Defender и сторонние антивирусы часто реагируют на RDP Wrapper как на HackTool или Exploit и могут удалить файлы при распаковке.
ЭТАП 2: Установка RDP Wrapper (с учетом Windows 11)
Оригинальный проект RDP Wrapper (от stascorp) давно не обновлялся и не поддерживает Windows 11 "из коробки".
Поэтому мы будем использовать актуальные форки от сообщества, которые содержат правильные HEX-смещения для новых версий termsrv.dll.
- Скачайте актуальный форк RDP Wrapper.
Самые надежные и поддерживаемые репозитории на GitHub:
- sebaxakerhtc/rdpwrap.ini (рекомендуется)
- asmtron/rdpwrap
- Распакуйте архив в надежное место (например,
C:\RDPWrap). Не удаляйте эту папку, программа должна работать постоянно. - Нажмите правой кнопкой мыши на файл
addfirewallrules.cmdи выберите «Запуск от имени администратора». Это добавит правила в брандмауэр для порта 3389.
4. Нажмите правой кнопкой мыши на файл install.bat и выберите «Запуск от имени администратора».
- Откроется командная строка, которая установит службу и скопирует файлы в
C:\Program Files\RDP Wrapper.
ЭТАП 3: Обновление файла rdpwrap.ini (КРИТИЧЕСКИ ВАЖНО)
Если вы используете Windows 11 (сборки 21H2, 22H2, 23H2 или 24H2), стандартный файл rdpwrap.ini, который идет в архиве, скорее всего, не содержит смещений для вашей версии termsrv.dll.
- Перейдите в папку
C:\Program Files\RDP Wrapper\. - Найдите файл
rdpwrap.ini.
3. Вам нужно заменить его на актуальную версию из репозитория разработчика.
- Если вы скачивали форк от sebaxakerhtc, просто скопируйте файл
rdpwrap.iniиз скачанного архива и замените им файл вC:\Program Files\RDP Wrapper\. - Если вы используете другой форк, зайдите в его репозиторий на GitHub, найдите файл
rdpwrap.ini, нажмите "Raw", сохраните страницу как.iniфайл и замените старый.
4. После замены файла перезапустите службу терминалов. Откройте командную строку от имени администратора и выполните:
net stop termervice
net start termervice
(Если служба не останавливается, используйте net stop termsservice или перезагрузите ПК).
ЭТАП 4: Проверка статуса
- Запустите файл
RDPConf.exeот имени администратора.
2. В открывшемся окне вы увидите три статуса:
- wrapper install state — должно быть зеленым
Installed. - Service state — должно быть зеленым
Running. - Listener state — должно быть зеленым
Listening(или[Fully supported]).
3. Если все три статуса зеленые, патч установлен успешно!
*Примечание:
Во вкладке RDPConf.exe на вкладке "RDP" можно настроить порт (по умолчанию 3389), безопасность (Security layer лучше поставить на 0 - RDP Security Layer, если возникают проблемы с подключением старых клиентов) и галочку "Enable RemoteApp server".*
ЭТАП 5: Настройка пользователей для RDP
По умолчанию Windows разрешает подключаться только администраторам.
Если вы хотите пускать обычных пользователей:
- Создайте локальную учетную запись с паролем (Пуск -> Параметры -> Учетные записи -> Другие пользователи). Без пароля по RDP подключиться нельзя!
- Нажмите
Win + R, введитеsysdm.cpl-> вкладка «Удаленный доступ» -> кнопка «Выбрать пользователей...». - Добавьте созданных пользователей в группу «Пользователи удаленного рабочего стола».
4. Важно для Windows 11 Pro/Enterprise: Откройте групповые политики (gpedit.msc).
- Перейдите: Конфигурация компьютера -> Конфигурация Windows -> Компоненты Windows -> Службы удаленных рабочих столов -> Узел сеансов удаленных рабочих столов -> Ограничить количество одновременных подключений.
- Убедитесь, что политика Отключено или Включено, а максимальное количество подключений установлено, например,
999999.
ЭТАП 6: Решение проблем (Troubleshooting)
Проблема 1: Статус "Listener state" красный (Not listening)
Это означает, что в файле rdpwrap.ini нет HEX-смещений для вашей конкретной версии termsrv.dll.
Как узнать свою версию:
- Зайдите в
C:\Windows\System32\. - Найдите
termsrv.dll, нажмите правой кнопкой -> Свойства -> вкладка «Подробно». - Запомните версию файла (например,
10.0.22621.1234). - Зайдите в файл
C:\Program Files\RDP Wrapper\rdpwrap.iniс помощью Блокнота.
5. Нажмите Ctrl+F и поищите свою версию (например, [10.0.22621.1234]).
- Если раздел есть, но он пустой или не работает, вам нужно найти актуальные HEX-коды для этой версии на GitHub (в Issues репозитория sebaxakerhtc или asmtron) и вставить их вручную.
- Если раздела нет вообще, вам нужно найти свежий
rdpwrap.iniв интернете, где эта версия уже добавлена.
Проблема 2: Обновление Windows сломало RDP
Если Windows обновилась и RDP перестал работать:
- Узнайте новую версию
termsrv.dll(как описано выше). - Скачайте свежий
rdpwrap.iniиз GitHub-репозиториев (разработчики обычно добавляют поддержку новых сборок в течение нескольких дней). - Замените файл в
C:\Program Files\RDP Wrapper\и перезапустите службу (net stop termservice & net start termservice).
Проблема 3: Ошибка "0x80004001" или "0x80070005" при подключении
Часто связана с настройками безопасности (NLA - Network Level Authentication).
- Откройте
RDPConf.exe. - На вкладке "Authentication" снимите галочку с "Network Level Authentication" (если она там есть) или измените "Security Layer" на
0(RDP Security Layer) или2(SSL). - Перезапустите службу.
Альтернатива: Ручной патчинг termsrv.dll (Для опытных пользователей)
Если вы не хотите использовать RDP Wrapper, вы можете модифицировать сам файл.
Суть метода: В бинарном коде termsrv.dll нужно найти байты, отвечающие за проверку лицензии и ограничения сессий, и изменить их.
- Нужно стать владельцем файла
C:\Windows\System32\termsrv.dllи дать себе полные права (через Свойства -> Безопасность -> Дополнительно). - Сделать резервную копию оригинального файла (
termsrv.dll.bak). - Остановить службу удаленных рабочих столов (
net stop termservice). - Открыть файл в HEX-редакторе (например, HxD).
5. Найти специфические HEX-последовательности.
- Для Windows 11 (в зависимости от сборки) обычно ищется паттерн, связанный с
LocalOnlyилиSingleSession. - Например, для некоторых сборок Win 11 нужно найти байты
8B 87 38 06 00 00и заменить наB8 00 01 00 00 90. - Точные HEX-коды строго зависят от версии файла! Универсального кода для всех Windows 11 не существует.
6. Сохранить файл и запустить службу (net start termservice).
Минусы ручного метода:
- Сложность подбора HEX-кодов для каждой новой сборки.
- Риск повредить систему, если дать права на файл некорректно.
- Необходимость повторять всю процедуру после каждого обновления Windows.
Именно поэтому RDP Wrapper (Этапы 2-4) является стандартом де-факто для настройки терминального сервера на Windows 11.
Мы делимся этой технической информацией, чтобы помочь вам в решении задач — используйте её с пониманием. Статья носит рекомендательный характер, поэтому, пожалуйста, применяйте описанные методы осмотрительно.