- LOGOFF — завершение сеанса пользователя из командной строки
- Синтаксис команды LOGOFF
- Ключи и параметры
- Примеры использования
- Завершить текущий сеанс
- Завершить сеанс по имени
- Завершить сеанс по числовому ID
- Завершить сеанс на удалённом сервере
- Завершить сеанс с подробным выводом
- Выход через планировщик задач
- Частые ошибки и решения
- Когда применять, а когда нет
- FAQ
- Чем LOGOFF отличается от shutdown /l?
- Можно ли завершить сеанс другого пользователя без его ведома?
- Сохраняются ли данные при выполнении LOGOFF?
- Почему LOGOFF не работает в планировщике задач?
- Как узнать ID сеанса перед вызовом LOGOFF?
LOGOFF — завершение сеанса пользователя из командной строки
Команда LOGOFF завершает текущий или указанный сеанс пользователя Windows. В отличие от выключения или перезагрузки, она только закрывает пользовательский сеанс и возвращает систему на экран входа — все остальные сеансы продолжают работу. Особенно востребована в скриптах автоматизации и при управлении удалёнными сеансами RDP.
Синтаксис команды LOGOFF
LOGOFF [sessionname | sessionid] [/SERVER:servername] [/V] [/VM]
Если вызвать LOGOFF без параметров — завершается текущий сеанс. Остальные плейсхолдеры:
sessionname— имя сеанса (например,console,rdp-tcp#2).sessionid— числовой идентификатор сеанса.servername— имя или IP удалённого сервера терминалов.
Ключи и параметры
| Ключ | Описание | Пример |
|---|---|---|
/SERVER:servername | Удалённый сервер терминалов, на котором завершается сеанс | LOGOFF 3 /SERVER:ts01 |
/V | Подробный вывод: показывает выполняемые действия | LOGOFF /V |
/VM | Завершить сеанс на виртуальной машине (RemoteFX) | LOGOFF 2 /VM |
sessionname | Имя сеанса для завершения (узнать через QUERY SESSION) | LOGOFF rdp-tcp#1 |
sessionid | Числовой ID сеанса | LOGOFF 4 |
Примеры использования
Завершить текущий сеанс
Самый частый случай — выйти из системы из скрипта или командной строки, не трогая мышь.
LOGOFF
Сеанс немедленно закрывается, все незащищённые данные в открытых приложениях будут потеряны. Убедитесь, что всё сохранено.
Завершить сеанс по имени
Полезно, когда нужно закрыть конкретный сеанс на терминальном сервере, не разрывая свой.
LOGOFF rdp-tcp#3
Система закроет сеанс с именем rdp-tcp#3. Имя сеанса предварительно получают командой QUERY SESSION.
Завершить сеанс по числовому ID
Числовой ID удобен в автоматизированных скриптах, когда имя сеанса неизвестно заранее.
QUERY SESSION LOGOFF 2
Первая команда выводит список активных сеансов и их ID, вторая завершает сеанс с ID 2.
Завершить сеанс на удалённом сервере
Администратор может закрыть зависший сеанс пользователя на сервере терминалов удалённо.
LOGOFF 5 /SERVER:ts-prod01
Сеанс с ID 5 на сервере ts-prod01 будет закрыт. Требуются права администратора на удалённом сервере.
Завершить сеанс с подробным выводом
Флаг /V позволяет убедиться, что команда выполнена успешно — полезно при отладке скриптов.
LOGOFF 3 /V
В консоль выводится подтверждение: какой сеанс был завершён и на каком сервере.
Выход через планировщик задач
Можно настроить автоматический выход пользователя после рабочего времени.
schtasks /create /tn "AutoLogoff" /tr "LOGOFF" /sc daily /st 19:00 /ru SYSTEM
Задание будет ежедневно в 19:00 завершать текущий сеанс. Полезно в учебных классах и киосках.
Частые ошибки и решения
| Ошибка | Причина | Решение |
|---|---|---|
| «Отказано в доступе» | Попытка завершить чужой сеанс без прав администратора | Запустить CMD от имени администратора (runas /user:Administrator cmd) |
| «Неверное имя сеанса» | Имя сеанса указано с опечаткой или сеанс уже завершён | Проверить актуальный список через QUERY SESSION |
| «Сервер недоступен» | Неверное имя сервера или проблема с сетью при использовании /SERVER | Проверить имя сервера командой ping и права доступа к нему |
| Данные не сохранены после LOGOFF | Приложения не успели сохранить файлы до завершения сеанса | Перед вызовом LOGOFF закрыть приложения или добавить паузу в скрипт |
| LOGOFF не работает на локальной консоли без сети | Некоторые версии Windows не выполняют LOGOFF в режиме единственного сеанса корректно | Использовать shutdown /l как альтернативу для выхода из системы |
Когда применять, а когда нет
LOGOFF подходит для завершения сеансов на терминальных серверах, автоматического выхода по расписанию и скриптов сопровождения рабочих мест. Команду нельзя использовать для завершения сеанса SYSTEM — это заблокировано системой. Для простого выхода из Windows с GUI быстрее нажать Win+L для блокировки или Alt+F4 на рабочем столе для диалога выхода. PowerShell-аналог: (Get-WmiObject -Class Win32_OperatingSystem).Win32Shutdown(0) или модуль PSTerminalServices для управления RDP-сеансами.
FAQ
Чем LOGOFF отличается от shutdown /l?
По результату они идентичны — оба завершают сеанс пользователя. Разница: shutdown /l не принимает параметры сеанса и всегда действует на текущего пользователя, тогда как LOGOFF позволяет указать конкретный сеанс или удалённый сервер.
Можно ли завершить сеанс другого пользователя без его ведома?
Да, если у вас есть права администратора. Используйте QUERY SESSION для получения ID сеанса, затем LOGOFF <sessionid>. Пользователь получит уведомление о завершении сеанса без возможности отменить действие.
Сохраняются ли данные при выполнении LOGOFF?
Только то, что уже записано на диск. Если приложение держит несохранённые данные в памяти — они будут потеряны. Часть приложений (Word, Excel) успевает создать автосохранение, но это не гарантировано.
Почему LOGOFF не работает в планировщике задач?
Задание должно запускаться в контексте нужного пользователя, а не SYSTEM. Либо добавить в задание команду LOGOFF /SERVER:localhost с явным именем сеанса. Проверьте флаг «Выполнять только для вошедших пользователей».
Как узнать ID сеанса перед вызовом LOGOFF?
Команда QUERY SESSION или её синоним QWINSTA выводит список активных сеансов с именами, ID и состоянием. Скопируйте нужный ID и передайте в LOGOFF.


