In a Windows domain environment with Server 2003 managing XP/Vista workstations, you can query logged-on users without third-party tools using these built-in methods:
The most direct approach is through Windows' native query user
command. For remote workstations, combine it with qwinsta
(Query Session) via command line:
qwinsta /server:WORKSTATION_NAME
Sample output for a workstation named "WS-124":
SESSIONNAME USERNAME ID STATE TYPE DEVICE
console domain\jdoe 2 Active
Create a batch script to check multiple machines:
@echo off
for %%i in (WS-101 WS-102 WS-103) do (
echo Checking %%i:
qwinsta /server:%%i | find "Active"
echo.
)
pause
For systems with WMIC enabled (XP Pro/Vista Business or higher):
wmic /node:WORKSTATION_NAME computersystem get username
For environments with PowerShell remoting configured:
Invoke-Command -ComputerName WS-124 -ScriptBlock {query user}
- Requires administrative privileges on target workstations
- Firewall must allow RPC (port 135) and DCOM (dynamic ports)
- For Server 2003 domains, ensure workstation are properly joined
- Results may show disconnected sessions - filter for "Active" state
If you receive "Access Denied" errors:
runas /user:DOMAIN\admin_user "qwinsta /server:WORKSTATION_NAME"
For firewall-related connectivity problems, temporarily test with:
telnet WORKSTATION_NAME 135
When managing Windows domains with legacy systems (Windows Server 2003 with XP/Vista workstations), you can use these built-in commands to check logged-in users:
query user /server:WORKSTATION_NAME
Example output:
USERNAME SESSIONNAME ID STATE IDLE TIME LOGON TIME domain\jdoe console 1 Active . 5/12/2023 8:23 AM
For more detailed information across multiple workstations:
for /f %i in (workstation_list.txt) do @echo %i & query user /server:%i 2>nul
To check logged-on users via WMI (works on XP/Vista):
wmic /node:WORKSTATION_NAME computersystem get username
Create a batch file to check all domain workstations:
@echo off setlocal enabledelayedexpansion for /f %%i in (workstation_list.txt) do ( echo Checking %%i... query user /server:%%i 2>nul if errorlevel 1 echo No user logged on or workstation unavailable )
Remember these commands require:
- Administrative privileges on target workstations
- Proper firewall settings to allow remote administration
- Network connectivity between the server and workstations
For session details including disconnected sessions:
qwinsta /server:WORKSTATION_NAME