Obtiene los eventos de un registro de eventos, o una lista de los registros de eventos, en los equipos local o remotos.

Sintaxis

Get-EventLog [-AsString] [-ComputerName <string[]>] [-List] [<CommonParameters>]

Get-EventLog [-LogName] <string> [[-InstanceId] <Int64[]>] [-After <DateTime>] [-AsBaseObject] [-Before <DateTime>] [-ComputerName <string[]>] [-EntryType <string[]>] [-Index <Int32[]>] [-Message <string>] [-Newest <int>] [-Source <string[]>] [-UserName <string[]>] [<CommonParameters>]

Descripción

El cmdlet Get-EventLog obtiene eventos y registros de eventos en los equipos local y remotos.

Utilice los parámetros de Get-EventLog para buscar eventos utilizando sus valores de propiedad. Get-EventLog obtiene solamente los eventos que coinciden con todos los valores de propiedad especificados.

Los cmdlets que contienen el sustantivo EventLog (cmdlets EventLog) sólo funcionan en los registros de eventos clásicos. Para obtener eventos de registros que utilizan la tecnología Registro de eventos de Windows en Windows Vista y versiones posteriores de Windows, use Get-WinEvent.

Parámetros

-After <DateTime>

Obtiene solamente los eventos que se producen después de la fecha y hora especificadas. Escriba un objeto DateTime, como el devuelto por el cmdlet Get-Date.

¿Requerido?

false

¿Posición?

named

Valor predeterminado

¿Aceptar canalización?

false

¿Aceptar caracteres comodín?

false

-AsBaseObject

Devuelve un objeto System.Diagnostics.EventLogEntry estándar para cada evento. Sin este parámetro, Get-EventLog devuelve un objeto PsObject extendido con las propiedades EventLogName, Source e InstanceId adicionales.

Para ver el efecto de este parámetro, canalice los eventos al cmdlet Get-Member y examine el valor TypeName en el resultado.

¿Requerido?

false

¿Posición?

named

Valor predeterminado

False

¿Aceptar canalización?

false

¿Aceptar caracteres comodín?

false

-AsString

Devuelve los resultados en forma de cadenas, en lugar de en forma de objetos.

¿Requerido?

false

¿Posición?

named

Valor predeterminado

¿Aceptar canalización?

false

¿Aceptar caracteres comodín?

false

-Before <DateTime>

Obtiene solamente los eventos que se producen antes de la fecha y hora especificadas. Escriba un objeto DateTime, como el devuelto por el cmdlet Get-Date.

¿Requerido?

false

¿Posición?

named

Valor predeterminado

¿Aceptar canalización?

false

¿Aceptar caracteres comodín?

false

-ComputerName <string[]>

Especifica un equipo remoto. El valor predeterminado es el equipo local.

Escriba el nombre NetTBIOS, una dirección de protocolo de Internet (IP) o un nombre de dominio completo de un equipo remoto. Para especificar el equipo local, escriba el nombre del equipo, un punto (.), o bien, "localhost".

Este parámetro no se basa en la comunicación remota de Windows PowerShell. Puede usar el parámetro ComputerName de Get-EventLog incluso si el equipo no está configurado para la ejecución de comandos remotos.

¿Requerido?

false

¿Posición?

named

Valor predeterminado

¿Aceptar canalización?

false

¿Aceptar caracteres comodín?

false

-EntryType <string[]>

Obtiene solamente eventos con el tipo de entrada especificado. Los valores válidos son Error, Information, FailureAudit, SuccessAudit y Warning. El valor predeterminado son todos los eventos.

¿Requerido?

false

¿Posición?

named

Valor predeterminado

All events

¿Aceptar canalización?

false

¿Aceptar caracteres comodín?

false

-Index <Int32[]>

Obtiene solamente eventos con los valores de índice especificados.

¿Requerido?

false

¿Posición?

named

Valor predeterminado

All events

¿Aceptar canalización?

false

¿Aceptar caracteres comodín?

false

-InstanceId <Int64[]>

Obtiene solamente eventos con los identificadores de instancia especificados.

¿Requerido?

false

¿Posición?

2

Valor predeterminado

¿Aceptar canalización?

false

¿Aceptar caracteres comodín?

false

-List

Obtiene una lista de registros de eventos en el equipo.

¿Requerido?

false

¿Posición?

named

Valor predeterminado

¿Aceptar canalización?

false

¿Aceptar caracteres comodín?

false

-LogName <string>

Especifica el registro de eventos. Escriba el nombre de registro (valor de la propiedad Log, no LogDisplayName) de un registro de eventos. No se permite el uso de caracteres comodín. Este parámetro es obligatorio.

¿Requerido?

true

¿Posición?

1

Valor predeterminado

¿Aceptar canalización?

false

¿Aceptar caracteres comodín?

false

-Message <string>

Obtiene eventos que tienen la cadena especificada en sus mensajes. Puede utilizar esta propiedad para buscar mensajes que contengan determinadas palabras o frases. Se permite el uso de caracteres comodín.

¿Requerido?

false

¿Posición?

named

Valor predeterminado

¿Aceptar canalización?

false

¿Aceptar caracteres comodín?

true

-Newest <int>

Especifica el número máximo de eventos recuperados. Get-EventLog obtiene el número especificado de eventos, comenzando por el más reciente del registro.

¿Requerido?

false

¿Posición?

named

Valor predeterminado

¿Aceptar canalización?

false

¿Aceptar caracteres comodín?

false

-Source <string[]>

Obtiene eventos que los orígenes especificados escribieron en el registro. Se permite el uso de caracteres comodín.

¿Requerido?

false

¿Posición?

named

Valor predeterminado

¿Aceptar canalización?

false

¿Aceptar caracteres comodín?

true

-UserName <string[]>

Obtiene solamente los eventos asociados a los nombres de usuario especificados. Escriba nombres o patrones de nombre, como Usuario01, Usuario* o Dominio01\Usuario*. Se permite el uso de caracteres comodín.

¿Requerido?

false

¿Posición?

named

Valor predeterminado

¿Aceptar canalización?

false

¿Aceptar caracteres comodín?

true

<CommonParameters>

Este cmdlet admite los parámetros comunes: -Verbose, -Debug, -ErrorAction, -ErrorVariable, -OutBuffer y -OutVariable. Para obtener más información, vea about_Commonparameters.

Entradas y salidas

El tipo de entrada es el tipo de los objetos que se pueden canalizar al cmdlet. El tipo devuelto es el tipo de los objetos que el cmdlet devuelve.

Entradas

Ninguno.

No se pueden canalizar entradas a este cmdlet.

Salidas

System.Diagnostics.EventLogEntry. System.Diagnostics.EventLog. System.String

Si se especifica el parámetro LogName, el resultado es una colección de objetos EventLogEntry (System.Diagnostics.EventLogEntry). Si solamente se especifica el parámetro List, el resultado es una colección de objetos EventLog (System.Diagnostics.EventLog). Si se especifican los parámetros List y AsString, el resultado es una colección de objetos String (System.String).

Ejemplo 1

C:\PS>get-eventlog -list

Descripción
-----------
Este comando muestra información sobre los registros de eventos del equipo.






Ejemplo 2

C:\PS>get-eventlog -newest 5 -logname application

Descripción
-----------
Este comando muestra las cinco entradas más recientes del registro de eventos de la aplicación.






Ejemplo 3

C:\PS>$events = get-eventlog -logname system -newest 1000

C:\PS> $events | group-object -property source -noelement | sort-object -property count -descending

Count Name
----- ----
   75 Service Control Manager
   12 Print
    6 UmrdpService
    2 DnsApi
    2 DCOM
    1 Dhcp
    1 TermDD
    1 volsnap

Descripción
-----------
En este ejemplo se muestra la forma de buscar todos los orígenes que se representan en las 1000 entradas más recientes del registro de eventos del sistema.

El primer comando obtiene las 1000 entradas más recientes del registro de eventos del sistema y las almacena en la variable $events. 

El segundo comando usa un operador de canalización (|) para enviar los eventos almacenados en $events al cmdlet Group-Object, que agrupa las entradas por el valor de la propiedad Source. El comando utiliza un segundo operador de canalización para enviar los eventos agrupados al cmdlet Sort-Object, que los ordena de forma descendente, de modo que el origen que aparece con más frecuencia se muestra en primer lugar.

Source es una propiedad de las entradas del registro de eventos. Para ver todas las propiedades de una entrada del registro de eventos, canalice los eventos al cmdlet Get-Member.






Ejemplo 4

C:\PS>get-eventlog -logname System -EntryType Error

Descripción
-----------
Este comando obtiene solamente eventos de error del registro de eventos del sistema.






Ejemplo 5

C:\PS>get-eventlog -logname System -instanceID 3221235481 -Source "DCOM"

Descripción
-----------
Este comando obtiene eventos del registro del sistema que tienen un InstanceID de 3221235481 y un valor "DCOM" de Source.






Ejemplo 6

C:\PS>get-eventlog -logname "Windows PowerShell" -computername localhost, Server01, Server02

Descripción
-----------
Este comando obtiene los eventos del registro de eventos de "Windows PowerShell" en tres equipos, Server01, Server02 y el equipo local, conocido como "localhost".






Ejemplo 7

C:\PS>get-eventlog -logname "Windows PowerShell" -message "*failed*"

Descripción
-----------
Este comando obtiene todos los eventos del registro de eventos de Windows PowerShell que tienen un valor de mensaje que incluye la palabra "failed".






Ejemplo 8

C:\PS>$a = get-eventlog -log System -newest 1

C:\PS> $a | format-list -property *

EventID            : 7036
MachineName        : Server01
Data               : {}
Index              : 10238
Category           : (0)
CategoryNumber     : 0
EntryType          : Information
Message            : The description for Event ID
Source             : Service Control Manager
ReplacementStrings : {WinHTTP Web Proxy Auto-Disco
InstanceId         : 1073748860
TimeGenerated      : 4/11/2008 9:56:05 PM
TimeWritten        : 4/11/2008 9:56:05 PM
UserName           :
Site               :
Container          :

Descripción
-----------
En este ejemplo se muestra la forma de mostrar todos los valores de propiedad de un evento. 

El primer comando obtiene el evento más reciente del registro de eventos del sistema y lo guarda en la variable $a. 

El segundo comando usa un operador de canalización (|) para enviar el evento de $a al comando Format-List, que muestra todas (*) las propiedades de evento.






Ejemplo 9

C:\PS>get-eventlog -log application -source outlook | where {$_.eventID -eq 34}

Descripción
-----------
Este comando obtiene eventos del registro de eventos de la aplicación donde el origen es Outlook y el identificador de evento es 34. Aunque Get-EventLog no tiene un parámetro EventID, se puede utilizar el cmdlet Where-Object para seleccionar eventos de acuerdo con el valor de cualquier propiedad de evento.






Ejemplo 10

C:\PS>get-eventlog -log system -username NT* | group-object -property username -noelement | format-table Count, Name -auto

Count Name
----- ----
 6031 NT AUTHORITY\SYSTEM
   42 NT AUTHORITY\LOCAL SERVICE
    4 NT AUTHORITY\NETWORK SERVICE

Descripción
-----------
Este comando devuelve los eventos del registro del sistema agrupados por el valor de su propiedad UserName. El comando Get-EventLog utiliza el parámetro UserName para obtener solamente eventos en que el nombre de usuario empieza por "NT*".






Ejemplo 11

C:\PS>$May31 = get-date 5/31/08

C:\PS> $July1 = get-date 7/01/08

C:\PS> get-eventlog -log "Windows PowerShell" -entrytype Error -after $may31 -before $july1

Descripción
-----------
Este comando obtiene todos los errores del registro de eventos de Windows PowerShell que se produjeron en junio de 2008.






Vea también




Tabla de contenido