A menudo, los administradores de sistemas necesitan comprobar qué usuarios han iniciado sesión en un equipo Windows, ya sea por motivos de monitoreo, solución de problemas o seguridad.

En esta guía se explican varias formas de ver los usuarios conectados mediante CMD, PowerShell y el Administrador de tareas en las ediciones de Windows Server (2008-2022) y los sistemas operativos de desktop Windows (10 y 11). También aprenderá a exportar los resultados a CSV para la elaboración de informes.

  • Herramientas nativas de Windows
  • ADAudit Plus

Ver los usuarios conectados mediante CMD

La forma más sencilla de ver los usuarios conectados es utilizando el comando query user.

  • Abra el símbolo del sistema como administrador.
  • Ejecute el siguiente comando:

    Ejemplo de script de Windows PowerShell

    query user

Esto mostrará los nombres de usuario, ID de sesión y estados de sesión de los usuarios conectados. Es una forma sencilla de ver los usuarios conectados sin necesidad de herramientas adicionales.

View logged-on users using CMD
  • Para filtrar solo los usuarios que están actualmente conectados y activos, ejecute:

    Ejemplo de script de Windows PowerShell

    query user | findstr "Active"
View logged-on users using CMD

Las columnas de la salida representan lo siguiente:

  1. SESSIONNAME
    • Muestra el tipo de sesión. Para el RDP, verá algo como rdp-tcp#0.
    • Si está en blanco, la sesión es una sesión desconectada no vinculada activamente a una consola o al RDP.
  2. ID
    • El ID de sesión asignado por Windows.
    • Cada sesión de inicio de sesión recibe un identificador numérico único.
    • Se utiliza cuando se ejecutan comandos como logoff o reset session .
  3. STATE
    • Active: El usuario está actualmente conectado y utilizando la sesión.
    • Disc (desconectado): El usuario estaba conectado, pero ha desconectado la sesión del RDP o de consola (sigue consumiendo recursos, pero no está conectado activamente).
    • Listen: Un oyente del sistema en espera de nuevas conexiones del RDP.
    • Down: La sesión no funciona correctamente.
    • Idle: La sesión no ha tenido actividad de entrada durante mucho tiempo (normalmente se muestra a través de IDLE TIME en lugar de esta columna).
  4. IDLE TIME
    • El tiempo que la sesión ha estado inactiva (sin entrada de teclado o ratón).
    • Formato: Días+HH:MM
    • Ejemplo: 1+20:40 = 1 día, 20 horas, 40 minutos de inactividad
    • Un. (punto) significa que no hay idle time (tiempo de inactividad) (el usuario está activo en ese momento).
Nota:

Si también desea ver todas las cuentas de usuario disponibles en el sistema mediante CMD (no solo las que están actualmente conectadas), ejecute el siguiente comando:

Ejemplo de script de Windows PowerShell

net user

Para ver los detalles de una cuenta específica, ejecute:

Ejemplo de script de Windows PowerShell

net user < username>
View logged-on users using CMD

Ver usuarios conectados mediante PowerShell

PowerShell ofrece varias formas de comprobar los usuarios conectados. En función de sus necesidades, puede ver el usuario actual de la consola, todas las sesiones activas o exportar los resultados para la elaboración de informes.

  • Compruebe el usuario de consola conectado actualmente ejecutando:

    Ejemplo de script de Windows PowerShell

    Get-CimInstance Win32_ComputerSystem | Select-Object UserName

    En versiones anteriores como Windows Server 2008 R2, sustituya Get-CimInstance por:

    Ejemplo de script de Windows PowerShell

    En versiones anteriores como Windows Server 2008 R2, sustituya Get-CimInstance por:
    • Esto muestra el usuario de consola activo en ese momento.
    • Limitación: Solo muestra el usuario conectado físicamente en el equipo, no las sesiones del RDP remotas.
  • Enumera todas las sesiones activas por ejecución:

    Ejemplo de script de Windows PowerShell

    quser
    • Esto funciona de forma similar a query user en CMD.
    • Enumera todos los usuarios conectados localmente y a través del RDP, incluyendo su ID de sesión, estado y tiempo de inactividad
  • Para filtrar solo los usuarios activos, ejecute:

    Ejemplo de script de Windows PowerShell

    quser | Select-String "Active"
    View logged-on users using PowerShell

Exportar usuarios conectados a CSV

Puede exportar los resultados para informes o auditorías ejecutando:

Ejemplo de script de Windows PowerShell

quser | ForEach-Object {
    $parts = ($_ -split "\s+", 6)
    [PSCustomObject]@{
        UserName    = $parts[0]
        SessionName = $parts[1]
        ID          = $parts[2]
        State       = $parts[3]
        IdleTime    = $parts[4]
        LogonTime   = $parts[5]
    }
} | Export-Csv -Path "C:\LoggedInUsers.csv" -NoTypeInformation
  • Esto crea un archivo CSV en la ubicación de la ruta dada con los detalles del usuario.
View logged-on users using PowerShell

Una vez exportado, el archivo CSV puede abrirse en Excel o en cualquier herramienta de generación de informes para un análisis más profundo.

Esto permite a los administradores clasificar, filtrar y almacenar los registros de inicio de sesión, lo que facilita el control de tendencias, la investigación de actividades sospechosas o el intercambio de informes con la dirección y los auditores.

Nota:
  • Si no necesita una exportación, simplemente elimine la parte | Export-Csv -Path "C:\LoggedInUsers.csv" -NoTypeInformation para mostrar los resultados directamente en la consola.
View logged-on users using PowerShell

Ver los usuarios conectados con el Administrador de tareas

Nota:

El Administrador de tareas está disponible en las ediciones de desktop de Windows y Windows Server con una GUI. No está disponible en instalaciones Server Core.

Si prefiere un método gráfico para ver los usuarios que han iniciado sesión, el Administrador de tareas le ofrece una forma rápida de comprobar quién ha iniciado sesión.

  • Haga clic con el botón derecho del ratón en la barra de tareas y seleccione Administrador de tareas.
  • Si utiliza Windows 10 u 8, es posible que tenga que hacer clic en el botón Más detalles situado en la parte inferior para ver los procesos activos.
  • Haga clic en la pestaña Usuarios en la parte superior del Administrador de tareas; aquí puede ver la lista de usuarios conectados actualmente y su estado.
View logged-on users with Task Manager

Simplifique la visualización de los usuarios conectados

  1. Descargue e instale ADAudit Plus.
  2. Aquí encontrará los pasos para configurar la auditoría en su controlador de dominio.
  3. Abra la consola y navegue hasta Active Directory → Inicio y cierre de sesión local → Usuarios actualmente conectados
    Simplify the way you see logged-on users
  4. Audite la actividad de inicio de sesión reciente de los usuarios accediendo a Active Directory → Inicio y cierre de sesión local → Actividad de inicio de sesión reciente de los usuarios.
    Simplify the way you see logged-on users
Nota:

Esta solución funciona en Windows Server 2008 R2 y posteriores (2012, 2016, 2019, 2022 y 2025) tanto para sesiones de usuario locales como remotas.

El problema de las comprobaciones nativas de inicio de sesión

Aunque CMD, PowerShell y el Administrador de tareas pueden mostrar quién ha iniciado sesión, solo muestran la superficie. Estos métodos proporcionan una visibilidad limitada y dejan brechas en el monitoreo de la seguridad y el cumplimiento. Ellos:

  • Solo muestran los inicios de sesión actuales sin control histórico.
  • No disponen de informes centralizados en varios sistemas.
  • No pueden enviar alertas en tiempo real sobre inicios de sesión sospechosos.
  • Requieren la recopilación y el análisis manual de logs.
  • En entornos más grandes, puede llevar mucho tiempo y dar lugar a errores.

Para superar estas limitaciones, las organizaciones suelen buscar una solución de auditoría avanzada que proporcione una mayor visibilidad, automatización y monitoreo continuo.

Una solución integral para todas sus necesidades de auditoría, cumplimiento y seguridad de TI

ADAudit Plus proporciona funciones como la auditoría de cambios, el monitoreo de inicios de sesión, el control de archivos, los informes de cumplimiento, el análisis de la superficie de ataque, la automatización de respuestas y la copia de seguridad y recuperación para diversos sistemas de TI.

  • Active Directory  
  • Microsoft Entra ID  
  • Servidor de archivos Windows 
  • Servidor de archivos NAS  
  • Windows Server  
  • Estación de trabajo  
  • Y más  

Preguntas frecuentes y resolución de problemas

Saber quién ha iniciado sesión en un sistema ayuda a la seguridad, la resolución de problemas y la gestión de recursos. Por ejemplo, impide el acceso no autorizado, garantiza que nadie utilice un servidor fuera de las ventanas de mantenimiento y ayuda a identificar las sesiones que consumen muchos recursos.

Algunas ediciones (como Home) no son compatibles con determinados comandos de sesión. Utilice PowerShell en su lugar.

net user muestra todas las cuentas del equipo, mientras que query user solo muestra las sesiones activas.

Algunos comandos, como net user, pueden funcionar sin derechos de administrador, pero la mayoría de los métodos para ver quién está conectado (como query user) requieren privilegios de administrador.

Experimente
ADAudit Plus gratis

 

Con ADAudit Plus, puede:

  • Supervisar los fallos de inicio de sesión de los usuarios
  • Monitorear los errores de inicio de sesión diarios
  • Detectar ataques como Kerberoasting
  • Monitorear la asistencia de los empleados
  • Y mucho más