Как пропатчить termsrv dll

Обновлено: 04.07.2024

Каким же образом можно заставить работать Windows 7 как полноценный терминальный сервер?

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

Вариант 1

  • Использовать универсальное решение MU (для 32-битной системы) или MUx64 (для 64-битной системы) . Работает для Windows XP SP2/SP3, Vista SP1/SP2, Windows 7, Windows Server 2008 SP1/SP2

Вариант 2

Необходимые условия:

  1. Установленная операционная система MS Windows 7 Максимальная (можете попробовать с другими конфигурациями).
  2. Компьютер с выше упомянутой системой, подключённый к локальной сети.
  3. Компьютер в локальной сети, с которого будем подключаться и который имеет RDP клиента
  4. Администраторские права на компьютере с Windows 7.
  5. Библиотека терминального сервера, в которой отключено ограничение на одну сессию. для 32-битной системы, для 64-битной системы.

Общий план работы:

  • нужно заменить системную библиотеку termsrv.dll на указанную выше
  • создать отдельного пользователя для доступа к удалённому рабочему столу
  • разрешить доступ к удалённому рабочему столу этому пользователю
  • прописать кое-какие ключи реестра
  • протестировать работу.

Выполняем:

Таким образом нам удалось сотворить полноценный сервер терминалов из пользовательской системы.

Вышеописанные манипуляции следует делать только в обучающих, лабораторных целях, не преследуя никаких коммерческих выгод. Для использования данных недокументированных возможностей нужно свериться с лицензионным соглашением на Windows 7 Максимальная. Файлы предложенные для скачивания в данной статье найдены на публичных ресурсах сети Интернет (на момент написания статьи) и автор статьи не имеет отношения к их созданию. Автору (ровно как и владельцу ресурса) ничего неизвестно о нарушениях чьих либо прав и каких-либо лицензионных соглашений фактом распространения указанных файлов.

Поблагодарить:

Оставьте комментарий Отменить ответ

2 мыслей про “ Терминальный сервер из Windows 7 ”

если честно, то реально работает только tsplus. был у нас rds стандартный, отказались. поставили tsplus и работаем без проблем.
у нас 5 пользователей, версия enterprise edition, работаем в веб интерфейсе в 1С, офисный пакет. полет нормальный. сисадмин тихонько посапывает и в ус не дует себе. как то так

Профессиональная и Максимальная версии Windows 7 поставляются с функцией удаленного рабочего стола (RDP) , которая позволяет получить доступ к вашей машине удаленно, находясь вдали от дома или офиса. К сожалению, по умолчанию, она ограничена одной сессией одного пользователя. Это означает, что если кто-то удаленно подключается к вашему компьютеру, а кто-то уже находится в своей сессии, то он будет автоматически отключен, даже если у этого пользователя права администратора.

Для того, что бы позволить нескольким пользователям работать с одним компьютером одновременно, необходимо снять лицензионное ограничение. Для этого команда DeepXW создала универсальный патч. Патч вносит изменения в файл termsrv.dll, который расположен в %SystemRoot%\System32\.

Патч поддерживает: Windows XP SP2 SP3; Vista SP1 SP2; Windows 7 [32bit(x86)/64bit(x64)], Windows Server 2008 SP1/SP2

windows-sessions-patch

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

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

73 комментария на “ Несколько RDP сессий в Windows 7 ”

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

Сергей Кирсанов :

Огромное спасибо! Очень помогло!

А что делать, если поля в окошке UniversalTermsrvPatch-x64.exe не активные?

Сергей Кирсанов :

Вы имеете в виду, что в полях нет соответствующих значений? Точно запускаете патч от имени администратора? Соблюдается соответствие разрядности ОС и UniversalTermsrvPatch?

для вин сервера 2012, никто не знает где патч найти?

Сергей Кирсанов :

А этот не работает?

К сожалению не работает.

Можно сделать так, чтобы две сессии были под одним и тем же пользователем?

Сергей Кирсанов :

Спасибо огромное! Работает.

Какой нахрен патч для серверной оси вам нужен? Это ж сервер,там и так всё есть!

Там есть, если у сервера лицензия легальная, а не пиратская. На пиратской все включить без лицензии не получится

нужно зайти под др. пользователем, после чего завершить процесс explorer.exe в текущем rdp-сеансе и запустить его от имени желаемого пользователя: runas /u:username explorer.exe

Скажите, а если это офисная машина.. этот патч проблем с законом не создаст?

Сергей Кирсанов :

Нет. Однако, не следует рассказывать об этом Вашим сетевикам и безопастникам:)

Дело в том, что в офисе всё на X-систамах стоит и проблема заключается в графических пакетах adobe и coral, так что надо так чтобы дизайнеры и верстальщики могли работать без проблем.

т.е. один официальный windows 7 и все к нему. Можно так? Не накажут если ворвутся?

Сергей Кирсанов :

Усткновил работкет но вот на однгй машине пол дня работает аичерез пол дня начинает писать чтото про службу лицензирования что не достаточное количество лицензий и пользователи не могут подключитьс пока не перезагрузишь машину. Винде переустанавливал но кажлый раз беда одна и таже вин 7 про 64

на WinServer Standart реализуется такое?

Сергей Кирсанов :

ОГРОМНОЕ Спасибо! Все работает.

Это крутой патч, всем советую) Спасибо издателям!

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

Так где можно посмотреть описание всех обновлений, чтобы удалить именно обновление RDP?

Майкрософт опять обновил termsrv.dll, 8B87380600003987 не находит!

Спасибо за инфу

в termsrv.dll (x86) таких последовательностей не нахожу

Уточняю инструкцию.
Последовательность ищем и редактируем не в текстовом режиме а в шестнадцатеричном. Звездочки при поиске не ставим (это просто обозначает любые символы, но мы их потом будем менять).
Работоспособность данной редакции лично проверена, более чем на 15-ти различных системах с Win7, а так же люди отписывались что и на Win8.1 у них тоже это получилось.
Чтобы система дала отредактировать или заменить данный файл, необходимо загрузится со сторонней системы (WinPE), иначе система блокирует файл и не дает его изменить.

Привожу последовательности ещё раз.

К стати этот же способ действует и на Server2008R2, там используется та же DLL.

Значит так.
Сделал я себе по этому рецепту одновременные сессии в Windows 7, но словил следующую траблу:
Если одновременно с RDP-сессией заходит пользователь с основной консоли, то наблюдаются неприятные артефакты во многих программах. А именно: не прорисовываются окна. Например: Опера, Хром, Embarcadero RAD studio. Выглядит это так: вместо окна программы рисуется любой мусор, который был на его месте до появления этого окна. При этом, кстати, браузеры FireFox и IE работают нормально. А стоит только юзера с консоли отключить, как тут же всё нормализуется. Никто не сталкивался?

:)

Прошу совета.
У нас небольшая частная контора с 10 компами, подключаемыми терминальным доступом по локальной сети к 1С 8.2 (файловая версия) на Win Server 2003 R2. Кроме 1С ничего в терминалке не используется. Сейчас назрела необходимость увеличения мощностей сервака, так как 4Гига уже маловато для бызы под 10Гиг. Есть желание перейти на Win Server 2008 R2. Но кто-то подкинул идею установить обычную Win 7 Ultimate и пропатчить RDP, дабы снять ограничение количества терминальных подключений. Она типа будет работать шустрее и не так сложна в настройке. Кто что думает?
P.S. На SQL переходить не собираемся, так как продвинутого админа нет, а я SQL не знаи и по этому боюсь.
Прошу сильно не пинать )

Большое спасибо автору. Особо порадовало то, что файл лежит не на файлообменнике, а на сайте автора. За это отдельное спасибо.

Большое спасибо. Офигенский патч!

Great post with lots of imtrapont stuff.

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

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

Создаеш 2 пользователя:
Пользователя с правами админа и без онных прав.
при подключении просто вводиш данные пользователей в зависимости от задач ( нужен админ вводиш логин пароль админа, аналогично простому пользователю )

Спасибо, работает! Windows 7

Большое спасибо! Все работает! Версия файла 6.1.7601.18637

Подскажите, как можно сделать на RDP чтоб совместим был с видео картой? Или какой нибудь другой протокол есть?

Почему-то я не нашел файл termsrv.dll в директории %SystemRoot%\System32\, хотя патч отработал и достиг своево результата.
Может он правит какой-то другой файл?
Версия Windows Server 2008 R2 Enterprise.

Поясните пожалуйста: в W7x64 есть проверка файлов на сертификацию Microsoft. Ее надо будет отключить? Или этот файлик прокатит ?
Спасибо!

Подскажите пожалуйста как патчить termsrv.dll — 6.1.7601.23403 в Win7 64bit?

Какой штраф будет юр. лицу если использовать этот патч с лицензионной системой?

Все отлично работает, большое спасибо!

СПАСИБО АВТОР. Все работает отлично! Здоровья тебе и удачи!

Подскажите, патч установил пользователей создал захожу с удаленного ПК и сразу выбрасывает.
Что делать.

Здравствуйте. А на Windows 10, будет работать программа?

Чтобы запатчить новые версии (если не менялась значимо логика работы соответствующего участка кода), необходимо сделать следующее:

В квадратных скобках указываются адреса. Если надо взять ДАННЫЕ из ячейки памяти по какому-то адресу, а не сам адрес, то просто пишут адрес в квадратных скобках. Конструкция ТИПА [ESI][000000324] означает, что данные надо взять из ячейки памяти, имеющей адрес, значение которого получается сложением значения в регистре ESI + 324h. В Ассемблере принято писать более понятно [ESI+324h], но автору Hiew было удобнее показывать так, возможно, для наглядности. При вводе команд Hiew отлично принимает стандартные конструкции типа [esi+324], что показано ниже.

Если все работает, значит Вы стали кулхацкером или сделали первый ОСОЗНАННЫЙ шаг на этом пути. Никто не мешает Вам ковырять и познавать дальше, делая мир лучше и добрее. В нете есть много инструкций и целых тематических форумов для тех кто хочет думать своей головой, а не только потреблять ширпотребную порнуху от Матрицы.

Как и в прошлых клиентских версиях операционных систем Майкрософт, пользователи 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:\Windows\System32).

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

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

Создадим резевную копию файла termsrv.dll

Перед правкой файла termsrv.dll нужно стать его владельцем и предоставить группе администраторов полные права на него (все операции выполняются аналогично описанным в статье Убираем ограничение на количество RDP сессий в Windows 8). Затем остановите службу Remote Desktop service (TermService) из консоли services.msc или из командной строки:

Net stop TermService

Служба Remote Desktop service

Для редакции 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

hex редактор

Сохраните файл и запустите службу 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 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

RDPWrap v1.6

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

Установка RDP Wrapper

После окончания установки запускаем RDPConfig.exe. И удостоверяемся, что в секции Diagnostics все элементы окрашены в зеленый цвет.

RDPConfig - диагностика

Пытаемся открыть вторую RDP сессию. Все получилось! Теперь наша Windows 10 позволяет одновременно подключаться по RDP сразу двум удаленным пользователям.


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


Вторым вариантом мог бы стать Linux сервер с развернутым на нем xRDP и запуском на нем многих Windows программ под Wine. Но нужно понимать, что далеко не все программы запустятся на нем, особенно те, которые используют Direct X, все равно скорость работы такой системы будет оставлять лучшего. Но зато затраты будут минимальны. И все легально.

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

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

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

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

Патч поддерживает: Windows XP SP2, SP3; Vista SP1, SP2; Windows 7 [32bit(x86)/64bit(x64)], Windows Server 2008 SP1/SP2

Скачайте и распакуйте архив, затем запустите соответствующий файл с правами администратора (кликните правой кнопкой мыши на исполняемом файле, выберите "Запуск от имени администратора").

  • Для 32bit(x86): UniversalTermsrvPatch-x86.exe
  • Для 64bit(x64): UniversalTermsrvPatch-x64.exe
Появится окно, как на картинке выше, где можно патчить termsrv.dll для снятия ограничения сеансов удаленного рабочего стола, или восстановить исходный файл в любое время (путь к резервному файлу: %SYSTEMROOT%\windows\system32\termsrv.dll.backup). После применения патча, на всякий случай, примените *.reg-файл соответствующий Вашей ОС (для Win7 подойдёт vista.reg) и перезагрузите компьютер и можно приступать к работе.

Так же, с этим патчем в Win 2008, можно не поднимать роль сервера терминалов.

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

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

  • copy c:\Windows\System32\termsrv.dll termsrv.dll_old

Скачайте архив (для x32 и x64 в одном архиве):

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


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



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

Теперь нужно скопировать скачанный вами файл termsrv.dll в C:\Windows\System32 с заменой файла и запустить службу удаленных рабочих столов. Перезагрузите компьютер.

Не забудьте проверить, что вы разрешили подключение к вашему компьютеру по RDP. Если вы все сделали правильно и ошибок система не выдала, то, поздравляю, вы только что сделали из Windows 8.1 Pro свой сервер терминалов!

Для тех пользователей, кто обновился до Windows 10 и хочет из нее сделать сервер терминалов, у меня есть отличная новость - описанный способ в статье о Windows 8.1? применим к этой операционке. Так что вы спокойно можете сделать из Windows 10 сервер терминалов.

Читайте также: