2013-08-07 3 views
-1

У нас есть пользователи домена, которые используют удаленный экземпляр приложения через RDP. Приложение довольно плохое, и их сессия часто перезагружается. Я хотел бы построить сценарий, который использует psexec от клиента для сброса сеанса на сервере.Сброс сеанса rdp с помощью psexec

psexec \\server -u user -p pass query session 

показывает все сеансы

psexec \\server -u user -p pass reset session_id 

сбрасывает сессию, основываясь на ид.

Мне нужен способ сбросить сеанс, основываясь на имени пользователя, вместо имени сеанса или идентификатор

ответ

1

Попробуйте эту комбинацию команд, чтобы получить имя пользователя, а затем вы можете убить сессию по идентификатору. Вам понадобится PsLoggedOn от Windows Sysinternals Вот ссылка, которая объясняет команды. How to check who has logged into your system

PSLOGGEDON -L \\remotecomputeror 

PSEXEC \\remotecomputer NET CONFIG WORKSTATION | FIND /I " name " 

PSEXEC \\remotecomputer NET NAME 

PSEXEC \\remotecomputer NETSH DIAG SHOW COMPUTER /V | FIND /i "username" 

FOR /F %%A IN ('REG Query \\remotecomputer\HKU ˆ| FINDSTR /R /B /C:"HKEY_USERS\\S-1-5-[0-9][0-9]-[0-9-]*$"') DO ( 
FOR /F "tokens=3 delims=\" %%B IN ('REG Query "\\remotecomputer\%%A\Volatile Environment"') DO ( 
SET LoggedinUser=%%B 
) 
) 
Смежные вопросы