У Windows 2012 R2 та Windows 8.1 Microsoft повернула функціонал Віддалений Робочий стіл Тініння (Тіньового підключення). Нагадаємо, що режим Shadow (тіньовий сеанс) – може використовувати адміністратором для перегляду і управління існуючої RDP сесією будь-якого користувача. Цей режим роботи підтримується практично з перших версій термінального сервера Microsoft і несподівано був прибраний в Windows Server 2012 (пов’язано з перенесенням стека rdp з режиму ядра в призначений для користувача режим). Функціонал RDS Shadow працює і в наступних версіях ОС: Windows Server 2016 / Windows 10.

Крім того, у режиму тіньового підключення RDS Shadow і RDP клієнта з’явився ряд нових цікавих можливостей. Повний список параметрів RDPкліента mstsc.exe, що визначають можливість віддаленого тіньового підключення до сесії кінцевого користувача:

Mstsc.exe [/shadow:sessionID [/v:Servername] [/control] [/noConsentPrompt]] Нові параметри mstsc в Windows 8.1

/ тінь: ID – підключиться до RDP сесії з зазначеним ID.

/ v: ім’я сервера – імяRDP / RDS термінального сервера (якщо не задано, використовується поточний).

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

/ noConsentPrompt – не запитувала у користувача підтвердження на підключення до сесії.

/ підказка –використовується для підключення під іншими обліковими даними. Запитується ім’я і пароль користувача для підключення до віддаленого комп’ютера.

Обмеження тіньових сеансів RDS в Windows 2012 R2

  • Підключатися до чужих сесій може тільки адміністратор сервера. Делегувати ці права звичайним користувачем можна
  • RDS Тінь не працюватиме в мережах на базі робочих груп

Використання Remote Desktop Shadow з графічного GUI

Підключитися до сесії користувача можна за допомогою утиліти mstsc.exe або безпосередньо з консолі Server Manager. Для цього в консолі Server Manager відкрийте колекцію QuickSessionCollectionколекція QuickSessionCollection

Натиснувши на сесії цікавить користувача, виберіть у контекстному меню Shadow (Тіньова копія). shadow - запуск тіньової сесії

З’явиться вікно параметрів тіньового підключення. Можливий перегляд (Переглянути) та управління (Контроль) Сесією. Крім того, можна включити опцію Підкажіть для користувач згода (Запитувати згоду користувача на підключення до сесії).

mstsc - Тіньова копія - Запитувати згоду користувача

Якщо Ви вибрали «Запитувати згоду користувача», в сесії у користувача з’явиться запит:

Запит на віддалене спостереження

Winitpro administrator запитує віддалений перегляд вашого сеансу. Ви приймаєте цей запит.

Winitpro administrator вимагає віддаленого перегляду сеансу. Ви приймаєте запит?

Запит користувача про shadow підключенні

Запит на віддалене тіньовий спостереження

Якщо користувач підтвердить, підключення, в режимі перегляду адміністратор побачить його робочий стіл, але не зможе взаємодіяти з ним. віддалене управління термінальної сесіей користувача в rds windows server 2012r2

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

Якщо ж користувач відхилить підключення, з’явиться вікно:

Помилка тіні: Оператор або адміністратор відхилив запит

Оператор або адміністратор відхилив запит
Якщо спробувати підключитися до сесії користувача без запиту підтвердження, з’явиться помилка, що повідомляє, що таке це заборонено груповою політикою:

Помилка тіні: Параметр групової політики налаштовано так, щоб вимагати згоди користувача. Перевірте конфігурацію параметрів політики.

помилка GPO віддаленого shadow підключення

Параметри віддаленого управліннями RDS сесіями користувача налаштовуються політикою Встановіть правила віддаленого управління сеансами користувачів служб віддаленого робочого столу (Встановити правила віддаленого управління для призначених для користувача сеансів служб віддалених робочих столів), Яка знаходиться в розділі Policies -> Administrative Templates -> Windows components -> Remote Desktop Services -> Remote Session Host -> Connections (Адміністративні шаблони -> Компоненти Windows -> Служби віддалених робочих столів – Вузол сеансів віддалених робочих столів -> Підключення) в призначеній для користувача і «комп’ютерної» секціях GPO. Даною політиці відповідає dword параметр реєстру Тінь в гілці 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 з PowerShell

Скористатися функціоналом тіньового підключення до сесії користувача через тіньовий підключення Remote Desktop Services можна і з Powershell.

В першу чергу покажемо, як отримати список сесій на термінальному сервері (сесії користувачів будуть згруповані в групи в залежності від їх статусу):

Get-RDUserSession | ft Username, UnifiedSessionId, SessionState, HostServer, ApplicationType -GroupBy Sessionstate

Get-RDUserSession Powershell

На даному сервері ми виявили три активних термінальних сесії. Підключимося до сесії користувача з ID сесії 3:
Mstsc /shadow:3 /control
mstsc запуск shadow з powershellТакож для отримання списку всіх сесії на сервері можна виконати команду

quser

або

qwinsta

На екрані з’явиться список RDP сесій, їх ID і статус: активна сесіія (Active) або відключена (Disconnected).

qwinsta - список RDP сесіій на віддаленому сервері

Для отримання списку сесій на віддаленому сервері виконайте команду:

query session /server:servername

Для більш зручного тіньового підключення до сесій можна використовувати наступний скрипт. Скрипт запропонує ввести ім’я віддаленого комп’ютера і виведе список всіх сеансів і запропонує вказати сеанс, до якого потрібно підключитися:

тінь.бат

@echo off
set /P rcomp="Enter name or IP of a Remote PC: "
query session /server:%rcomp%
set /P rid="Enter RDP user ID: "
start mstsc /shadow:%rid% /v:%rcomp% /control

Можна помістити даний файл в каталог% Windir% System32, в результаті для тіньового підключення досить виконати команду тінь.

Для підключення до консольної сесії можна використовувати такий скрипт:

@echo off
set /P rcomp="Enter name or IP of a Remote PC: "
for /f "tokens=3 delims= " %%G in ('query session console /server:%rcomp%') do set rid=%%G
start mstsc /shadow:%rid% /v:%rcomp% /control

Ви можете використовувати тіньовий підключення до робочих столів користувачів на комп’ютерах з Windows 10 і 8.1.

Як дозволити звичайному користувачам використовувати тіньовий підключення

У розглянутих вище прикладах для використання тіньового підключення до термінальних сесій необхідні права локального адміністратора на RDS сервері. Однак можна дозволити використовувати тіньове (shadow) підключення для підключення до сесій користувачів і простим користувачам (не даючи їм прав локального адміністратора на сервері).

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

wmic /namespace:\rootCIMV2TerminalServices PATH Win32_TSPermissionsSetting WHERE (TerminalName="RDP-Tcp") CALL AddAccount 'corpAllowRDSShadow',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 – Кб4057401 (Від 17 січня 2018)

Leave a Reply

Your email address will not be published. Required fields are marked *