Запускаем RDP на Windows 7 и 10 для нескольких пользователей
RDP — это такой протокол удаленного доступа к одному компьютеру (серверу терминалов), который позволяет нескольким пользователям работать одновременно. Прикиньте, у каждого будет свой рабочий стол в режиме реального времени.
Но есть загвоздка. Работает такая штука только на редакциях Windows 7/10 версий Pro и выше. То есть релизы, обозначенные как Home, курят в сторонке.
Но и это еще не все. Многопользовательский режим на законных основаниях вообще недоступен в ОС, рассчитанных для клиентских машин (не серверных).
Более того, если во время работы локального пользователя на компьютере, например, с Win 10 Pro будет осуществлено подключение терминального, то система попросит «выкинуть» первого из сессии, выдав сообщение.
В систему вошел другой пользователь. Если вы продолжите, он будет отключен. Вы все равно хотите войти в систему?
То есть по факту работать может только один человек: локальный (он же консольный), либо терминальный. Двое одновременно не уживаются никак. Отсюда вопрос.
Почему RDP на Windows 7/10 не работает для нескольких пользователей
Это решение компании Microsoft, которое основывается на приобретении платных лицензий на каждого подключающегося в таком режиме пользователя. А продаются такие лицензии только для серверных операционных систем.
Но для домашних пользователей выход есть и он хорошо показал себя на практике. Главное понять, что в дальнейшем делать с моральным стыдом и угрызениями совести, поскольку такая схема идет вразрез с интересами вышеназванной корпорации.
Знакомьтесь с решением, которые поможет-таки организовать сервер терминалов на Windows 7 и 10 в многопользовательском режиме. Это RDP Wrapper Library . Оно прекрасно подойдет для небольшого офиса, где количество рабочих мест около десятка.
Данное ПО очень простое в настройке, что всегда хорошо воспринимается техническими специалистами на местах. Есть информация на форумах, что даже Home версии Windows поддерживаются, но я лично не проверял.
Давайте переходить к делу и распаковывать скачанный архив. В нем мы видим следующее.
Включение удаленного рабочего стола в Windows 7
Буквально на днях я столкнулся с проблемой включения «Удаленного рабочего стола» на системе Windows 7.
Многие тут же подумали:«Ай, да наверняка у него стоит какая-нибудь Win 7 Home Premium или вообще Starter». Однако это совсем не так. У меня полноценная Windows 7 x64 Professional, в которой казалось бы все должно заработать моментально и без оговорок.
Стандартный алгоритм включения
Заходим в свойства компьютер Пуск->Компьютер(правый клик)->Свойства
Слева в списке выбираем «Настройка удалённого доступа»
В разделе «Удалённый рабочий стол» выбираем второй или третий пункт. Различие: второй пункт — любые ОС, третий — Vista и выше
Жмем кнопку выбрать пользователей и добавляем нужных. (Например своего пользователя на этом компьютере. Или вы можете создать отдельного пользователя для удаленного рабочего стола)
Настройка закончена
У меня это всё выглядело совсем иначе. И пункт номер 3 был для меня недоступен. Пункты есть, но они — disabled.
Примерно вот так у меня выглядели настройки включения RDP
Различного рода поиски не привели меня к однозначному и ясному ответу на вопрос: «Что же делать с такой ерундой»?
Только куски разрозненной информации, которые мне хотелось бы свести воедино. Справившись с этой небольшой проблемой, я решил, что таки стоит поделится ее решением с общественностью.
Итак, приступим.
Нам потребуется:
- Компьютер
- Глазка/руки/голова
- Права администратора
Нестандартный алгоритм включения
1. Идем в службы (Пуск->Панель управления->Администрирование->Службы)
2. Находим там брендмауэр Windows. Ставим ему автоматический запуск, и запускаем службу.
3. Идем в локальные политики безопасности (Пуск->Панель управления->Администрирование->Локальная политика безопасности ИЛИ Пуск->Выполнить->Вводим secpol.msc)
4. Выбираем там Брэндмауэр Windows в режиме повышенной безопасности — Объект локальной групповой политики -> Правила для выходящих подключений.
5. В правой части оснастки выбираем по правому клику мыши «Создать правило». Далее по шагам (каждый пункт — ссылка на картинку с шагом):
В конце концов, вы должны получить что-то вроде этого:
6. Заходим в редактор локальной групповой политики (Пуск -> Выполнить -> gpedit.msc).
7. Конфигурация компьютера -> Административные шаблоны -> Компоненты Windows -> Службы удалённый рабочих столов -> Узел сеансов удаленный рабочих столов -> Подключения
8.Далее вы можете сами решить, что же вам нужно. Обязательным является включение опций:
- Разрешать удаленное подключение с использование служб удаленных рабочих столов
- Устанавливает правила удаленного управления для пользовательских сеансов служб удаленного рабочего стола (значение параметра выберите сами, я поставил лично для себя «Полный контроль без разрешения клиента»).
Итого у вас получится:
9. Заходим в свойства компьютер Пуск->Компьютер(правый клик)->Свойства
10. Слева в списке выбираем «Настройка удалённого доступа»
11. В разделе «Удалённый рабочий стол» выбираем второй или третий пункт. Различие: второй пункт — любые ОС, третий — Vista и выше.
12. Жмем кнопку выбрать пользователей и добавляем нужных. (Например своего пользователя на этом компьютере. Или вы можете создать отдельного пользователя для удаленного рабочего стола)
В общем и целом после этого я смог подключаться к данному компьютеру удалённо без каких-либо вопросов.
Спасибо за внимание!
Данная статья не подлежит комментированию, поскольку её автор ещё не является полноправным участником сообщества. Вы сможете связаться с автором только после того, как он получит приглашение от кого-либо из участников сообщества. До этого момента его username будет скрыт псевдонимом.
Исправляем недостатки RDP с помощью RDP Wrapper Library
У настольных операционных систем 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
В конце файла обязательно пустая строка.