While working on remote server, you may receive warning message from windows that “Someone else is still using this PC. If you shut down now, they could lose unsaved work” and you may not be able to login to computer. QUser command helps to identify active user sessions on the remote computer.

Use QUser PowerShell command to get users logged on to remote server or remote computer and find user logged on to a remote computer.
PowerShell QUser
command displays information about users session on remote server. Using quser, you can get list of users logged on to the server machine.
QUser Command
Syntax
quser [<username> | <sessionname> | <sessionID>] [/server:<servername>]
Parameters
quser command accepts below parameters
- <username> – the log on name of user that you want to query
- <sessionname> – the name of session you want to query
- <sessionid> – specifies the name of session id you want to query
- /server:servername – specifies the name of remote computer server that you want to query
- /? – display quser help
C:/>quser
Above Quser command in PowerShell consider default as current machine for server name to be queried and returns the list of user logged on the current machine
QUser PowerShell command returns
- USERNAME – name of the users currently logged on
- SESSIONNAME – name of the session
- ID – session id
- STATE – Active or disconnected
- IDLE TIME – quser idle time for a user in a number of minutes since the last keystroke or mouse movement at session
- logon time – date and time the user logon to the server
Run PowerShell or cmd with administrator access privileges to avoid quser access denied error.
Cool Tip: Query Active Directory users info using PowerShell!
QUser Command Examples
QUser Command – To view users logged on to remote server system
quser /server:it-cor20
In the above QUser command, it takes quser /server parameter to get logged on user information about remote computer it-cor-20
It returns the list of all the users currently logged on to the remote desktop machine and prints output on console as below with logged on username, sessionname, sessionid, state, logon time
PS D:\LogTest> quser /server:it-cor20
USERNAME SESSIONNAME ID STATE IDLE TIME LOGON TIME
Tom console 1 Active None 27-07-2021 14:13
QU
ser command to get logged in user name on remote computer
$users = quser /server:it-cor20 foreach($user in $users) { $Parsed_user = $user -split '\s+' #Get UserName Write-Host $Parsed_user[0] }
In the above PowerShell script gets list of logged on user session to remote computer.
Using QUser /server command, it takes remote host name and gets the logged on users session to $users variable.
We then iterate over $users object using foreach
to split user object string to get username and assigned it $Parsed_user and use Write-Host
to print and view logged on users.
QUser logoff or disconnect user
Using PowerShell quser logoff command, you can logoff any user with session id or session name that you get using quser command
logoff 15 /server:it-cor20
In the above command, quser log off command disconnect session id 15 or logoff session quser from it-cor20 server.
Cool Tip: Learn different between Active Directory lastlogon and lastlogontimestamp!
Fix QUser Access Denied
Sometime you may get QUser access denied issues as below while trying to get logged on users information on computer
C:\>quser
Error 0x00000005 enumerating sessionnames
Error [5]:Access is denied.
To fix QUser access denied issue, open cmd in administrator mode and for UAC remote restrictions, modify registry on remote computer.
Refer UAC and Remote restriction
Important Note: Do back up of registry file before making any changes.
Conclusion
Hope you find out above article helpful and educational to get list of logged on users on remoter server using quser command in PowerShell .
QUser logoff command will disconnect session user using session id or session name.
You will need to have full access or special access to run quser PowerShell command else it will give you remote server access denied message. if you don’t specify server name, it uses current server as default to query and returns the users.
You can find more topics about PowerShell Active Directory commands and PowerShell basics on ShellGeek home page.