我们有域用户通过 RDP 使用应用程序的远程实例。该应用程序有很多错误,他们的会话需要经常重置。我想构建一个脚本,使用来自客户端的 psexec 来重置服务器上的会话。
psexec \\server -u user -p pass query session
显示所有会话
psexec \\server -u user -p pass reset session_id
根据 id 重置会话。
我需要一种基于用户名而不是会话名称或 ID 来重置会话的方法
试试这个命令组合来获取用户名,然后你可以通过 id 终止会话。您将需要来自Windows Sysinternals的PsLoggedOn 这是解释命令的链接。如何检查谁登录了您的系统
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
)
)