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




Sumário