使用psexec重置rdp会话

时间:2013-08-07 22:01:53

标签: session rdp

我们的域用户通过RDP使用应用的远程实例。该应用程序非常多,他们的会话需要经常重置。我想构建一个脚本,使用客户端的psexec重置服务器上的会话。

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

显示所有会话

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

根据ID重置会话。

我需要一种方法来根据用户名重置会话,而不是会话名称或ID

1 个答案:

答案 0 :(得分:1)

尝试使用这些命令组合来获取用户名,然后您可以通过id终止会话。您将需要来自Windows Sysinternals的PsLoggedOn这是​​一个解释命令的链接。 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 
) 
)