Меню

Как правильно отключиться от удаленного рабочего стола



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

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

Добрый день! Уважаемые читатели и гости IT портала Pyatilistnik.org. Вчера я вас научил определять номер и ID сеанса пользователя на RDS ферме или терминальном сервере. Там я вам рассказывал, что это нужно в случаях, когда вам необходимо завершить сессию пользователя, по ряду причин, одна из таких, это просто ее зависание. После чего человек и подключиться не может заново и не может выйти из своего сеанса. Вы как администратор, должны уметь решать проблему с зависшими RDP сессиями, ниже я покажу свои методы и алгоритмы.

Описание проблемы

Есть RDS ферма из 15 хостов подключений на Windows Server 2012 R2. Сервера на то они и сервера, что работают постоянно. Если у вас на ферме не настроены тайм ауты времени беспрерывной работы, то пользователи могут неделями или месяцами висеть в авторизованных подключениях. Логично предположить, что это не очень хорошо и ведет к различным последствиям, одно из которых, это полное зависание сеанса, при котором человек не может подключиться к терминальному серверу и видит сообщение «Работает служба профилей пользователей» или еще вариант «Не удается завершить требуемую операцию», я уже не говорю про повреждение пользовательского профиля. В результате того, что RDS брокеры видят. что пользователь уже залогинен, они не дают ему переподключиться к другому Session Host серверу, даже если вы закроете на текущем новые подключения. Пока вы не сделаете выход пользователя из системы для этой сессии, она так и будет мешать. Давайте разбираться, как это делать.

Методы завершения сессии пользователя не терминале

Существует несколько методов позволяющие выкинуть пользователя с сервера.

  • Завершить сессию пользователя (Сделать log off) вы можете из оснастки управления RDS фермой
  • Разлогинить пользователя можно и на самом терминальном сервере из диспетчера задач
  • Выход пользователя можно выполнить из утилиты командной строки rwinsta
  • Утилита командной строки log off
  • Утилита reset session
  • * Командлет Stop-TSSession

Как выкинуть пользователя из оснастки управления RDS

И так, у меня есть мой любимый, тестовый пользователь в Active Directory, по имени Барбоскин Геннадий Викторович. Предположим, что он зашел на терминальный стол и нам по причине зависания его сессии, нужно сделать ему выход. Первый метод, это использование оснастки по управлению RDS фермой, я вам рассказывал, как ее собирать. Открываем раздел с вашей коллекцией RDS фермы. В поисковом фильтре указываем логин или фамилию нужного сотрудника. В результате получаем хост, где он работает.

Щелкаем по нему правым кликом. В контекстном меню будет пункт «Выйти», это и соответствует завершению сессии (Log off). Так же есть пункт «Отключиться», если выберите его, то пользователь будет выброшен с терминального сервера, но его сессия останется на нем, данная операция равносильна тому, если пользователь просто нажал в окне с названием терминального сервера крестик.

После того, как вы выбрали пункт «Выйти», начнется корректное завершение сессии пользователя на RDS ферме. Сам пользователь увидит сообщение «Работает служба профилей пользователей» и у него закроется окно без ошибки.

Второй метод разлогинить пользователя на терминальном сервере

Второй метод, похож на первый, за исключением того, что нам необходимо залогиниться на нужный сервер, открыть оснастку «Диспетчер задач» и уже из него произвести выход пользователя. Сказано сделано, о том, как вам попадать на нужного участника RDS фермы я рассказывал. Далее щелкаем правым кликом по области пуска и из контекстного меню выбираем пункт «Диспетчер задач». Кстати, вызвать «Диспетчер задач» можно и через сочетание клавиш CTRL+SHIFT+ESC.

Читайте также:  Как украсить блюда для фуршетного стола

Находим нужного нам пользователя и щелкаем по нему правым кликом, в контекстном меню. нас будет интересовать пункт «Выйти». Выбираем его и завершаем сессию пользователя.

Использование утилиты RWINSTA

Если вы попали в ситуацию, когда графические методы не позволяют вам произвести выход пользователя из системы, а это необходимо, то вам на помощь придут утилиты из командной строки. RWINSTA — это встроенная в Windows утилита, которая позволяет сбрасывать сессии, по ID и имени сеанса. Первым делом вам нужно вычислить или ID сессии или ее имя, я вам рассказывал, о всех известных мне методах. можете ознакомиться. Я выберу утилиту qwinsta. Пишем команду:

или удаленно qwinsta /server:имя сервера | findstr barboskin.g

В моем примере имя сеанса rdp-tcp#172 и ее ID 515. Пишем команду:

И в первом и во втором случае, пользователь будет разлогинен с данного сервера. Данную команду можно запускать удаленно, со своего рабочего места, главное, чтобы были права на log off. Данный метод меня ни раз выручал в моей практике, например случай с зависшей сессией на Windows Server 2016, где вместо логина пользователя было имя (4).

Как отключить пользователя через reset session

Завершить сессию пользователя можно и с помощью утилиты командной строки Reset Session. В текущем примере у моего Барбоскина Геннадия Викторовича имя сеанса rdp-tcp#16 с его ID 11. Данную утилиту можно применять как локально на самом терминальном сервере, так и на своей рабочей станции, тут так же есть ключ /server.

Подробнее про утилиту reset session вы можете почитать на сайте Microsoft — https://docs.microsoft.com/en-us/windows-server/administration/windows-commands/reset-session

Как отключить пользователя через logoff

Разлогинить пользовательскую учетную запись и даже зависшую, можно и через утилиту командной строки «LogOff». В данном примере у Геннадия Барбоскина имя сессии rdp-tcp#43. В командной строке от имени администратора введите:

Выход пользователя через командлет Stop-TSSession

Есть такой замечательный командлет Stop-TSSession. Посмотрим на сервере ID и имя сеанса, для этого в открытой оболочке PowerShell введите:

В итоге я вижу, что у пользователя barboskin.g SessionID 3. Далее пишем

Соглашаемся с тем, что будет производиться log off для данного пользователя. Проверяем, что сессия завершена. Можно вот таким простеньким скриптом из планировщика задач, разлогинивать сессии:

Выход пользователя через командлет Stop-TerminalSession

Данный командлет устанавливается отдельно, совместно с пакетом Pscx. Первым делом посмотрим локально или удаленно идентификаторы сессии пользователя, для которого мы хотим сделать log off. Выполняем команду:

Нужный мне ID сеанса 427. Далее воспользуемся командлетом Stop-TerminalSession, чтобы выкинуть пользователя и завершить его сессию.

Источник

Как завершить собственный удаленный RDP сеанс в Windows?

В данной заметке я покажу Вам, как можно завершить свой удаленный RDP сеанс на сервере в Windows, например, тогда, когда Вы просто закрыли RDP сеанс по крестику и не можете заново войти в этот сеанс, или, например, у Вас просто сеанс завис.

Читайте также:  Как грамотно организовать рабочий стол

Сразу скажу, что способ, описанный ниже, подходит для администраторов, например, в тех случаях, когда, как я уже сказал, сеанс завис или Вы, не можете в него заново войти, при этом количество подключений к серверу, т.е. сеансов ограничено и у Вас при попытке подключения выходит ошибка, например, «Для сервера терминалов достигнуто максимально возможное число разрешенных подключений».

В данном случае Вы, конечно, можете попросить другого администратора выкинуть Вас, т.е. завершить Ваш сеанс, но, если этот администратор в данный момент отсутствует и других вариантов завершить сеанс (например, через «Диспетчер серверов» и т.д.) у Вас нет, при этом сервер перезагружать нельзя, другими словами Вам нужно завершить свой удаленный сеанс на сервере, и Вы не знаете, как это можно сделать, Вы можете использовать простой способ, который я сейчас и покажу.

Данный способ работает, еще начиная с Windows Server 2003, и заключается он в использовании командной строки CMD, а именно команды LOGOFF.

Завершаем удаленный RDP сеанс в Windows

Для того чтобы завершить удаленный RDP сеанс сначала необходимо определить идентификатор этого сеанса, можно конечно использовать и имя сеанса, но с идентификатором удобнее.

Примечание! Для выполнения перечисленных ниже действий Вы должны иметь соответствующие права.

Чтобы узнать идентификатор RDP сеанса выполните на своем клиентском компьютере следующую команду

Где, вместо TestServer пишите название Вашего сервера. В итоге на экране у Вас отобразится список подключенных к серверу пользователей, Вы ищите себя и в столбце ID смотрите и запоминаете идентификатор своего RDP сеанса.

После того как Вы узнали идентификатор RDP сеанса, Вы можете завершить этот сеанс, для этого пишите следующую команду

Где, 1 – это идентификатор сеанса, TestServer – это сервер, на котором необходимо завершить сеанс, /V – ключ для отображения информации о выполненных действиях.

После чего сеанс будет завершен, и теперь Вы можете заново подключиться к серверу, используя RDP, т.е. удаленный рабочий стол и продолжить работать.

Вот такой достаточно простой способ Вы можете использовать для завершения своего (да и не только своего) удаленного сеанса в операционной системе Windows, надеюсь, данный материал будет Вам полезен, пока!

Источник

Как удаленно отключить удаленный рабочий стол (службы терминалов) или сессии.

Время от времени, пользователи, которые пытаются установить службы терминалов или подключение удаленного рабочего стола в Windows 7 , Windows Vista, Windows Server 2008 (R2) , Windows Server 2003, Windows Server 2000, Windows Home Server или других RDP-серверов ,может появиться сообщение об ошибке » терминальный сервер превысил максимально допустимое количество соединений «.

Ошибка происходит потому, что там есть предыдущая сессия или существующее RDP-соединение с сервером или хостом, которые не были отключены или прекращены надлежащим образом. Для того, чтобы дело не стало еще хуже, если только сервер терминалов в сети был полностью связан с удаленными клиентами, и не было подключено никаких дополнительных слотов, администратор может отключить удалённый сервер с помощью диспетчера служб терминалов, чтобы убить любое RDP соединение.

Читайте также:  Как вести себя за столом с начальником

Вместо перезапуска или перезагрузки хоста или сервера, которые пользователь хочет применить к удаленному рабочему столу в пульте дистанционного управления, вот альтернативные методы обхода удаленного отключения или прекращения Terminal Services или сеансов удаленного рабочего стола и соединений.

  1. Диспетчер служб терминалов или удаленный рабочий стол Services Manager может быть использован для отключения и сброса любых служб терминалов или удаленного соединения Desktop. В зависимости от операционной системы, существуют различные способы, чтобы начать и запустить диспетчер служб терминалов.

Windows XP и Windows Server 2003:

Нажмите на ПускВыполнить и введите % SystemRoot% \ System32 \ tsadmin.exe

Windows Vista и Windows Server 2008:

Нажмите на Пуск и введите тип tsadmin.msc в поле Начать поиск.

Windows 7 и Windows Server 2008 R2 или выше:

Нажмите на Пуск и введите тип Remote Desktop Services Manager в поле Начать поиск.

Совет: На клиентской операционной системе или рабочей станции, удаленный Server Admin Tools (RSAT) должен быть установлен для менеджера на определение.

  1. После запуска Remote Desktop Services Manager или диспетчера служб терминалов, щелкните правой кнопкой на «Remote Desktop Services Manager» или «Все в список серверов» и выберите Подключение к компьютеру .
  2. Затем введите имя или IP-адрес сервера служб удаленного рабочего стола, которыми хотите управлять.

Войдите в систему на удаленном сервере, если потребуется.

  1. Прошедшие проверку сервера, будут перечислены на левой панели. Выберите нужный сервер который не отвечает на сеанс удаленного рабочего стола.
  2. На правой панели, перейдите на панель сессии.
  3. Щелкните правой кнопкой мыши на сессии, которая нужно отключить и выберите Отключить .
  1. Запустите окно командной строки.
  2. Пройдите аутентификацию на удаленном компьютере с помощью следующей команды:

net use /user:Administrator \\ \C$

Замените имя сервера или IP-адрес компьютера с фактическими NetBIOS-имя или IP-адрес удаленного хоста. Например, net use /user:Administrator \\188.8.8.8\C$.

  1. Завершение любого существующего подключения удаленного рабочего стола или подключений служб терминалов с помощью следующей команды:

reset session /server:

Замените имя сервера или IP-адрес компьютера с фактическими NetBIOS-имя или IP-адрес удаленного хоста. Для , введите число постепенно, начиная с 1, 2, 3 …, пока не появиться сообщение « я не нашел ID сессию » которые не были возвращены как ошибка при выполнении команды. Например, «сброс сессии 1 / сервер: 188.8.8.8″.

Совет: уведомление не будет отображаться, когда сессия успешно завершается.

  1. Запустите окно командной строки, и пройдите проверку подлинности удаленного хоста с помощью следующей команды:

net use /user:Administrator \\ \C$

Замените имя сервера или IP-адрес компьютера с фактическими NetBIOS-именем или IP-адрес удаленного хоста. Например, net use /user:Administrator \\188.8.8.8\C$.

Кроме того, из проводника Windows, карта для сетевого диска для обмена папками на целевом сервере, и войдите соответственно в систему.

  1. В командной строке введите следующую команду:

qwinsta /server: /server: с идентификатором сеанса который отождествляется с «qwinsta» командой, а имя сервера или IP-адрес на фактическое имя компьютера или IP-адрес удаленного хоста. Например, rwinsta 1 /server:188.8.8.8 .

Примечание: qwinsta является запросом станции окна и rwinsta сбрасывает станции Window.

После того, как Remote Desktop или Terminal Services соединения завершат сеанс и отключаться, слот будет освобожден и Удаленный пользователь может удаленно Войти снова.

Источник

Adblock
detector