Как увеличить количество терминальных сессий в Windows 7 / Как установить терминальный сервер в Windows 7

Обновлено 23.04.2019

Windows 7 logoПользовательские операционные от Microsoft последних поколений, в частности рассматриваемая нами Windows 7, имеют возможность подключения по протоколу RDP (Remote Desktop Protocol). По-русски говоря, это удалённый рабочий стол. В серверных Windows имеется сервер терминалов, позволяющий подключиться к компьютеру посредством удалённого рабочего стола сразу нескольким пользователям. В не серверных системах же имеется ограничение на количество сессий, равное одному. То есть возможность подключится к своему компьютеру удалённо есть, но если в этот момент другой пользователь работает за компьютером, ему придётся завершить свой сеанс, чтобы позволить войти удалённому пользователю.


Лицензионное соглашение операционной системы Windows XP Professional разрешает 10 удаленных сетевых подключений без дополнительной лицензии (Windows XP Home Edition соответственно 5). Это означает, что используя ниже перечисленные методы Вы не нарушаете лицензионное соглашение. Каким же образом можно заставить работать Windows 7 как полноценный терминальный сервер. Которые позволили мне работать за компьютером обойдя ограничение в одну рабочую сессию.

Ниже представлены два варианта.

  1. Для тех кто хочет всё и сразу.
  2. Для тех кто любит всё настраивать сам.

Сервер терминалов на windows 7 - Вариант 1

Использовать универсальное решение (для 32-битной системы) или (для 64-битной системы) . Работает для Windows XP SP2/SP3, Vista SP1/SP2, Windows 7, Windows Server 2008 SP1/SP2.
Скачиваем и запускаем от имени Администратора, правым кликом. Жмем Path и перезагружаемся и будет вам счастье.
Как увеличить количество терминальных сессий в Windows 7-01

Как увеличить количество терминальных сессий в Windows 7-01

Сервер терминалов на windows 7 - Вариант 2

  1. Установленная операционная система MS Windows 7 Максимальная (можете попробовать с другими конфигурациями, думаю, получится).
  2. Компьютер с выше упомянутой системой, подключённый к локальной сети.
  3. Компьютер в локальной сети, с которого будем подключаться и который имеет RDP клиента (по сути любой компьютер с операционной системой Windows), в моём случае это ноутбук с Windows XP.
  4. Администраторские права на компьютере с Windows 7.
  5. Библиотека терминального сервера, в которой отключено ограничение на одну сессию. для 32-битной системыдля 64-битной системы.
Всё готово, можно начинать!
Общий план работы у нас таков: нужно заменить системную библиотеку termsrv.dll на указанную выше, создать отдельного пользователя для доступа к удалённому рабочему столу, разрешить доступ к удалённому рабочему столу этому пользователю, сделать так, чтобы этот пользователь имел администраторские права (можно и не давать таких прав, мне они нужны, чтобы работать удалённо на компьютере без каких-либо ограничений), прописать кое-какие ключи реестра, протестировать работу.
Как известно, Windows 7 ограничивает доступ к своим системным файлам даже администраторам. то есть для того, чтобы заменить файл termsrv.dll, необходимо предоставить такие права администратору, мало того, изменить владельца файла. Для осуществления выше описанного кликаем правой кнопкой мыши по значку "Мой компьютер" и выбираем "Управление" или через "Панель управления" > "Администрирование" > "Управление компьютером" заходим в "Службы" и останавливаем службу "Службы удалённых рабочих столов". Через проводник заходим на C:\Windows\System32 и ищем там файлик termsrv.dll. Кликаем по нему правой кнопкой мыши, выбираем "Свойства". Далее заходим во вкладку "Безопасность", в поле "Группы или пользователи" выбираем группу Администраторы (вы же зашли в систему под администраторской учётной записью, правильно? Если нет, стоит исправить положение). В приведённых ниже иллюстрациях у меня уже выставлены все параметры и разрешения.
Как увеличить количество терминальных сессий в Windows 7-02

Как увеличить количество терминальных сессий в Windows 7-02

Далее под полем "Разрешения для группы Администраторы" жмём кнопку "Дополнительно". Должно вылезти окошко под названием "Дополнительные параметры безопасности для termsrv.dll", где во вкладке "Разрешения" под полем "Элементы разрешений" нажимаем кнопку "Изменить разрешения".

Как увеличить количество терминальных сессий в Windows 7-03

Как увеличить количество терминальных сессий в Windows 7-03

Вылезет ещё одно окошко под тем же названием, что и перед ним, только теперь вы можете выбрать в поле "Элементы разрешений" элемент "Администраторы" и нажать кнопку "Изменить".

Как увеличить количество терминальных сессий в Windows 7-04

Как увеличить количество терминальных сессий в Windows 7-04

Вылезет окошко "Элемент разрешений для termsrv.dll", где в поле "Разрешения" установите галочку на "Разрешить полный доступ".

Как увеличить количество терминальных сессий в Windows 7-05

Как увеличить количество терминальных сессий в Windows 7-05

Во всех окошках нажимаем ОК для применения внесённых изменений. Теперь для изменения владельца файла termsrv.dll открываем командную строку с правами администратора.
Как увеличить количество терминальных сессий в Windows 7-06

Как увеличить количество терминальных сессий в Windows 7-06

Скопируем команду в окно командной строки:

takeown /f C:\Windows\System32\termsrv.dll
Нажимаем Enter. Система должна сообщить нам о том, что владелец файла изменён на текущего пользователя. Переименовываем файл termsrv.dll во что-нибудь типа termsrv.dll.original, оставив его в качестве резервной копии. Скачанный файл переименовываем в termsrv.dll и копируем его в C:\Windows\System32.

Теперь производим записи в реестр, копируя команды в командную строку:

REG ADD "HKLM\SYSTEM\CurrentControlSet\Control\Terminal Server" /v fDenyTSConnections /t REG_DWORD /d 0 /f
REG ADD "HKLM\SYSTEM\CurrentControlSet\Control\Terminal Server" /v fSingleSessionPerUser /t REG_DWORD /d 10 /f

В последней команде 10 - количество одновременных сессий. Можете здесь поставить нужное вам количество. Далее нам нужно создать пользователя, через которого мы будем подключаться по RDP. Для этого кликаем правой кнопкой мыши по значку "Мой компьютер" и выбираем "Управление" или через "Панель управления" > "Администрирование" > "Управление компьютером" выбираем "Локальные пользователи и группы" в дереве слева, открываем папку "Пользователи", правой кнопкой мыши кликаем по свободному месту в списке пользователей, в контекстном меню выбираем "Новый пользователь...". Заполняем предложенную форму, жмём кнопку "Создать".
Как увеличить количество терминальных сессий в Windows 7-07

Как увеличить количество терминальных сессий в Windows 7-07

Теперь в списке пользователей находим нашего нового пользователя и двойным кликом по нему открываем свойства пользователя, где заходим во вкладку "Членство в группах" добавляем группы "Администраторы" и "Пользователи удалённого рабочего стола".

Как увеличить количество терминальных сессий в Windows 7-08

Как увеличить количество терминальных сессий в Windows 7-08

Всё готово, осталось только запустить службу "Службы удалённых рабочих столов" (чуть выше мы уже говорили о том, как остановить эту службу, теперь нам нужно её запустить) и разрешить удалённый рабочий стол, для чего в свойствах системы слева выбираем "Настройки удалённого доступа".

Как увеличить количество терминальных сессий в Windows 7-09

Как увеличить количество терминальных сессий в Windows 7-09

Вылезет окошко "Свойства системы" с открытой вкладкой "Удалённый доступ", где в блоке "Удалённый рабочий стол" выбираем средний параметр "Разрешить подключение от компьютеров с любой версией удалённого рабочего стола (опаснее)". Что тут опасного не понятно, но деваться нам некуда, так как я, например, буду подключаться с RDP клиента Windows XP.

Как увеличить количество терминальных сессий в Windows 7-10

Как увеличить количество терминальных сессий в Windows 7-10

Нажимаем кнопку "Выбрать пользователей", добавляем пользователя, созданного для удалённого доступа, с помощью кнопки "Добавить".

Как увеличить количество терминальных сессий в Windows 7-11

Как увеличить количество терминальных сессий в Windows 7-11

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

Автор - Сёмин Иван

24 Responses to Как увеличить количество терминальных сессий в Windows 7 / Как установить терминальный сервер в Windows 7

  1. Rvast:

    Неплохо, спасибо) Если я не ошибаюсь, то таким образом может подключиться только один пользоватетель, 2 и более будет нарушением. Если вам понадобится больше подключений, могу порекомендовать Thinstuff или MS Server. Программы аналогичны, разница в цене.

  2. Иван Семин:

    Да это хак и это будет нарушение с точки зрения лицензионного соглашения, но мы в России:) и плюс для тестовых вещей подойдет.

  3. Malinka:

    Теперь я сделаю сервер терминалов из windows 7, спасибо

  4. Vladislav:

    Если вы не организация, то почему бы и не использовать бесплатно терминальный сервер? Вас же не кто не будет проверять и это плюс))
    Увы, у нас нельзя этого делать, щас пробуем Thinstuff, часто стал в интернете встерчаться данный продукт, вот и посмотрим. Пока 10 дней прошло пробной версии, работает отлично, не думал, что справится. Достойная замена MS Server, ещё и при такой экономии

  5. Иван Семин:

    Добрый день, потом если нетрудно поделитесь мнением про Thinstuff

  6. vmw:

    Спасибо большое, полезная фича!

  7. Williammob:

    Спасибо, все работает

  8. wnikaGaT:

    Я то же всегда знал, что отличие серверной от десктоповой в этом случае, только в DLL файлике.

  9. Илья:

    Как ни странно, но из семерки еще до сих пор делают, терминальный сервер, у нас на работе админ такое сделал.

  10. Евгений:

    Доброго дня. А у меня почему-то после замены dll файла перестаёт работать вовсе.. выскакивает сразу после подключения. восстанавливаю родной dll — работает, но, традиционно, один пользователь.. 🙂
    Win7 Pro 64 bit.
    Может, знаете как победить такую проблему?
    Заранее Спасибо!

  11. Евгения:

    Нужны были тонкие клиенты rdp, обратилась в компанию ШАТЛ, купили, установили, все работает без проблем, сэкономили деньги и время.

  12. Alex:

    Спасибо за статью. Может еще тема поддерживается. Спрошу. Как снять ограничение на количество одновременных сеансов от ОДНОГО пользователя? Запускаю второе подключение, а первое вываливается. Спасибо за статью.

  13. Иван Семин:

    Вот посмотрите, как настроить несколько подключений от одного пользователя

  14. Alex:

    Спасибо за оперативную подсказку. Эта проблемка решилась. Но вот незадача, — теперь, при дальнейшем тестировании оказалось, не работает автозапуск программы. Пробовал и в настройках групповых политик. Пробовал прописать в настройках РДП-подключения со стороны клиента. Ноль реакции, то есть даже ошибку не выдает. Просто грузится рабочий стол. Если есть мысли по этому поводу буду очень благодарен.

  15. Иван Семин:

    А в логах на контроллере или самом сервере, есть какие либо события?

  16. Alex:

    Спасибо за помощь.

    После многих экспериментов с разными образами виндовса 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

    ******************************
    Начитался в инете и про удаление некоторых апдейтов и т.д. и т.п.
    Ничего не помогает.
    Складывается впечатление, что эта ветка функционала не в серверных осях «отрезана».
    Еще раз, спасибо за помощь.

  17. Alex:

    В добавок к своему предыдущему комментарию добавлю. Мои подозрения по поводу урезанного функционала win 7 подтвердились. Нашел статью по этой проблематике:

    _ttps://social.technet.microsoft.com/Forums/ru-RU/683103be-0455-48fc-9091-386ee493de6d/-rdp-windows-7?forum=windows7ru

    Кратко так: …если на сервере не установлена роль Terminal Services (Remote Desktop Services). Поскольку Windows 7 не поддерживает роль терминального сервера, то, как следствие, игнорирует запуск приложения в качестве оболочки терминальной сессии, за исключением клиентов Windows XP. Многочисленные сообщения в англоязычных форумах подтверждают данный факт…

  18. Игорь:

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

  19. Евгений:

    Архив запаролен, никто не знает пароль?

  20. Иван Семин:

    Попробуй pyatilistnik.org

  21. Andrew:

    Иван, существует такой же способ для windows server 2012?
    Работают 2 пользователя на сервисном RDP (2 подключения для администраторов сервера). Появилась необходимость работать третьему, вы уже описывали в одной из статей как пользоваться консольной сессией, но этот вариант не заработал, выкидывает одного из текущих двух. Разворачивать терминальную роль и покупать 3 CAL учетки для него с версией windows server 2019 standart (+ даунгрейд 3ех версий до 2012) очень дорого для приватного сервера.

  22. Иван Семин:

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

  23. Бахтияр:

    Спасибо тебе добрый человек!
    Как я долго иска эту опцию!
    Первый вариант подошел.
    Спасибо.

  24. Иван Семин:

    Рад, что смог вам быть полезным

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *