Obtém os eventos em um log de eventos ou uma lista dos logs de eventos, no computador local ou em computadores remotos.
Sintaxe
Get-EventLog [-AsString] [-ComputerName <string[]>] [-List] [<CommonParameters>] Get-EventLog [-LogName] <string> [[-InstanceId] <Int64[]>] [-After <DateTime>] [-AsBaseObject] [-Before <DateTime>] [-ComputerName <string[]>] [-EntryType <string[]>] [-Index <Int32[]>] [-Message <string>] [-Newest <int>] [-Source <string[]>] [-UserName <string[]>] [<CommonParameters>]
Descrição
O cmdlet Get-EventLog obtém eventos e logs de eventos no computador local e em computadores remotos.
Use os parâmetros de Get-EventLog para procurar eventos usando os valores das propriedades deles. Get-EventLog obtém apenas os eventos que correspondem a todos os valores de propriedade especificados.
Os cmdlets que contêm o nome EventLog (os cmdlets EventLog) funcionam somente em logs de eventos clássicos. Para obter eventos de logs que usam a tecnologia de Log de Eventos do Windows no Windows Vista e em versões mais recentes do Windows, use Get-WinEvent.
Parâmetros
-After <DateTime>
Obtém apenas os eventos que ocorrem após a data e a hora especificadas. Insira um objeto DateTime, como aquele retornado pelo cmdlet Get-Date.
Necessário? |
false |
Posição? |
named |
Valor padrão |
|
Aceitar entrada do pipeline? |
false |
Aceitar caracteres curinga? |
false |
-AsBaseObject
Retorna um objeto System.Diagnostics.EventLogEntry padrão para cada evento. Sem esse parâmetro, Get-EventLog retorna um objeto PSObject estendidos com as propriedades adicionais EventLogName, Source e InstanceId.
Para ver o efeito deste parâmetro, envie por pipe os eventos para o cmdlet Get-Member e examine o valor TypeName no resultado.
Necessário? |
false |
Posição? |
named |
Valor padrão |
False |
Aceitar entrada do pipeline? |
false |
Aceitar caracteres curinga? |
false |
-AsString
Retorna a saída como cadeias de caracteres em vez de objetos.
Necessário? |
false |
Posição? |
named |
Valor padrão |
|
Aceitar entrada do pipeline? |
false |
Aceitar caracteres curinga? |
false |
-Before <DateTime>
Obtém apenas os eventos que ocorrem antes da data e da hora especificadas. Insira um objeto DateTime, como aquele retornado pelo cmdlet Get-Date.
Necessário? |
false |
Posição? |
named |
Valor padrão |
|
Aceitar entrada do pipeline? |
false |
Aceitar caracteres curinga? |
false |
-ComputerName <string[]>
Especifica um computador remoto. O padrão é o computador local.
Digite o nome NetBIOS, um endereço IP ou um nome de domínio totalmente qualificado de um computador remoto. Para especificar o computador local, digite o nome do computador, um ponto (.) ou "localhost".
Este parâmetro não se baseia na comunicação remota do Windows PowerShell. É possível usar o parâmetro ComputerName de Get-EventLog mesmo que o seu computador não esteja configurado para executar comandos remotos.
Necessário? |
false |
Posição? |
named |
Valor padrão |
|
Aceitar entrada do pipeline? |
false |
Aceitar caracteres curinga? |
false |
-EntryType <string[]>
Obtém apenas os eventos com o tipo de entrada especificado. Os valores válidos são Error, Information, FailureAudit, SuccessAudit e Warning. O padrão são todos os eventos.
Necessário? |
false |
Posição? |
named |
Valor padrão |
All events |
Aceitar entrada do pipeline? |
false |
Aceitar caracteres curinga? |
false |
-Index <Int32[]>
Obtém apenas os eventos com os valores de índice especificados.
Necessário? |
false |
Posição? |
named |
Valor padrão |
All events |
Aceitar entrada do pipeline? |
false |
Aceitar caracteres curinga? |
false |
-InstanceId <Int64[]>
Obtém apenas os eventos com as IDs de instância especificadas.
Necessário? |
false |
Posição? |
2 |
Valor padrão |
|
Aceitar entrada do pipeline? |
false |
Aceitar caracteres curinga? |
false |
-List
Obtém uma lista de logs de eventos no computador.
Necessário? |
false |
Posição? |
named |
Valor padrão |
|
Aceitar entrada do pipeline? |
false |
Aceitar caracteres curinga? |
false |
-LogName <string>
Especifica o log de eventos. Insira o nome do log (o valor da propriedade Log e não LogDisplayName) de um log de eventos. Não são permitidos caracteres curinga. Esse parâmetro é obrigatório.
Necessário? |
true |
Posição? |
1 |
Valor padrão |
|
Aceitar entrada do pipeline? |
false |
Aceitar caracteres curinga? |
false |
-Message <string>
Obtém os eventos que têm a cadeia de caracteres especificada nas respectivas mensagens. Você pode usar esta propriedade para procurar mensagens que contêm certas palavras ou frases. Os caracteres curinga são permitidos.
Necessário? |
false |
Posição? |
named |
Valor padrão |
|
Aceitar entrada do pipeline? |
false |
Aceitar caracteres curinga? |
true |
-Newest <int>
Especifica o número máximo de eventos recuperados. Get-EventLog obtém o número de eventos especificado, começando com o evento mais recente no log.
Necessário? |
false |
Posição? |
named |
Valor padrão |
|
Aceitar entrada do pipeline? |
false |
Aceitar caracteres curinga? |
false |
-Source <string[]>
Obtém os eventos que foram gravados no log pelas origens especificadas. Os caracteres curinga são permitidos.
Necessário? |
false |
Posição? |
named |
Valor padrão |
|
Aceitar entrada do pipeline? |
false |
Aceitar caracteres curinga? |
true |
-UserName <string[]>
Obtém apenas os eventos associados aos nomes de usuário especificados. Insira nomes ou padrões de nomes, como User01, User* ou Domain01\User*. Os caracteres curinga são permitidos.
Necessário? |
false |
Posição? |
named |
Valor padrão |
|
Aceitar entrada do pipeline? |
false |
Aceitar caracteres curinga? |
true |
<CommonParameters>
Esse cmdlet oferece suporte aos parâmetros comuns: -Verbose, -Debug, -ErrorAction, -ErrorVariable, -OutBuffer e -OutVariable. Para obter mais informações, consulte about_Commonparameters.
Entradas e saídas
O tipo de entrada é o tipo dos objetos que você pode canalizar para o cmdlet. O tipo de retorno é o tipo dos objetos que o cmdlet retorna.
Entradas |
None. Você não pode canalizar a entrada para este cmdlet. |
Saídas |
System.Diagnostics.EventLogEntry. System.Diagnostics.EventLog. System.String Caso o parâmetro LogName seja especificado, a saída será uma coleção de objetos EventLogEntry (System.Diagnostics.EventLogEntry). Caso apenas o parâmetro List seja especificado, a saída será uma coleção de objetos EventLog (System.Diagnostics.EventLog). Se os parâmetros List e AsString forem especificados, a saída será uma coleção de Strings (System.String). |
Exemplo 1
C:\PS>get-eventlog -list Descrição ----------- Esse comando exibe informações sobre os logs de eventos do computador.
Exemplo 2
C:\PS>get-eventlog -newest 5 -logname application Descrição ----------- Esse comando exibe as cinco entradas mais recentes no log de eventos Application.
Exemplo 3
C:\PS>$events = get-eventlog -logname system -newest 1000 C:\PS> $events | group-object -property source -noelement | sort-object -property count -descending Count Name ----- ---- 75 Service Control Manager 12 Print 6 UmrdpService 2 DnsApi 2 DCOM 1 Dhcp 1 TermDD 1 volsnap Descrição ----------- Este exemplo mostra como localizar todas as origens representadas nas 1000 entradas mais recentes no log de eventos System. O primeiro comando obtém as 1000 entradas mais recentes do log de eventos System e as armazena na variável $events. O segundo comando usa o operador de pipeline (|) para enviar os eventos em $events para o cmdlet Group-Object, que agrupa as entradas pelo valor da propriedade Source. O comando usa um segundo operador de pipeline para enviar os eventos agrupados para o cmdlet Sort-Object, que os classifica em ordem decrescente, para que seja listada primeiro a origem mais frequente. Source é apenas uma das propriedades das entradas de logs de eventos. Para ver todas as propriedades de uma entrada de log de eventos, envie os eventos por pipe para o cmdlet Get-Member.
Exemplo 4
C:\PS>get-eventlog -logname System -EntryType Error Descrição ----------- Esse comando obtém apenas os eventos de erro do log de eventos System.
Exemplo 5
C:\PS>get-eventlog -logname System -instanceID 3221235481 -Source "DCOM" Descrição ----------- Esse comando obtém eventos do log System cuja InstanceID é igual a 3221235481 e o valor de Source é "DCOM".
Exemplo 6
C:\PS>get-eventlog -logname "Windows PowerShell" -computername localhost, Server01, Server02 Descrição ----------- Esse comando obtém os eventos do log de eventos "Windows PowerShell" em três computadores, Server01, Server02 e o computador local, conhecido como "localhost".
Exemplo 7
C:\PS>get-eventlog -logname "Windows PowerShell" -message "*failed*" Descrição ----------- Esse comando obtém todos os eventos no log de eventos Windows PowerShell que têm um valor de mensagem que inclui a palavra "failed".
Exemplo 8
C:\PS>$a = get-eventlog -log System -newest 1 C:\PS> $a | format-list -property * EventID : 7036 MachineName : Server01 Data : {} Index : 10238 Category : (0) CategoryNumber : 0 EntryType : Information Message : The description for Event ID Source : Service Control Manager ReplacementStrings : {WinHTTP Web Proxy Auto-Disco InstanceId : 1073748860 TimeGenerated : 4/11/2008 9:56:05 PM TimeWritten : 4/11/2008 9:56:05 PM UserName : Site : Container : Descrição ----------- Este exemplo mostra como exibir todos os valores de propriedades de um evento. O primeiro comando obtém o evento mais recente do log de eventos System e o salva na variável $a. O segundo comando usa um operador de pipeline (|) para enviar o evento em $a para o comando Format-List, que exibe todas (*) as propriedades do evento.
Exemplo 9
C:\PS>get-eventlog -log application -source outlook | where {$_.eventID -eq 34} Descrição ----------- Esse comando obtém os eventos no log de eventos Application, no qual a origem é o Outlook e a ID do evento é 34. Embora Get-EventLog não tenha um parâmetro EventID, você pode usar o cmdlet Where-Object para selecionar eventos com base no valor de qualquer propriedade de evento.
Exemplo 10
C:\PS>get-eventlog -log system -username NT* | group-object -property username -noelement | format-table Count, Name -auto Count Name ----- ---- 6031 NT AUTHORITY\SYSTEM 42 NT AUTHORITY\LOCAL SERVICE 4 NT AUTHORITY\NETWORK SERVICE Descrição ----------- Esse comando retorna os eventos no log do sistema agrupados pelo valor da propriedade UserName. O comando Get-EventLog usa o parâmetro UserName para obter somente os eventos nos quais o nome do usuário começa com "NT*".
Exemplo 11
C:\PS>$May31 = get-date 5/31/08 C:\PS> $July1 = get-date 7/01/08 C:\PS> get-eventlog -log "Windows PowerShell" -entrytype Error -after $may31 -before $july1 Descrição ----------- Esse comando obtém todos os erros no log de eventos Windows PowerShell que ocorreram em junho de 2008.
See Also