En Windows, puede realizar un seguimiento de los eventos de inicio de sesión y cierre de sesión del usuario mediante el registro de seguridad. En este artículo, le mostraremos cómo obtener el historial de inicio de sesión / cierre de sesión del usuario de los registros de eventos en la computadora local usando un simple script de PowerShell.

Para que los eventos de inicio de sesión / cierre de sesión del usuario se muestren en el registro de seguridad, debe habilitar la auditoría de los eventos de inicio de sesión mediante las políticas de grupo.

Puede habilitar la auditoría de inicio de sesión en todos los equipos unidos a un dominio mediante un GPO de dominio.

  1. Ejecute la Consola de administración de políticas de grupo en la cuenta de administrador de dominio (gpmc.msc);
  2. Haga clic derecho en Política de dominio predeterminada y seleccione Editar;
  3. Vaya a la siguiente sección de GPO: Configuración del equipo> Políticas> Configuración de Windows> Configuración avanzada de políticas de auditoría> Políticas de auditoría> Inicio / Cierre de sesión;
  4. Habilite las siguientes opciones de GPO: Cierre de sesión de auditoría, Auditoría de inicio de sesión, Auditar otros eventos de inicio / cierre de sesión. Para ello, en cada política, seleccione las opciones Configure los siguientes eventos de auditoría > Éxito;
  5. Guarde el GPO y espere hasta que la nueva configuración de la política se aplique a los equipos del dominio (puede aplicar la política en un cliente inmediatamente usando el comando gpupdate).

Ahora, cuando un usuario inicia sesión de forma local o remota en una computadora, un evento con EventID 4624 aparece en Registros de Windows> Registro de eventos de seguridad.

Puede filtrar manualmente todos los eventos de inicio de sesión con el código especificado en el Visor de eventos. Ejecutar el Gestión informática consola. Vaya a Herramientas del sistema> Visor de eventos> Windows> Registros> Seguridad. Haga clic derecho en esta sección y seleccione Filtrar registro actual. En la ventana que se abre, especifique el Id. De evento 4624 y haga clic en Aceptar.

historial de inicio de sesión de usuario de windows

Como resultado, solo los eventos de inicio de sesión del usuario se mostrarán en el registro de eventos. Abra cualquier Éxito de la auditoría evento. La descripción del evento dice "Se inició sesión con éxito en una cuenta”. El nombre del usuario que inició sesión se especifica en el siguiente campo de mensaje:

Nuevo inicio de sesión:

Identificación de seguridad: CORPjsmith

Nombre de cuenta: jsmith

Si el usuario ha iniciado sesión desde una computadora remota, el nombre (o IP) de la computadora se especificará en: Dirección de red de origen: 192.168.1.70

historial de inicio de sesión de usuario de powershell

Intentemos usar PowerShell para seleccionar todos los eventos de inicio y cierre de sesión de usuario. Para seleccionar eventos con EventID 4634 y 4624, usamos el Get-WinEvent cmdlet. El siguiente script de PowerShell debe ejecutarse con privilegios elevados.

$ Resultados = @ ()

$ logs = Get-WinEvent -LogName Security | Where-Object {$ _. ID -eq 4634 -o $ _. ID -eq 4624}

ForEach ($ log in $ logs) {

si ($ log.Id -eq 4634)

{

$ type = "SessionStop"

$ username = $ log.Properties[1].Valor

}

Demás {

$ type = "SessionStart"

$ username = $ log.Properties[5].Valor

}

if ($ nombre de usuario -ne “”) {

$ Resultados + = Objeto nuevo PSObject -Property @ {“Time” = $ log.TimeCreated; "Evento" = $ tipo; "Usuario" = $ nombre de usuario};

}

}

$ Resultados

powershell obtiene un historial de inicio de sesión de usuario específico

Después de ejecutar este script, obtendrá una lista de todos los eventos de inicio / cierre de sesión de usuario en esta computadora. Si desea seleccionar todos los eventos para una cuenta de usuario específica, agregue la siguiente variable en la parte superior del script:

$ userlog = "jsmith"

Y reemplace la línea:

if ($ nombre de usuario -ne “”) {

a:

if ($ username -eq $ userlog) {

Especifique el nombre de usuario (no distingue entre mayúsculas y minúsculas) para el que desea recibir el informe de actividad del usuario en una computadora específica.

Para su comodidad, puede mostrar los resultados en una tabla gráfica utilizando Out-GridView. Simplemente reemplace la última línea con:
$ Resultados | Out-GridView.

obtener historial de inicio de sesión de usuario powershell

Recomendado para ti