Убираем ограничение на количество RDP сессий в Windows 8.1 / 8

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

Совет. Удаленный RDP доступ не работает в домашних (Home) редакциях Windows, требуется редакции Pro или Enterprise.

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

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 командой:

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

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

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

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

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

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 0 /f

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

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

Перейдем на вкладку 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 8 несколько независимых RDP сессий под разными пользователями

Совет. Возможно потребуется перезагрузка компьютера.
Важно! Использование пропатченной версии termsrv.dll имеет ряд недостатков. Главный из которых – при установке очередного обновления Windows 8.1 / 8 этот файл может быть заменен. Соответственно, придется самостоятельно с помощью HEX редактора патчить новый файл, либо искать в интернете готовый модифицированный файл для вашего билда Windows.

В качестве решения, устойчивого к замене файла termsrv.dll при установке обновлений Windows, следует использовать открытое Open Source решение RDP Wrapper Library (доступен на GitHub), которое не правит файл termsrv.dll, и является прослойкой между службой Terminal Services и SCM. Подробнее об использовании RDP Wrapper Library можно почитать тут.


Предыдущая статья Следующая статья


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

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

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

Я не робот( Обязательно отметьте)