Lo que sigue es más fácil si está consultando desde un cliente de Windows junto al mismo dominio que el sistema que está consultando, y puede requerir ciertos derechos más allá de un usuario de dominio estándar. Si se encuentra con problemas de autenticación/permiso, eso sería lo primero que verificaría.
Hay una herramienta disponible al menos desde Windows XP llamada "qwinsta". Las versiones posteriores de Windows tienen tanto qwinsta como "sesión de consulta".
qwinsta /server:computer01
SESSIONNAME USERNAME ID STATE TYPE DEVICE
console 0 Conn wdcon
rdp-tcp 65536 Listen rdpwd
administrator 2 Disc rdpwd
Esto muestra que el usuario "administrador" inició sesión pero se desconectó. Dado que en este ejemplo, la computadora01 es un sistema Windows Server 2003 con la licencia RDP "de administración" predeterminada, hay una segunda sesión que escucha a alguien para conectarse.
Correr el mismo comando de nuevo después de conectar a la sesión previamente desconectada se parece a esto:
SESSIONNAME USERNAME ID STATE TYPE DEVICE
[unchanged output removed]
rdp-tcp#25 administrator 2 Active rdpwd
Esto es suficiente para responder "es una persona activa en ese momento a través de RDP", y si está utilizando nombres de usuario individuales, debe responder al "quién" también. Si todos usan "testuser" o "administrator" o algo así, probablemente querrá saber la respuesta a "de qué cliente", y eso no se menciona arriba.
Lo anterior brinda una respuesta básica rápida sin necesidad de herramientas adicionales. Para obtener información más detallada, puede consultar cassia library o PSTerminalServices (construido en casia). Vea algunas de las respuestas en this question para más detalles.
Mi primer pensamiento sobre esto fue utilizar herramientas de Sysinternals como PsLoggedOn o LogonSessions. Luego encontré una referencia a las herramientas qwinsta y rwinsta previamente desconocidas para mí en this blog post from 2003.
¡Muchas gracias por toda la información! –