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

Скрипт с использованием утилит logoff и qwinsta

Администрируя терминальные сервера с Windows, не редко возникает надобность завершить сеанс локального пользователя компьютера на удаленном терминальном сервере. Использовать для этого стандартные методы, вроде захода на нужный терминальный сервер с последующим завершением сеанса пользователя через Диспетчер задач, достаточно времязатратно. Есть альтернативный способ, который заключается в использовании утилиты командной строки logoff, которая позволяет завершить удаленно сеанс нужного пользователя. Загвоздка только в том, что программе требуется указывать идентификатор сеанса пользователя, и для этого потребуется использовать утилиту qwinsta. Скомбинировав данные команды в рамках одного bat файла, можно создать удобный скрипт, завершающий удаленные сеансы пользователя на указанных серверах.

Перед использованием скрипта, замените TERMSERV1 и TERMSERV2 на имена ваших терминальных серверов.
@echo off  setlocal    set servers=TERMSERV1 TERMSERV2    for %%s in (%servers%) do (  	qwinsta /server:%%s | for /f "tokens=3" %%i in ('findstr /I "%username%"') do logoff /server:%%s %%i /v  )

Работа скрипта была проверена в Windows XP, Windows 7 и Windows 10, с удаленным подключением к Windows Server 2008 R2.

Комментарии

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

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