Compartir a través de


Get-WinEvent

Obtiene eventos de registros de eventos y archivos de registro de seguimiento de eventos en equipos locales y remotos.

Sintaxis

Get-WinEvent
   [[-LogName] <string[]>]
   [-MaxEvents <long>]
   [-ComputerName <string>]
   [-Credential <pscredential>]
   [-FilterXPath <string>]
   [-Force]
   [-Oldest]
   [<CommonParameters>]
Get-WinEvent
   [-ListLog] <string[]>
   [-ComputerName <string>]
   [-Credential <pscredential>]
   [-Force]
   [<CommonParameters>]
Get-WinEvent
   [-ListProvider] <string[]>
   [-ComputerName <string>]
   [-Credential <pscredential>]
   [<CommonParameters>]
Get-WinEvent
   [-ProviderName] <string[]>
   [-MaxEvents <long>]
   [-ComputerName <string>]
   [-Credential <pscredential>]
   [-FilterXPath <string>]
   [-Force]
   [-Oldest]
   [<CommonParameters>]
Get-WinEvent
   [-Path] <string[]>
   [-MaxEvents <long>]
   [-Credential <pscredential>]
   [-FilterXPath <string>]
   [-Oldest]
   [<CommonParameters>]
Get-WinEvent
   [-FilterXml] <xml>
   [-MaxEvents <long>]
   [-ComputerName <string>]
   [-Credential <pscredential>]
   [-Oldest]
   [<CommonParameters>]
Get-WinEvent
   [-FilterHashtable] <hashtable[]>
   [-MaxEvents <long>]
   [-ComputerName <string>]
   [-Credential <pscredential>]
   [-Force]
   [-Oldest]
   [<CommonParameters>]

Description

El cmdlet Get-WinEvent obtiene eventos de los registros de eventos, incluidos los registros clásicos, como los registros de System y Application. El cmdlet obtiene datos de los registros de eventos generados por la tecnología registro de eventos de Windows introducida en Windows Vista. Además, los eventos de los archivos de registro generados por seguimiento de eventos para Windows (ETW). De forma predeterminada, Get-WinEvent devuelve información de eventos en el orden de más reciente a más antiguo.

Get-WinEvent enumera los registros de eventos y los proveedores de registros de eventos. Para interrumpir el comando, presione CTRL+C. Puede obtener eventos de los registros seleccionados o de los registros generados por proveedores de eventos seleccionados. Además, puede combinar eventos de varios orígenes en un solo comando. Get-WinEvent permite filtrar eventos mediante consultas XPath, consultas XML estructuradas y consultas de tabla hash.

Si no está ejecutando PowerShell como administrador, es posible que vea mensajes de error que no puede recuperar información sobre un registro.

Ejemplos

Ejemplo 1: Obtener todos los registros de un equipo local

Este comando obtiene todos los registros de eventos en el equipo local. Los registros se muestran en el orden en que Get-WinEvent los obtiene. Los registros clásicos se recuperan primero, seguidos de los nuevos registros de eventos de Windows. Es posible que el Record Count de un registro sea null, que está en blanco o cero.

Get-WinEvent -ListLog *

LogMode   MaximumSizeInBytes RecordCount LogName
-------   ------------------ ----------- -------
Circular            15532032       14500 Application
Circular             1052672         117 Azure Information Protection
Circular             1052672        3015 CxAudioSvcLog
Circular            20971520             ForwardedEvents
Circular            20971520           0 HardwareEvents

El cmdlet Get-WinEvent obtiene información de registro del equipo. El parámetro ListLog usa el comodín asterisco (*) para mostrar información sobre cada registro.

Ejemplo 2: Obtención del registro de instalación clásico

Este comando obtiene un objeto EventLogConfiguration que representa el registro de de instalación de clásico. El objeto incluye información sobre el registro, como el tamaño del archivo, el proveedor, la ruta de acceso del archivo y si el registro está habilitado.

Get-WinEvent -ListLog Setup | Format-List -Property *

FileSize                       : 69632
IsLogFull                      : False
LastAccessTime                 : 3/13/2019 09:41:46
LastWriteTime                  : 3/13/2019 09:41:46
OldestRecordNumber             : 1
RecordCount                    : 23
LogName                        : Setup
LogType                        : Operational
LogIsolation                   : Application
IsEnabled                      : True
IsClassicLog                   : False
SecurityDescriptor             : O:BAG:SYD: ...
LogFilePath                    : %SystemRoot%\System32\Winevt\Logs\Setup.evtx
MaximumSizeInBytes             : 1052672
LogMode                        : Circular
OwningProviderName             : Microsoft-Windows-Eventlog
ProviderNames                  : {Microsoft-Windows-WUSA, Microsoft-Windows-ActionQueue...
ProviderLevel                  :
ProviderKeywords               :
ProviderBufferSize             : 64
ProviderMinimumNumberOfBuffers : 0
ProviderMaximumNumberOfBuffers : 64
ProviderLatency                : 1000
ProviderControlGuid            :

El cmdlet usa el parámetro listLog de para especificar el registro de del programa de instalación de . El objeto se envía a la canalización al cmdlet Format-List. usa el parámetro Property con el comodín asterisco () para mostrar cada propiedad.

Ejemplo 3: Obtener registros de eventos de un servidor

Este comando solo obtiene los registros de eventos en el equipo local que contienen eventos. Es posible que el Record Count de un registro sea nulo o cero. En el ejemplo se usa la variable $_. Para obtener más información, vea about_Automatic_Variables.

Get-WinEvent -ListLog * -ComputerName localhost | Where-Object { $_.RecordCount }

LogMode   MaximumSizeInBytes RecordCount LogName
-------   ------------------ ----------- -------
Circular            15532032       14546 Application
Circular             1052672         117 Azure Information Protection
Circular             1052672        2990 CxAudioSvcLog
Circular             1052672           9 MSFTVPN Setup
Circular             1052672         282 OAlerts

El cmdlet Get-WinEvent obtiene información de registro del equipo. El parámetro ListLog usa el comodín asterisco (*) para mostrar información sobre cada registro. El parámetro ComputerName de especifica obtener los registros del equipo local, localhost. Los objetos se envían a la canalización al cmdlet Where-Object. Where-Object usa $_.RecordCount para devolver solo los registros que contienen datos. $_ es una variable que representa el objeto actual de la canalización. RecordCount es una propiedad del objeto con un valor distinto de NULL.

Ejemplo 4: Obtención de registros de eventos de varios servidores

En este ejemplo se obtienen objetos que representan los registros de eventos de Application en tres equipos: Server01, Server02 y Server03. La palabra clave ForEach se usa porque el parámetro ComputerName acepta solo un valor. Para obtener más información, vea about_Foreach.

$S = 'Server01', 'Server02', 'Server03'
ForEach ($Server in $S) {
  Get-WinEvent -ListLog Application -ComputerName $Server |
    Select-Object LogMode, MaximumSizeInBytes, RecordCount, LogName,
      @{name='ComputerName'; expression={$Server}} |
    Format-Table -AutoSize
}

LogMode MaximumSizeInBytes RecordCount LogName     ComputerName
 ------- ------------------ ----------- -------     ------------
Circular           15532032       14577 Application Server01
Circular           15532032        9689 Application Server02
Circular           15532032        5309 Application Server03

La variable $S almacena los nombres tres servidores: Server01, Server02y Server03. La instrucción ForEach usa un bucle para procesar cada servidor, . El bloque de script de las llaves ({ }) ejecuta el comando Get-WinEvent. El parámetro listLog de especifica el registro de application . El parámetro ComputerName usa la variable $Server para obtener información de registro de cada servidor.

Los objetos se envían a la canalización al cmdlet Select-Object. obtiene las propiedades LogMode, MaximumSizeInBytes, RecordCount, LogNamey usa una expresión calculada para mostrar el ComputerName mediante la variable . Los objetos se envían por la canalización al cmdlet Format-Table para mostrar la salida en la consola de PowerShell. El parámetro AutoSize da formato a la salida para ajustarse a la pantalla.

Ejemplo 5: Obtención de proveedores de registros de eventos y nombres de registro

Este comando obtiene los proveedores de registro de eventos y los registros en los que escriben.

Get-WinEvent -ListProvider *

Name     : .NET Runtime
LogLinks : {Application}
Opcodes  : {}
Tasks    : {}

Name     : .NET Runtime Optimization Service
LogLinks : {Application}
Opcodes  : {}
Tasks    : {}

El cmdlet Get-WinEvent obtiene información de registro del equipo. El parámetro ListProvider usa el comodín asterisco (*) para mostrar información sobre cada proveedor. En la salida, el nombre de es el proveedor y logLinks es el registro en el que escribe el proveedor.

Ejemplo 6: Obtener todos los proveedores de registro de eventos que escriben en un registro específico

Este comando obtiene todos los proveedores que escriben en el registro de Application.

(Get-WinEvent -ListLog Application).ProviderNames

.NET Runtime
.NET Runtime Optimization Service
Application
Application Error
Application Hang
Application Management

El cmdlet Get-WinEvent obtiene información de registro del equipo. El parámetro ListLog usa Application para obtener objetos para ese registro. ProviderNames es una propiedad del objeto y muestra los proveedores que escriben en el registro de Application.

Ejemplo 7: Obtención de nombres de proveedor de registro de eventos que contienen una cadena específica

Este comando obtiene los proveedores de registro de eventos con nombres que incluyen una cadena específica en el nombre del proveedor.

Get-WinEvent -ListProvider *Policy*

Name     : Group Policy Applications
LogLinks : {Application}
Opcodes  : {}
Tasks    : {}

Name     : Group Policy Client
LogLinks : {Application}
Opcodes  : {}
Tasks    : {}

Name     : Group Policy Data Sources
LogLinks : {Application}
Opcodes  : {}
Tasks    : {}

El cmdlet Get-WinEvent obtiene información de registro del equipo. El parámetro ListProvider usa el comodín asterisco () para buscar Directiva en cualquier lugar del nombre del proveedor.

Ejemplo 8: Obtención de identificadores de evento que genera el proveedor de eventos

Este comando enumera los identificadores de evento que genera el proveedor de eventos de Microsoft-Windows-GroupPolicy junto con la descripción del evento.

(Get-WinEvent -ListProvider Microsoft-Windows-GroupPolicy).Events | Format-Table Id, Description

Id  Description
  --  -----------
1500  The Group Policy settings for the computer were processed successfully...
1501  The Group Policy settings for the user were processed successfully...
4115  Group Policy Service started.
4116  Started the Group Policy service initialization phase.
4117  Group Policy Session started.

El cmdlet Get-WinEvent obtiene información de registro del equipo. El parámetro listProvider especifica el proveedor, Microsoft-Windows-GroupPolicy. La expresión se ajusta entre paréntesis y usa la propiedad Events para obtener objetos. Los objetos se envían a la canalización al cmdlet Format-Table. muestra el de identificador de y Descripción de los objetos de evento.

Ejemplo 9: Obtención de información de registro de las propiedades del objeto de evento

En este ejemplo se muestra cómo obtener información sobre el contenido de un registro mediante propiedades de objeto de evento. Los objetos de evento se almacenan en una variable y, a continuación, se agrupan y cuentan mediante id. de evento y Level.

PS> $Event = Get-WinEvent -LogName 'Windows PowerShell'

PS> $Event.Count
195

PS> $Event | Group-Object -Property Id -NoElement | Sort-Object -Property Count -Descending

Count  Name
-----  ----
  147  600
   22  400
   21  601
    3  403
    2  103

PS> $Event | Group-Object -Property LevelDisplayName -NoElement

Count  Name
-----  ----
    2  Warning
  193  Information

El cmdlet usa el parámetro LogName para especificar el registro de eventos de Windows PowerShell . Los objetos de evento se almacenan en la variable $Event.

usa la propiedad Count de la variable para mostrar el número total de eventos registrados.

La variable $Event se envía a la canalización al cmdlet Group-Object. usa el parámetro Property para especificar la propiedad Id de y cuenta los objetos por Id. El parámetro NoElement quita otras propiedades de la salida de los objetos. Los objetos agrupados se envían a la canalización al cmdlet Sort-Object. usa el parámetro property para ordenar los objetos por Count. El parámetro descendente muestra la salida por recuento, de mayor a menor. En la salida, la columna count contiene el número total de cada evento. La columna Nombre de contiene los números Id agrupados.

La variable $Event se envía a la canalización al cmdlet Group-Object. usa el parámetro Property para especificar la propiedad LevelDisplayName y cuenta los objetos por LevelDisplayName. Los objetos se agrupan por los niveles, como advertencia y Information. El parámetro NoElement quita otras propiedades de la salida. En la salida, la columna count contiene el número total de cada evento. La columna Nombre de contiene el LevelDisplayName agrupado.

Ejemplo 10: Obtención de eventos de error que tienen una cadena especificada en su nombre

En este ejemplo se usa una cadena separada por comas de nombres de registro. La salida se agrupa por el nivel, como el error o la advertencia y el nombre del registro.

Get-WinEvent -LogName  *PowerShell*, Microsoft-Windows-Kernel-WHEA* | Group-Object -Property LevelDisplayName, LogName -NoElement | Format-Table -AutoSize

Count  Name
-----  ----
    1  Error, PowerShellCore/Operational
   26  Information, Microsoft-Windows-Kernel-WHEA/Operational
  488  Information, Microsoft-Windows-PowerShell/Operational
   77  Information, PowerShellCore/Operational
 9835  Information, Windows PowerShell
   19  Verbose, PowerShellCore/Operational
  444  Warning, Microsoft-Windows-PowerShell/Operational
  512  Warning, PowerShellCore/Operational

El cmdlet Get-WinEvent obtiene información de registro del equipo. El parámetro LogName usa una cadena separada por comas con el comodín asterisco (*) para especificar los nombres de registro. Los objetos se envían a la canalización al cmdlet Group-Object. usa el parámetro Property para agrupar los objetos por LevelDisplayName y LogName. El parámetro NoElement quita otras propiedades de la salida. Los objetos agrupados se envían a la canalización al cmdlet Format-Table. Format-Table usa el parámetro AutoSize para dar formato a las columnas. La columna count contiene el número total de cada evento. La columna Nombre contiene el LevelDisplayName agrupado y LogName.

Ejemplo 11: Obtención de eventos de un registro de eventos archivado

Get-WinEvent puede obtener información de eventos de los archivos de registro guardados. En este ejemplo se usa un registro de PowerShell archivado que se almacena en el equipo local.

Get-WinEvent -Path 'C:\Test\Windows PowerShell.evtx'

ProviderName: PowerShell

TimeCreated              Id LevelDisplayName  Message
-----------              -- ----------------  -------
3/15/2019 13:54:13      403 Information       Engine state is changed from Available to Stopped...
3/15/2019 13:54:13      400 Information       Engine state is changed from None to Available...
3/15/2019 13:54:13      600 Information       Provider "Variable" is Started...
3/15/2019 13:54:13      600 Information       Provider "Function" is Started...
3/15/2019 13:54:13      600 Information       Provider "FileSystem" is Started...

El cmdlet Get-WinEvent obtiene información de registro del equipo. El parámetro Path especifica el directorio y el nombre de archivo.

Ejemplo 12: Obtener un número específico de eventos de un registro de eventos archivado

Estos comandos obtienen un número específico de eventos de un registro de eventos archivado. Get-WinEvent tiene parámetros que pueden obtener un número máximo de eventos o los eventos más antiguos. En este ejemplo se usa un registro de PowerShell archivado que se almacena en C:\Test\PowerShellCore Operational.evtx.

PS> Get-WinEvent -Path 'C:\Test\PowerShellCore Operational.evtx' -MaxEvents 100

   ProviderName: PowerShellCore

TimeCreated                 Id   LevelDisplayName  Message
-----------                 --   ----------------  -------
3/15/2019 09:54:54        4104   Warning           Creating Scriptblock text (1 of 1):...
3/15/2019 09:37:13       40962   Information       PowerShell console is ready for user input
3/15/2019 07:56:24        4104   Warning           Creating Scriptblock text (1 of 1):...
...
3/7/2019 10:53:22        40961   Information       PowerShell console is starting up
3/7/2019 10:53:22         8197   Verbose           Runspace state changed to Opening
3/7/2019 10:53:22         8195   Verbose           Opening RunspacePool

El cmdlet Get-WinEvent obtiene información de registro del equipo. El parámetro Path especifica el directorio y el nombre de archivo. El parámetro MaxEvents especifica que se muestran 100 registros, de más recientes a más antiguos.

Ejemplo 13: Seguimiento de eventos para Windows

Seguimiento de eventos para Windows (ETW) escribe eventos en el registro a medida que se producen eventos. Los eventos se almacenan en el orden de más antiguo a más reciente. Un archivo ETW archivado se guarda como un .etl como TraceLog.etl. Los eventos se muestran en el orden en que se escriben en el registro, por lo que se requiere el parámetro Más antiguo.

PS> Get-WinEvent -Path 'C:\Tracing\TraceLog.etl' -Oldest | Sort-Object -Property TimeCreated -Descending | Select-Object -First 100

El cmdlet Get-WinEvent obtiene información de registro del archivo archivado. El parámetro Path especifica el directorio y el nombre de archivo. El parámetro más antiguo se usa para generar eventos en el orden en que se escriben, más antiguos para los más recientes. Los objetos se envían por la canalización al cmdlet Sort-ObjectSort-Object ordena los objetos en orden descendente por el valor de la propiedad timeCreated . Los objetos se envían por la canalización al cmdlet Select-Object que muestra los 100 eventos más recientes.

Ejemplo 14: Obtención de eventos de un registro de seguimiento de eventos

En este ejemplo se muestra cómo obtener los eventos de un archivo de registro de seguimiento de eventos (.etl) y un archivo de registro de Windows PowerShell archivado (.evtx). Puede combinar varios tipos de archivo en un solo comando. Dado que los archivos contienen el mismo tipo de objeto de .NET Framework, EventLogRecord, puede filtrarlos con las mismas propiedades. El comando requiere el parámetro Más antiguo porque está leyendo desde un archivo , pero el parámetro Más antiguo se aplica a cada archivo.

PS> Get-WinEvent -Path 'C:\Tracing\TraceLog.etl', 'C:\Test\Windows PowerShell.evtx' -Oldest | Where-Object { $_.Id -eq '403' }

El cmdlet Get-WinEvent obtiene información de registro de los archivos archivados. El parámetro Path usa una lista separada por comas para especificar cada directorio de archivos y nombre de archivo. El parámetro más antiguo se usa para generar eventos en el orden en que se escriben, más antiguos para los más recientes. Los objetos se envían a la canalización al cmdlet Where-Object. Where-Object usa un bloque de script para buscar eventos con y id. de 403. La variable $_ representa el objeto actual de la canalización y Id es la propiedad Id. de evento.

Ejemplo 15: Filtrar los resultados del registro de eventos

En este ejemplo se muestran diversos métodos para filtrar y seleccionar eventos de un registro de eventos. Todos estos comandos obtienen eventos que se produjeron en las últimas 24 horas desde el registro de eventos Windows PowerShell. Los métodos de filtro son más eficaces que usar el cmdlet Where-Object. Los filtros se aplican a medida que se recuperan los objetos. Where-Object recupera todos los objetos y, a continuación, aplica filtros a todos los objetos.

# Using the Where-Object cmdlet:
PS> $Yesterday = (Get-Date) - (New-TimeSpan -Day 1)
PS> Get-WinEvent -LogName 'Windows PowerShell' | Where-Object { $_.TimeCreated -ge $Yesterday }

# Using the FilterHashtable parameter:
PS> $Yesterday = (Get-Date) - (New-TimeSpan -Day 1)
PS> Get-WinEvent -FilterHashtable @{ LogName='Windows PowerShell'; Level=3; StartTime=$Yesterday }

# Using the FilterXML parameter:
PS> Get-WinEvent -FilterXML "<QueryList><Query><Select Path='Windows PowerShell'>*[System[Level=3 and TimeCreated[timediff(@SystemTime)<= 86400000]]]</Select></Query></QueryList>"

# Using the FilterXPath parameter:
PS> Get-WinEvent -LogName 'Windows PowerShell' -FilterXPath "*[System[Level=3 and TimeCreated[timediff(@SystemTime) <= 86400000]]]"

Ejemplo 16: Usar FilterHashtable para obtener eventos del registro de aplicaciones

En este ejemplo se usa el parámetro FilterHashtable para obtener eventos del registro de Application. La tabla hash usa pares clave-valor . Para obtener más información sobre el parámetro FilterHashtable de , vea Creating Get-WinEvent queries with FilterHashtable. Para obtener más información sobre las tablas hash, consulte about_Hash_Tables.

$Date = (Get-Date).AddDays(-2)
Get-WinEvent -FilterHashtable @{ LogName='Application'; StartTime=$Date; Id='1003' }

El cmdlet usa el método AddDays para obtener una fecha que sea dos días antes de la fecha actual. El objeto date se almacena en la variable $Date.

El cmdlet Get-WinEvent obtiene información de registro. El parámetro FilterHashtable se usa para filtrar la salida. La clave LogName especifica el valor como registro de Application. La clave StartTime usa el valor almacenado en la variable . La clave id. de usa un valor de id. de evento, 1003.

Ejemplo 17: Uso de FilterHashtable para obtener errores de aplicación

En este ejemplo se usa el parámetro FilterHashtable para buscar errores de aplicación de Internet Explorer que se produjeron en la última semana.

$StartTime = (Get-Date).AddDays(-7)
Get-WinEvent -FilterHashtable @{ Logname='Application'; ProviderName='Application Error'; Data='iexplore.exe'; StartTime=$StartTime }

El cmdlet usa el método AddDays para obtener una fecha que sea siete días antes de la fecha actual. El objeto date se almacena en la variable $StartTime.

El cmdlet Get-WinEvent obtiene información de registro. El parámetro FilterHashtable se usa para filtrar la salida. La clave LogName especifica el valor como registro de Application. La clave ProviderName de usa el valor Error de aplicación, que es el source del evento. La clave de de datos de usa el valor iexplore.exe La clave StartTime de usa el valor almacenado en variable.

Parámetros

-ComputerName

Especifica el nombre del equipo que este cmdlet obtiene eventos de los registros de eventos. Escriba el nombre NetBIOS, una dirección ip (Protocolo de Internet) o el nombre de dominio completo (FQDN) del equipo. El valor predeterminado es el equipo local, localhost. Este parámetro solo acepta un nombre de equipo a la vez.

Para obtener registros de eventos de equipos remotos, configure el puerto de firewall para el servicio de registro de eventos para permitir el acceso remoto.

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

Tipo:String
Alias:Cn
Posición:Named
Valor predeterminado:Local computer
Requerido:False
Aceptar entrada de canalización:False
Aceptar caracteres comodín:False

-Credential

Especifica una cuenta de usuario que tiene permiso para realizar esta acción. El valor predeterminado es el usuario actual.

Escriba un nombre de usuario, como usuario01 o Domain01\User01. O bien, escriba un objeto de PSCredential, como uno generado por el cmdlet Get-Credential. Si escribe un nombre de usuario, se le pedirá una contraseña. Si escribe solo el nombre del parámetro, se le pedirá un nombre de usuario y una contraseña.

Tipo:PSCredential
Posición:Named
Valor predeterminado:Current user
Requerido:False
Aceptar entrada de canalización:False
Aceptar caracteres comodín:False

-FilterHashtable

Especifica una consulta en formato de tabla hash para seleccionar eventos de uno o varios registros de eventos. La consulta contiene una tabla hash con uno o varios pares clave-valor.

Las consultas de tabla hash tienen las siguientes reglas:

  • Las claves y los valores no distinguen mayúsculas de minúsculas.
  • Los caracteres comodín solo son válidos en los valores asociados con el logName de y las claves de ProviderName.
  • Cada clave solo se puede enumerar una vez en cada tabla hash.
  • El valor de ruta de acceso toma rutas de acceso a .etl, .evty .evtx archivos de registro.
  • Las claves LogName, ruta de accesoy ProviderName se pueden usar en la misma consulta.
  • La clave UserID de puede tomar un identificador de seguridad (SID) válido o un nombre de cuenta de dominio que se puede usar para construir un objeto System.Security.Principal.NTAccount válido .
  • El valor de Datos toma datos de eventos en un campo sin nombre. Por ejemplo, los eventos de los registros de eventos clásicos.
  • <named-data> clave representa un campo de datos de evento con nombre.

Cuando Get-WinEvent no puede interpretar un par de clave/valor , interpreta la clave como un nombre que distingue mayúsculas de minúsculas para los datos del evento.

Los pares clave-valor válidos Get-WinEvent son los siguientes:

  • = <String[]> LogName
  • ProviderName de
  • de ruta de acceso de
  • palabras clave=<Long[]>
  • id. de=<Int32[]>
  • nivel de
  • startTime=<DateTime>
  • = <DateTime> EndTime
  • userID=<SID>
  • de datos de
  • <named-data>=<String[]>
Tipo:Hashtable[]
Posición:0
Valor predeterminado:None
Requerido:True
Aceptar entrada de canalización:False
Aceptar caracteres comodín:False

-FilterXml

Especifica una consulta XML estructurada que este cmdlet selecciona eventos de uno o varios registros de eventos.

Para generar una consulta XML válida, use las características Crear vista personalizada y Filtrar registro actual en el Visor de eventos de Windows. Use los elementos del cuadro de diálogo para crear una consulta y, a continuación, haga clic en la pestaña XML para ver la consulta en formato XML. Puede copiar el XML de la pestaña XML en el valor del parámetro FilterXml. Para obtener más información sobre las características del Visor de eventos, vea Ayuda del Visor de eventos.

Use una consulta XML para crear una consulta compleja que contenga varias instrucciones XPath. El formato XML también permite usar un elemento Suppress XML que excluye los eventos de la consulta. Para obtener más información sobre el esquema XML para las consultas de registro de eventos, vea de esquema de consulta y la sección Consultas de eventos XML de la selección de eventos en MSDN Library.

Tipo:XmlDocument
Posición:0
Valor predeterminado:None
Requerido:True
Aceptar entrada de canalización:False
Aceptar caracteres comodín:False

-FilterXPath

Especifica una consulta XPath que este cmdlet selecciona eventos de uno o varios registros.

Para obtener más información sobre el lenguaje XPath, vea referencia de XPath y la sección Filtros de selección de la selección de eventos en MSDN Library.

Tipo:String
Posición:Named
Valor predeterminado:None
Requerido:False
Aceptar entrada de canalización:False
Aceptar caracteres comodín:False

-Force

Obtiene registros de depuración y análisis, además de otros registros de eventos. El parámetro Force es necesario para obtener un registro de depuración o análisis cuando el valor del parámetro name incluye caracteres comodín.

De forma predeterminada, el cmdlet Get-WinEvent excluye estos registros a menos que especifique el nombre completo de un registro de depuración o análisis.

Tipo:SwitchParameter
Posición:Named
Valor predeterminado:None
Requerido:False
Aceptar entrada de canalización:False
Aceptar caracteres comodín:False

-ListLog

Especifica los registros de eventos. Escriba los nombres de registro de eventos en una lista separada por comas. Se permiten caracteres comodín. Para obtener todos los registros, use el carácter comodín asterisco (*).

Tipo:String[]
Posición:0
Valor predeterminado:None
Requerido:True
Aceptar entrada de canalización:False
Aceptar caracteres comodín:True

-ListProvider

Especifica los proveedores de registro de eventos que obtiene este cmdlet. Un proveedor de registros de eventos es un programa o servicio que escribe eventos en el registro de eventos.

Escriba los nombres de proveedor en una lista separada por comas. Se permiten caracteres comodín. Para obtener los proveedores de todos los registros de eventos del equipo, use el comodín asterisco (*).

Tipo:String[]
Posición:0
Valor predeterminado:None
Requerido:True
Aceptar entrada de canalización:False
Aceptar caracteres comodín:True

-LogName

Especifica los registros de eventos de los que este cmdlet obtiene eventos. Escriba los nombres de registro de eventos en una lista separada por comas. Se permiten caracteres comodín. También puede canalizar los nombres de registro al cmdlet Get-WinEvent.

Tipo:String[]
Posición:0
Valor predeterminado:None
Requerido:False
Aceptar entrada de canalización:True
Aceptar caracteres comodín:True

-MaxEvents

Especifica el número máximo de eventos que se devuelven. Escriba un entero como 100. El valor predeterminado es devolver todos los eventos de los registros o archivos.

Tipo:Int64
Posición:Named
Valor predeterminado:None
Requerido:False
Aceptar entrada de canalización:False
Aceptar caracteres comodín:False

-Oldest

Indique que este cmdlet obtiene los eventos en orden más antiguo. De forma predeterminada, los eventos se devuelven en el orden más reciente.

Este parámetro es necesario para obtener eventos de .etl y archivos .evt y de registros de depuración y análisis. En estos archivos, los eventos se registran en orden más antiguo y los eventos solo se pueden devolver en orden más antiguo.

Tipo:SwitchParameter
Posición:Named
Valor predeterminado:None
Requerido:False
Aceptar entrada de canalización:False
Aceptar caracteres comodín:False

-Path

Especifica la ruta de acceso a los archivos de registro de eventos de los que este cmdlet obtiene eventos. Escriba las rutas de acceso a los archivos de registro en una lista separada por comas o use caracteres comodín para crear patrones de ruta de acceso de archivo.

Get-WinEvent admite archivos con las extensiones de nombre de archivo .evt, .evtxy .etl. Puede incluir eventos de diferentes archivos y tipos de archivo en el mismo comando.

Tipo:String[]
Alias:PSPath
Posición:0
Valor predeterminado:None
Requerido:True
Aceptar entrada de canalización:True
Aceptar caracteres comodín:True

-ProviderName

Especifica, como matriz de cadenas, los proveedores de registro de eventos de los que este cmdlet obtiene eventos. Escriba los nombres de proveedor en una lista separada por comas o use caracteres comodín para crear patrones de nombre de proveedor.

Un proveedor de registros de eventos es un programa o servicio que escribe eventos en el registro de eventos. No es un proveedor de PowerShell.

Tipo:String[]
Posición:0
Valor predeterminado:None
Requerido:True
Aceptar entrada de canalización:True
Aceptar caracteres comodín:True

Entradas

System.String, System.Xml.XmlDocument, System.Collections.Hashtable

Puede canalizar una logName de (cadena), una consulta de FilterXML o una consulta de FilterHashtable para .

Salidas

System.Diagnostics.Eventing.Reader.EventLogConfiguration, System.Diagnostics.Eventing.Reader.EventLogRecord, System.Diagnostics.Eventing.Reader.ProviderMetadata

Con el parámetro ListLog, Get-WinEvent devuelve objetos System.Diagnostics.Eventing.Reader.EventLogConfiguration.

Con el parámetro ListProvider, devuelve objetos System.Diagnostics.Eventing.Reader.ProviderMeta data.

Con todos los demás parámetros, Get-WinEvent devuelve objetos System.Diagnostics.Eventing.Reader.EventLogRecord.

Notas

Get-WinEvent se ejecuta en Windows Vista, Windows Server 2008 R2 y versiones posteriores de Windows.

Get-WinEvent está diseñado para reemplazar el cmdlet Get-EventLog en equipos que ejecutan Windows Vista y versiones posteriores de Windows. Get-EventLog obtiene eventos solo en los registros de eventos clásicos. Get-EventLog se conserva en versiones anteriores a PowerShell 6 por motivos de compatibilidad con versiones anteriores.

Los cmdlets Get-WinEvent y Get-EventLog no se admiten en el entorno de preinstalación de Windows (Windows PE).