Universal termsrv dll patch windows server 2012
Очень часто в организациях встает задача получения единовременного доступа нескольких пользователей к одному компьютеру в сети. Это может быть какой-то компьютер с уникальным для организации ПО, которое имеется только в единственном экземпляре. Вроде бы ничего страшного нет в том, чтобы подцепиться к этому компьютеру, сделать свою работу на этой программе, сохранить результат на файловое хранилище и все. Однако на деле не все так просто.
Windows имеет в своем составе проприетарный протокол RDP, который позволяет подключиться к любому компьютеру под управлением «окон», если на нем включена данная функция. Казалось бы, ввел команду mstsc, там уже ввел параметры ip и иные данные и пользуйся удаленным компьютером.
Однако никто не отменял всякие ограничения десктопных версий. В клиентских версиях Windows можно единовременно работать только одному пользователю, будь то локальный или удаленный. Хотите большего – пожалуйста, разворачивайте в организации Windows Server, покупайте на него лицензии сервера терминалов и пользуйтесь подобным решением. Все легально и просто. Но стоит денег, причем, немалых.
Вторым вариантом мог бы стать Linux сервер с развернутым на нем xRDP и запуском на нем многих Windows программ под Wine. Но нужно понимать, что далеко не все программы запустятся на нем, особенно те, которые используют Direct X, все равно скорость работы такой системы будет оставлять лучшего. Но зато затраты будут минимальны. И все легально.
Тем не менее, когда нужно пользоваться всего парой-тройкой программ по удаленке и то непостоянно, то приведенные выше примеры просто подобны стрельбе из пушки по воробьям. Гораздо проще из десктопной версии Windows патчем сделать многопользовательский сервер терминалов.
Учтите, что данный способ нарушает лицензию Windows и вы все делаете на свой страх и риск. Если вас все устраивает, тогда давайте приступим.
Наверняка вы слышали, что в основе серверных операционок от Microsoft лежит тоже самое ядро, что и в десктопных версиях. Да, оно дополнено и переработано с учетом специфики, но суть остается такой же. Я просто написал это к тому, чтобы вы поняли, почему описанный способ будет работать без проблем.
Терминальный сервер Windows довольно-таки уникальная технология и своего рода прорывная. Он позволяет нескольким пользователям заходит и работать в системе под своими учетными записями, абсолютно не мешая друг другу. Подобную связку можно сделать на Linux, используя xRDP, однако там всегда что-то идет криво, в противовес винде.
Но только если в случае с Linux в терминальный сервер можно превратить обычный десктопный ПК с такой же версией ОС, то в Windows это не позволяет. Тем не менее, это обходится достаточно читерским способом – патчится библиотека, отвечающая за терминальный сервер.
Патч поддерживает: 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
Так же, с этим патчем в Win 2008, можно не поднимать роль сервера терминалов.
Итак, патч предполагает собой замену оригинального системного файла %SystemRoot%\System32\termsrv.dll (библиотека, используемая службой Remote Desktop Services).
Перед заменой системной библиотеки создадим резервную копию файла termsrv.dll командой:
- copy c:\Windows\System32\termsrv.dll termsrv.dll_old
Теперь, если что-то пойдет не так, всегда можно вернуться к начальной конфигурации, заменив текущий файл оригинальным termsrv.dll_old
Скачайте архив (для x32 и x64 в одном архиве):
В Windows 8 предварительно нужно изменить значение следующих ключей в ветке реестра
HKLM\System\CurrentControlSet\Control\Terminal Server\:
- fDenyTSConnections (DWORD) —0
- fSingleSessionPerUser (DWORD) — 0
Следующий шаг перед заменой файла библиотеки, открыть консоль управления службами (services.msc) и остановить службу Удаленных рабочих столов (Remote Desktop Services)
Теперь нужно скопировать скачанный вами файл termsrv.dll в C:\Windows\System32 с заменой файла и запустить службу удаленных рабочих столов. Перезагрузите компьютер.
Не забудьте проверить, что вы разрешили подключение к вашему компьютеру по RDP. Если вы все сделали правильно и ошибок система не выдала, то, поздравляю, вы только что сделали из Windows 8.1 Pro свой сервер терминалов!
Для тех пользователей, кто обновился до Windows 10 и хочет из нее сделать сервер терминалов, у меня есть отличная новость — описанный способ в статье о Windows 8.1? применим к этой операционке. Так что вы спокойно можете сделать из Windows 10 сервер терминалов.
RDP Wrapper Library v1.6.2: Отказ работы в сервере терминалов больше, чем для одного пользователя
Проблема : При попытке зайти на терминальный сервер появляется ошибка следующего плана:
Ошибка : «В систему вошёл другой пользователь. Если вы продолжите, он будет отключен. Вы всё равно хотите войти в систему?»
Оборудование : Windows 10 Корпоративная (на обоих компьютерах), RDP Wrapper Library v1.6.2 (очень удобная утилита, позволяющая сделать сервер терминалов из любой ОС выше Windows 7).
Решение проблемы : По понятным причинам, если во время ошибки нажать «ДА», то появится диалоговое окно, где скажет, что уже подключен пользователь. И идёт ожидание. А уже подключеному пользователю выйдет окно с предложением «покинуть пляж». Если ничего не нажимать в течение 30 секунд, то всё произойдёт автоматически.
В первую очередь следует поработать с настройками RDP Wrapper Library v1.6.2. В дирректории с дистрибутивом и различными bat-никами есть проверяльщик работы вообще. При попытке его запуска появляется следующее:
«Число разрешённых подключений к этому компьютеру ограничено, и все подключения уже используются. Попробуйте подключиться позже или обратитесь к системному администратору.»
Эта ошибка говорит об уже известном горе: по какой-то причине сбился многопользовательский доступ к компьютеру. Вот только один пользователь может войти. И всё тут. Такое бывало, помнится, когда меня попросили помочь на одном из магазинов. В том случае системный администратор местный установил на сервер (внезапно. ) Windos 10 Home Edition (то бишь для одного пользователя). И (внезапно. ) мог заходить и работать только одни пользователь.
В данном случае на компьютере всё работало в пятницу 19 апреля 2019 года. А в понедельник, 22 апреля 2019 года, всё отказало. ВАЖНО : в понедельник (то есть 22 апреля) сервер был перезагружен.
Очень часто встречается вариант, что кто-то (случайно) установил ограничение на количество подключений. Проверить это можно следующим образом:
1. Запускаем на изменение «Групповую политику» (Пуск — выполнить — gpedit.msc) —
2. Конфигурация компьютера
3. Административные шаблоны
4. Компоненты Windows
5. Службы удаленных рабочих столов
6. Узел сеансов удал. раб столов
8. Ограничить количество подключений (свойство). Здесь установить позицию «Включен», после чего установить количество «999999»
9. После начать «Применить» и перезагружаем компьютер, который является терминальным сервером.
Проблема, однако в том, что изначально было установлено количество «5» (в принципе, почему бы и нет, хватит для небольшого магазина). И после перезагрузки ничего не работало.
Если у вас, как и у меня в этом отдельно взятом случае, ничего не заработало, проблема в данном случае может заключаться в настройках политики безопасности. Однако я в первую очередь полез в обновления компонентов Windows:
Как раз 19.042019 был установлен пакет обновлений для безопасности Microsoft Windows (KB4493464) . Компьютер работал нормально все выходные. А вот в понедельник с утра был перезагружен. В результате все обновления встали. И заработали.
После удаления обновления KB4493464 и перезагрузки сервер терминалов встал нормально. И стал пускать пользователей. Также в настройках RDP Wrapper Library v1.6.2 появилась надпись [fully supported] зелёным цветом. До этого горела надпись [not supported] красным цветом. И даже скачивание файла настроек ini с официального сайта с перезапуском не помогали:
Таким образом, скорее всего обновление безопасности для Windows 10 за порядковым номером KB4493464 не даёт отчего-то нормально работать RDP Wrapper Library v1.6.2. Скорее всего, вскоре появится новый релиз RDP Wrapper Library. А до тех пор я предлагаю всем отключить на время Автоматическое обновление, чтобы пакет KB4493464 не установился снова.
А если мой совет вам действительно помог, то я буду совершенно не против того, чтобы вы помогли мне материально. Ссылка на карту Я.Деньги — 4100 1602 3647 881. Спасибо заодно тем, кто меня уже поддерживает.
Как увеличить количество терминальных сессий в Windows 7 / Как установить терминальный сервер в Windows 7
Как увеличить количество терминальных сессий в Windows 7 / Как установить терминальный сервер в Windows 7
Пользовательские операционные от Microsoft последних поколений, в частности рассматриваемая нами Windows 7, имеют возможность подключения по протоколу RDP (Remote Desktop Protocol). По-русски говоря, это удалённый рабочий стол. В серверных Windows имеется сервер терминалов, позволяющий подключиться к компьютеру посредством удалённого рабочего стола сразу нескольким пользователям. В не серверных системах же имеется ограничение на количество сессий, равное одному. То есть возможность подключится к своему компьютеру удалённо есть, но если в этот момент другой пользователь работает за компьютером, ему придётся завершить свой сеанс, чтобы позволить войти удалённому пользователю.
Ниже представлены два варианта.
- Для тех кто хочет всё и сразу.
- Для тех кто любит всё настраивать сам.
Сервер терминалов на windows 7 — Вариант 1
Как увеличить количество терминальных сессий в Windows 7-01
Сервер терминалов на windows 7 — Вариант 2
- Установленная операционная система MS Windows 7 Максимальная (можете попробовать с другими конфигурациями, думаю, получится).
- Компьютер с выше упомянутой системой, подключённый к локальной сети.
- Компьютер в локальной сети, с которого будем подключаться и который имеет RDP клиента (по сути любой компьютер с операционной системой Windows), в моём случае это ноутбук с Windows XP.
- Администраторские права на компьютере с Windows 7.
- Библиотека терминального сервера, в которой отключено ограничение на одну сессию. для 32-битной системы , для 64-битной системы .
Как увеличить количество терминальных сессий в Windows 7-02
Далее под полем «Разрешения для группы Администраторы» жмём кнопку «Дополнительно». Должно вылезти окошко под названием «Дополнительные параметры безопасности для termsrv.dll», где во вкладке «Разрешения» под полем «Элементы разрешений» нажимаем кнопку «Изменить разрешения».
Как увеличить количество терминальных сессий в Windows 7-03
Вылезет ещё одно окошко под тем же названием, что и перед ним, только теперь вы можете выбрать в поле «Элементы разрешений» элемент «Администраторы» и нажать кнопку «Изменить».
Как увеличить количество терминальных сессий в Windows 7-04
Вылезет окошко «Элемент разрешений для termsrv.dll», где в поле «Разрешения» установите галочку на «Разрешить полный доступ».
Как увеличить количество терминальных сессий в Windows 7-05
Как увеличить количество терминальных сессий в Windows 7-06
Скопируем команду в окно командной строки:
Как увеличить количество терминальных сессий в Windows 7-07
Теперь в списке пользователей находим нашего нового пользователя и двойным кликом по нему открываем свойства пользователя, где заходим во вкладку «Членство в группах» добавляем группы «Администраторы» и «Пользователи удалённого рабочего стола».
Как увеличить количество терминальных сессий в Windows 7-08
Всё готово, осталось только запустить службу «Службы удалённых рабочих столов» (чуть выше мы уже говорили о том, как остановить эту службу, теперь нам нужно её запустить) и разрешить удалённый рабочий стол, для чего в свойствах системы слева выбираем «Настройки удалённого доступа».
Как увеличить количество терминальных сессий в Windows 7-09
Вылезет окошко «Свойства системы» с открытой вкладкой «Удалённый доступ», где в блоке «Удалённый рабочий стол» выбираем средний параметр «Разрешить подключение от компьютеров с любой версией удалённого рабочего стола (опаснее)». Что тут опасного не понятно, но деваться нам некуда, так как я, например, буду подключаться с RDP клиента Windows XP.
Как увеличить количество терминальных сессий в Windows 7-10
Нажимаем кнопку «Выбрать пользователей», добавляем пользователя, созданного для удалённого доступа, с помощью кнопки «Добавить».
Как увеличить количество терминальных сессий в Windows 7-11
Перезагружаем машину, вот теперь действительно всё, на другой машине запускаю RDP клиент, ввожу адрес компьютера с Windows 7, выбираю пользователя, которого мы создавали для удалённого доступа, ввожу пароль и. пользуюсь удалённо своим компьютером в тот момент, когда за ним работает кто-то другой. Таким образом нам удалось сотворить полноценный сервер терминалов из пользовательской системы. Не думаю, что это вполне легальный способ, но для домашних условий подойдёт оптимально.
Популярные Похожие записи:
22 Responses to Как увеличить количество терминальных сессий в Windows 7 / Как установить терминальный сервер в Windows 7
Неплохо, спасибо) Если я не ошибаюсь, то таким образом может подключиться только один пользоватетель, 2 и более будет нарушением. Если вам понадобится больше подключений, могу порекомендовать Thinstuff или MS Server. Программы аналогичны, разница в цене.
Да это хак и это будет нарушение с точки зрения лицензионного соглашения, но мы в России:) и плюс для тестовых вещей подойдет.
Теперь я сделаю сервер терминалов из windows 7, спасибо
Если вы не организация, то почему бы и не использовать бесплатно терминальный сервер? Вас же не кто не будет проверять и это плюс))
Увы, у нас нельзя этого делать, щас пробуем Thinstuff, часто стал в интернете встерчаться данный продукт, вот и посмотрим. Пока 10 дней прошло пробной версии, работает отлично, не думал, что справится. Достойная замена MS Server, ещё и при такой экономии
Добрый день, потом если нетрудно поделитесь мнением про Thinstuff
Спасибо большое, полезная фича!
Спасибо, все работает
Я то же всегда знал, что отличие серверной от десктоповой в этом случае, только в DLL файлике.
Как ни странно, но из семерки еще до сих пор делают, терминальный сервер, у нас на работе админ такое сделал.
Доброго дня. А у меня почему-то после замены dll файла перестаёт работать вовсе.. выскакивает сразу после подключения. восстанавливаю родной dll — работает, но, традиционно, один пользователь.. 🙂
Win7 Pro 64 bit.
Может, знаете как победить такую проблему?
Заранее Спасибо!
Нужны были тонкие клиенты rdp, обратилась в компанию ШАТЛ, купили, установили, все работает без проблем, сэкономили деньги и время.
Спасибо за статью. Может еще тема поддерживается. Спрошу. Как снять ограничение на количество одновременных сеансов от ОДНОГО пользователя? Запускаю второе подключение, а первое вываливается. Спасибо за статью.
Спасибо за оперативную подсказку. Эта проблемка решилась. Но вот незадача, — теперь, при дальнейшем тестировании оказалось, не работает автозапуск программы. Пробовал и в настройках групповых политик. Пробовал прописать в настройках РДП-подключения со стороны клиента. Ноль реакции, то есть даже ошибку не выдает. Просто грузится рабочий стол. Если есть мысли по этому поводу буду очень благодарен.
А в логах на контроллере или самом сервере, есть какие либо события?
После многих экспериментов с разными образами виндовса 7 x64 (тестировал оригинальные с апдейтами и без них) результат одинаков. Кроме того. Пробовал ДО и ПОСЛЕ патча dll
Вот записи журнала (на сервере)
Событие 4101
Лицензия Windows проверена.
Событие 9003, Desktop Windows Manager
Не удается запустить диспетчер окон рабочего стола, так как составная тема не используется
При выходе из терминала:
Событие 9009 Desktop Windows Manager
Диспетчер окон рабочего стола завершил работу с кодом (0x40010004)
Предупреждение 1530 User profile Service
Система Windows обнаружила, что файл реестра используется другими приложениями или службами. Файл будет сейчас выгружен. Приложения или службы, которые используют файл реестра, могут впоследствии работать неправильно.
ПОДРОБНО —
1 user registry handles leaked from \Registry\User\S-1-5-21-3943322579-937382559-1144234863-1001:
Process 868 (\Device\HarddiskVolume5\Windows\System32\svchost.exe) has opened key \REGISTRY\USER\S-1-5-21-3943322579-937382559-1144234863-1001\Printers\DevModePerUser
******************************
Начитался в инете и про удаление некоторых апдейтов и т.д. и т.п.
Ничего не помогает.
Складывается впечатление, что эта ветка функционала не в серверных осях «отрезана».
Еще раз, спасибо за помощь.
В добавок к своему предыдущему комментарию добавлю. Мои подозрения по поводу урезанного функционала win 7 подтвердились. Нашел статью по этой проблематике:
Кратко так: …если на сервере не установлена роль Terminal Services (Remote Desktop Services). Поскольку Windows 7 не поддерживает роль терминального сервера, то, как следствие, игнорирует запуск приложения в качестве оболочки терминальной сессии, за исключением клиентов Windows XP. Многочисленные сообщения в англоязычных форумах подтверждают данный факт…
если честно, то реально работает только tsplus. был у нас rds стандартный, отказались. поставили tsplus и работаем без проблем.
у нас 5 пользователей, версия enterprise edition, работаем в веб интерфейсе в 1С, офисный пакет. полет нормальный. сисадмин тихонько посапывает и в ус не дует себе. как то так