We are running multiple (currently four) virtual Windows Server 2008 servers. In order to shut down those servers from a central point, we would like to know if all remote sessions to those machines have been logged out.

Is there some way to detect who has an active GUI session (such as remote desktop)?

We would like to be able to do this from a remote machine and/or from within each virtual server.


I'd need to know what virtualisation platform you're using in order to tell you if you were able to tell from outside of the machine, but if you're logged on to one of the VM's you can find out in Task Manager.

Right click the taskbar, select 'Task Manager' from the pop up menu and then navigate to the 'Users' tab on the dialogue box that appears.

It should tell you the username, which physical machine they're running the session on, the status and the session ID.

  • thank, that did it! Now why did I never notice that tab in TeskMgr .. sigh. I edited my question and added that we use Hyper-V. – lexu Jan 20 '10 at 14:23
  • What if I want to know without logging in to VM? Is there any tool I can install on DC to find? – kudlatiger Jul 11 '16 at 6:25

Here are some command-line utilities that you can use to list user sessions on local or remote servers.

Query user (Microsoft)

Displays information about user sessions on a terminal server.
query user [<UserName> | <SessionName> | <SessionID>] [/server:<ServerName>]


command line utility to list both the currently connected and disconnected users, hostname, IP address and RDP session number on either the local or a remote Windows Terminal Server/RDP Server.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.