- Remote Desktop Session Shadowing Mode in Windows 10
- Connect to and shadow the console session with Windows Server 2003 Terminal Services
- Summary
- Connect to the console session
- Shadow the console session
- Как подключиться к удаленному рабочему столу в Windows 10 через RDP
- Какие версии Windows 10 поддерживают RDP
- Настройка RDP в Windows 10 в локальной сети
- Подключение к удаленному рабочему столу Windows 10
- Подключение к удаленному рабочему столу Windows 10 через Интернет
- Настройка сети и проброс порта на роутере для подключения по RDP
- Безопасность при использовании технологии RDP
- RDP в Windows 10 Home / RDP Wrap
- Многопользовательский режим RDP
- Что делать, если подключение по RDP не работает
- Заключение
Remote Desktop Session Shadowing Mode in Windows 10
Besides Remote Assistance, you can use Remote Desktop Session Shadowing to remotely connect to the Windows 10 user’s desktop. Most administrators are using this feature to connect to user sessions on the RDS servers running Windows Server 2012 R2 / Server 2016. However, a few of them know that session shadowing can be used to remotely view and manage a user desktop console session in Windows 10 as well. Let’s see how it works.
As you remember, if you try to connect to a Windows 10 computer using RDP, the session of a user working locally is knocked out (even if you enable multiple concurrent RDP sessions in Windows 10). However, you can connect to a console user session directly without locking it.
Suppose, you want to connect from a server running Windows Server 2012 R2 to the desktop of a user working locally on a workstation running Windows 10 Pro.
In order to establish shadow connection to a user session, you must use the standard RDP tool mstsc.exe. The command looks like this:
Mstsc.exe /shadow: /v:
You can also use one of the following options:
- /prompt – request a user credentials to connect (if not specified, you will be connected with the current user credentials);
- /control – the mode that allows to interact with the user session. If the parameter is not set, you will be connected to a user session in a view mode, i. e. you won’t be able to control a user’s mouse or enter data from the keyboard;
- /noConsentPrompt – allows not to prompt the user for confirmation to connect to a session.
Remote shadowing setting is configured using a Group Policy or by registry modification. You can configure whether you need to request the user confirmation to connect, and whether view or control is allowed in the shadow session.
The policy is located in the GPO editor section Computer Configuration -> Policies -> Administrative Templates -> Windows components -> Remote Desktop Services -> Remote Session Host -> Connections and called Set rules for remote control of Remote Desktop Services user sessions.
Instead of enabling the policy, you can set the necessary value in the DWORD registry parameter Shadow in the HKLM\SOFTWARE\Policies\Microsoft\Windows NT\Terminal Services registry key. The allowed values are:
0 – disable remote control;
1 — full control with user’s permission;
2 — full control without user’s permission;
3 — view session with user’s permission;
4 — view session without user’s permission.
By default, this registry parameter is not set and the shadow connection is performed in full control mode with user permissions.
To connect to a user session remotely using shadowing, the connecting account must have the administrator permissions and Remote Desktop (RDP) enabled on the Windows 10 computer (in the System Properties).
Let’s remotely request the list of sessions on Windows 10 workstation using this command:
As you can see, there is one console user session with the on this computer.
Let’s try to remotely connect to the user session 1 via a shadow connection. Run the command:
Mstsc /shadow:1 /v:10.10.11.60
The Windows 10 user will see the following request on the screen:
Remote connection request
PC\admin is requesting to view your session remotely. Do you accept the request?
If the user accepts the connection, you’ll connect to the Windows 10 console session and see the users’ desktop. You will see all user actions, but won’t be able to control this session.
If you check the network connections using TCPView, you can see that it is the RemoteRPC connection (not an RDP one using port TCP/3389). It means that a random TCP port from high RPC range is used for shadow connection. Mstsc.exe establishes the connection on the side of a connecting computer, and rdpsa.exe or rdpsaproxy.exe (depending on the Windows 10 build) processes the connection on the client side. So RemoteRPC must be enabled on the client:
HKLM\SYSTEM\CurrentControlSet\Control\Terminal Server
“AllowRemoteRPC”=dword:00000001
Remote Desktop Shadowing is available in Windows 10 / 8.1 and Windows Server 2012 R2 / 2016 / 2019. To allow shadowing on Windows 7 SP1 (Windows Server 2008 R2) clients, you will need to install the RDP client version 8.1 – KB2830477 (requires installation of the following updates – KB2574819 and KB2857650).
Thus, Remote Desktop Shadowing can be used as the substitute of Remote Assistance or TeamViewer in a local or corporate network.
Connect to and shadow the console session with Windows Server 2003 Terminal Services
This article describes how to use Microsoft Windows Server 2003 Terminal Services to connect to and shadow a console session.
Original product version: В Windows Server 2003
Original KB number: В 278845
Summary
In Windows Server 2003, when you use Terminal Services, you can connect to the console session (session 0), and at the same time, open a shadow session to it (as long as you connect from a session other than the console). With this added functionality, you can log on to a Windows Server 2003-based server that is running Terminal Services remotely and interact with session 0 as if you were sitting at the physical console of the computer. This session can also be shadowed so that the remote user and the local user at the physical console can see and interact with the same session.
Connect to the console session
When you connect to the console session of a Windows Server 2003-based server, no other user has to be already logged on to the console session. Even if no one is logged on to the console, you are logged on just as if you were sitting at the physical console.
To connect from the remote Windows Server 2003-based computer, open a command prompt, and then type the following command:
Where mstsc is the Remote Desktop connection executable file, -v indicates a server to connect to, /F indicates full screen mode, and -console is the instruction to connect to the console session.
When you use this command, you open the Remote Desktop session, and when the logon is authenticated, you are connected to the console session that is running on the Windows Server 2003-based server. If a user is currently working on the console session at the computer, you receive the following error message:
The user domain \ username is logged locally on to this computer. The user has been idled for number minutes. The desktop is unlocked. If you continue, this user’s session will end and any unsaved data will be lost. Do you want to continue?
The user of the current console session is then logged off, and you receive a message that states that the computer is currently locked and only an administrator can unlock it.
If the console session user and the Terminal Services session user are the same, you can connect without any problems.
Shadow the console session
To shadow the console session, first open a Remote Desktop connection to the Windows Server 2003-based server from another computer. By default, the Windows Server 2003 Remote Desktop Connection utility is installed in all versions of Windows Server 2003. You can either use this or the Mstsc command-line utility that is described in the Connect to the console session section, but omit the -console switch. After you open this session, start a command prompt in the session and type the following command to start the shadow session to the console:
After you enter and send this command, you receive the following message:
Your session may appear frozen while the remote control approval is being negotiated. Please wait.
In the console session on the server, you receive the following message:
domain \ username is requesting to control your session remotely.
Do you accept the request?
If the user of the console session on the server clicks YES, you are automatically connected to the console session on the remote Windows Server 2003-based server. If the user on the server’s console clicks NO or does not respond, you receive the following error message at the command prompt on the remote computer:
Remote control failed. Error code 7044
Error [7044]:The request to control another session remotely was denied.
To disconnect the shadow session from the remote side, press CTRL + * (on the numeric keypad), and you are returned to the original session that you established to the Windows Server 2003-based server.
If you are logged on to the console of the server that is running Terminal Services, if you try to shadow another user’s session from the console of the computer, you receive the following error message:
Your session may appear frozen while the remote control approval is being negotiated. Please wait.
Remote Control Failed. Error Code 7050.
Error [7050]:The requested session cannot be controlled remotely.
This may be because the session is disconnected or does not have a user logged on. Also, you cannot control a session remotely from the system console and you cannot remote control your own current session.
If the Windows Server 2003-based server is not configured to permit remote control, you receive the following error message:
Remote control failed. Error code 7051
Error [7051]: The requested session is not configured to allow Remote Control.
To configure the Windows Server 2003-based server to permit remote control, follow these steps:
Как подключиться к удаленному рабочему столу в Windows 10 через RDP
Необходимость подключиться к удаленному рабочему или домашнему компьютеру в реалиях современной жизни стало намного более актуальной, чем десяток лет назад. Предназначенных для целей инструментов существует достаточно много, однако удаленные сотрудники малых компаний чаще всего прибегают к встроенному в Windows 10 клиенту RDP, тогда как компьютерные мастера предпочитают использовать сторонние программы вроде TeamViewer, RAdmin или AnyDesk. Пользуются они и RDP, но лишь для периодического доступа к офисным ПК в локальных сетях.
Какие версии Windows 10 поддерживают RDP
Следует помнить, что не все редакции WIndows 10 поддерживают использование этого протокола подключения. Протокол доступен в редакциях Pro и Enterprise, исключения составляют редакции Домашняя и Single Language.
Настройка RDP в Windows 10 в локальной сети
Ну что же, приступим к настройке удаленного рабочего стола в Windows 10. Сначала рассмотрим возможность удаленного управления в локальной сети, а затем усложним задачу, внеся коррективы в уже имеющиеся настройки для подключения к удаленному хосту из внешней сети. Первым делом включите удаленный рабочий стол, так как в Windows 10 он по умолчанию неактивен. Сделать это можно либо свойствах системы, либо в «Параметрах». Оба способа представлены ниже на скриншотах.
- Нажмите Win + R , выполните команду systempropertiesremote и в открывшемся окне поставьте переключатель в соответствующее положение.
Зайдите в «Параметры» в раздел Система → Удаленный рабочий стол и включите опцию.
На этом этапе вы дополнительно можете создать список пользователей, которые получат право управления компьютером. Для этого выполняем следующие действия:
- Прокрутив содержимое вкладки «Удаленный рабочий стол» в приложении Параметры, найдите и нажмите ссылку «Выбрать пользователей…»;
В открывшемся окошке нажмите «Добавить» и в следующем окне выбора пользователя введите его имя и нажмите «Проверить», а затем «OK»;
Подключение к удаленному рабочему столу Windows 10
По завершению настроек, описанных выше, вы уже можете подключаться к удаленному компьютеру в LAN. Для этого на управляющем ПК выполните следующие действия:
- Запустите средство подключения командой mstsc и разверните окно нажатием «Показать параметры»;
Введите имя удаленного компьютера или его IP адрес и имя пользователя, а затем нажмите «Подключить»;
О том, как определить локальный IP адрес компьютера с включенным RDP, рассказано далее в статье
Введите пароль администратора удаленного компьютера и нажмите «ОК»;
Появится окошко с ошибкой проверки сертификата, проигнорируйте его, нажав «Да».
В итоге вы будете подключены к удаленному ПК и вскоре увидите перед собой его рабочий стол.
Подключение к удаленному рабочему столу Windows 10 через Интернет
Настройка сети и проброс порта на роутере для подключения по RDP
Для подключения к удаленному хосту из внешней сети вам нужно будет выполнять ряд дополнительных действия, а именно: определить внешний и внутренний IP адрес вашего компьютера и выполнить такую процедуру как проброс порта 3389 в роутере. Это необходимо, поскольку удаленный компьютер находится «за роутером», через который нам нужно пробиться. Трудность здесь в том, что модели роутеров у всех разные, поэтому вам придется немного покопаться, чтобы найти нужную настройку в своей модели маршрутизатора. В данном примере используется роутер D-Link 300.
- Кликните правой кнопкой мыши по значку соединения в системном трее и нажмите «Открыть параметры сети и интернет»;
Нажмите кнопку свойства и в следующем окне найдите параметр IPv4 адрес. Это и есть IP адрес вашего устройства в локальной сети. Запишите его.
Определите ваш внешний IP адрес на сайте 2ip.ru и запишите его;
Перейдите в браузере по адресу 192.168.0.1 или 192.168.1.1 и введите логин/пароль роутера (по умолчанию используется admin/admin);
Зайдите в раздел «Настроить вручную», переключитесь на вкладку «Межсетевой экран» → «Виртуальные серверы» и нажмите кнопку «Добавить»;
- Шаблон — оставляем Custom.
- Имя — произвольное на латинице.
- Внешний интерфейс — скорее всего, будет только один, оставляем без изменений.
- Проколол — лучшего всего TCP.
- Внешний и внешний порт (Начальный) — 3389.
- Внутренний IP — IPv4 адрес находящегося за роутером ПК, вы его уже записали, смотрите пункт No2.
- Внешний IP — полученный с помощью сервиса 2ip.ru IP адрес (если IP динамический, т.е. он часто меняется, это поле можно оставить пустым. В некоторых моделях маршрутизаторов его может и не быть вовсе).
Дальнейшая процедура подключения сходна с описанной выше процедурой подключения в LAN, только вместо имени компьютера нужно ввести связку внешнего IP адреса и открытого порта, например, вот так: 109.206.50.240:3389. Клиент запускаем уже известной нам mstsc. Далее вводим пароль, после чего система открывает доступ к удаленному хосту.
Безопасность при использовании технологии RDP
Все соединения по RDP шифруются, тем не менее, не будет излишним проверить некоторые настройки безопасности. Большую часть настроек можно выполнить через редактор Gpedit.
- Откройте его командой gpedit.msc и проследуйте по указанной на скриншоте цепочке настроек.
- Активируйте указанную на скриншоте политику, уровень безопасности выставьте «Согласование» или «SSL».
Включите политику «Требовать безопасное RPC-подключение».
Следующей активируйте указанную на скриншоте политику;
Перейдите по указанной на изображении цепочке настроек и включите справа политику «Системная криптография: использовать FIPS-совместимые алгоритмы…».
Измените порт RDP в Windows 10 по умолчанию, для чего, открыв редактор реестра командой regedit , перейдите по указанной ветке и дважды кликните по параметру PortNumber. В окошке редактирования укажите свой произвольный порт, открыв его затем в брандмауэре.
Откройте командой secpol.msc политики безопасности, зайдите в раздел Локальные политики → Параметры безопасности и убедитесь, что указанная на скриншоте настройка включена. Это — запрет устанавливать соединения с учетными записями без пароля.
Зайдите в дополнительные параметры штатного брандмауэра и в правилах для входящих подключений найдите элемент «Удаленный рабочий стол — пользовательский режим (трафик TCP)». Кликните по ней два раза, переключитесь в окне свойств на вкладку «Область», активируйте радиокнопку «Указанные IP адреса», нажмите «Добавить». В открывшемся окошке укажите IP, с которого разрешено подключаться и сохраните настройки. Можно указать и диапазон IP адресов.
Приведенные здесь меры носят рекомендательный характер, но, если безопасность для вас в приоритете, есть смысл рассмотреть альтернативные способы удаленного управления, например, подключение к удаленному рабочему столу через VPN в связке с RDP, где вам не понадобится пробрасывать порты. Существует также такая технология как RDP Gateway — шлюзовой сервер, использующий RDP в связке с протоколом HTTPS. Данный способ подключения к удаленному рабочему столу в Windows 10 имеет ряд преимуществ, в частности, подключение к удаленным хостам через брандмауэры и совместное использование сети несколькими фоновыми приложениями.
RDP в Windows 10 Home / RDP Wrap
Выше мы уже упоминали, что редакция Home не поддерживает протокол RDP. Вплоть до билда 1809 в Windows 10 Домашняя для обхода этого ограничения использовалась своего рода заплатка — программа RDP Wrapper, однако в последних версиях она больше не работает, так как в Microsoft, похоже на то, закрыли эту лазейку. Для подключения через RDP в Windows 10 Home 2004 и выше используйте сторонние инструменты, в которых сегодня нет недостатка.
Многопользовательский режим RDP
Количество параллельных сессий RDP на рабочих хостах ограничено одним подключением, если же вы попытаетесь открыть следующую сессию, система выдаст предупреждение и попросит отключить сеанс первого пользователя. Это ограничение можно попробовать обойти с помощью программы RDP Wrapper, получив возможность подключать в Windows 10 по RDP несколько пользователей.
- Со страницы разработчика RDP Wrapper скачайте архив поледней версии программы (на текущий момент — RDPWrap-v1.6.2.zip) и распакуйте;
Запустив от имени администратора файл install.bat , установите приложение. По завершении установки вас попросят нажать любую клавишу в консоли;
Запустите файл RDPConfig.exe и убедитесь, что все элементы блока «Diagnostics» окрашены в зеленый цвет;
Если в окне RDPConfig вы увидите выделенное красным [not supported] , вам нужно обновить файл rdpwrap.ini. Найти его или его содержимое можно через поиск ресурса github.com, также вы можете обратиться за помощью в раздел github.com/stascorp/rdpwrap/issues, где обсуждаются проблемы с RDP Wrapper. Приводим 2 ссылки на конфигурационные файлы rdpwrap.ini от разработчиков asmtron и affinityv, которые стараются поддержать проект своими силами. Работоспособность необходимо проверять на конкретной системе.
- В запущенной с правами администратора Powershell выполните команду
Скопируйте указанный файл в расположение C:\Program Files\RDP Wrapper с заменой и перезагрузитесь.
Если проблему устранить не удается, значит либо ваша версия Windows не поддерживает работу с RDP Wrapper, либо имеют место иные неполадки. В общем, пробуйте, если что-то не выходит, не стесняйтесь, опишите вашу проблему в комментариях.
Что делать, если подключение по RDP не работает
Существует достаточно много причин, по которым удаленное подключение может не функционировать. Если у вас не работает RDP в Windows 10, проверьте эти настройки:
- Открыв штатный брандмауэр, нажмите слева «Разрешение взаимодействия с приложением или…». Найдите опцию «Удаленное управление Windows» и включите ее.
В центре управления сетями и общим доступом попробуйте включить сетевое обнаружение.
Проверьте, включена и работает ли у вас служба удаленных рабочих столов.
Заключение
Преимуществом использования RDP является более высокая скорость подключения, чем при использовании сторонних сервисов, но минусов у него гораздо больше. Протокол RDP изначально разрабатывался для удаленного управления в локальных сетях, но позже он был модифицирован с тем, чтобы использовать его для подключения из внешней сети. Похоже, дело не было доведено до ума — отсюда множество разных ошибок и необходимость ручного проброса портов. Для создателей системы, позиционируемой как наиболее удобной для пользователя, подобное решение вряд ли можно назвать эффективным. Нельзя пройти мимо и мимо уязвимости протокола RPD. Согласно отчетам компании Sophos, взлом RPD-подключения сегодня не представляет для злоумышленников особой сложности и занимает в среднем полторы минуты.