Scripting - How to disconnect Remote Desktop sessions?
Solution 1:
You could try using the undocumented /sm
parameter for query session
(in a batch file) to sort things more easily:
FOR /f %%G IN ('query session /sm') DO tsdiscon %%G
Solution 2:
Yes, using tsdiscon from a command line:
tsdiscon n
where the n should be replaced with the session id.
You can get the session number from
query session
Since you say you want to close all sessions on the local computer, I guess you will need to be careful about the order in which you do it (ie close your session last).
Solution 3:
You can use the tsdiscon utility to disconnect sessions. If you use the "query sessions" command from a command-prompt, you can see the list of IDs and then issue a tsdiscon command for each one.
A looping construct like this should work
FOR /f %%G IN ('q.bat') DO tsdiscon %%G
where q.bat is
query session /sm | find "Active"
That will only disconnect remote sessions and ignore the console user.
Solution 4:
You may want to check out Powershell Community Extensions. It includes Get, Stop and Disconnect TerminalSession cmdlets.