RDS Shadow – теневое подключение к RDP сессиям пользователей в Windows Server 2012 R2

Режим работы Remote Desktop Shadowing (теневого подключения) поддерживался практически с первых версий терминального сервера Microsoft и неожиданно был убран в Windows Server 2012 (связано с переносом стека rdp из режима ядра в пользовательский режим). Но, в Windows Server 2012 R2 Microsoft вернула этот функционал. Напомним, что режим Shadow (теневой сеанс) – может использовать администратором для просмотра и управления существующей RDP сессией любого пользователя.

Использование Remote Desktop Shadow из графического GUI

Подключиться к сессии пользователя можно с помощью утилиты mstsc.exe (Пуск → Выполнить...) или непосредственно из консоли Server Manager. Для этого в консоли Server Manager откройте коллекцию QuickSessionCollection. Щелкнув по сессии интересующего пользователя, выберите в контекстном меню Shadow (Теневая копия).

Появится окно параметров теневого подключения. Возможен просмотр (View) и управление (Control) сессией. Кроме того, можно включить опцию Prompt for user consent (Запрашивать согласие пользователя на подключение к сессии).

Если выбрана опция «Запрашивать согласие пользователя», в сессии у пользователя появится запрос:

Если пользователь подтвердит, подключение, в режиме просмотра администратор увидит его рабочий стол, но не сможет взаимодействовать с ним.

Совет. Для отключения от сессии пользователя и выхода из shadow-режима нужно нажать ALT+* на рабочей станции или Ctrl+* на терминальном сервере (если не заданы альтернативные комбинации).

Если же пользователь отклонит подключение, появится окно:

Если попытаться подключиться к сессии пользователя без запроса подтверждения, появится ошибка, сообщающая, что такое это запрещено групповой политикой:

Запустить редактора локальной групповой политики можно с помощью утилиты gpedit.msc (Пуск → Выполнить...).

Параметры удаленного управлениями RDS сессиями пользователя настраиваются политикой Set rules for remote control of Remote Desktop Services user sessions (Установить правила удаленного управления для пользовательских сеансов служб удаленных рабочих столов), которая находится в разделе Policies → Administrative Templates → Windows components → Remote Desktop Services → Remote Session Host → Connections (Административные шаблоны → Компоненты Windows → Службы удаленных рабочих столов → Узел сеансов удаленных рабочих столов → Подключения) в пользовательской и «компьютерной» секциях GPO.

Данной политике соответствует dword параметр реестра Shadow в ветке HKLM\SOFTWARE\Policies\Microsoft\Windows NT\Terminal Services.

Этой политикой можно настроить следующие варианты теневого подключения через теневое подключение RD Shadow::

  • No remote contol allowed  — удаленное управление не разрешено (значение ключа реестра Shadow = 0);
  • Full Control with users’s permission  — полный контроль с разрешения пользователя (1);
  • Full Control without users’s permission — полный контроль без разрешения  пользователя (2);
  • View Session with users’s permission – наблюдение за сеансом с разрешением пользователя (3);
  • View Session without users’s permission – наблюдение за сеансом без разрешения пользователя (4).

Как разрешить обычном пользователям использовать теневое подключение

В рассмотренных выше примерах для использования теневого подключения к терминальным сессиям необходимы права локального администратора на RDS сервере. Однако можно разрешить использовать теневое (shadow) подключение для подключения к сессиям пользователей и простым пользователям (не давая им прав локального администратора на сервере).

К примеру, вы хотите разрешить членам группы AllowRDSShadow использовать теневое подключение к сессиям пользователей, выполните команду:

wmic /namespace:\\root\CIMV2\TerminalServices PATH Win32_TSPermissionsSetting WHERE (TerminalName='RDP-Tcp') CALL AddAccount 'corp\AllowRDSShadow',2

В январе 2018 года после установки обновления KB4056898 (патч Windows против Meltdown и Spectre) пользователи столкнулись, что в Windows Server 2012 R2 перестал работать теневой доступ. При попытке выполнить теневое подключение к чужой сессии появляется сообщение «Неопознанная ошибка» (в логах присутствует ошибка STATUS_BAD_IMPERSONATION_LEVEL). Аналогичная проблема возникала и на RDS ферме на базе Windows Server 2016.

Для решения проблемы нужно установить отдельные обновления:

  • для Windows Server 2016 — KB4057142 (от 17 января 2018)
  • для Windows Server 2012 R2 — KB4057401 (от 17 января 2018)

По материалам winitpro.ru и remontka.pro