Меню Рубрики

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

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

Источник

Команда SHUTDOWN — выключение / перезагрузка компьютера

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

Формат командной строки:

SHUTDOWN.EXE [/i | /l | /s | /r | /g | /a | /p | /h | /e] [/f] [/m \\компьютер][/t xxx][/d [p|u]xx:yy [/c «комментарий»]]

Если в командной строке не заданы параметры, или задан параметр /? — то на экран выдается краткая справка по использованию команды.

Вместо синтаксиса /ключ допускается использование -ключ :

SHUTDOWN.EXE [-i | -l | -s | -r | -g | -a | -p | -h | -e] [-f] [-m \\компьютер][-t xxx][-d [p|u]xx:yy [-c «комментарий»]]

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

/i — Отображение графического интерфейса пользователя. Этот параметр должен быть первым.
/l — Завершение сеанса. Этот параметр нельзя использовать с параметрами /m или /d .
/s — Завершение работы компьютера.
/r — Завершение работы и перезагрузка компьютера.
/g — Завершение работы и перезагрузка компьютера. После перезапуска системы, запуск всех зарегистрированных приложений.
/a — Отмена завершения работы системы. Этот параметр можно использовать только в период ожидания.
/p — Немедленное отключение локального компьютера без предупреждения. Можно использовать с параметрами /d и /f .
/h — Переключение локального компьютера в режим гибернации. Можно использовать с параметром /f .
/e — Указание причины непредвиденного завершения работы компьютера.
/o — Переход в меню дополнительных параметров загрузки и перезагрузка компьютера. Данный параметр допустим для Windows 8 и более поздних версий. Необходимо использовать в с параметром /r.
/m \\компьютер — Имя или IP-адрес конечного компьютера.
/t xxx — Задание задержки в xxx секунд перед завершением работы компьютера. Допустимый диапазон: 0-315360000 (10 лет); значение по умолчанию: 30 секунд. Если период таймаута больше 0, применяется параметр /f .
/c «комментарий» — Комментарий с причиной перезапуска или завершения работы. Наибольшая длина — 512 знаков.
/f — Принудительное закрытие запущенных приложений без предупреждения пользователей. Параметр /f используется, если для параметра /t задано значение больше 0.
/d [p|u:]xx:yy Необходимо указать причину для перезагрузки или выключения. «p» означает запланированную перезагрузку или завершение работы. «u» означает, что причина определяется пользователем. Если не задано ни «p», ни «u», перезагрузка или завершение работы являются незапланированными. xx является основным кодом причины (целое положительное число, меньшее 256). yy является вспомогательным кодом причины (целое положительное число, меньшее 65536).

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

Примеры использования команды SHUTDOWN:

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

shutdown /s — выключить питание компьютера через 30 секунд. Пользователю будет выдано предупреждение о запланированном выключении.

shutdown /s /t 0 — выключить питание компьютера немедленно.

shutdown /s /t 60 /m \\COMP7 — выключить питание компьютера COMP7 через 60 секунд.

shutdown /s /t 60 /m \\192.168.0.1 — выключить питание компьютера с IP-адресом 192.168.0.1 через 60 секунд. При необходимости, пользователь с правами администратора, может отменить процесс выключения командой shutdown -a

shutdown /h — перевести компьютер в режим гибернации. При выполнении команды, вся информация из оперативной памяти (процессы, программы, данные) сохраняются в специальном файле hyberfil.sys , находящемся в корневом каталоге системного диска и выполняется обычное выключение питания. При следующем включении компьютера, диспетчер загрузки Windows ( BOOTMGR ) выполнит восстановление состояния системы из файла hyberfil.sys . Режим перевода в гибернацию должен быть включен для данного компьютера, например командой powercfg /H on или с помощью оснастки «Электропитание» панели управления Windows. Также, необходимо учитывать, что для реализации данного режима потребуется наличие большого объема свободного места на жестком диске под копию оперативной памяти.

shutdown /l — завершить сеанс текущего пользователя. Команда завершения сеанса может быть выполнена только на локальном компьютере и только для текущего пользователя. Аналогично выполнению команды logoff без параметров.

shutdown /r — выполнить перезагрузку локального компьютера. По умолчанию, перезагрузка выполнится через 30 секунд, если не задан параметр /t

shutdown /r /o /t 0 — выполнить перезагрузку локального компьютера немедленно ( t 0 , с возможностью выбора дополнительных опций ( /o . После перезагрузки на экран выводится меню выбора действий, с помощью которого можно либо продолжить обычную загрузку, либо выбрать дополнительные режимы для диагностики и восстановления системы. Параметр /o допустим для операционных систем Windows 8 и более поздних.

shutdown /r /m \\192.168.0.1 — выполнить перезагрузку компьютера с IP-адресом 192.168.0.1.

shutdown /g — выполнить перезагрузку с восстановлением выполнения приложений, зарегистрированных с использованием функции API RegisterApplicationRestart . Обычно используется при обновлении системы, когда в процессе установки необходима перезагрузка с продолжением процесса инсталляции.

shutdown /r /c «Плановая перезагрузка» /d P:12:555 — выполнить перезагрузку компьютера с отображением сообщения «Плановая перезагрузка» и записью в системный журнал причины — «Запланированная», основной код — «12» (0x0B), дополнительный код — «555» (0x022b).

shutdown /i — запуск графической среды утилиты shutdown.exe . На экран выводится «Диалог удаленного завершения работы».

Для выполнения операции выключения, перезагрузки или завершения сеанса пользователя, нужно ввести имя или IP- адрес компьютера с использованием кнопки «Добавить», выбрать желаемое действие, причину и заполнить поле «Комментарий», текст из которого будет отображаться в информационном сообщении о запланированном действии. Для большинства причин, поле комментария является обязательным, и без его заполнения кнопка «OK» будет неактивной.

В Windows 7 и более поздних, удаленное выключение или перезагрузка с использованием команды shutdown , может завершаться ошибкой ”Отказано в доступе (5)” даже при наличии прав администратора и при разрешении принудительного удаленного завершения работы в локальных групповых политиках. Кроме того, при обращении к скрытым административным ресурсам C$ , ADMIN$ . и т.п. удаленного компьютера запрашивается имя пользователя и пароль, но подключение завершается отказом в доступе. Проблема решается выводом компьютера из домашней сети и добавлением (изменением) параметра реестра, в раздел:

hklm\Software\Microsoft\Windows\CurrentVersion\Policies\System
необходимо добавить параметр LocalAccountTokenFilterPolicy , принимающий занчение dword:00000001

После занесения данных в реестр, для применения изменений требуется перезагрузка.

Управление электропитанием в командной строке Windows — команда POWERCFG

Если вы желаете поделиться ссылкой на эту страницу в своей социальной сети, пользуйтесь кнопкой «Поделиться»

Источник

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

  • Команда для управления дисками windows 10
  • Команда для работы с дисками в windows 7
  • Команда для просмотра автозагрузки для windows 7
  • Команда для просмотра mac адреса в windows
  • Команда для проверки целостности windows 7