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