Несколько одновременных rdp сессий пользователей в windows 8

Обновлено: 06.07.2024

Профессиональная и Максимальная версии 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

Скачайте и распакуйте архив, затем запустите соответствующий файл с правами администратора (кликните правой кнопкой мыши на исполняемом файле, выберите “Запуск от имени администратора”). Для 32-разрядных систем используется UniversalTermsrvPatch-x86.exe, для 64-разрядных используется UniversalTermsrvPatch-x64.exe.

windows-sessions-patch

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

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

date

04.01.2019

directory

Windows 8

comments

комментария 33

В ОС Windows 8 / 8.1, как и предыдущих версиях клиентских ОС Microsoft, поддерживается только одно одновременное входящее RDP-подключение. Это означает что к компьютеру Windows 8 через удаленный рабочий стол может одновременно подключиться только один пользователь (одна сессия), локальная или удаленная. В большинстве случаев этого достаточно, но иногда хотелось бы иметь возможность одновременной работы сразу нескольких пользователей в собственных сессиях. Хорошим примером может быть компьютер в роли Media Center, когда в консольной сессии воспроизводится видео, и одновременно необходимо удаленно поработать с системой без прерывания видео на TV.

Совет. Удаленный RDP доступ не работает в домашних (Home) редакциях Windows, требуется редакции Pro или Enterprise. Another user is signed in. If you continue, they will be disconnected.

Another user is signed in. If you continue, they will be disconnected.

Совет. Предварительно в свойствах компьютере на вкладке Удаленный доступ (Remote) нужно включить RDP доступ и добавить учетные записи нужных пользователей в локальную группу Remote Desktop Users. Локальным администраторам удаленный RDP доступ разрешен по умолчанию. После включения RDP доступа в свойствах системы, Windows Firewall автоматически включает правила, разрешающий входящий трафик на порт 3389. Иногда наличие этого правила следует проверить вручную.

Так, например, в серверной версии Windows поддерживаются два одновременных административных подключения с индивидуальными сессиями (в случае организации на базе Windows Server терминального сервера RDS , это число может быть еще большим).

Тем не менее, на просторах интернета можно найти специальный патч, позволяющий обойти это ограничение. Благодаря этому патчу несколько пользователей смогут одновременно подключиться по RDP к компьютеру с Windows 8 / Windows 8.1.

Важно. Использование данного патча, по сути, является нарушением лицензионного соглашения и условий использования продуктов Microsoft. Поэтому все описанные ниже операции вы выполняете на свой риск.

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

Ссылки на модифицированную версию библиотеку termsrv.dll:

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

Скопировать оригинальный termsrv.dll

Теперь, если что-то пойдет не так, всегда можно вернуться к начальной конфигурации, заменив текущий файл оригинальным termsrv.dll_old.

Скачайте архив с библиотекой для своей версии Windows.

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

fSingleSessionPerUser снять ограничение на одну сессию для пользователя

Эту же операцию можно выполнить из командной строки:

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

По-умолчанию, владельцем этого файла является TrustedInstaller и даже у администратора нет прав на его замену.

Перейдем на вкладку Security и нажмем кнопку Edit. В списке доступа найдите группу локальных администраторов и предоставьте ей полные права на файл (Full Control) и сохраните изменения.

NTFS разрешения на файл termsrv.dll

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

Остановить службы Remote Desktop Services

Скопируем файл termsrv.dll из скачанного архива для своей версии Windows в каталог %SystemRoot%\System32\ (с заменой).

Примечание. Архив для Windows 8.1 содержит два файла 32_termsrv.dll и 64_termsrv.dll, для 32-х и 64-х битной версии Windows 8.1 соответственно. Распакуйте архив и переименуйте файл для своей версии системы в termsrv.dll

После замены файла запустите службу Remote Desktop Services и попытайтесь создать две RDP сессии с пропатченной машиной под разными учетными записями. Если вы все сделали правильно, должны открыться две независимые сессии удаленного рабочего стола.


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

Windows имеет в своем составе проприетарный протокол RDP, который позволяет подключиться к любому компьютеру под управлением «окон», если на нем включена данная функция. Казалось бы, ввел команду mstsc, там уже ввел параметры ip и иные данные и пользуйся удаленным компьютером.

Однако никто не отменял всякие ограничения десктопных версий. В клиентских версиях Windows можно единовременно работать только одному пользователю, будь то локальный или удаленный. Хотите большего – пожалуйста, разворачивайте в организации Windows Server, покупайте на него лицензии сервера терминалов и пользуйтесь подобным решением. Все легально и просто. Но стоит денег, причем, немалых.

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

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

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

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

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

Но только если в случае с Linux в терминальный сервер можно превратить обычный десктопный ПК с такой же версией ОС, то в Windows это не позволяет. Тем не менее, это обходится достаточно читерским способом – патчится библиотека, отвечающая за терминальный сервер.

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

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

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

Теперь, если что-то пойдет не так, всегда можно вернуться к начальной конфигурации, заменив текущий файл оригинальным termsrv.dll_old

Скачайте нужный архив для своей версии Windows. Для 32 разрядной Windows 8.1 можете скачать здесь, для 64 битной –здесь. Не забудьте переименовать файл!

В 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 10 и хочет из нее сделать сервер терминалов, у меня есть отличная новость -описанный способ в статье применим к этой операционке. Так что вы спокойно можете сделать из Windows 10 сервер терминалов

Данная статья представляет собой пошаговую инструкцию по настройке Windows 10 в качестве терминального сервера с доступом по RDP.

После настройки, к одному компьютеру смогут одновременно подключаться несколько пользователей по RDP (Remote Desktop Protocol — протокол удалённого рабочего стола). Наиболее популярное применение данного решения — работа нескольких пользователей с файловой базой 1С.

Процесс настройки показан на примере Windows 10 Enterprise x64, однако данное руководство полностью подходит для установки на других ОС Windows.

Внимание! статья написана исключительно в научных интересах. Лицензия Windows не позволяет использовать ОС в таком режиме.

СОДЕРЖАНИЕ

  • I. Создание пользователя и настройка прав для доступа по RDP
  • II. Настройка терминального сервера с доступом по RDP
  • III. Подключение к удаленному рабочему столу
  • IV. Часто задаваемые вопросы по теме статьи (FAQ)

Для настройки Windows 10 в качестве терминального сервера с доступом по RDP понадобятся:

1. Компьютер с установленной операционной системой Windows 10 и правами администратора, подключённый к локальной сети;

2. Компьютер в локальной сети, с которого будет производиться подключение и который имеет RDP клиент (прим. требуется ОС Windows XP/Vista/7/8/8.1/10 и т.д.);

I. Создание пользователя и настройка прав для доступа по RDP

1. Нажмите на значок поиска , затем с помощью поисковой строки найдите и выберите Управление учетной записью (Рис.1).


2. В открывшемся окне выберите Семья и другие люди, затем нажмите Добавить пользователя для этого компьютера (Рис.2).


3. Нажмите на пункт У меня нет данных для входа этого человека (Рис.3).


4. Нажмите на пункт Добавить пользователя без учетной записи Майкрософт (Рис.4).


5. В соответствующих полях введите имя пользователя (прим. в данном примере это UserRDP), пароль для новой учётной записи и подсказку для пароля, затем нажмите Далее (Рис.5).


6. В окне параметров Вы увидите нового пользователя (прим. в данном примере это UserRDP) (Рис.6).


7. Нажмите на значок поиска , затем с помощью поисковой строки найдите и выберите Этот компьютер, через правую кнопку мыши откройте меню и нажмите Управлять (Рис.7).


8. В открывшемся окне выберите: Служебные программы > Локальные пользователи и группы > Пользователи, затем выберите пользователя (прим. в данном примере это UserRDP), перейдите на вкладку Членство в группах и нажмите Добавить… (Рис.8).


9. Нажмите Дополнительно… (Рис.9).

10. Нажмите Поиск, выберите из списка Пользователи удаленного рабочего стола и нажмите OK (Рис.10).


11. Нажмите OK (Рис.11).


12. Нажмите Применить, затем OK (Рис.12).


II. Настройка терминального сервера с доступом по RDP

1. Нажмите на значок поиска , затем с помощью поисковой строки найдите и выберите Система (Рис.13).


2. Нажмите Настройка удалённого доступа, в открывшемся окне перейдите на вкладку Удалённый доступ, выберите пункт Разрешить удалённые подключения к этому компьютеру, затем нажмите Применить и OK (Рис.14).


3. Распакуйте (прим. с помощью WinRAR или просто открыть через Проводник) скачанную Вами ранее библиотеку RDP Wrapper Library. Откройте папку и запустите от имени администратора (прим. используя правую кнопку мыши) файл install,после чего начнётся установка (Рис.15).


4. После окончания установки нажмите любую клавишу (Рис.16).


5. Нажмите на значок поиска , затем с помощью поисковой строки найдите и выберите Выполнить (Рис.17).


6. В открывшемся окне введите gpedit.msc и нажмите OK (Рис.18).

7. Выберите: Конфигурация компьютера > Административные шаблоны > Компоненты Windows > Службы удалённых рабочих столов > Узел сеансов удалённых рабочих столов > Подключения > Ограничить количество подключений (Рис.19).


8. В открывшемся окне выберите пункт Включить, установите в параметрах разрешённое количество подключений к удалённым рабочим столам на 999999, затем нажмите Применить и OK. Перезагрузите компьютер (Рис.20).


III. Подключение к удаленному рабочему столу

1. Используя второй компьютер, находящийся в той же локальной сети, нажмите Пуск, с помощью поисковой строки найдите, а затем выберите Подключение к удалённому рабочему столу (Рис.21).


2. В открывшемся окне ведите имя компьютера к которому следует подключиться (прим. Тот, на котором производились все настройки), затем нажмите Подключить (Рис.22).


3. Прежде всего, выберите пользователя (прим. в данном примере это UserRDP) и введите пароль от учётной записи, который Вы указывали ранее (прим. см. Рис.5), затем нажмите OK (Рис.23).


4. В появившемся окне нажмите Да, после чего начнётся сеанс удаленного подключения (Рис.24).


Настройка Windows 10 в качестве терминального сервера с доступом по RDP завершена!

IV. Часто задаваемые вопросы по теме статьи (FAQ)

Не работает терминальный сервер в Windows 10

Если у вас изначально не заработал терминальный сервер на windows 10 и количество rdp подключений ограничено одним. Либо если у вас после обновление сломался терминальный доступ, то давайте разбираться, что с этим делать.

Для начала запустите утилиту RDPConf.exe и посмотрите ее вывод.

Не работает терминальный сервер в Windows 10 после обновления

Для того, чтобы на моей версии windows 10 заработал терминальный сервер, я пошел в указанный выше репозиторий и нашел там файл конфигурации под свою версию системы. Я взял содержимое этого файла и добавил его в существующий файл C:\Program Files\RDP Wrapper\rdpwrap.ini в самый конец.

После этого запустил еще раз RDPConf.exe.

Восстановление rdpwrap

Статус изменился на [fully supported]. Теперь нужно перезагрузить компьютер. После этого запустите утилиту RDPCheck.exe и убедитесь, что можно подключиться второй учетной записью к компьютеру.

Как починить rdpwrap после обновления windows

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

Вам нужно найти рабочую конфигурацию под максимально близкую к вам версию. Далее просто в текстовом редакторе поменяйте указанную там версию на свою. Если разница в версиях не сильно большая, может помочь. Я видел в issues на гитхабе информацию о том, что получалось сразу же после поломки терминального доступа после очередного обновления, отредактировать конфиг под новую версию и все снова продолжало работать.

  1. Скачиваем архив
  2. Распаковываем в Program Files/RDP Wrapper
  3. От имени администратора запускаем Program Files/RDP Wrapper/autoupdate.bat
  4. Проверяем конфигурацию через RDPConf.exe и пробуем подключаться.

В целом про превращение windows 10 в сервер терминалов для одновременного подключения и работы нескольких пользователей по rdp у меня все. Все очень легко и просто, можно использовать по необходимости для решения прикладных задач.

Является ли создание сервера терминалов из Windows 10 нарушением лицензии?

Однозначно, да. У Microsoft есть отдельный продукт и отдельная программа лицензирования для работе в терминале. И все это стоит немалых денег. Так что создавая терминал из windows 10 вы точно нарушаете условия лицензионного соглашения.

Как обезопасить себя в случае обновления операционной системы? Очень часто после этого терминальный режим перестает работать.

Надежнее всего отложить обновление и подождать, пока не появится rdpwrap.ini под новую версию обновленной системы. После этого можно самому обновиться и обновить конфигурационный файл.

Автор RDP Wrapper забросил свою программу?

Судя по всему, да. Обновлений давно не было. Меняются только конфигурационные файлы rdpwrap.ini, которые обновляет сообщество. Сама программа при этом не обновляется.

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

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

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

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


По умолчанию в не серверных версиях windows можно выполнить только одно подключение к удаленному рабочему столу, при этом работа текущего пользователя обязательно блокируется. Обязательно сохраним оригинальный файл termsrv.dll. Запустим командную строку от Администратора и выполним
copy c:\Windows\System32\termsrv.dll termsrv.dll_old

Затем смотрим вашу версию. Правый клик на файле c:\Windows\System32\termsrv.dll и выберем свойства.


Скачиваем измененный файл соответствующий вашей версии

В первой колонке значение, которое должно быть, во второй оригинальное.

Windows 7 SP1 64bit:

173C0: B8 8B
173C1: 00 87
173C2: 01 38
173C3: 00 06
173C5: 90 00
173C6: 89 39
173C8: 38 3C
173CC: 90 0F
173CD: 90 84
173CE: 90 EB
173CF: 90 C2
173D0: 90 00
173D1: 90 00
176FA: 00 01
5AD7E: EB 74
Для Windows 8.1 (64bit) заменяем целиком строку!

в v6.3.9600.16384
строчку
8B 81 38 06 00 00 39 81 3C 06 00 00 0F 84 1B 70 00 00
на
B8 00 01 00 00 89 81 38 06 00 00 90 90 90 90 90 90 90
строчку
39 81 3C 06 00 00 0F 84 9E 31 05 00
на
B8 00 01 00 00 89 81 38 06 00 00 90
строчку
39 81 3C 06 00 00 0F 84 D3 1E 02 00
на
B8 00 01 00 00 89 81 38 06 00 00 90
Воспользуемся инструментом замены с типом шестнадцатеричные значения



После замены сохраняете изменения.

Если испытываете трудности с правами доступа, то открываете свойства, вкладку безопасность, кнопка дополнительно. И меняете владельца на себя. Применяете. После этого сможете менять разрешения для групп и пользователей.


Далее останавливаете службу удаленного рабочего стола


Заменяем файл termsrv.dll на скаченный или измененный.

Еще нужно изменить значение ключа в реестре HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server\fSingleSessionPerUser на 0!


И снова запускаем службу!

Подключаемся и радуемся! Теперь локального пользователя не выкидывает из системы!

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