El comando Get-EventLog
en PowerShell se utiliza para recuperar y analizar registros de eventos (logs) del sistema, como el registro de aplicaciones, seguridad y eventos del sistema operativo. Permite ver, filtrar y exportar eventos para el monitoreo y diagnóstico de sistemas Windows.
Get-EventLog
es un cmdlet que accede a los registros de eventos de Windows, como el Visor de Eventos (Event Viewer
), proporcionando una forma de analizar logs del sistema, aplicaciones y eventos de seguridad. Este comando es útil para realizar auditorías, detectar errores del sistema y automatizar tareas de monitoreo de eventos.
Get-EventLog -LogName <NombreDelLog> [-Newest <Cantidad>] [-EntryType <TipoDeEvento>] [-Source <Fuente>]
Application
, System
o Security
).
Error
, Warning
, Information
, etc.).
WindowsUpdate
).
Get-EventLog -LogName System
Muestra todos los eventos del log System
, incluyendo información sobre errores, advertencias y mensajes informativos del sistema operativo.
Get-EventLog -LogName Application -Newest 10
Este comando devuelve solo los 10 eventos más recientes del log Application
, facilitando la visualización rápida de eventos recientes.
Get-EventLog -LogName System -EntryType Error
Filtra el log System
para mostrar solo los eventos de tipo Error
, útiles para identificar problemas críticos del sistema.
Get-EventLog -LogName Security | Where-Object { $_.TimeGenerated -gt (Get-Date).AddDays(-7) }
Este script recupera los eventos del log Security
generados en los últimos 7 días. Utiliza Where-Object
para filtrar por la propiedad TimeGenerated
.
Get-EventLog -LogName Application -Source "MSSQLSERVER"
Muestra solo los eventos del log Application
generados por la fuente MSSQLSERVER
, útil para monitorear aplicaciones específicas como bases de datos.
(Get-EventLog -LogName System).Count
Devuelve el número total de eventos en el log System
.
Get-EventLog -LogName System -Index 100
Muestra todos los detalles del evento con el índice 100
en el log System
. El índice es el número único que identifica a cada evento dentro de un log.
Get-EventLog -LogName Application -Newest 50 | Export-Csv -Path "C:\Logs\app_events.csv" -NoTypeInformation
Este comando recupera los últimos 50 eventos del log Application
y los exporta a un archivo CSV para su análisis en herramientas externas.
Get-EventLog -LogName System -ComputerName "ServidorRemoto"
Consulta el log System
en un equipo remoto llamado ServidorRemoto
. El usuario que ejecuta el comando debe tener permisos en el equipo remoto.
Get-EventLog -LogName System, Application -Newest 5
Muestra los últimos 5 eventos de los logs System
y Application
combinados.
Get-EventLog -LogName Security -InstanceId 4625
Filtra el log Security
para mostrar solo eventos con el ID 4625
(que corresponde a intentos fallidos de inicio de sesión).
En PowerShell, se recomienda usar Get-WinEvent
en lugar de Get-EventLog
en sistemas modernos, ya que admite más funcionalidades y permite consultar registros personalizados y logs basados en XML.
Get-WinEvent -LogName Application
Get-WinEvent -FilterHashtable @{LogName="Security"; Id=4624}
Consulta eventos con ID 4624
(inicios de sesión exitosos) en el log Security
.
Get-EventLog
: Funciona solo con los logs clásicos (Application
, System
, Security
). No admite logs personalizados.
Get-WinEvent
: Admite logs basados en XML y registros de eventos modernos. Es más versátil y recomendado para sistemas más recientes.
Clear-EventLog
: Limpia el contenido de un log específico.
Clear-EventLog -LogName Application
Write-EventLog
: Permite crear entradas personalizadas en un log de eventos.
Write-EventLog -LogName Application -Source "MyScript" -EntryType Information -EventId 1001 -Message "Script ejecutado correctamente."
Puedes consultar más detalles sobre Get-EventLog y Get-WinEvent en la documentación oficial de Microsoft.
Jorge García
Fullstack developer