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

LOGOFF – завершение сеанса пользователя Windows .

Команда MODE используется для завершения сеанса пользователя (выхода из Windows). Формат командной строки:

LOGOFF [имя сеанса | ИД сеанса] [/SERVER:сервер] [/V] [/VM]

Параметры командной строки:

имя сеанса — Имя сеанса.

ID сеанса — Идентификатор сеанса.

/SERVER:сервер — Сервер удаленных рабочих столов, содержащий пользователя пользователя (по умолчанию — текущий).

/V — Отображение информации о выполненных действиях.

/VM — Завершение сеанса на сервере или в виртуальной машине. Необходимо указать уникальный идентификатор сеанса.

LOGOFF /? — отобразить справку по использованию.

logoff — завершить текущий сеанс пользователя (выйти из системы).

logoff rdp-tcp#3 /server:COMP10 — завершить сеанс с именем rdp-tcp#3 на сервере COMP10 . Имя сеанса можно определить командой QUSER /server:COMP10 .

logoff 2 /server:COMP10 — завершить сеанс с идентификатором 2 на сервере COMP10

logoff 2 /server:192.168.1.110 — то же, что и в предыдущем примере, но вместо имени сервера используется его IP-адрес.

logoff 2 /server:192.168.1.110 /V — использовать подробный режим отображения сведений о выполняемых действиях. В этом случае на экран выводится сообщение:

Будет выполнен выход user (сеанс 2) из системы ,
продолжить (n=нет)?n

Отображается не только идентификатор сеанса, но и имя пользователя. В этом режиме, завершение сеанса можно отменить, ответив n на запрос продолжить (n=нет)?n . По умолчанию, отмена завершения сеанса не выполняется.

В качестве альтернативы команде logoff можно использовать команду SHUTDOWN с параметром -l

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

Добрый день! Уважаемые читатели и гости 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 фермы. В поисковом фильтре указываем логин или фамилию нужного сотрудника. В результате получаем хост, где он работает.

Читайте также:  Linux mint 20 с окружением xfce что это такое

Щелкаем по нему правым кликом. В контекстном меню будет пункт «Выйти», это и соответствует завершению сессии (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, чтобы выкинуть пользователя и завершить его сессию.

Выход из сеанса пользователя или его отключение Log off or Disconnect User Sessions

Пользователи MultiPoint Services могут входить в сеансы рабочего стола и выходить из них так же, как и при работе в сеансах Windows. MultiPoint Services users can log on and log off of their desktop sessions as they would with any Windows session. Пользователи также могут отключить или приостановить сеанс, чтобы станция служб MultiPoint не использовалась, но сеансы остаются активными в памяти компьютера системы служб MultiPoint. Users can also disconnect or suspend their session so that the MultiPoint Services station is not being used, but their session remains active in the MultiPoint Services system’s computer memory.

Читайте также:  Запуск pgadmin 4 windows

Кроме того, пользователи могут завершить сеанс пользователя, если пользователь покидает сеанс служб MultiPoint или запустил выход из системы. In addition, administrative users can end a user’s session if the user has stepped away from their MultiPoint Services session or has forgotten to log off of the system.

Выход из сеанса и его отключение Logging off or disconnecting a session

В приведенной ниже таблице описаны различные способы выхода из сеансов, а также приостановки и завершения сеансов. The following table describes the different options that you or any user can use to log off, suspend, or end a session.

Действие Action Действие Effect
Нажмите кнопку Пуск, выберите параметры, щелкните имя пользователя (верхний правый угол), а затем нажмите кнопку выход. Click Start, click Settings, click the user name (top-right corner), and then click Sign out. Сеанс будет завершен, после чего на станцию сможет войти любой пользователь. The session ends and the station is available for log on by any user.
Нажмите кнопки в следующей последовательности: Пуск, Настройки, «Питание» и Отключить. Click Start, click Settings, click Power, and then click Disconnect. Сеанс будет прерван и сохранен в памяти компьютера. Your session is disconnected and your session is preserved in computer memory. После этого на станцию сможет войти тот же самый или другой пользователь. The station becomes available for log on by the same user or a different user.
Нажмите кнопку Пуск, выберите параметры, щелкните имя пользователя (верхний правый угол), а затем щелкните Блокировка . Click Start, click Settings, click the user name (top-right corner), and then click Lock Станция будет заблокирована, а сеанс сохранится в памяти компьютера. The station is locked and your session is preserved in computer memory.

Приостановка или завершение сеанса пользователя Suspending or ending a user’s session

В следующей таблице описаны различные параметры, которые пользователь с правами администратора может использовать для отключения или завершения сеанса пользователя. The following table describes the different options that you, as an administrative user, can use to disconnect or end a user’s session.

Завершение сеансов пользователей Log Off User Sessions

Обычные пользователи, пользователи MultiPoint Dashboard и пользователи с правами администратора могут входить в сеансы своего рабочего стола и выходить из них так же, как и при работе в сеансах Windows. Standard users, MultiPoint Dashboard users, and administrative users can log on and log off of their desktop sessions as they would with any Windows session. Кроме того, пользователи с правами администратора и пользователи панели мониторинга MultiPoint могут завершать сеансы пользователей на всех наблюдаемых сеансах в системе MultiPoint Services. In addition, administrative users and MultiPoint Dashboard users can end the user sessions on all of the monitored sessions on the MultiPoint Services system.

На панели мониторинга MultiPoint перейдите на вкладку Главная . In MultiPoint Dashboard, click the Home tab.

Используйте один из следующих вариантов: Do one of the following:

Чтобы выйти из сеанса одного пользователя или выбранных сеансов, щелкните эскиз сеанса, который необходимо завершить, а затем щелкните раскрывающееся меню сверху слева. To log off a single user session or selected sessions, click the thumbnail image of the session you want to end, and then click the top-left drop-down menu. Нажмите кнопку Завершить сеансы пользователей, а затем — Завершить сеансы выбранных пользователей. Click Log Off Users, and then click Log Off Selected Users. Этот вариант также можно увидеть, щелкнув правой кнопкой мыши выбранные эскизы. You can also see this option by right-clicking the selected thumbnails.

Чтобы выйти из всех сеансов пользователей, щелкните раскрывающееся меню сверху вниз, выберите пункт выйти из системы пользователейи нажмите кнопку Выход из системы всех пользователей. To log off all user sessions, click the top-left drop-down menu, click Log Off Users, and then click Log Off All Users.

Два способа принудительного завершения сеанса из командной строки

В редакцию регулярно поступают письма с вопросом, как организовать автоматическое завершение сеанса из командной строки. До последнего времени стандартного решения этой проблемы не было, но с выходом четвертой версии Microsoft Windows NT Server 4.0 Resource Kit ситуация изменилась. В Resource Kit версии 4 появилось две утилиты для выполнения этой задачи: исполняемый модуль logoff.exe и сценарий VBScript — logoff.vbs, причем сценарий обеспечивает даже более широкие функциональные возможности.

В редакцию регулярно поступают письма с вопросом, как организовать автоматическое завершение сеанса из командной строки. До последнего времени стандартного решения этой проблемы не было, но с выходом четвертой версии Microsoft Windows NT Server 4.0 Resource Kit ситуация изменилась. В Resource Kit версии 4 появилось две утилиты для выполнения этой задачи: исполняемый модуль logoff.exe и сценарий VBScript — logoff.vbs, причем сценарий обеспечивает даже более широкие функциональные возможности.

Для выполнения logoff.exe из пакетного файла используется синтаксис:

При запуске программы без параметров logoff переспрашивает, действительно ли нужно завершить сеанс. Если ответить «y» (yes), то Windows NT закрывает текущий сеанс, если, конечно, в это время нет приложений с несохраненными данными. Если хотя бы одно такое приложение в работе, оно может приостановить закрытие сеанса и переспросить о необходимости сохранения данных. Естественно, программа, требующая вмешательства пользователя, не очень подходит для автоматического выполнения пакетных заданий, поэтому авторы программы предусмотрели ключи /n и /f.

Если указан ключ /n, утилита logoff.exe не требует подтверждения, но в этом случае другие приложения все равно могут остановить процесс выхода из системы для сохранения данных. Хотя принудительное завершение сеанса с потерей несохраненных данных не способствует развитию дружеских отношений между пользователями и администраторами системы, все же можно представить себе ситуацию, когда этот способ завершения сеанса действительно необходим. В таком случае для принудительного завершения сеанса можно применить ключ /f.

Основное достоинство logoff.exe заключается в том, что это очень компактный исполняемый файл, не требующий наличия дополнительных средств. Реализованный в том же Resource Kit вариант утилиты в виде сценария VBScript позволяет завершить текущий сеанс пользователя не только на локальном, но и на удаленном компьютере. Обе программы можно найти в каталоге Resource Kit. Следует отметить, что если, находясь в этом каталоге, ввести в командной строке команду logoff, то будет выполнена программа logoff.exe, поскольку операционная система в первую очередь ищет исполняемые программы, и лишь затем пытается выполнить сценарии. Для выполнения сценария необходимо полностью указать в командной строке имя файла сценария VBScript, то есть logoff.vbs.

Поскольку сценарий logoff.vbs использует для работы интерфейс WBEM (Web-Based Enterprise Management, интерфейс обслуживания корпоративных систем на основе Web). Конечно же, для завершения сеансов на удаленном компьютере на нем тоже должен быть установлен интерфейс WBEM. Этот интерфейс стандартно установлен на всех системах Windows 2000, а для использования на компьютерах Windows NT интерфейс WBEM можно загрузить с сервера Microsoft, или найти необходимые установочные файлы в Resource Kit. Для выполнения сценария logoff.vbs используется синтаксис:

logoff.vbs /s /u /w

Ключ /s используется для выполнения сценария на сервере servername, причем в этом случае следует задать имя администратора и пароль с ключами /u и /w, соответственно. Аналогично, для принудительного завершения сеанса можно задать ключ /f, а вот ключ /n не используется, так как сценарий никогда не переспрашивает, действительно ли следует завершить сеанс.

Предположим, что на сервере \\uptown пользователь BigGuy с паролем stingray имеет права администратора, тогда для принудительного завершения сеанса работающего на этом компьютере пользователя достаточно выполнить на другом компьютере команду

logoff.vbs /s \\uptown /u bigguy /w stingray /f

Сразу оговоримся, что записывать в пакетном файле имя и пароль администратора просто недопустимо, поэтому удаленное использование сценария logoff.vbs несколько ограничено (прим. переводчика: можно написать программу, которая запускает такую команду для списка компьютеров, запрашивая при запуске имя и пароль). Но в любом случае возможность изучить исходный код сценария удаленного отключения пользователя позволит применить эту технику в случае необходимости. Как мы видим, корпорация Microsoft определенно собирается присоединиться к движению за свободу исходного кода программ.

Марк Минаси – редактор Windows NT Magazine, имеет сертификат MCSE; является автором книги «Mastering Windows NT Server 4.0» (издательство Sybex). С ним можно связаться по адресу: mark@minasi.com.

Поделитесь материалом с коллегами и друзьями

Читайте также:  Jbl tune205bt драйвер для windows
Оцените статью