我们的域用户通过RDP使用应用的远程实例。该应用程序非常多,他们的会话需要经常重置。我想构建一个脚本,使用客户端的psexec重置服务器上的会话。
psexec \\server -u user -p pass query session
显示所有会话
psexec \\server -u user -p pass reset session_id
根据ID重置会话。
我需要一种方法来根据用户名重置会话,而不是会话名称或ID
答案 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
)
)