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