Выход пользователя через командлет stop-terminalsession
Данный командлет устанавливается отдельно, совместно с пакетом Pscx. Первым делом посмотрим локально или удаленно идентификаторы сессии пользователя, для которого мы хотим сделать log off. Выполняем команду:
Get-TerminalSession -ComputerName имя сервера
Нужный мне ID сеанса 427. Далее воспользуемся командлетом Stop-TerminalSession, чтобы выкинуть пользователя и завершить его сессию.
Stop-TerminalSession -ComputerName имя сервера -Id 427 -Force
Как видите сессия 427 больше не существует, и у нас с помощью командлета Stop-TerminalSession получилось выкинуть пользователя из RDS сеанса. На этом у меня все. Остались вопросы, то пишите их в комментариях. С вами был Иван Семин, автор и создатель IT портала msconfig.ru.
Выход пользователя через командлет stop-tssession
Есть такой замечательный командлет Stop-TSSession. Посмотрим на сервере ID и имя сеанса, для этого в открытой оболочке PowerShell введите:
Get-TSSession | FT
В итоге я вижу, что у пользователя barboskin.g SessionID 3. Далее пишем
Stop-TSSession 3 или принудительно Stop-TSSession 3 -Force
Два способа принудительного завершения сеанса из командной строки
В редакцию регулярно поступают письма с вопросом, как организовать автоматическое завершение сеанса из командной строки. До последнего времени стандартного решения этой проблемы не было, но с выходом четвертой версии 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 [/n] [/f]
При запуске программы без параметров 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 /f
Ключ /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.
Использование утилиты rwinsta
Если вы попали в ситуацию, когда графические методы не позволяют вам произвести выход пользователя из системы, а это необходимо, то вам на помощь придут утилиты из командной строки. RWINSTA – это встроенная в Windows утилита, которая позволяет сбрасывать сессии, по ID и имени сеанса.
В моем примере имя сеанса rdp-tcp#172 и ее ID 515. Пишем команду:
rwinsta rdp-tcp#172 /server:localhost или rwinsta 515 /server:localhost
Как отключить пользователя через reset session
Завершить сессию пользователя можно и с помощью утилиты командной строки Reset Session. В текущем примере у моего Барбоскина Геннадия Викторовича имя сеанса rdp-tcp#16 с его ID 11. Данную утилиту можно применять как локально на самом терминальном сервере, так и на своей рабочей станции, тут так же есть ключ /server.
reset session rdp-tcp#16 или reset session 11
Методы завершения сессии пользователя не терминале
Существует несколько методов позволяющие выкинуть пользователя с сервера.
Примеры logoff
- Чтобы выйти из текущего сеанса, введите: logoff
- Чтобы выйти из сеанса с кодом ID 12, введите: logoff 12
- Чтобы выйти из сеанса с использованием имени сеанса и сервера, например сеанс TERM04 на сервере WF12, введите: logoff TERM04 /server:WF12
- Команда терминального сервера Query process Команда терминального сервера Query process отображает.
«>Query process — сведения о процессах на сервере — 02/06/2021 04:02Команда Mstsc — подключение по RDP Команда терминального сервера Mstsc используется для создания подключений.
«>Mstsc — подключение к удаленному рабочему столу Windows — 31/05/2021 16:03Команда Msg Команда MSG используется для отправки сообщения пользователям операционной системы.
- Команда терминального сервера Cprofile Команда терминального сервера Cprofile используется для.
Расшифровка значений
код_сеанса
Позволяет получить значение кода сеанса, представленное в числовой форме.
название_сеанса
Выдает название конкретного сеанса.
/server:название_сервера
Задает сервер терминалов, включающий оканчиваемый сеанс пользователя. Можно ничего не прописывать, но тогда произойдет завершение сеанса действующего пользователя.
Будут выдаваться сведения о реализуемых мероприятиях.
Команда терминального сервера Logoff используется для выхода пользователя из сеанса и удаления сеанса с сервера.
А для включенияотключения входа в терминальные сеансы применяется команда Change logon.
Синтаксис
logoff [<код_сеанса|название_сеанса>] [/server:название_сервера] [/v]
Синтаксис logoff
logoff [<код_сеанса|имя_сеанса>] [/server:имя_сервера] [/v]