Дистанционно управление на потребителска сесия на Windows сървър. Най-радикалният начин за прекъсване на сесии

Ако имате инфраструктура, ориентирана към работна станция, тогава знаете колко трудно може да бъде дистанционното диагностициране и разрешаване на проблеми за вашите потребители. Вероятно използвате инструменти като Microsoft Systems Management Server (SMS) и Windows XP Remote Support, за да работите на потребителски компютър, и знаете как да се свържете дистанционно с мрежов регистър, за да промените настройките на вашите потребители.

Терминалните услуги улесняват тези задачи. Вместо да търсите работна станция на отдалечен сайт във вашата мрежа, вие и вашите потребители сте влезли в един и същи компютър. И тъй като и двамата използвате RDP за прехвърляне на KVM данни, можете лесно да се намесите. За да покажем различни техники за поддръжка, нека първо представим помощните програми за поддръжка.

Мениджър на терминални услуги

Когато стартирате помощната програма за управление на терминални услуги, се показва списък с всички сървъри, на които са инсталирани терминални услуги. С тази помощна програма можете лесно да видите към кои сървъри са свързани потребителите и от кои клиентски устройства, какви процеси и приложения се изпълняват в техните сесии.

Ако сте запознати с Win2K Terminal Services Manager, ще забележите няколко подобрения във версията, включена в WS2K3. Първо, новата версия съдържа възел Този компютър, което дава бърз достъп до сесиите на сървъра, на който сте влезли. Второ, има възел Любими сървъри, което ви позволява да получите достъп до някои от терминалните сървъри, които най-често администрирате. Накрая възелът Всички изброени сървърипървоначално не се разкрива, така че не е нужно да чакате дълго, за да намерите всички терминални сървъри, преди да използвате тази помощна програма.

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

  • Активен - потребителят в момента изпраща въвеждане от клавиатурата или мишката към сървъра
  • Неактивен (неактивен) - Потребителят не е преместил мишката или не е натиснал никакви клавиши за определен период от време
  • Прекъсната връзка - Потребителят е прекъснал връзката със сървъра, но е оставил сесията да работи за по-нататъшно свързване.

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

Таб ИнформацияДесният панел отчита името и IP адреса на клиентското устройство, както и версията на RDP клиента, разделителната способност на екрана и нивото на криптиране. Тази информация ще ви помогне да отстраните проблеми. Ако щракнете с десния бутон върху потребителска сесия, ще се появи контекстно меню:

  • Свързване - Позволява ви да се свържете с друга сесия, която сте установили на сървъра
  • Прекъсване на връзката - Прекъсва връзката на потребителя със сесията, но оставя сесията да работи на сървъра
  • Дистанционно управление - Позволява ви да преглеждате или да взаимодействате със сесията на потребителя, без да прекъсвате връзката на потребителя. Потребителят вижда всички действия, които извършвате, а вие от своя страна можете да наблюдавате действията на потребителя.
  • Нулиране - Прекъсване на сесията
  • Състояние - Показва прозорец на състоянието, показващ мрежовата активност между сървъра и клиента.
  • Изход - Принудително прекратяване на сесията

опция Излезтеспретнато завършва сесията и качва профила на потребителя в централната директория на профила. Това обаче не позволява на потребителя да запази работата си.

Дистанционно управление

Когато изберете опцията за дистанционно управление, вие временно се изключвате от вашата сесия и се свързвате със сесията на потребителя. RDP вече изпраща цялата видео информация както към вашата машина, така и към клиентското устройство на потребителя и получава натискания на клавиши и движения на мишката и от двама ви (ако сте настроили интерактивно дистанционно управление).

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

Редактиране на регистъра

Понякога е необходимо да редактирате регистъра на потребителя. В случай на работни станции трябваше да се свържете с отдалечения регистър на компютъра на потребителя. На терминален сървър споделяте един и същ регистър с вашите потребители. Има само един ключ HKEY_LOCAL_MACHINE за всички потребители, а ключът HKEY_CURRENT_USER за всяка сесия може да бъде намерен в HKEY_USERS.

Всеки потребителски регистър има свой собствен SID. Най-бързият начин да намерите потребителя, който търсите, ако не знаете неговия SID, е да видите потребителското име. Летлива средаза всеки потребител. Този подключ съдържа променливата APPDATA, която съдържа потребителското име. Всички направени промени стават незабавно видими за потребителя.

Случва се, че системният администратор трябва да управлява един от компютрите на потребителя от разстояние, взаимодействайки с потребителя, като разполага с доста слаб хардуер. В този случай използването на софтуер като Team Viewer се счита за неподходящо поради големия им апетит за процесорни ресурси, което провокира увеличаване на натоварването на процесора до 98%. Използването на стандартен RDP най-често води до „нокаутиране“ на текущия потребител, което ще изисква въвеждане на парола за локално влизане в акаунта. В този случай командата shadow е отлично решение. Всъщност ще говорим как да го използваме в тази ситуация днес.

За да наблюдавате други сесии на услуги за отдалечен работен плот, ще ви трябват следните настройки:

СЯНКА (<имя ceaнса> | }

< имя ceaнса >Име на сесията.

< ID ceaнса >ID на сесията.

/СЪРВЪР: Терминален сървър (текуща подразбиране).

/V Показване на информация за изпълнени действия.

Така например, за да управлявате конзолни сесии и, тоест текущи потребители, които седят директно на работната машина, в рамките на терминалния сървър, трябва да изпълните - shadow0. На обикновени компютри се използва alt* за изход, а на терминален сървър се използва ctrl*.

Тук има някои неприятни нюанси. Едно от тях е, че тази команда може да работи изключително в RDP сесии.

В случай на машини, работещи под Windows XP, може да се наложи да разширите възможностите му, като го превърнете в терминален сървър. В същото време задачата е значително опростена - можете да се свържете от всеки потребителски акаунт с администраторски права чрез RDP и, като изпълните командата, изпълнете - shadow0. Така завършваме в конзолна сесия, което трябваше да докажем. За да намалите натоварването на хардуера, когато създавате RDP връзка, изберете елемента за стартиране на следващата програма при свързване и след това въведете shadow0 там. В този случай ще получим само два работещи процеса.

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

„AllоwRemoteRPС”=dword:00000001

След това, като използвате „Диспечер на услуги за отдалечен работен плот“, можете да видите информация за това кои потребители са влезли в компютъра, какви процеси са се изпълнявали на локалната машина и какъв идентификатор има всеки потребител.

По подразбиране потребителят ще бъде попитан за разрешенията за управление. Това може да бъде деактивирано или наблюдението може да се извършва дистанционно. За да направите това, отидете отново в регистъра:

"Сянка"=dword:0000000x

В този случай „x“ може да приема следните стойности:

1 – възможност за пълен контрол с разрешение на клиента;

2 – абсолютен контрол без искане на разрешение от клиента;

3 – наблюдава сесията (с разрешение);

4 – наблюдавайте сесията (без разрешение на клиента)

Първоначално този ред не е в системния регистър и трябва да бъде създаден от нулата.

Чрез локални политики можете да активирате домейн или локални. В случай на локална връзка, трябва да стартирате gpedit.msc, след това да изберете административни шаблони, след това да отидете на елемента „Добавяне и премахване на шаблони“ и да добавите System.adm от папката WINDOWS\inf. След това можете да конфигурирате локалната машина, като отидете на административни шаблони, след това на „Компоненти на Windows“ - „Терминални услуги“ и задайте правила за управление в отдалечен режим. (Windows XP)

За Windows 7, “Административни шаблони” - “Компоненти на услуги за отдалечен работен плот” - след това “Хост на сесия на отдалечен работен плот” - “Връзки” 0 задават правилата за отдалечено управление на потребителски сесии на услуги за отдалечен работен плот.

В рамките на терминалния сървър, чрез свойствата на RDP, можем да зададем права за отдалечен контрол за всеки потребител, като настроим отделно управлението на отдалечени сесии и взаимодействието с тях.

Необходимостта от принудително изключване на потребител възниква главно в следните случаи:

  • Актуализиране на информационната база;
  • Добавяне на нов обект на метаданни към конфигурацията;
  • Извършване на профилактика и ремонт на сървъра;
  • Прекъсната потребителска сесия пречи на приложението да се рестартира.

В тази статия ще се опитаме да ви кажем как да прекратите потребителска сесия, какви инструменти има администраторът в своя арсенал, за да изпълни тази задача, кои опции за прекратяване се предоставят от файловата версия и кои от клиент-сървърната версия на 1C .

Важно е да запомните, че принудителното прекратяване на сесия може да доведе до загуба на данни. Така че, за да избегнете неприятни ситуации, препоръчително е да предупредите потребителите предварително за прекъсването на връзката.

Закриване на сесии от конфигуратора

Когато се направят промени в структурата на базата данни, динамичните актуализации на конфигурацията вече не са налични. И на екрана се появява информационен прозорец (фиг. 1).

Последователността на действията в този случай е очевидна:

  1. Трябва да щракнете върху бутона „Край на сесиите и повторение“;
  2. Изчакайте прозореца за преструктуриране на базата данни;
  3. Натиснете "OK".

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

Прекратяване на сесии директно от програмата

Повечето стандартни продукти на 1C, версия осем, имат механизъм, който ви позволява лесно да прекратите работата на потребителя от разстояние и да предоставите на администратора изключителен достъп до базата данни. Това е обработката „Блокиране на връзки към информационна база“.

Можете да го намерите на един от двата адреса:

  1. В едно от подменютата на секция „Сервиз“;
  2. Отидете в секцията Операции->Обработка.

Фиг.2

Външният вид на обработката е показан на фиг. 2.

Характеристики на тази обработка:

  1. Поставянето и премахването на отметка от квадратчето и щракването върху бутона Запис включва и изключва блокирането на потребители, изтрива сесии и предотвратява създаването на нови връзки;
  2. Крайният час на блокиране не може да бъде празен или по-малък от началния му час;
  3. Ако е указан параметърът „Код на разрешение“, той може да бъде въведен в реда за стартиране, за да игнорира блокирането, като посочи „/UC“ преди кода;
  4. Ако не посочите „Кода на разрешението“, тогава ще бъде трудно да влезете в базата данни преди изтичането на периода на блокиране (във файловата версия на работата можете да опитате да изтриете файла 1CVcdn от папката на базата данни);
  5. Ако вместо параметъра “/UC” и парола, разделени с интервал, посочите “/CAllow Users to Work”, където C е латиница, можете напълно да деактивирате блокирането за всички потребители;
  6. Щракването върху бутона „Активни потребители“ отваря прозорец с пълен списък на потребителите (фиг. 3), откъдето можете да отворите „Регистрационния журнал“ или да прекратите сесията на всеки конкретен потребител.

Фиг.3

Двете опции по-горе работят добре както във файлов, така и в режим клиент-сървър. По-нататък ще разгледаме случаи, характерни само за работата на сървъра.

Премахване на потребители от rdp

Важно е да запомните, че прекъсването на потребителските сесии от сървърите е възможно само ако имате определени права за това.

Когато работите от отдалечен работен плот, можете да крайни потребителски сесии, като използвате стандартния диспечер на задачите. Простото прекъсване на сесиите е малко некоректно, но доста ефективно.

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

Премахване на потребители през сървърната конзола

Имайки права на администратор за 1C сървърен клъстер, трябва:


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

Най-радикалният начин за прекъсване на сесии

Ситуация, при която горните методи не работят, е изключително рядка. Но ако това се случи, има друг радикален начин за прекъсване на връзките към базата данни: физически рестартирайте сървъра.

Разбира се, потребителите, които не са имали време да свършат работата си и да запазят данните, ще бъдат изключително възмутени от такова безсрамно отношение, но това е бързо и е изключително ефективно.

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

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

Mstsc.exe ]

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

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

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

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

/подкана –използвани за свързване под различни идентификационни данни. Ще бъдете подканени да въведете потребителско име и парола, за да се свържете с отдалечен компютър.

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

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

Използване на Remote Desktop Shadow от графичния GUI

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

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

Ще се появи прозорецът Shadow Connection Settings. Възможен оглед ( Преглед) и контрол ( контрол) сесия. Освен това можете да активирате опцията подканазапотребителсъгласие(Искане на потребителско съгласие за свързване към сесията).

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

Заявка за дистанционно наблюдение

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

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

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

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

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

Грешка в сянка:


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

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

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

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

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

RDS Shadow връзка от PowerShell

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

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

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

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

Екранът ще покаже списък с RDP сесии, техния ID и статус: активна сесия (Active) или прекъсната връзка (Disconnected).

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

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

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

сянка.прилеп

@echo изключено

сесия на заявка /сървър:%rcomp%
set /P rid="Въведете RDP потребителски идентификатор: "

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

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

@echo изключено
set /P rcomp="Въведете име или IP на отдалечен компютър: "
for /f "tokens=3 delims= " %%G в ("конзола за сесия на заявка /сървър:%rcomp%") направете задаване на rid=%%G
стартирайте mstsc /shadow:%rid% /v:%rcomp% /control

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

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

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

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

През януари 2018 г., след инсталиране на актуализация KB4056898 (), потребителите се сблъскаха с това, че достъпът в сянка спря да работи в 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 г.)

cmd команди:
Query Session - списък със сесии
Mstsc.exe/shadow:sessionID /control /noConsentPrompt

http://winitpro.ru/index.php/2014/02/12/rds-shadow-v-windows-2012-r2/

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

Mstsc.exe ]

/сянка:ID- свържете се към терминална сесия с посочения идентификатор

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

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

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

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


  • Само администраторът на сървъра може да се свързва със сесии на други хора. Тези права не могат да бъдат делегирани от обикновен потребител.

  • RDS Shadow няма да работи в мрежи, базирани на работни групи

Remote Desktop Shadow - работа в GUI

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

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

Ще се появи прозорецът Shadow Connection Settings. Възможен оглед ( Преглед) и контрол ( контрол) сесия. Освен това можете да активирате опцията Подкана за съгласие на потребителя(искайте съгласие за свързване от потребителя).

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

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

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

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

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

Грешка в сянка:

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

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

Параметрите за дистанционно управление на сесиите на потребителския терминал се конфигурират от политики Задайте правила за дистанционно управление на потребителските сесии на услугите за отдалечен работен плот, които се намират в Политики -> Административни шаблони -> Компоненти на Windows -> Услуги за отдалечен работен плот -> Хост на отдалечена сесия -> Раздел Връзки в секциите за потребител и „компютър“ на GPO.

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


  • Не е разрешено дистанционно управление - дистанционното управление е забранено

  • Пълен контрол с потребителско разрешение - пълен контрол с потребителско разрешение

  • Пълен контрол без разрешение на потребителя - пълен контрол без разрешение на потребителя

  • Преглед на сесията с разрешение на потребителя - наблюдение на сесията с потвърждение

  • Преглед на сесия без разрешение на потребителите - наблюдение на сесия без потвърждение