Get-WinEvent
Obtém eventos dos logs de evento e dos arquivos de log de rastreamento de eventos em computadores locais e remotos.
Sintaxe
GetLogSet (Padrão)
Get-WinEvent
[[-LogName] <String[]>]
[-MaxEvents <Int64>]
[-ComputerName <String>]
[-Credential <PSCredential>]
[-FilterXPath <String>]
[-Force]
[-Oldest]
[<CommonParameters>]
ListLogSet
Get-WinEvent
[-ListLog] <String[]>
[-ComputerName <String>]
[-Credential <PSCredential>]
[-Force]
[<CommonParameters>]
ListProviderSet
Get-WinEvent
[-ListProvider] <String[]>
[-ComputerName <String>]
[-Credential <PSCredential>]
[<CommonParameters>]
GetProviderSet
Get-WinEvent
[-ProviderName] <String[]>
[-MaxEvents <Int64>]
[-ComputerName <String>]
[-Credential <PSCredential>]
[-FilterXPath <String>]
[-Force]
[-Oldest]
[<CommonParameters>]
FileSet
Get-WinEvent
[-Path] <String[]>
[-MaxEvents <Int64>]
[-Credential <PSCredential>]
[-FilterXPath <String>]
[-Oldest]
[<CommonParameters>]
HashQuerySet
Get-WinEvent
[-FilterHashtable] <Hashtable[]>
[-MaxEvents <Int64>]
[-ComputerName <String>]
[-Credential <PSCredential>]
[-Force]
[-Oldest]
[<CommonParameters>]
XmlQuerySet
Get-WinEvent
[-FilterXml] <XmlDocument>
[-MaxEvents <Int64>]
[-ComputerName <String>]
[-Credential <PSCredential>]
[-Oldest]
[<CommonParameters>]
Description
Este cmdlet só está disponível na plataforma Windows.
O cmdlet Get-WinEvent obtém eventos de logs de eventos, incluindo logs clássicos, como os logs System e Application. O cmdlet obtém dados de logs de eventos gerados pela tecnologia log de eventos do Windows introduzida no Windows Vista e eventos em arquivos de log gerados pelo etw (Rastreamento de Eventos para Windows) do. Por padrão, Get-WinEvent retorna informações de evento na ordem das mais recentes para as mais antigas.
Get-WinEvent lista os logs de eventos e os provedores de log de eventos. Para interromper o comando, pressione CTRL+C. Você pode obter eventos de logs selecionados ou de logs gerados por provedores de eventos selecionados. Além disso, você pode combinar eventos de várias fontes em um único comando.
Get-WinEvent permite filtrar eventos usando consultas XPath, consultas XML estruturadas e consultas de tabela de hash.
Se você não estiver executando o PowerShell como administrador, poderá ver mensagens de erro que não podem ser recuperadas sobre um log.
Exemplos
Exemplo 1: Obter todos os logs de um computador local
Esse comando obtém todos os logs de eventos no computador local. Os logs são listados na ordem em que Get-WinEvent os obtém. Os logs clássicos são recuperados primeiro, seguidos pelos novos logs de eventos do Windows.
É possível que o RecordCount de um log seja nulo, que está em branco ou zero.
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
O cmdlet Get-WinEvent obtém informações de log do computador. O parâmetro ListLog usa o curinga asterisco (*) para exibir informações sobre cada log.
Exemplo 2: Obter o log de Instalação clássico
Esse comando obtém um objeto
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 :
O cmdlet Format-List.
Format-List usa o parâmetro Property com o curinga asterisco (*) para exibir cada propriedade.
Exemplo 3: Configurar o log de segurança clássico
Esse comando obtém um objeto EventLogConfiguration que representa o log de de Segurança do clássico. Em seguida, o objeto é usado para definir as configurações do log, como tamanho máximo do arquivo, caminho do arquivo e se o log 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 :
O cmdlet Get-WinEvent usa o parâmetro ListLog para especificar o log de de Segurança. O objeto é salvo em uma variável. A propriedade MaximumSizeInBytes é definida como 1 gigabyte no objeto. O método SaveChanges é chamado para enviar por push a alteração para o sistema dentro de um bloco try para lidar com violações de acesso. O cmdlet Get-WinEvent é chamado novamente no log de Segurança do e canalizado para o cmdlet Format-List para verificar se a propriedade MaximumSizeInBytes foi salva no computador.
Exemplo 4: Obter logs de eventos de um servidor
Esse comando só obtém logs de eventos no computador local que contêm eventos. É possível que o RecordCount de um log seja nulo ou zero. O exemplo usa a variável $_. Para obter mais informações, confira 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
O cmdlet Get-WinEvent obtém informações de log do computador. O parâmetro ListLog usa o curinga asterisco (*) para exibir informações sobre cada log. O parâmetro ComputerName especifica para obter os logs do computador local, localhost. Os objetos são enviados pelo pipeline para o cmdlet Where-Object.
Where-Object usa $_.RecordCount para retornar somente logs que contêm dados.
$_ é uma variável que representa o objeto atual no pipeline.
RecordCount é uma propriedade do objeto com um valor não nulo.
Exemplo 5: Obter logs de eventos de vários servidores
Este exemplo obtém objetos que representam os logs de eventos do Application em três computadores: Server01, Server02 e Server03. A palavra-chave foreach é usada porque o parâmetro ComputerName aceita apenas um valor. Para obter mais informações, 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
A variável $S armazena os nomes de três servidores: Server01, Server02e Server03. A instrução foreach usa um loop para processar cada servidor, ($Server in $S). O bloco de script nas chaves ({ }) executa o comando Get-WinEvent. O parâmetro ListLog $Server para obter informações de log de cada servidor.
Os objetos são enviados pelo pipeline para o cmdlet Select-Object.
Select-Object obtém as propriedades LogMode, MaximumSizeInBytes, RecordCount, LogNamee usa uma expressão calculada para exibir o ComputerName usando a variável $Server. Os objetos são enviados pelo pipeline para o cmdlet Format-Table para exibir a saída no console do PowerShell. O parâmetro AutoSize formata a saída para ajustar a tela.
Exemplo 6: Obter provedores de log de eventos e nomes de log
Esse comando obtém os provedores de log de eventos e os logs nos quais eles gravam.
Get-WinEvent -ListProvider *
Name : .NET Runtime
LogLinks : {Application}
Opcodes : {}
Tasks : {}
Name : .NET Runtime Optimization Service
LogLinks : {Application}
Opcodes : {}
Tasks : {}
O cmdlet Get-WinEvent obtém informações de log do computador. O parâmetro ListProvider usa o curinga asterisco (*) para exibir informações sobre cada provedor. Na saída, o de Nome do
Exemplo 7: Obter todos os provedores de log de eventos que gravam em um log específico
Esse comando obtém todos os provedores que gravam no log Application.
(Get-WinEvent -ListLog Application).ProviderNames
.NET Runtime
.NET Runtime Optimization Service
Application
Application Error
Application Hang
Application Management
O cmdlet Get-WinEvent obtém informações de log do computador. O parâmetro ListLog
Exemplo 8: Obter nomes de provedores de log de eventos que contêm uma cadeia de caracteres específica
Esse comando obtém os provedores de log de eventos com nomes que incluem uma cadeia de caracteres específica no nome do provedor.
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 : {}
O cmdlet Get-WinEvent obtém informações de log do computador. O parâmetro ListProvider usa o curinga asterisco (*) para localizar Policy em qualquer lugar dentro do nome do provedor.
Exemplo 9: Obter IDs de evento que o provedor de eventos gera
Este comando lista as IDs de evento que o provedor de eventos Microsoft-Windows-GroupPolicy gera junto com a descrição do 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.
O cmdlet Get-WinEvent obtém informações de log do computador. O parâmetro ListProvider Format-Table.
Format-Table exibe o de ID e Descrição dos objetos de evento.
Exemplo 10: Obter informações de log das propriedades do objeto de evento
Este exemplo mostra como obter informações sobre o conteúdo de um log usando propriedades de objeto de evento. Os objetos de evento são armazenados em uma variável e, em seguida, agrupados e contados por de ID de Evento e Level.
$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
O cmdlet $Event. A propriedade Count de $Eventmostra o número total de eventos registrados.
A variável $Event é enviada pelo pipeline para o cmdlet Group-Object.
Group-Object usa o parâmetro Property para especificar a propriedade ID e conta os objetos pelo valor da ID do evento. O parâmetro NoElement remove outras propriedades da saída dos objetos. Os objetos agrupados são enviados pelo pipeline para o cmdlet Sort-Object.
Sort-Object usa o parâmetro Property para classificar os objetos Count. O parâmetro Decrescente exibe a saída por contagem, da mais alta para a mais baixa. Na saída, a coluna Contagem contém o número total de cada evento. A coluna Name contém os números de ID do evento agrupado.
A variável $Event é enviada pelo pipeline para o cmdlet Group-Object.
Group-Object usa o parâmetro Property para especificar a propriedade LevelDisplayName e conta os objetos LevelDisplayName. Os objetos são agrupados pelos níveis como de Aviso e de Informações.
O parâmetro NoElement remove outras propriedades da saída. Na saída, a coluna Contagem contém o número total de cada evento. A coluna nome do
Exemplo 11: Obter eventos de erro que têm uma cadeia de caracteres especificada em seu nome
Este exemplo usa uma cadeia de caracteres separada por vírgulas de nomes de log. A saída é agrupada pelo nível, como erro ou aviso e o nome do log.
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
O cmdlet Get-WinEvent obtém informações de log do computador. O parâmetro LogName usa uma cadeia de caracteres separada por vírgulas com o curinga asterisco (*) para especificar os nomes de log. Os objetos são enviados pelo pipeline para o cmdlet Group-Object.
Group-Object usa o parâmetro Property para agrupar os objetos LevelDisplayName e LogName. O parâmetro NoElement remove outras propriedades da saída. Os objetos agrupados são enviados pelo pipeline para o cmdlet Format-Table.
Format-Table usa o parâmetro AutoSize para formatar as colunas. A coluna Count contém o número total de cada evento. A coluna
Exemplo 12: Obter eventos de um log de eventos arquivado
Get-WinEvent pode obter informações de evento de arquivos de log salvos. Este exemplo usa um log arquivado do PowerShell armazenado no computador 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...
O cmdlet Get-WinEvent obtém informações de log do computador. O parâmetro Path especifica o diretório e o nome do arquivo.
Exemplo 13: Obter um número específico de eventos de um log de eventos arquivado
Esses comandos obtêm um número específico de eventos de um log de eventos arquivado.
Get-WinEvent tem parâmetros que podem obter um número máximo de eventos ou os eventos mais antigos. Este exemplo usa um log arquivado do PowerShell armazenado em 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
O cmdlet Get-WinEvent obtém informações de log do computador. O parâmetro caminho especifica o diretório e o nome do arquivo. O parâmetro MaxEvents especifica que 100 registros são exibidos, do mais novo ao mais antigo.
Exemplo 14: Rastreamento de eventos para Windows
O ETW (Rastreamento de Eventos para Windows) grava eventos no log à medida que ocorrem eventos. Os eventos são armazenados na ordem dos mais antigos para os mais recentes. Um arquivo ETW arquivado é salvo como um .etl como TraceLog.etl.
Os eventos são listados na ordem em que são gravados no log, portanto, o parâmetro mais antigo do
Get-WinEvent -Path 'C:\Tracing\TraceLog.etl' -Oldest |
Sort-Object -Property TimeCreated -Descending |
Select-Object -First 100
O cmdlet Get-WinEvent obtém informações de log do arquivo arquivado. O parâmetro Path especifica o diretório e o nome do arquivo. O parâmetro mais antigo é usado para produzir eventos na ordem em que são gravados, mais antigos para os mais recentes. Os objetos são enviados pelo pipeline para o cmdlet Sort-ObjectSort-Object classifica os objetos em ordem decrescente pelo valor da propriedade TimeCreated. Os objetos são enviados pelo pipeline para o cmdlet Select-Object que exibe os 100 eventos mais recentes.
Exemplo 15: Obter eventos de um log de rastreamento de eventos
Este exemplo mostra como obter os eventos de um arquivo de log de rastreamento de eventos (.etl) e um arquivo de log arquivado do Windows PowerShell (.evtx). Você pode combinar vários tipos de arquivo em um único comando.
Como os arquivos contêm o mesmo tipo de objeto .NET Framework, EventLogRecord, você pode filtre-os com as mesmas propriedades. O comando requer o parâmetro mais antigo porque ele está lendo de um arquivo .etl, mas o parâmetro mais antigo se aplica a cada arquivo.
Get-WinEvent -Path 'C:\Tracing\TraceLog.etl', 'C:\Test\Windows PowerShell.evtx' -Oldest |
Where-Object { $_.Id -eq '403' }
O cmdlet Get-WinEvent obtém informações de log dos arquivos arquivados. O parâmetro Path usa uma lista separada por vírgulas para especificar cada diretório de arquivos e o nome do arquivo. O parâmetro mais antigo é usado para produzir eventos na ordem em que são gravados, mais antigos para os mais recentes. Os objetos são enviados pelo pipeline para o cmdlet Where-Object.
Where-Object usa um bloco de script para localizar eventos com uma ID de 403. A variável $_ representa o objeto atual no pipeline e ID é a propriedade ID do evento.
Exemplo 16: Filtrar os resultados do log de eventos
Este exemplo mostra uma variedade de métodos para filtrar e selecionar eventos de um log de eventos. Todos esses comandos obtêm eventos que ocorreram nas últimas 24 horas do log de eventos do Windows PowerShell.
Os métodos de filtro são mais eficientes do que usar o cmdlet Where-Object. Os filtros são aplicados à medida que os objetos são recuperados.
Where-Object recupera todos os objetos e aplica filtros a todos os 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) &lt;= 86400000]]]</Select>
</Query>
</QueryList>
'@
Get-WinEvent -FilterXML $xmlQuery
# Using the FilterXPath parameter:
$XPath = '*[System[Level=3 and TimeCreated[timediff(@SystemTime) &lt;= 86400000]]]'
Get-WinEvent -LogName 'Windows PowerShell' -FilterXPath $XPath
Exemplo 17: Usar FilterHashtable para obter eventos do log de aplicativos
Este exemplo usa o parâmetro
$Date = (Get-Date).AddDays(-2)
Get-WinEvent -FilterHashtable @{ LogName='Application'; StartTime=$Date; Id='1003' }
O cmdlet $Date.
O cmdlet Get-WinEvent obtém informações de log. O parâmetro $Date. A chave
Exemplo 18: Usar FilterHashtable para obter erros de aplicativo
Este exemplo usa o parâmetro FilterHashtable para localizar erros de aplicativo do Internet Explorer ocorridos na última semana.
$StartTime = (Get-Date).AddDays(-7)
Get-WinEvent -FilterHashtable @{
LogName='Application'
ProviderName='Application Error'
Data='iexplore.exe'
StartTime=$StartTime
}
O cmdlet $StartTime.
O cmdlet Get-WinEvent obtém informações de log. O parâmetro
Exemplo 19: Usar SuppressHashFilter para filtrar erros de aplicativo
Como o Exemplo 16 acima, este exemplo usa o parâmetro FilterHashtable para obter eventos do log de do Aplicativo. No entanto, adicionamos a chave SuppressHashFilter para filtrar eventos de nível de Informações.
$Date = (Get-Date).AddDays(-2)
$filter = @{
LogName='Application'
StartTime=$Date
SuppressHashFilter=@{Level=4}
}
Get-WinEvent -FilterHashtable $filter
Neste exemplo, Get-WinEvent obtém todos os eventos do log application nos últimos dois dias, exceto aqueles que têm um de Nível de de 4 (Informações).
Parâmetros
-ComputerName
Especifica o nome do computador que esse cmdlet obtém eventos dos logs de eventos. Digite o nome NetBIOS, um endereço IP ou o FQDN (nome de domínio totalmente qualificado) do computador. O valor padrão é o computador local, localhost. Esse parâmetro aceita apenas um nome de computador por vez.
Para obter logs de eventos de computadores remotos, configure a porta de firewall para o serviço de log de eventos para permitir o acesso remoto.
Esse cmdlet não depende da comunicação remota do PowerShell. Você pode usar o parâmetro ComputerName mesmo se o computador não estiver configurado para executar comandos remotos.
Propriedades do parâmetro
| Tipo: | String |
| Valor padrão: | Local computer |
| Dá suporte a curingas: | False |
| DontShow: | False |
| Aliases: | Cn |
Conjuntos de parâmetros
GetLogSet
| Cargo: | Named |
| Obrigatório: | False |
| Valor do pipeline: | False |
| Valor do pipeline pelo nome da propriedade: | False |
| Valor dos argumentos restantes: | False |
ListLogSet
| Cargo: | Named |
| Obrigatório: | False |
| Valor do pipeline: | False |
| Valor do pipeline pelo nome da propriedade: | False |
| Valor dos argumentos restantes: | False |
ListProviderSet
| Cargo: | Named |
| Obrigatório: | False |
| Valor do pipeline: | False |
| Valor do pipeline pelo nome da propriedade: | False |
| Valor dos argumentos restantes: | False |
GetProviderSet
| Cargo: | Named |
| Obrigatório: | False |
| Valor do pipeline: | False |
| Valor do pipeline pelo nome da propriedade: | False |
| Valor dos argumentos restantes: | False |
HashQuerySet
| Cargo: | Named |
| Obrigatório: | False |
| Valor do pipeline: | False |
| Valor do pipeline pelo nome da propriedade: | False |
| Valor dos argumentos restantes: | False |
XmlQuerySet
| Cargo: | Named |
| Obrigatório: | False |
| Valor do pipeline: | False |
| Valor do pipeline pelo nome da propriedade: | False |
| Valor dos argumentos restantes: | False |
-Credential
Especifica uma conta de usuário que tem permissão para executar essa ação. O valor padrão é o usuário atual.
Digite um nome de usuário, como User01 ou Domain01\User01. Ou insira um objeto PSCredential
Propriedades do parâmetro
| Tipo: | PSCredential |
| Valor padrão: | Current user |
| Dá suporte a curingas: | False |
| DontShow: | False |
Conjuntos de parâmetros
(All)
| Cargo: | Named |
| Obrigatório: | False |
| Valor do pipeline: | False |
| Valor do pipeline pelo nome da propriedade: | False |
| Valor dos argumentos restantes: | False |
-FilterHashtable
Especifica uma consulta no formato de tabela de hash para selecionar eventos de um ou mais logs de eventos. A consulta contém uma tabela de hash com um ou mais pares chave/valor.
As consultas de tabela de hash têm as seguintes regras:
- Chaves e valores não diferenciam maiúsculas de minúsculas.
- Caracteres curinga são válidos apenas nos valores associados às chaves
LogName e ProviderName . - Cada chave pode ser listada apenas uma vez em cada tabela de hash.
- O valor caminho
usa caminhos para arquivos de log , e . - As chaves LogName, Pathe ProviderName podem ser usadas na mesma consulta.
- A chave UserID pode usar um SID (identificador de segurança) válido ou um nome de conta de domínio que pode ser usado para construir um objeto System.Security.Principal.NTAccount válido.
- O valor de de Dados do
usa dados de evento em um campo sem nome. Por exemplo, eventos em logs de eventos clássicos. -
<named-data>chave representa um campo de dados de evento nomeado.
Quando Get-WinEvent não consegue interpretar um par chave/valor, ele interpreta a chave como um nome que diferencia maiúsculas de minúsculas para os dados do evento.
Os pares Get-WinEvent chave/valor válidos são os seguintes:
-
=
<String[]>do LogName -
providerName=
<String[]> de caminho de - palavras-chave =
<Long[]> -
ID=
<Int32[]> de Nível do StartTime -
endtime=
<DateTime> -
=
<SID>UserID de dados do <named-data>=<String[]>-
suppressHashFilter=
<Hashtable>
Propriedades do parâmetro
| Tipo: | |
| Valor padrão: | None |
| Dá suporte a curingas: | False |
| DontShow: | False |
Conjuntos de parâmetros
HashQuerySet
| Cargo: | 0 |
| Obrigatório: | True |
| Valor do pipeline: | False |
| Valor do pipeline pelo nome da propriedade: | False |
| Valor dos argumentos restantes: | False |
-FilterXml
Especifica uma consulta XML estruturada que este cmdlet seleciona eventos de um ou mais logs de eventos.
Para gerar uma consulta XML válida, use o Criar de Exibição Personalizada e Filtrar recursos do Log Atual no Visualizador de Eventos do Windows. Use os itens na caixa de diálogo para criar uma consulta e clique na guia XML para exibir a consulta no formato XML. Você pode copiar o XML da guia XML para o valor do parâmetro
Use uma consulta XML para criar uma consulta complexa que contenha várias instruções XPath. O formato XML também permite que você use um elemento Suppress XML que exclui eventos da consulta. Para obter mais informações sobre o esquema XML para consultas de log de eventos, consulte de Esquema de Consulta e a seção Consultas de Eventos XML do seleção de eventos.
Você também pode criar um elemento Suppress usando o parâmetro FilterHashtable.
Propriedades do parâmetro
| Tipo: | XmlDocument |
| Valor padrão: | None |
| Dá suporte a curingas: | False |
| DontShow: | False |
Conjuntos de parâmetros
XmlQuerySet
| Cargo: | 0 |
| Obrigatório: | True |
| Valor do pipeline: | False |
| Valor do pipeline pelo nome da propriedade: | False |
| Valor dos argumentos restantes: | False |
-FilterXPath
Especifica uma consulta XPath que este cmdlet seleciona eventos de um ou mais logs.
Para obter mais informações sobre a linguagem XPath, consulte de Referência XPath e a seção Filtros de Seleção de de Seleção de Eventos.
Propriedades do parâmetro
| Tipo: | String |
| Valor padrão: | None |
| Dá suporte a curingas: | False |
| DontShow: | False |
Conjuntos de parâmetros
GetLogSet
| Cargo: | Named |
| Obrigatório: | False |
| Valor do pipeline: | False |
| Valor do pipeline pelo nome da propriedade: | False |
| Valor dos argumentos restantes: | False |
GetProviderSet
| Cargo: | Named |
| Obrigatório: | False |
| Valor do pipeline: | False |
| Valor do pipeline pelo nome da propriedade: | False |
| Valor dos argumentos restantes: | False |
FileSet
| Cargo: | Named |
| Obrigatório: | False |
| Valor do pipeline: | False |
| Valor do pipeline pelo nome da propriedade: | False |
| Valor dos argumentos restantes: | False |
-Force
Obtém logs de depuração e análise, além de outros logs de eventos. O parâmetro Force é necessário para obter um log de depuração ou análise quando o valor do parâmetro Name inclui caracteres curinga.
Por padrão, o cmdlet Get-WinEvent exclui esses logs, a menos que você especifique o nome completo de um log de depuração ou análise.
Propriedades do parâmetro
| Tipo: | SwitchParameter |
| Valor padrão: | None |
| Dá suporte a curingas: | False |
| DontShow: | False |
Conjuntos de parâmetros
GetLogSet
| Cargo: | Named |
| Obrigatório: | False |
| Valor do pipeline: | False |
| Valor do pipeline pelo nome da propriedade: | False |
| Valor dos argumentos restantes: | False |
ListLogSet
| Cargo: | Named |
| Obrigatório: | False |
| Valor do pipeline: | False |
| Valor do pipeline pelo nome da propriedade: | False |
| Valor dos argumentos restantes: | False |
GetProviderSet
| Cargo: | Named |
| Obrigatório: | False |
| Valor do pipeline: | False |
| Valor do pipeline pelo nome da propriedade: | False |
| Valor dos argumentos restantes: | False |
HashQuerySet
| Cargo: | Named |
| Obrigatório: | False |
| Valor do pipeline: | False |
| Valor do pipeline pelo nome da propriedade: | False |
| Valor dos argumentos restantes: | False |
-ListLog
Especifica os logs de eventos. Insira os nomes de log de eventos em uma lista separada por vírgulas. Caracteres curinga são permitidos. Para obter todos os logs, use o curinga asterisco (*).
Propriedades do parâmetro
| Tipo: | String[] |
| Valor padrão: | None |
| Dá suporte a curingas: | True |
| DontShow: | False |
Conjuntos de parâmetros
ListLogSet
| Cargo: | 0 |
| Obrigatório: | True |
| Valor do pipeline: | False |
| Valor do pipeline pelo nome da propriedade: | False |
| Valor dos argumentos restantes: | False |
-ListProvider
Especifica os provedores de log de eventos que esse cmdlet obtém. Um provedor de log de eventos é um programa ou serviço que grava eventos no log de eventos.
Insira os nomes do provedor em uma lista separada por vírgulas. Caracteres curinga são permitidos. Para obter os provedores de todos os logs de eventos no computador, use o curinga asterisco (*).
Propriedades do parâmetro
| Tipo: | String[] |
| Valor padrão: | None |
| Dá suporte a curingas: | True |
| DontShow: | False |
Conjuntos de parâmetros
ListProviderSet
| Cargo: | 0 |
| Obrigatório: | True |
| Valor do pipeline: | False |
| Valor do pipeline pelo nome da propriedade: | False |
| Valor dos argumentos restantes: | False |
-LogName
Especifica os logs de eventos dos quais esse cmdlet obtém eventos. Insira os nomes de log de eventos em uma lista separada por vírgulas. Caracteres curinga são permitidos. Você também pode redirecionar nomes de log para o cmdlet Get-WinEvent.
Observação
O PowerShell não limita a quantidade de logs que você pode solicitar. No entanto, o cmdlet Get-WinEvent consulta a API do Windows que tem um limite de 256. Isso pode dificultar a filtragem de todos os seus logs ao mesmo tempo. Você pode contornar isso usando um loop foreach para iterar em cada log como este: Get-WinEvent -ListLog * | ForEach-Object{ Get-WinEvent -LogName $_.LogName }
Propriedades do parâmetro
| Tipo: | String[] |
| Valor padrão: | None |
| Dá suporte a curingas: | True |
| DontShow: | False |
Conjuntos de parâmetros
GetLogSet
| Cargo: | 0 |
| Obrigatório: | False |
| Valor do pipeline: | True |
| Valor do pipeline pelo nome da propriedade: | True |
| Valor dos argumentos restantes: | False |
-MaxEvents
Especifica o número máximo de eventos retornados. Insira um inteiro como 100. O padrão é retornar todos os eventos nos logs ou arquivos.
Propriedades do parâmetro
| Tipo: | Int64 |
| Valor padrão: | None |
| Dá suporte a curingas: | False |
| DontShow: | False |
Conjuntos de parâmetros
GetLogSet
| Cargo: | Named |
| Obrigatório: | False |
| Valor do pipeline: | False |
| Valor do pipeline pelo nome da propriedade: | False |
| Valor dos argumentos restantes: | False |
GetProviderSet
| Cargo: | Named |
| Obrigatório: | False |
| Valor do pipeline: | False |
| Valor do pipeline pelo nome da propriedade: | False |
| Valor dos argumentos restantes: | False |
FileSet
| Cargo: | Named |
| Obrigatório: | False |
| Valor do pipeline: | False |
| Valor do pipeline pelo nome da propriedade: | False |
| Valor dos argumentos restantes: | False |
HashQuerySet
| Cargo: | Named |
| Obrigatório: | False |
| Valor do pipeline: | False |
| Valor do pipeline pelo nome da propriedade: | False |
| Valor dos argumentos restantes: | False |
XmlQuerySet
| Cargo: | Named |
| Obrigatório: | False |
| Valor do pipeline: | False |
| Valor do pipeline pelo nome da propriedade: | False |
| Valor dos argumentos restantes: | False |
-Oldest
Indique que esse cmdlet obtém os eventos na ordem mais antiga. Por padrão, os eventos são retornados na ordem mais recente.
Esse parâmetro é necessário para obter eventos de arquivos .etl e .evt e de logs de depuração e análise. Nesses arquivos, os eventos são registrados na primeira ordem mais antiga e os eventos só podem ser retornados na ordem mais antiga.
Propriedades do parâmetro
| Tipo: | SwitchParameter |
| Valor padrão: | None |
| Dá suporte a curingas: | False |
| DontShow: | False |
Conjuntos de parâmetros
GetLogSet
| Cargo: | Named |
| Obrigatório: | False |
| Valor do pipeline: | False |
| Valor do pipeline pelo nome da propriedade: | False |
| Valor dos argumentos restantes: | False |
GetProviderSet
| Cargo: | Named |
| Obrigatório: | False |
| Valor do pipeline: | False |
| Valor do pipeline pelo nome da propriedade: | False |
| Valor dos argumentos restantes: | False |
FileSet
| Cargo: | Named |
| Obrigatório: | False |
| Valor do pipeline: | False |
| Valor do pipeline pelo nome da propriedade: | False |
| Valor dos argumentos restantes: | False |
HashQuerySet
| Cargo: | Named |
| Obrigatório: | False |
| Valor do pipeline: | False |
| Valor do pipeline pelo nome da propriedade: | False |
| Valor dos argumentos restantes: | False |
XmlQuerySet
| Cargo: | Named |
| Obrigatório: | False |
| Valor do pipeline: | False |
| Valor do pipeline pelo nome da propriedade: | False |
| Valor dos argumentos restantes: | False |
-Path
Especifica o caminho para os arquivos de log de eventos dos quais esse cmdlet obtém eventos. Insira os caminhos para os arquivos de log em uma lista separada por vírgulas ou use caracteres curinga para criar padrões de caminho de arquivo.
Get-WinEvent dá suporte a arquivos com as extensões de nome de arquivo .evt, .evtxe .etl. Você pode incluir eventos de diferentes arquivos e tipos de arquivo no mesmo comando.
Propriedades do parâmetro
| Tipo: | String[] |
| Valor padrão: | None |
| Dá suporte a curingas: | True |
| DontShow: | False |
| Aliases: | PSPath |
Conjuntos de parâmetros
FileSet
| Cargo: | 0 |
| Obrigatório: | True |
| Valor do pipeline: | False |
| Valor do pipeline pelo nome da propriedade: | True |
| Valor dos argumentos restantes: | False |
-ProviderName
Especifica, como uma matriz de cadeia de caracteres, os provedores de log de eventos dos quais esse cmdlet obtém eventos. Insira os nomes de provedor em uma lista separada por vírgulas ou use caracteres curinga para criar padrões de nome de provedor.
Um provedor de log de eventos é um programa ou serviço que grava eventos no log de eventos. Ele não é um provedor do PowerShell.
Propriedades do parâmetro
| Tipo: | String[] |
| Valor padrão: | None |
| Dá suporte a curingas: | True |
| DontShow: | False |
Conjuntos de parâmetros
GetProviderSet
| Cargo: | 0 |
| Obrigatório: | True |
| Valor do pipeline: | False |
| Valor do pipeline pelo nome da propriedade: | True |
| Valor dos argumentos restantes: | False |
CommonParameters
Este cmdlet suporta os parâmetros comuns: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutBuffer, -OutVariable, -PipelineVariable, -ProgressAction, -Verbose, -WarningAction e -WarningVariable. Para obter mais informações, consulte about_CommonParameters.
Entradas
String
Você pode canalizar um do LogName (cadeia de caracteres) para esse cmdlet.
XmlDocument
Você pode redirecionar uma consulta FilterXML para esse cmdlet.
Hashtable
Você pode canalizar uma consulta FilterHashtable para esse cmdlet.
Saídas
EventLogConfiguration
Com o parâmetro ListLog, esse cmdlet retorna objetos EventLogConfiguration.
EventLogRecord
Por padrão, esse cmdlet retorna objetos eventLogRecord.
ProviderMetadata
Com o parâmetro ListProvider, esse cmdlet retorna objetos ProviderMetadata.
Observações
Get-WinEvent foi projetado para substituir o cmdlet Get-EventLog em computadores que executam o Windows Vista e versões posteriores do Windows.
Get-EventLog obtém eventos somente em logs de eventos clássicos.
Get-EventLog é retido para compatibilidade com versões anteriores.
Os cmdlets Get-WinEvent e Get-EventLog não têm suporte no Windows PE (Ambiente de Pré-instalação do Windows).