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 <Int64>]
[-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 <Int64>]
[-ComputerName <String>]
[-Credential <PSCredential>]
[-FilterXPath <String>]
[-Force]
[-Oldest]
[<CommonParameters>]
Get-WinEvent
[-Path] <String[]>
[-MaxEvents <Int64>]
[-Credential <PSCredential>]
[-FilterXPath <String>]
[-Oldest]
[<CommonParameters>]
Get-WinEvent
[-MaxEvents <Int64>]
[-ComputerName <String>]
[-Credential <PSCredential>]
[-FilterHashtable] <Hashtable[]>
[-Force]
[-Oldest]
[<CommonParameters>]
Get-WinEvent
[-MaxEvents <Int64>]
[-ComputerName <String>]
[-Credential <PSCredential>]
[-FilterXml] <XmlDocument>
[-Oldest]
[<CommonParameters>]
Description
El Get-WinEvent
cmdlet obtiene eventos de los registros de eventos, incluidos los registros clásicos, como los registros del sistema y de la aplicación. El cmdlet obtiene datos de los registros de eventos generados por la tecnología registro de eventos de Windows introducida en Windows Vista y los eventos en los archivos de registro generados por el seguimiento de eventos para Windows (ETW). De forma predeterminada, Get-WinEvent
devuelve información de eventos en el orden de más reciente a la más antigua.
Get-WinEvent
enumera los registros de eventos y los proveedores de registros de eventos. Para interrumpir el comando, presione CTRL+C. Puede obtener los eventos de los registros seleccionados o de registros generados por los proveedores de eventos seleccionados. Y puede combinar los 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 valor de RecordCount 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 Get-WinEvent
cmdlet obtiene información de registro del equipo. El parámetro ListLog usa el carácter 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 instalación 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 Get-WinEvent
cmdlet usa el parámetro ListLog para especificar el registro de instalación . El objeto se envía a la canalización al Format-List
cmdlet . Format-List
usa el parámetro Property con el carácter comodín asterisco (*
) para mostrar cada propiedad.
Ejemplo 3: Configuración del registro de seguridad clásico
Este comando obtiene un objeto EventLogConfiguration que representa el registro de seguridad clásico. A continuación, el objeto se usa para configurar las opciones del registro, como el tamaño máximo de archivo, la ruta de acceso del archivo y si el registro está habilitado.
$log = Get-WinEvent -ListLog Security
$log.MaximumSizeInBytes = 1gb
try{
$log.SaveChanges()
Get-WinEvent -ListLog Security | Format-List -Property *
}catch [System.UnauthorizedAccessException]{
$ErrMsg = 'You do not have permission to configure this log!'
$ErrMsg += ' Try running this script with administrator privileges. '
$ErrMsg += $_.Exception.Message
Write-Error $ErrMsg
}
FileSize : 69632
IsLogFull : False
LastAccessTime : 3/13/2019 09:41:46
LastWriteTime : 3/13/2019 09:41:46
OldestRecordNumber : 1
RecordCount : 23
LogName : Security
LogType : Administrative
LogIsolation : Custom
IsEnabled : True
IsClassicLog : True
SecurityDescriptor : O:BAG:SYD: ...
LogFilePath : %SystemRoot%\System32\Winevt\Logs\Security.evtx
MaximumSizeInBytes : 1073741824
LogMode : Circular
OwningProviderName :
ProviderNames : {Microsoft-Windows-WUSA, Microsoft-Windows-ActionQueue...
ProviderLevel :
ProviderKeywords :
ProviderBufferSize : 64
ProviderMinimumNumberOfBuffers : 0
ProviderMaximumNumberOfBuffers : 64
ProviderLatency : 1000
ProviderControlGuid :
El Get-WinEvent
cmdlet usa el parámetro ListLog para especificar el registro de seguridad . El objeto se guarda en una variable. La propiedad MaximumSizeInBytes se establece en 1 gigabyte en el objeto . Se llama al método SaveChanges para insertar el cambio en el sistema dentro de un bloque try para controlar las infracciones de acceso. El Get-WinEvent
cmdlet se llama de nuevo en el registro de seguridad y se canaliza al Format-List
cmdlet para comprobar que la propiedad MaximumSizeInBytes se ha guardado en el equipo.
Ejemplo 4: 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 valor de RecordCount de un registro sea null 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 Get-WinEvent
cmdlet obtiene información de registro del equipo. El parámetro ListLog usa el carácter comodín asterisco (*
) para mostrar información sobre cada registro. El parámetro ComputerName especifica para obtener los registros del equipo local, localhost. Los objetos se envían a la canalización al Where-Object
cmdlet . 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 5: Obtención de registros de eventos de varios servidores
En este ejemplo se obtienen objetos que representan los registros de eventos application en tres equipos: Server01, Server02 y Server03. La palabra clave ForEach se usa porque el parámetro ComputerName solo acepta un valor. Para obtener más información, consulte 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, Server02 y Server03. La instrucción ForEach usa un bucle para procesar cada servidor, ($Server in $S)
. El bloque de script de las llaves ({ }
) ejecuta el Get-WinEvent
comando . El parámetro ListLog especifica el registro de aplicación. 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 Select-Object
cmdlet . Select-Object
obtiene las propiedades LogMode, MaximumSizeInBytes, RecordCount, LogName y usa una expresión calculada para mostrar ComputerName mediante la $Server
variable . Los objetos se envían por la canalización al Format-Table
cmdlet para mostrar la salida en la consola de PowerShell. El parámetro AutoSize da formato a la salida para ajustarse a la pantalla.
Ejemplo 6: 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 Get-WinEvent
cmdlet obtiene información de registro del equipo. El parámetro ListProvider usa el carácter comodín asterisco (*
) para mostrar información sobre cada proveedor. En la salida, name es el proveedor y LogLinks es el registro en el que escribe el proveedor.
Ejemplo 7: 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 la aplicación .
(Get-WinEvent -ListLog Application).ProviderNames
.NET Runtime
.NET Runtime Optimization Service
Application
Application Error
Application Hang
Application Management
El Get-WinEvent
cmdlet 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 la aplicación .
Ejemplo 8: 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 Get-WinEvent
cmdlet obtiene información de registro del equipo. El parámetro ListProvider usa el carácter comodín asterisco (*
) para buscar la directiva en cualquier parte del nombre del proveedor.
Ejemplo 9: 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 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 Get-WinEvent
cmdlet 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 Format-Table
cmdlet . Format-Table
muestra el identificador y la descripción de los objetos de evento.
Ejemplo 10: Obtener 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 por id . de evento y nivel.
$Event = Get-WinEvent -LogName 'Windows PowerShell'
$Event.Count
$Event | Group-Object -Property Id -NoElement | Sort-Object -Property Count -Descending
$Event | Group-Object -Property LevelDisplayName -NoElement
195
Count Name
----- ----
147 600
22 400
21 601
3 403
2 103
Count Name
----- ----
2 Warning
193 Information
El Get-WinEvent
cmdlet usa el parámetro LogName para especificar el registro de eventos de Windows PowerShell . Los objetos de evento se almacenan en la $Event
variable . La propiedad Count de $Event
muestra el número total de eventos registrados.
La $Event
variable se envía a la canalización al Group-Object
cmdlet . Group-Object
usa el parámetro Property para especificar la propiedad Id y cuenta los objetos por el valor del identificador de evento. El parámetro NoElement quita otras propiedades de la salida de los objetos. Los objetos agrupados se envían a la canalización al Sort-Object
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 contiene los números de identificador de evento agrupados.
La $Event
variable se envía a la canalización al Group-Object
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 e Información.
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 contiene el levelDisplayName agrupado.
Ejemplo 11: 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 Get-WinEvent
cmdlet 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 Group-Object
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 Format-Table
cmdlet . 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 Name contiene el LevelDisplayName agrupado y LogName.
Ejemplo 12: 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 Get-WinEvent
cmdlet obtiene información de registro del equipo. El parámetro Path especifica el directorio y el nombre de archivo.
Ejemplo 13: 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.
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 Get-WinEvent
cmdlet 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 14: 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 .
Get-WinEvent -Path 'C:\Tracing\TraceLog.etl' -Oldest |
Sort-Object -Property TimeCreated -Descending |
Select-Object -First 100
El Get-WinEvent
cmdlet 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 a los más recientes. Los objetos se envían por la canalización al Sort-Object
cmdlet Sort-Object
ordena los objetos en orden descendente por el valor de la propiedad TimeCreated . Los objetos se envían por la canalización al Select-Object
cmdlet que muestra los 100 eventos más recientes.
Ejemplo 15: 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 () y un archivo de registro de Windows PowerShell archivado.etl
(.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 .etl
archivo, pero el parámetro Más antiguo se aplica a cada archivo.
Get-WinEvent -Path 'C:\Tracing\TraceLog.etl', 'C:\Test\Windows PowerShell.evtx' -Oldest |
Where-Object { $_.Id -eq '403' }
El Get-WinEvent
cmdlet 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 a los más recientes. Los objetos se envían a la canalización al Where-Object
cmdlet . Where-Object
usa un bloque de script para buscar eventos con un identificador 403. La $_
variable representa el objeto actual de la canalización e Id es la propiedad Id. de evento.
Ejemplo 16: 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 de Windows PowerShell .
Los métodos de filtro son más eficaces que usar el Where-Object
cmdlet . 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:
$Yesterday = (Get-Date) - (New-TimeSpan -Day 1)
Get-WinEvent -LogName 'Windows PowerShell' | Where-Object { $_.TimeCreated -ge $Yesterday }
# Using the FilterHashtable parameter:
$Yesterday = (Get-Date) - (New-TimeSpan -Day 1)
Get-WinEvent -FilterHashtable @{ LogName='Windows PowerShell'; Level=3; StartTime=$Yesterday }
# Using the FilterXML parameter:
$xmlQuery = @'
<QueryList>
<Query Id="0" Path="Windows PowerShell">
<Select Path="System">*[System[(Level=3) and
TimeCreated[timediff(@SystemTime) <= 86400000]]]</Select>
</Query>
</QueryList>
'@
Get-WinEvent -FilterXML $xmlQuery
# Using the FilterXPath parameter:
$XPath = '*[System[Level=3 and TimeCreated[timediff(@SystemTime) <= 86400000]]]'
Get-WinEvent -LogName 'Windows PowerShell' -FilterXPath $XPath
Ejemplo 17: Uso de FilterHashtable para obtener eventos del registro de aplicación
En este ejemplo se usa el parámetro FilterHashtable para obtener eventos del registro de la aplicación . La tabla hash usa pares clave-valor . Para obtener más información sobre el parámetro FilterHashtable , consulte Creación de consultas Get-WinEvent con 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 Get-Date
cmdlet usa el método AddDays para obtener una fecha que es dos días antes de la fecha actual. El objeto date se almacena en la $Date
variable .
El cmdlet obtiene información de Get-WinEvent
registro. El parámetro FilterHashtable se usa para filtrar la salida. La clave LogName especifica el valor como registro de aplicación. La clave StartTime usa el valor almacenado en la $Date
variable . La clave Id usa un valor de Id. de evento, 1003.
Ejemplo 18: 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 Get-Date
cmdlet usa el método AddDays para obtener una fecha que es siete días antes de la fecha actual. El objeto date se almacena en la $StartTime
variable .
El cmdlet obtiene información de Get-WinEvent
registro. El parámetro FilterHashtable se usa para filtrar la salida. La clave LogName especifica el valor como registro de aplicación. La clave ProviderName usa el valor Error de la aplicación, que es el origen del evento. La clave de datos usa el valor iexplore.exe La clave StartTime usa el valor almacenado en $StartTime
la 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 o el nombre de dominio completo (FQDN) del equipo. El valor predeterminado es el equipo local, localhost. Este parámetro acepta solo 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 con permiso para realizar esta acción. El valor predeterminado es el usuario actual.
Escriba un nombre de usuario, como User01 o Domain01\User01. O bien, escriba un objeto PSCredential , como uno generado por el Get-Credential
cmdlet . 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 a las claves LogName y ProviderName .
- Cada clave solo se puede enumerar una vez en cada tabla hash.
- El valor ruta de acceso toma rutas de acceso a
.etl
los archivos de registro ,.evt
y.evtx
. - Las claves LogName, Path y ProviderName se pueden usar en la misma consulta.
- La clave UserID 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 evento en un campo sin nombre. Por ejemplo, los eventos de los registros de eventos clásicos.
Cuando Get-WinEvent
no se puede interpretar un par clave-valor , interpreta la clave como un nombre que distingue mayúsculas de minúsculas para los datos del evento en el evento.
Los pares clave-valor válidos Get-WinEvent
son los siguientes:
- LogName=
<String[]>
- ProviderName=
<String[]>
- Path=
<String[]>
- Palabras clave=
<Long[]>
- ID=
<Int32[]>
- Nivel=
<Int32[]>
- StartTime=
<DateTime>
- EndTime=
<DateTime>
- UserID=
<SID>
- Data=
<String[]>
Tipo: | Hashtable[] |
Posición: | 1 |
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 Windows Visor de eventos. Utilice los elementos en el cuadro de diálogo para crear una consulta y, después, 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 acerca de las características del Visor de eventos, consulte la 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 Esquema de consulta y la sección Consultas de eventos XML de selección de eventos.
Tipo: | XmlDocument |
Posición: | 1 |
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.
Tipo: | String |
Posición: | Named |
Valor predeterminado: | None |
Requerido: | False |
Aceptar entrada de canalización: | False |
Aceptar caracteres comodín: | False |
-Force
Obtiene registros analíticos y de depuración, 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 Get-WinEvent
cmdlet 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 los caracteres comodín. Para obtener todos los registros, use el carácter comodín asterisco (*
).
Tipo: | String[] |
Posición: | 1 |
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 los eventos en el registro de eventos.
Escriba los nombres de proveedor en una lista separada por comas. Se permiten los caracteres comodín. Para obtener los proveedores de todos los registros de eventos en el equipo, use el carácter comodín asterisco (*
).
Tipo: | String[] |
Posición: | 1 |
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 los caracteres comodín. También puede canalizar los nombres de registro al Get-WinEvent
cmdlet.
Nota:
PowerShell no limita la cantidad de registros que puede solicitar. Sin embargo, el Get-WinEvent
cmdlet consulta la API de Windows que tiene un límite de 256. Esto puede dificultar el filtrado de todos los registros a la vez. Puede solucionarlo mediante un foreach
bucle para recorrer en iteración cada registro de la siguiente manera: Get-WinEvent -ListLog * | ForEach-Object{ Get-WinEvent -LogName $_.Logname }
Tipo: | String[] |
Posición: | 1 |
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 archivos o registros.
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 con el orden de primero el más reciente.
Este parámetro es necesario para obtener eventos de .etl
y .evt
archivos y de registros de depuración y análisis. En estos archivos, los eventos se registran con el orden de primero el más antiguo, y solo se pueden devolver con el orden de primero el 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 utilice caracteres comodín para crear patrones de ruta de acceso a los archivos.
Get-WinEvent
admite archivos con las .evt
extensiones de nombre de archivo , .evtx
y .etl
. Puede incluir eventos de distintos archivos y tipos de archivo en el mismo comando.
Tipo: | String[] |
Alias: | PSPath |
Posición: | 1 |
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 utilice caracteres comodín para crear patrones de nombre de proveedor.
Un proveedor de registros de eventos es un programa o servicio que escribe los eventos en el registro de eventos. No es un proveedor de PowerShell.
Tipo: | String[] |
Posición: | 1 |
Valor predeterminado: | None |
Requerido: | True |
Aceptar entrada de canalización: | True |
Aceptar caracteres comodín: | True |
Entradas
Puede canalizar un logName (cadena) a este cmdlet.
Puede canalizar una consulta FilterXML a este cmdlet.
Puede canalizar una consulta FilterHashtable a este cmdlet.
Salidas
Con el parámetro ListLog , este cmdlet devuelve objetos EventLogConfiguration .
De forma predeterminada, este cmdlet devuelve objetos EventLogRecord .
Con el parámetro ListProvider , este cmdlet devuelve objetos ProviderMetadata .
Notas
Get-WinEvent
está diseñado para reemplazar el Get-EventLog
cmdlet en equipos que ejecutan Windows Vista y versiones posteriores de Windows. Get-EventLog
obtiene los eventos solo en los registros de eventos clásicos. La clase Get-EventLog
se conserva por razones de compatibilidad con versiones anteriores.
Los Get-WinEvent
cmdlets y Get-EventLog
no se admiten en el entorno de preinstalación de Windows (Windows PE).