вторник, 5 мая 2020 г.

Как активировать Remote Desktop Connection для Windows 10 Home

На одном из наших ноутбуков (см. обзор) на постоянной основе завелась Windows 10 Home Premium, и периодически стала возникать необходимость подключаться к этому компьютеру через Remote Desktop. Как известно, эта функциональность в Windows доступна, начиная с "комплектации" Professional, но, понятно, что доплачивать порядка $100 только за эту фичу мало, кто захочет. Поскольку во всех редакциях Windows нужные компоненты всё равно присутствуют, умельцы нашли возможность настроить дистанционный доступ и к бюджетным вариантам Windows. В данной заметке я изложу схему, которую я опробовал на своём оборудовании и могу подтвердить её работоспособность.


(!) Все изменения вы делаете на свой страх и риск. Для моей системы всё прошло благополучно, но я не могу гарантировать, что это сработает для любой конфигурации и в любых условиях (особенно, если для вашей системы настроены автоматические обновления).
В моём случае модификации подверглась Windows 10 Home Premium 64-bit (Windows 10 May 2019 Update).

Шаг 1. Устанавливаем сервис RDPWrap

По ссылке https://github.com/stascorp/rdpwrap/releases скачиваем последнюю версию RDP Wrapper Library (на текущий момент 1.6.2) и устанавливаем.
Можно использовать как ZIP-файл, так и MSI-файл.
В итоге на диске появится каталог с именем "C:\Program Files\RDP Wrapper", в котором должно быть как минимум два файла:
  • rdpwrap.dll (сам сервисный модуль)
  • rdpwrap.ini (файл с настройками)
Если для установки был использован MSI-файл, то, скорее всего, в каталоге могут также оказаться дополнительные файлы, например:
  • RDPCheck.exe (для проверки соединения)
  • RDPConf.exe (для конфигурирования)
После установки попробуйте запустить RDPConf.exe. Если в появившемся окне все пункты Diagnostics будут отмечены зелёным цветом, то можно пропустить следующий шаг и перейти к шагу №3.

Шаг 2. Настраиваем сервис RDPWrap

Скорее всего, после установки в окне конфигуратора некоторые пункты будут помечены красным цветом, но первые два должны быть зелёным:
  • Wrapper state: Installed
  • Service state: Running
Если это не так, то установка прошла неудачно. Попробуйте перезапустить компьютер.
Если оставшийся пункт помечен красным, то это означает, что для вашей системы нужны другие настройки. Соответственно вам нужно будет подобрать файл rdpwrap.ini где-то среди обсуждений https://github.com/stascorp/rdpwrap/issues. (ориентируйтесь на версию сервиса - строка вида 10.0.18362.267 на скриншоте ниже).
В моём случае подошёл файл из комментария к проблеме №845.
Я также пробовал один из файлов поновее, который по идее должен включать и настройки для моей старой версии, но что-то не срослось и конфигуратор показал, что, мол [fully supported], но Listener state: Not listening.
Также там может попасться скрипт для автоматического обновления. По отзывам он тоже рабочий, но я не проверял.
Добавлю, что после замены файла конфигурации службу необходимо перезапускать (из командной строки с правами администратора):
net stop termservice
net start termservice

В конце концов, если всё настроено правильно, окно конфигуратора должно выглядеть как-то так:
RDP Wrapper-Configuration v.15.0.0 10.0.18362.267 OK
Версии могут быть другими, но вся диагностика должна быть зелёной.

Шаг 3. Настройка прав пользователей

Сейчас уже можно проверить работоспособность службы Remote Desktop Services. Это можно сделать или запустив RDPCheck.exe, или стандартным способом - через Подключение к удалённому рабочему столу.
Любой пользователь с правами администратора может зайти удалённо и работать в системе.
Если удалённый вход требуется и для обычных пользователей (что было актуально в моём случае), то нужно осуществить несколько дополнительных действий.

3.1 Активируем группу Remote Desktop Users

  1. Скачайте https://download.sysinternals.com/files/PSTools.zip и извлеките PsExec.exe.
  2. Запустите regedit.exe с "правами системы": PsExec.exe -s -i regedit.exe
  3. Импортируйте REG-файл, предложенный в ответе на SuperUser.

3.2 Выдаём права пользователям

Каждого пользователя, который должен иметь возможность входить удалённо, нужно добавить в группу Remote Desktop Users.
Через командную строку это можно сделать таким образом:
net localgroup "Remote Desktop Users" /add User
Естественно командую строку нужно запускать с правами администратора.

Вместо заключения

Если предложенный подход вам не нравится, не подходит или не заработал, вы всё равно можете получить удалённый доступ к системе под управлением Windows 10 Home, напр., с помощью AnyDesk (очень рекомендую эту программу в качестве альтернативы TeamViewer'у). Однако в этом случае интерактивной будет только одна сессия и все дистанционные действия будут видны на экране компьютера (в некоторых случаях это может быть даже полезно, напр., для демонстрации).

Обновление от 27.05.2020

Спустя почти месяц использования изложенной схемы была обнаружена единственная проблема - если на удалённом компьютере запущено игровое приложение, то при дистанционном входе другого пользователя игра может зависнут или аварийно завершится (возникает crash где-то в недрах DirectX-библиотеки). Возможно, это связано со старыми драверами на моём оборудовании. Впрочем и саму систему я не обновлял с момента установки в январе.
Сегодня же я обнаружил, что GitHub-репозиторий с полезной утилитой и не менее полезными комментариями заблокирован:
2020.05.27 stascorp-rdpwrap This-repository-has-been-disabled
Шансов, что проект воскреснет там же, немного, т.к. всем этим заведением теперь (точнее, с 2018 года) рулит Microsoft. Будем надеятся, что автор перенесёт всё добро на какую-то более независимую площадку.

Обновление от 18.11.2021

Как ни странно, проект ещё жив и поддерживается, причём на том же месте: исправления ini-файла для новых версий Windows регулярно появляются в обсуждениях. Так я сегодня всё настроил по приведенной выше инструкции для своей Windows 10 21H1 с версией сервиса 10.0.19041.789. Заработало без перезагрузки компьютера. Ура! :)

Комментариев нет:

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