脚本 - 如何断开远程桌面会话?

Mar*_*tin 9 windows powershell windows-xp remote-desktop

我正在寻找一种方法来关闭计算机(本地计算机)上的所有活动远程桌面会话。Windows 包含几个命令(rwinsta、qwinsta 等)来查看活动会话,但我不知道如何轻松使用这些信息(除非我解析字符串...)来关闭所有会话。

Powershell(或 C#、Batch)中有没有办法关闭本地计算机上的所有远程桌面会话?

谢谢,马丁

Rob*_*ine 6

是的,从命令行使用 tsdiscon:

tsdiscon n
Run Code Online (Sandbox Code Playgroud)

其中 n 应替换为会话 ID。

您可以从

query session
Run Code Online (Sandbox Code Playgroud)

既然您说要关闭本地计算机上的所有会话,我想您需要注意执行此操作的顺序(即最后关闭会话)。


Ada*_*and 5

您可以尝试使用(在批处理文件中)未记录的/sm参数来query session更轻松地对内容进行排序:

FOR /f %%G IN ('query session /sm') DO tsdiscon %%G
Run Code Online (Sandbox Code Playgroud)