Несколько RDP сеансов в Windows 10 (терминальный сервер)
Дело в том, что в настольных редакциях операционных систем Microsoft есть следующие основные ограничения на использование службы удаленного рабочего стола:
1. Поддержка RDP доступа имеется только в старших редакциях Windows (Professional и выше), а в домашних редакциях (Home) этот функционал отключен.
2. Возможно только одно удаленного RDP подключения. При попытке открыть вторую RDP-сессию, пользователю предлагается завершить существующее подключение.
3. В том случае, есть пользователь работает за консолью компьютера (локально), при удаленном подключении RDP, его сеанс будет отключен (заблокирован). Правильно и обратное утверждение: удаленный RDP сеанс принудительно завершается, если пользователь авторизуется на консоле системы
RDP Wrapper Library
Альтернативой модификации файла termsrv.dll является использование проекта RDP Wrapper Library. Эта программа работает в качестве прослойки между менеджером управления службами (SCM- Service Control Manager) и службой терминалов (Terminal Services) и позволяет включить не только поддержку нескольких одновременных RDP сессии, но и активировать поддержку RDP Host на домашних редакциях Windows 10. RDP Wrapper не вносит никаких изменений в файл termsrv.dll, просто подгружая termsrv с изменёнными параметрами.
Снятие ограничения на количество RDP сессий Windows 10 c помощью RDP Wrapper
Таким образом, это решение будет работать даже при обновлении версии файла termsrv.dll, что позволяет не опасаться обновлений Windows.
Важно. Перед установкой RDP Wrapper: важно, чтобы у вас использовалась оригинальная (непропатченная) версия файл termsrv.dll. В противном случае RDP Wrapper может работать не стабильно, или вообще не запускаться.
Скачать RDP Wrapper можно с репозитория GitHub: https://github.com/binarymaster/rdpwrap/releases (последняя доступная версия RDP Wrapper Library v1.6.2 вышла относительно недавно – 28 декабря 2017 года). Судя по информации на странице разработчика, поддерживаются все версии Windows. Windows 10 поддержиывается вплость до версии Insider Preview build 10.0.17063.1000 от 13 декабря 2017 года.
Совет. Кстати говоря, доступны исходники RDP Wrapper Library, что позволяет при желании самому собрать исполняемые файлы.
Архив RDPWrap-v1.6.2.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.2.zip
Чтобы установить утилиту, запускам файл install.bat с правами администратора.
Установка RDP Wrapper
После окончания установки запускаем RDPConfig.exe. И удостоверяемся, что в секции Diagnostics все элементы окрашены в зеленый цвет.
Примечание. В моем случае, т.к. на компьютере отсутствует доступ в интернет, программа не смогла получить с Github актуальную версию INI файла с настройками под мою версию Windows. Поэтому в статусе указано [not supported]. Скачайте файл rdpwrap.ini с ресурса разработки и поместите его в каталог установки. Перезапустите службу и убедитесь, что надпись [not supported] сменилась на [fully supported].
RDPConfig — диагностика
Из интересных особенностей новой версии RDP Wrapper:
опция Hide users on logon screen – позволяет скрыть список пользователей на экране приветствия.
При отключении опции Single session per user — будут разрешены несколько одновременных RDP сессий под одной учетной записью (устанавливается ключ реестра fSingleSessionPerUser = 0 в ветке HKLMSYSTEM CurrentControlSetControlTerminal ServerfSingleSessionPerUser).
В том случае, если после обновления версии Windows, RDP Wrapper не работает, проверьте, что в секции Diagnostics присутствует надпись Listener state: Not listening.
Listener state: Not listening
Попробуйте обновить ini файл скриптом update.bat, либо вручную и переустановить службу
rdpwinst.exe -u
rdpwinst.exe -i
Пытаемся открыть вторую RDP сессию. Все получилось! Теперь наша Windows 10 позволяет одновременно подключаться по RDP сразу двум удаленным пользователям.
Поддержка нескольких RDP сесиий в Windows 10Утилита должна работать на всех поддерживаемых на данный момент редакциях Windows : Windows Vista, Windows 7, Windows 8, Windows 8.1 и Windows 10. Таким образом из любой клиентской версии Windows можно сделать сервер терминалов.
Источник: www.linuxshop.ru
Rdp wrapper что это за программа и нужна ли она
RDP Wrapper Library by Stas’M
Данный проект позволяет включить поддержку сервера удалённых рабочих столов (RDP Host) на системах для домашнего пользования с урезанным функционалом, а также снять ограничение на использование параллельных сессий.
RDP Wrapper работает в качестве прослойки между менеджером управления службами (SCM) и службой терминалов (TermService), таким образом файл termsrv.dll остаётся нетронутым. Также этот метод устойчив против обновлений Windows.
Идея создания этого проекта пришла после изучения программы Windows Product Policy Editor, за что выражаем благодарность её создателю — пользователю kost 🙂
— binarymaster
Предупреждение:
Рекомендуется иметь оригинальную версию файла termsrv.dll при установке RDP Wrapper. Если вы раньше вносили в него изменения при помощи других патчеров, он может стать нестабильным и вылететь в любой момент.
Информация:
• Исходники прилагаются, так что вы можете собрать проект самостоятельно
• RDP Wrapper не вносит изменения в файл termsrv.dll, он подгружает termsrv с изменёнными параметрами
• RDPWInst и RDPChecker можно распространять без папки разработок и bat-файлов
• RDPWInst можно использовать для автоматической установки или развёртки
• Windows 2000, XP и Server 2003 не поддерживаются и не будут
Портирование на другие платформы:
• ARM для Windows RT (см. ссылки ниже)
• IA-64 для Windows Server на базе Itanium? Без понятия 🙂
Сборка исходных кодов:
• Версия x86 на Delphi собирается при помощи Embarcadero RAD Studio 2010
• Версия x86/x64 на C++ собирается при помощи Microsoft Visual Studio 2013
Ссылки:
• Официальный репозиторий на GitHub:
https://github.com/stascorp/rdpwrap/
• Активное обсуждение в комментариях можно узреть здесь:
Enable remote desktop on Windows 8 core / basic — Andrew Block .net
• А также тема на форуме проектов и приложений MDL:
RDP Wrapper Library (works with Windows 8.1 Basic)
• Идеи по портированию на архитектуру ARM для Windows RT (пост #23):
[Q] Mod Windows RT to enable Remote Desktop
• Добавление группы «Пользователи удаленного рабочего стола»:
http://superuser.com/questions/680572/
RDPWInst.exe | Установка/удаление RDP Wrapper Library |
RDPCheck.exe | Local RDP Checker (c его помощью можно проверить работу RDP) |
RDPConf.exe | Настройка RDP Wrapper |
install.bat | Быстро-батник для установки |
uninstall.bat | Быстро-батник для удаления |
update.bat | Быстро-батник для обновления |
Историю изменений смотрите в репозитории на GitHub.
Инструкции по установке:
1. Скачайте последний релиз и распакуйте файлы
2. Нажмите правой кнопкой мыши по install.bat и выберите пункт Запуск от имени администратора
3. Процесс установки наблюдайте в консольном окне
По удалению:
1. Перейдите в директорию куда вы всё распаковали
2. Нажмите правой кнопкой мыши по uninstall.bat и выберите пункт Запуск от имени администратора
3. Процесс удаления наблюдайте в консольном окне
По обновлению INI файла:
1. Нажмите правой кнопкой мыши по update.bat и выберите пункт Запуск от имени администратора
2. Процесс обновления наблюдайте в консольном окне
Источник: stascorp.com
Как удалить RDP wrapper?
Для начала необходимо удалить старую библиотеку rdp wrapper, запустив файл uninstall. bat по пути c:Program FilesRDP Wrapper После того как пройдет удаление, полностью удаляем данную папку из program files со всеми файлами в ней.
Как остановить RDP wrapper?
Теперь откройте утилиту «Выполнить» сочетанием Win+R, введите в неё запрос services. msc и нажмите «ОК». После запуска списка служб найдите запись «Службы удалённых рабочих столов», выделите её и нажмите «Остановить службу». Подтвердите остановку.
Где лежит Rdpwrap ini?
ini в каталоге C:Program FilesRDP Wrapper;
Что такое RDP wrapper?
RDP Wrapper — программа, являющаяся альтернативой службе удаленных рабочих столов. Она может понадобится по причине того, что Вас не устраивают ограничения в плане работы удаленного рабочего стола, вводимые Microsoft на различные редакции Windows.
Как установить RDP wrapper?
с помощью WinRAR или просто открыть через Проводник) скачанную Вами ранее библиотеку RDP Wrapper Library. Откройте папку и запустите от имени администратора (прим. используя правую кнопку мыши) файл install,после чего начнётся установка (Рис. 15).
Как удалить Rdpwrap?
Для начала необходимо удалить старую библиотеку rdp wrapper, запустив файл uninstall. bat по пути c:Program FilesRDP Wrapper После того как пройдет удаление, полностью удаляем данную папку из program files со всеми файлами в ней.
Как отключить службу удаленных рабочих столов?
В области Подключения выберите имя подключения, например RDP-Tcp, которое нужно отключить. В меню Действие выберите команду Отключить подключение. Подключение будет немедленно удалено, а все пользователи, использующие его, будут немедленно отключены от сервера Узел сеансов удаленных рабочих столов.
Где лежит Termsrv DLL?
Termsrv. dll находится в папке C:WindowsSystem32.
Как называется служба удаленных рабочих столов Windows 10?
Служба удаленных рабочих столов Remote Desktop Services (ранее известная, как Terminal Services) — это компонент Microsoft Windows (серверной и клиентской операционных систем), позволяющий пользователям удаленно запускать приложения или управлять сервером с любой машины, где есть клиент подключения к удаленному .
Как настроить Рдп Windows 10?
- Откройте Настройки — нажмите для этого сочетания клавиш [Win] + [I].
- Здесь выберите раздел «Система», а затем слева в предложенном списке кликните на «Удаленный рабочий стол».
- В пункте «Включить удаленный рабочий стол» установите ползунок на «ВКЛ».
Как сбросить настройки RDP?
Чтобы очистить историю последних rdp-соединений, выделите все ключи с именами MRU0-MRU9, щелкните правой кнопкой мыши и выберите пункт Delete. 4. Перейдем в раздел Servers. В нем содержится список всех RDC (remote desktop client) соединений, которые когда либо устанавливались с данного компьютера.
Как установить RDP на Windows 10?
- Перейдите на сайт github.com => нажмите на RDPWInst-v… zip.
- Откройте скачанный архив => распакуйте содержимое в любую папку где вы сможете его найти и где его никто не удалит.
- Откройте папку с файлами, которые вы распаковали => нажмите на install.
Как настроить терминальный сервер Windows 2016?
- Нажимаем Управление — Добавить роли и компоненты:
- Нажимаем Далее до «Выбор типа установки». .
- В окне «Выбор ролей сервера» выбираем Службы удаленных рабочих столов:
- Кликаем Далее, пока не появится окно «Выбор служб ролей» и выбираем следующие:
Можно ли использовать Windows 10 как сервер?
Использование клиентской операционной системы в качестве сервера, это очень плохая идея. Потому, что подобное использование прямо запрещено в лицензионном соглашении с конечным пользователем (EULA) Windows 10, где прямо сказано: «. c.
Как увеличить количество подключений к серверу?
В области Подключения щелкните правой кнопкой мыши имя подключения и выберите пункт Свойства. В диалоговом окне Свойства подключения на вкладке Сетевой адаптер выберите пункт Максимальное число подключений, введите максимально допустимое число одновременных подключений для этого подключения и нажмите кнопку ОК.
Источник: fortune-project.ru
Rdp wrapper перестал работать
Если что-то пошло не так с доступом по RDP через RDPWrap (например, антивирус удалил файлы ПО), и служба «Службы удаленных рабочих столов» не запускается с ошибкой «указанный файл не найден», то нужно в ветку реестра HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesTermServiceParameters добавить параметр ServiceDll — REG_EXPAND_SZ — %SystemRoot%System32 ermsrv.dll
Это вернёт работоспособность встроенному RDP.
И теперь можно переустановить RDPWrap
Спасибо за статейку! Выручил!
Владимир Вязниковцев 4 дн
Полтора месяца я искал решение этой проблемы и вот оно счастье! Благодарю о великий человек! Думал уже систему придётся грохать
Как и в прошлых клиентских версиях операционных систем Майкрософт, пользователи Pro и Enterprise Windows 10 (но не Home) редакций могут удаленно подключаться к своим компьютерам через службу удаленных рабочих столов (RDP). Однако есть ограничение на количество одновременных RDP сессии – возможна одновременная работа только одного удаленного пользователя. При попытке открыть вторую RDP сессию, сеанс первого пользователя предлагается завершить.
В английской версии предупреждение такое:
Дело в том, что в настольных редакциях операционных систем Microsoft есть следующие основные ограничения на использование службы удаленного рабочего стола:
- Поддержка RDP доступа имеется только в старших редакциях Windows (Professional и выше), а в домашних редакциях (Home) этот функционал отключен.
- Возможно только одно удаленного RDP подключения. При попытке открыть вторую RDP-сессию, пользователю предлагается завершить существующее подключение.
- В том случае, есть пользователь работает за консолью компьютера (локально), при удаленном подключении RDP, его сеанс будет отключен (заблокирован). Правильно и обратное утверждение: удаленный RDP сеанс принудительно завершается, если пользователь авторизуется на консоле системы
По сути, ограничение на количество одновременных rdp подключений является не техническим, а скорее лицензионным, запрещающее создавать на базе рабочей станции терминальный RDP сервер для работы нескольких пользователей. Хотя с технической точки зрения любая редакция Windows при наличии достаточного количества памяти может поддерживать одновременную работу нескольких десятков удаленных пользователей (в среднем на одну сессию пользователя без учета запускаемых приложений требуется 150-200 Мб памяти). Т.е. максимальное количество одновременных сессий в теории ограничивается только ресурсами компьютера.
Мы рассмотрим два способа отключить ограничение на количество одновременных RDP подключений к Windows 10:
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 можно с репозитория GitHub: https://github.com/binarymaster/rdpwrap/releases (последняя доступная версия RDP Wrapper Library v1.6.2 вышла относительно недавно – 28 декабря 2017 года). Судя по информации на странице разработчика, поддерживаются все версии Windows. Windows 10 поддержиывается вплость до версии Insider Preview build 10.0.17063.1000 от 13 декабря 2017 года.
Архив RDPWrap-v1.6.2.zip содержит несколько файлов:
- RDPWinst.exe —программа установки/удаления RDP Wrapper Library
- RDPConf.exe — утилита настройки RDP Wrapper
- RDPCheck.exe — Local RDP Checker — утилита проверки RDP
- install.bat, uninstall.bat, update.bat — пакетные файлы для установки, удаления и обновления RDP Wrapper
Чтобы установить утилиту, запускам файл install.bat с правами администратора.
После окончания установки запускаем RDPConfig.exe. И удостоверяемся, что в секции Diagnostics все элементы окрашены в зеленый цвет.
Из интересных особенностей новой версии RDP Wrapper:
-
опция H >В том случае, если после обновления версии Windows, RDP Wrapper не работает, проверьте, что в секции Diagnostics присутствует надписьListener state: Not listening.
Попробуйте обновить ini файл скриптом update.bat, либо вручную и переустановить службу
rdpwinst.exe -u
rdpwinst.exe -i
Пытаемся открыть вторую RDP сессию. Все получилось! Теперь наша Windows 10 позволяет одновременно подключаться по RDP сразу двум удаленным пользователям.
Утилита должна работать на всех поддерживаемых на данный момент редакциях Windows : Windows Vista, Windows 7, Windows 8, Windows 8.1 и Windows 10. Таким образом из любой клиентской версии Windows можно сделать сервер терминалов.
Модификация файла termsrv.dll
Убрать ограничение на количество RDP подключений можно с помощью модификации файла termsrv.dll (файл библиотеки, используемый службой Remote Desktop Services). Файл находится в каталоге C:WindowsSystem32).
Перед модификацией файла termsrv.dll желательно создать его резервную копию (в случае необходимости можно будет вернуться к первоначальной версии файла):
copy c:WindowsSystem32 ermsrv.dll termsrv.dll_backup
Перед правкой файла termsrv.dll нужно стать его владельцем и предоставить группе администраторов полные права на него (все операции выполняются аналогично описанным в статье Убираем ограничение на количество RDP сессий в Windows 8). Затем остановите службу Remote Desktop service (TermService) из консоли services.msc или из командной строки:
Net stop TermService
Для редакции 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
Сохраните файл и запустите службу TermService.
У настольных операционных систем Microsoft есть некоторые ограничения, связанные с работой службы удаленных рабочих столов. Так во первых, поддержка серверной части (RDP Host) есть только в старших редакциях Windows (не ниже Professional). В домашних редакциях этот функционал отключен, поэтому подключиться к младшим версиям Windows по RDP невозможно.
И во вторых, количество параллельных RDP-сессий ограничено. Допускается только одно одновременное подключение по RDP, а при попытке открыть вторую RDP-сессию система выдаст сообщение о том, что в системе уже находится один пользователь и предложит его выкинуть завершить его сеанс.
Обойти эти ограничения позволит проект RDP Wrapper Library by Stas’M. RDP Wrapper работает как прослойка между менеджером служб (Service Control Manager, SCM) и службой удаленных рабочих столов. При этом, в отличии от других решений подобного рода, он не подвергает изменениям файл termsrv.dll (библиотека, используемая службой Remote Desktop Services), что позволяет не опасаться обновлений Windows.
Судя по официальному сайту, проект активно живет и развивается. На данный момент выложена версия 1.5 от 2014.12.11, для которой заявлена поддержка новейших ОС, включая Windows 10 Technical Preview. Также доступны исходники, так что при желании можно самостоятельно собрать проект.
Загрузить RDP Wrapper можно со страницы программы в репозитории GitHub. В архив входят следующие компоненты:
• RDPWinst.exe — инсталлятор, с помощью которого производится установка и удаление RDP Wrapper;
• RDPConf.exe — утилита для настройки параметров подключения;
• RDPCheck.exe — утилита для локальной проверки работы RDP;
• install.bat и uninstall.bat — bat-файлы для удобства установкиудаления программы.
Для установки программы надо открыть командную строку с правами администратора, перейти в директорию с распакованными файлами и запустить install.bat. Все остальное, включая настройку исключений на файерволле, установщик сделает сам.
Дополнительно можно запустить утилиту RDPConf.exe, которая позволяет включатьотключать доступ, а также настраивать основные параметры подключения (порт, количество сессий на пользователя, тип аутентификации и пр.).
Ну и в качестве проверки я открыл на компьютер с установленной Windows 7 Home Basic две RDP-сессии для двух разных пользователей.
Что еще можно сказать. Проект однозначно полезный, в некоторых ситуациях даже незаменимый. Из минусов же — используя RDP Wrapper вы скорее всего нарушаете лицензионное соглашение.
Дополнение 04.05.2019.
Для корректной работы на Windows 10 1809 требуется обновить файл конфигурации rdpwrap.ini. В него надо добавить следующие строчки:
[10.0.17763.292]
; Patch CEnforcementCore::GetInstanceOfTSLicense
LocalOnlyPatch.x86=1
LocalOnlyOffset.x86=AFAD4
LocalOnlyCode.x86=jmpshort
LocalOnlyPatch.x64=1
LocalOnlyOffset.x64=77A11
LocalOnlyCode.x64=jmpshort
; Patch CSessionArbitrationHelper::IsSingleSessionPerUserEnabled
SingleUserPatch.x86=1
SingleUserOffset.x86=4D665
SingleUserCode.x86=nop
SingleUserPatch.x64=1
SingleUserOffset.x64=1322C
SingleUserCode.x64=Zero
; Patch CDefPolicy::Query
DefPolicyPatch.x86=1
DefPolicyOffset.x86=4BE69
DefPolicyCode.x86=CDefPolicy_Query_eax_ecx
DefPolicyPatch.x64=1
DefPolicyOffset.x64=17F45
DefPolicyCode.x64=CDefPolicy_Query_eax_rcx
; Hook CSLQuery::Initialize
SLInitHook.x86=1
SLInitOffset.x86=5B18A
SLInitFunc.x86=New_CSLQuery_Initialize
SLInitHook.x64=1
SLInitOffset.x64=1ABFC
SLInitFunc.x64=New_CSLQuery_Initialize
И в конец ini файла дополнительно надо добавить строки:
[10.0.17763.292-SLInit]
bInitialized.x86 =CD798
bServerSku.x86 =CD79C
lMaxUserSessions.x86 =CD7A0
bAppServerAllowed.x86 =CD7A8
bRemoteConnAllowed.x86=CD7AC
bMultimonAllowed.x86 =CD7B0
ulMaxDebugSessions.x86=CD7B4
bFUSEnabled.x86 =CD7B8
bInitialized.x64 =ECAB0
bServerSku.x64 =ECAB4
lMaxUserSessions.x64 =ECAB8
bAppServerAllowed.x64 =ECAC0
bRemoteConnAllowed.x64=ECAC4
bMultimonAllowed.x64 =ECAC8
ulMaxDebugSessions.x64=ECACC
bFUSEnabled.x64 =ECAD0
В конце файла обязательно пустая строка.
Источник: prokompter.ru