Тіньовий RDP підключення до робочого столу користувача в Windows 10

Крім використання Remote Assistance, ви можете віддалено підключитися до робочого столу користувача Windows 10 за допомогою тіньового RDP підключення (Remote Desktop Shadowing). Більшість адміністраторів так чи інакше користувалися цим функціоналом для підключення до сесій користувачів на термінальних RDS серверах з Windows Server 2012 R2 / Server 2016. Однак далеко не всі знають, що тіньовий підключення можна використовувати для віддаленого перегляду і взаємодії з робочим столом користувача і на деськтопной Windows 10. Розглянемо, як це працює.

Як ви пам'ятаєте, якщо спробувати віддалено підключиться до комп'ютера з Windows 10 через RDP, то сесія користувача, що працює локально вибивається (навіть якщо ви дозволите можливість використання декількох одночасних RDP сесій в Windows 10). Однак ви можете підключиться безпосередньо підключитися до консольної сесії користувача без блокування його сеансу.

Припустимо, вам потрібно підключитися з сервера Windows Server 2012 R2 до робочого столу користувача, що працює локально за робочою станцією з Windows 10.

Для тіньового підключення до сесії користувача потрібно використовувати стандартну RDP утиліту mstsc.exe. Формат команди такий:

Mstsc.exe / shadow: / v:

Також можна використовувати одну з опцій:

  • / prompt - запитати ім'я та пароль користувача, під яким виконується підключення (якщо не вказано, підключення виконується під поточним користувачем).
  • / control - режим взаємодії з сеансом користувача. Якщо параметр не заданий, ви підключіться в режимі перегляду (спостереження) сесії користувача, тобто ви не зможете керувати його мишею і вводити дані з клавіатури;
  • / noConsentPrompt - не запитувала у користувача підтвердження на підключення до сесії.

Режим тіньового підключення (чи потрібно запитувати підтвердження користувача, і можливо управління в сесії або тільки спостереження) налаштовується за допомогою групової політики або редагування реєстру.

Політика знаходиться в розділі Конфігурація комп'ютера -> Адміністративні шаблони -> Компоненти Windows -> Служби віддалених робочих столів -> Вузол сеансів віддалених робочих столів -> Підключення (Policies -> Administrative Templates -> Windows components -> Remote Desktop Services -> Remote Session Host -> Connections) і називається "Встановити правила віддаленого управління для призначених для користувача сеансів служб віддалених робочих столів"(Set rules for remote control of Remote Desktop Services user sessions).

Замість включення політики можна виставити значення dword ключа з ім'ям Shadow в гілці реєстру HKLM \ SOFTWARE \ Policies \ Microsoft \ Windows NT \ Terminal Services. Допустимі значення:

  • 0 - заборонити віддалене управління;
  • 1 - повний контроль з дозволу користувача;
  • 2 - повний контроль без дозволу користувача;
  • 3 - спостереження за сеансом з дозволу користувача;
  • 4 - спостереження за сеансом без дозволу користувача.

За замовчуванням цей ключ не заданий і тіньовий підключення здійснюється в режимі повного контролю з дозволу користувача.

Щоб віддалено підключиться до комп'ютера через тіньовий підключення, у підключається облікового запису повинні бути права адміністратора на комп'ютері, а у властивостях системи включений віддалений робочий стіл (RDP).

Запитаємо віддалено список сесій на робочої станції Windows 10 командою:

qwinsta /server:192.168.11.60

Як ви бачите, на даному нього додається один консольная сесія користувача з ідентифікатором ID = 1.

Отже, спробуємо віддалено підключитися до сесії користувача через тіньовий підключення. Виконайте команду:

Mstsc / shadow: 1 /v:192.168.11.60

На екрані користувача Windows 10 з'явиться запит:

Запит на віддалене підключення
Username запитує віддалений перегляд вашого сеансу. Ви приймаєте цей запит.

Якщо користувач вирішить з'єднання, ви підключіться до її термінального сеансу і побачите його робочий стіл. Ви будете бачити всі дії користувача, але не зможете взаємодіяти з його сесією.

Порада. Для завершення тіньової сесії натисніть на комп'ютері alt + * або ctrl + * на RDS сервері.

Якщо поштова мережеві з'єднання за допомогою TCPView, можна побачити, що взаємодія йде через RemoteRPC (а не по протоколу RDP з портом TCP 3389). Тобто для підключення використовується випадковий TCP порт з високого діапазону RPC. На стороні подключающегося комп'ютера з'єднання встановлює mstsc.exe, на стороні клієнта підключення обробляє rdpsa.exe або rdpsaproxy.exe (в залежності від билда Windows 10). Тому на клієнті потрібно включити RemoteRPC:

HKLM \ SYSTЕM \ CurrеntCоntrоlSеt \ Cоntrol \ Tеrminal Sеrvеr
"AllоwRemotеRPС" = dwоrd: 00000001

Функціонал тіньового підключення Remote Desktop Shadowing працює в Windows 10 / 8.1 і Windows Server 2012 R2 / 2016. Щоб тіньовий підключення працювало на клієнтах з Windows 7 SP1 (Windows Server 2008 R2) потрібен RDP клієнт версії 8.1 - тому доведеться встановити оновлення KB2830477 (вимагає наявності встановлених KB2574819 і KB2857650).

Таким чином Remote Desktop Shadowing можна використовувати як аналог Remote Assistance (Видалений помічник) або TeamViewer для локальної або корпоративної мережі.