RDS Shadow - сенчеста връзка с потребителски сесии на RDP в Windows Server 2016/2012 R2

В Windows 2012 R2 и Microsoft Windows 8.1 върната функционалност отдалечен Desktop сянката (връзка за сянка). Спомнете си, че режимът Shadow (сянката на сянка) - може да се използва от администратора за преглед и управление на съществуващата сесия RDP на всеки потребител. Този режим на работа се поддържа почти от първите версии на терминалния сървър на Microsoft и неочаквано беше премахнат в Windows Server 2012 (поради прехвърлянето на стека rdp от режима на ядрото в потребителския режим). Функционалността на RDS Shadow работи в следните версии на ОС: Windows Server 2016 / Windows 10.

Съдържание:

  • Използване на Remote Desktop Shadow от GUI
  • Shadow RDS Shadow от PowerShell
  • Как да разрешим на обикновените потребители да използват връзка в сянка

В допълнение, RDS Shadow и RDP клиентските сенчести режими имат редица интересни нови функции. Пълният списък на клиентските параметри на mstsc.exe RDP, които определят възможността за отдалечена връзка в сянка до сесията за крайния потребител:

Mstsc.exe [/ shadow: sessionID [/ v: Име на сървъра] [/ control] [/ noConsentPrompt]]

/ сянка: ИД - свържете се към RDP сесията с посочения идентификатор.

/ v: име на сървър - RDP / RDS име на терминалния сървър (ако не е посочено, се използва текущият).

/ контрол - възможност за взаимодействие с потребителска сесия (ако не е посочена, се използва режимът на изглед на потребителска сесия).

/ noConsentPrompt - не изисквайте от потребителя потвърждение за връзка със сесията.

/ бързо -използва се за свързване под други идентификационни данни. Потребителското име и парола се изисква да се свържат с отдалечения компютър.

Ограничения на сесиите за сянка на RDS в Windows 2012 R2

  • Само администратори на сървъри могат да се свързват с чужди сесии. Не можете да делегирате тези права като редовен потребител
  • RDS сянка няма да работи в мрежи, базирани на работни групи

Използване на Remote Desktop Shadow от GUI

Можете да се свържете с потребителска сесия с помощта на помощната програма mstsc.exe или директно от конзолата на Server Manager. За целта в конзолата на Server Manager отворете QuickSessionCollection

Като щракнете върху сесията на интересуващия потребител, изберете Shadow от контекстното меню..

Появява се прозорецът за настройки на сенчеста връзка. Видимо (изглед) и управление (контрол) сесия. Можете също да активирате опцията бърз за потребител съгласие (Поискайте съгласието на потребителя да се свържете със сесията).

Ако е избрана опцията „Искане на съгласие на потребителя“, потребителят ще бъде попитан в сесията:

Заявка за отдалечен мониторинг

Winitpro \ администратор изисква отдалечен изглед на вашата сесия. Приемате тази заявка. Winitpro \ administrator изисква да прегледате сесията си дистанционно. Приемате ли молбата?

Ако потребителят потвърди връзката, в режим на гледане администраторът ще вижда работния си плот, но няма да може да взаимодейства с него.

съвет. За да прекъснете връзката с потребителската сесия и да излезете от режим на сянка, щракнете ALT+* на работна станция или Ctrl+* на терминалния сървър (ако не са посочени алтернативни комбинации).

Ако потребителят отхвърли връзката, се появява прозорец:

Грешка в сянката: Операторът или администраторът е отказал заявката


Ако се опитате да се свържете с потребителска сесия, без да поискате потвърждение, ще се появи грешка, която ви уведомява, че това е забранено от груповите правила:

Грешка в сянката: Настройката за групови правила е конфигурирана да изисква съгласието на потребителя. Проверете конфигурацията на настройките на правилата.

Настройките за дистанционно управление на RDS за потребителски сесии се конфигурират от политика Задайте правила за дистанционно управление на потребителските сесии на Remote Desktop Services (Задаване на правила за дистанционно управление за потребителски сесии на услугите за отдалечен работен плот), който се намира под Политики -> Административни шаблони -> Компоненти на Windows -> Услуги за отдалечен работен плот -> Отдален хост на сесия -> Връзки (Административни шаблони -> Компоненти на Windows -> Услуги за отдалечен работен плот - Хост на отдалечен работен плот -> Връзки) в потребителски и „компютърни“ секции на GPO. Тази политика съответства на настройката на регистъра на dword сянка в клона HKLM \ SOFTWARE \ Политики \ Microsoft \ Windows NT \ Терминални услуги.

Тази политика ви позволява да конфигурирате следните опции за свързване на сянка чрез RD Shadow връзка за сянка:

  • Не е разрешен отдалечен контур - дистанционното управление не е разрешено (стойност на ключа на регистъра Shadow = 0);
  • Пълен контрол с разрешение на потребителите - пълен контрол с разрешение на потребителя (1);
  • Пълен контрол без разрешение на потребителите - пълен контрол без разрешение от потребителя (2);
  • Преглед на сесия с разрешение на потребителите - наблюдение на сесия с потребителско разрешение (3);
  • Преглед на сесия без разрешение на потребителите - наблюдение на сесия без разрешение от потребителя (4).

Shadow RDS Shadow от PowerShell

Powershell може също така да използва функцията за свързване на сенки за потребителска сесия чрез сенчеста връзка на Remote Desktop Services.

На първо място, показваме как да получите списък от сесии на терминален сървър (потребителските сесии ще бъдат групирани в групи в зависимост от техния статус):

Get-RDUserSession | ft Потребителско име, UnifiedSessionId, SessionState, HostServer, ApplicationType -GroupBy Sessionstate

На този сървър намерихме три активни терминални сесии. Свържете се с потребителската сесия с ID на сесията 3:
Mstsc / сянка: 3 / контрол
Също така, за да получите списък на всички сесии на сървъра, можете да стартирате командата

QUSER

или

qwinsta

На екрана ще се покаже списък на RDP сесиите, техния идентификационен номер и състояние: активна сесия (активна) или прекъсната (прекъсната).

За да получите списък от сесии на отдалечен сървър, изпълнете командата:

сесия за запитване / сървър: име на сървър

За по-удобна връзка в сянка със сесии можете да използвате следния скрипт. Скриптът ще ви подкани да въведете името на отдалечения компютър и ще покаже списък на всички сесии и ще предложи да определите сесията, към която искате да се свържете:

shadow.bat

@echo off
set / P rcomp = "Въведете име или IP на отдалечен компютър:"
сесия за запитване / сървър:% rcomp%
set / P rid = "Въведете RDP потребителски идентификатор:"
стартира mstsc / сянка:% освобождаване% / v:% rcomp% / контрол

Можете да поставите този файл в директорията% Windir% \ System32, в резултат на това за връзка в сянка, просто изпълнете командата сянка.

За да се свържете със сесията за конзолата, можете да използвате следния скрипт:

@echo off
set / P rcomp = "Въведете име или IP на отдалечен компютър:"
for / f "tokens = 3 delims =" %% G in ('query session console / server:% rcomp%') set set rid = %% G
стартира mstsc / сянка:% освобождаване% / v:% rcomp% / контрол

Можете да използвате сенчеста връзка към настолните компютри на потребители на компютри с Windows 10 и 8.1.

Как да разрешим на обикновените потребители да използват връзка в сянка

В горните примери, за да използвате сенчеста връзка за терминални сесии, се нуждаете от права на локален администратор на RDS сървъра. Можете обаче да разрешите използването на сенчеста връзка за свързване към потребителски сесии и прости потребители (без да им давате права на локален администратор на сървъра).

Например, искате да разрешите на членове на групата 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 г.)