Get-EventLog
Obtém os eventos em um log de eventos, ou uma lista dos logs de eventos, no computador local ou computadores remotos.
Get-EventLog
[-LogName] <String>
[-ComputerName <String[]>]
[-Newest <Int32>]
[-After <DateTime>]
[-Before <DateTime>]
[-UserName <String[]>]
[[-InstanceId] <Int64[]>]
[-Index <Int32[]>]
[-EntryType <String[]>]
[-Source <String[]>]
[-Message <String>]
[-AsBaseObject]
[<CommonParameters>]
Get-EventLog
[-ComputerName <String[]>]
[-List]
[-AsString]
[<CommonParameters>]
O Get-EventLog
cmdlet obtém eventos e logs de eventos de computadores locais e remotos. Por padrão, Get-EventLog
obtém logs do computador local. Para obter logs de computadores remotos, use o parâmetro ComputerName .
Você pode usar os parâmetros e valores de Get-EventLog
propriedade para pesquisar eventos. O cmdlet obtém eventos que correspondem aos valores de propriedade especificados.
Os cmdlets do PowerShell que contêm o substantivo funcionam apenas em logs de eventos clássicos do EventLog
Windows, como Aplicativo, Sistema ou Segurança. Para obter logs que usam a tecnologia de Log de Eventos do Windows no Windows Vista e versões posteriores do Windows, use Get-WinEvent
.
Nota
Get-EventLog
usa uma API do Win32 que foi preterida. Os resultados podem não ser precisos. Em vez disso, use o Get-WinEvent
cmdlet.
Este exemplo exibe a lista de logs de eventos disponíveis no computador local. Os nomes na coluna Log são usados com o parâmetro LogName para especificar quais eventos de log são pesquisados.
Get-EventLog -List
Max(K) Retain OverflowAction Entries Log
------ ------ -------------- ------- ---
15,168 0 OverwriteAsNeeded 20,792 Application
15,168 0 OverwriteAsNeeded 12,559 System
15,360 0 OverwriteAsNeeded 11,173 Windows PowerShell
O Get-EventLog
cmdlet usa o parâmetro List para exibir os logs disponíveis.
Este exemplo obtém entradas recentes do log de eventos do sistema.
Get-EventLog -LogName System -Newest 5
Index Time EntryType Source InstanceID Message
----- ---- --------- ------ ---------- -------
13820 Jan 17 19:16 Error DCOM 10016 The description for Event...
13819 Jan 17 19:08 Error DCOM 10016 The description for Event...
13818 Jan 17 19:06 Information Service Control... 1073748864 The start type of the Back...
13817 Jan 17 19:05 Error DCOM 10016 The description for Event...
13815 Jan 17 19:03 Information Microsoft-Windows... 35 The time service is now sync...
O Get-EventLog
cmdlet usa o parâmetro LogName para especificar o log de eventos do sistema. O parâmetro Newest retorna os cinco eventos mais recentes.
Este exemplo mostra como localizar todas as fontes incluídas nas 1000 entradas mais recentes no log de eventos do sistema.
$Events = Get-EventLog -LogName System -Newest 1000
$Events | Group-Object -Property Source -NoElement | Sort-Object -Property Count -Descending
Count Name
----- ----
110 DCOM
65 Service Control Manager
51 Microsoft-Windows-Kern...
14 EventLog
14 BTHUSB
13 Win32k
O Get-EventLog
cmdlet usa o parâmetro LogName para especificar o log do sistema. O parâmetro Mais recente seleciona os 1000 eventos mais recentes. Os objetos de $Events
evento são armazenados na variável. Os $Events
objetos são enviados pelo pipeline para o Group-Object
cmdlet.
Group-Object
usa o parâmetro Property para agrupar os objetos por fonte e conta o número de objetos para cada fonte. O parâmetro NoElement remove os membros do grupo da saída.
O Sort-Object
cmdlet usa o parâmetro Property para classificar pela contagem de cada nome de origem.
O parâmetro Descending classifica a lista em ordem por contagem, da mais alta para a mais baixa.
Este exemplo obtém eventos de erro do log de eventos do sistema.
Get-EventLog -LogName System -EntryType Error
Index Time EntryType Source InstanceID Message
----- ---- --------- ------ ---------- -------
13296 Jan 16 13:53 Error DCOM 10016 The description for Event ID '10016' in Source...
13291 Jan 16 13:51 Error DCOM 10016 The description for Event ID '10016' in Source...
13245 Jan 16 11:45 Error DCOM 10016 The description for Event ID '10016' in Source...
13230 Jan 16 11:07 Error DCOM 10016 The description for Event ID '10016' in Source...
O Get-EventLog
cmdlet usa o parâmetro LogName para especificar o log do sistema. O parâmetro EntryType filtra os eventos para mostrar apenas eventos de erro.
Este exemplo obtém eventos do log do sistema para um InstanceId e Source específicos.
Get-EventLog -LogName System -InstanceId 10016 -Source DCOM
Index Time EntryType Source InstanceID Message
----- ---- --------- ------ ---------- -------
13245 Jan 16 11:45 Error DCOM 10016 The description for Event ID '10016' in Source...
13230 Jan 16 11:07 Error DCOM 10016 The description for Event ID '10016' in Source...
13219 Jan 16 10:00 Error DCOM 10016 The description for Event ID '10016' in Source...
O Get-EventLog
cmdlet usa o parâmetro LogName para especificar o log do sistema. O parâmetro InstanceID seleciona os eventos com o ID de instância especificado. O parâmetro Source especifica a propriedade do evento.
Este comando obtém os eventos do log de eventos do sistema em três computadores: Server01, Server02 e Server03.
Get-EventLog -LogName System -ComputerName Server01, Server02, Server03
O Get-EventLog
cmdlet usa o parâmetro LogName para especificar o log do sistema. O parâmetro ComputerName usa uma cadeia de caracteres separada por vírgulas para listar os computadores dos quais você deseja obter os logs de eventos.
Este comando obtém todos os eventos no log de eventos do sistema que contêm uma palavra específica na mensagem do evento. É possível que o valor do parâmetro Message especificado esteja incluído no conteúdo da mensagem, mas não seja exibido no console do PowerShell.
Get-EventLog -LogName System -Message *description*
Index Time EntryType Source InstanceID Message
----- ---- --------- ------ ---------- -------
13821 Jan 17 19:17 Error DCOM 10016 The description for Event ID '10016'...
13820 Jan 17 19:16 Error DCOM 10016 The description for Event ID '10016'...
13819 Jan 17 19:08 Error DCOM 10016 The description for Event ID '10016'...
O Get-EventLog
cmdlet usa o parâmetro LogName para especificar o log de eventos do sistema. O parâmetro Message especifica uma palavra a ser pesquisada no campo de mensagem de cada evento.
Este exemplo mostra como exibir todas as propriedades e valores de um evento.
$A = Get-EventLog -LogName System -Newest 1
$A | Select-Object -Property *
EventID : 10016
MachineName : localhost
Data : {}
Index : 13821
Category : (0)
CategoryNumber : 0
EntryType : Error
Message : The description for Event ID '10016' in Source 'DCOM'...
Source : DCOM
ReplacementStrings : {Local,...}
InstanceId : 10016
TimeGenerated : 1/17/2019 19:17:23
TimeWritten : 1/17/2019 19:17:23
UserName : username
Site :
Container :
O Get-EventLog
cmdlet usa o parâmetro LogName para especificar o log de eventos do sistema. O parâmetro Newest seleciona o objeto de evento mais recente. O objeto é armazenado na $A
variável. O objeto na $A
variável é enviado pelo pipeline para o Select-Object
cmdlet.
Select-Object
usa o parâmetro Property com um asterisco (*
) para selecionar todas as propriedades do objeto.
Este exemplo obtém eventos para uma Origem especificada e ID de Evento.
Get-EventLog -LogName Application -Source Outlook | Where-Object {$_.EventID -eq 63} |
Select-Object -Property Source, EventID, InstanceId, Message
Source EventID InstanceId Message
------ ------- ---------- -------
Outlook 63 1073741887 The Exchange web service request succeeded.
Outlook 63 1073741887 Outlook detected a change notification.
Outlook 63 1073741887 The Exchange web service request succeeded.
O Get-EventLog
cmdlet usa o parâmetro LogName para especificar o log de eventos do Aplicativo. O parâmetro Source especifica o nome do aplicativo, Outlook. Os objetos são enviados pelo pipeline para o Where-Object
cmdlet. Para cada objeto no pipeline, o Where-Object
cmdlet usa a variável $_.EventID
para comparar a propriedade Event ID com o valor especificado. Os objetos são enviados pelo pipeline para o Select-Object
cmdlet. Select-Object
usa o parâmetro Property para selecionar as propriedades a serem exibidas no console do PowerShell.
Get-EventLog -LogName System -UserName NT* | Group-Object -Property UserName -NoElement |
Select-Object -Property Count, Name
Count Name
----- ----
6031 NT AUTHORITY\SYSTEM
42 NT AUTHORITY\LOCAL SERVICE
4 NT AUTHORITY\NETWORK SERVICE
O Get-EventLog
cmdlet usa o parâmetro LogName para especificar o log do sistema. O parâmetro UserName inclui o curinga asterisco (*
) para especificar uma parte do nome de usuário. Os objetos de evento são enviados pelo pipeline para o Group-Object
cmdlet. Group-Object
usa o parâmetro Property para especificar que a propriedade UserName é usada para agrupar os objetos e contar o número de objetos para cada nome de usuário. O parâmetro NoElement remove os membros do grupo da saída. Os objetos são enviados pelo pipeline para o Select-Object
cmdlet.
Select-Object
usa o parâmetro Property para selecionar as propriedades a serem exibidas no console do PowerShell.
Este exemplo obtém eventos Error do log de eventos System para um intervalo de data e hora especificado. Os parâmetros Antes e Depois definem o intervalo de data e hora, mas são excluídos da saída.
$Begin = Get-Date -Date '1/17/2019 08:00:00'
$End = Get-Date -Date '1/17/2019 17:00:00'
Get-EventLog -LogName System -EntryType Error -After $Begin -Before $End
Index Time EntryType Source InstanceID Message
----- ---- --------- ------ ---------- -------
13821 Jan 17 13:40 Error DCOM 10016 The description for Event ID...
13820 Jan 17 13:11 Error DCOM 10016 The description for Event ID...
...
12372 Jan 17 10:08 Error DCOM 10016 The description for Event ID...
12371 Jan 17 09:04 Error DCOM 10016 The description for Event ID...
O Get-Date
cmdlet usa o parâmetro Date para especificar uma data e hora. Os objetos DateTime são armazenados nas $Begin
variáveis e $End
. O Get-EventLog
cmdlet usa o parâmetro LogName para especificar o log do sistema. O parâmetro EntryType especifica o tipo de evento Error. O intervalo de data e hora é definido pelo parâmetro After e $Begin
pela variável After e pelo parâmetro e $End
variável Before.
Obtém eventos que ocorreram após uma data e hora especificadas. A data e a hora do parâmetro After são excluídas da saída. Insira um objeto DateTime , como o valor retornado pelo Get-Date
cmdlet.
Tipo: | DateTime |
Position: | Named |
Default value: | None |
Necessário: | False |
Aceitar entrada de pipeline: | False |
Aceitar carateres universais: | False |
Indica que esse cmdlet retorna um objeto System.Diagnostics.EventLogEntry padrão para cada evento. Sem esse parâmetro, Get-EventLog
retorna um objeto PSObject estendido com propriedades adicionais EventLogName, Source e InstanceId.
Para ver o efeito desse parâmetro, canalize os eventos para o Get-Member
cmdlet e examine o valor TypeName no resultado.
Tipo: | SwitchParameter |
Position: | Named |
Default value: | None |
Necessário: | False |
Aceitar entrada de pipeline: | False |
Aceitar carateres universais: | False |
Indica que esse cmdlet retorna a saída como cadeias de caracteres, em vez de objetos.
Tipo: | SwitchParameter |
Position: | Named |
Default value: | None |
Necessário: | False |
Aceitar entrada de pipeline: | False |
Aceitar carateres universais: | False |
Obtém eventos que ocorreram antes de uma data e hora especificadas. A data e a hora do parâmetro Before são excluídas da saída. Insira um objeto DateTime , como o valor retornado pelo Get-Date
cmdlet.
Tipo: | DateTime |
Position: | Named |
Default value: | None |
Necessário: | False |
Aceitar entrada de pipeline: | False |
Aceitar carateres universais: | False |
Este parâmetro especifica o nome NetBIOS, o endereço IP (Internet Protocol) ou um FQDN (nome de domínio totalmente qualificado) de um computador remoto.
Se o parâmetro ComputerName não for especificado, Get-EventLog
o padrão será o computador local. O parâmetro também aceita um ponto (.
) para especificar o computador local.
O parâmetro ComputerName não depende da comunicação remota do Windows PowerShell. Você pode usar Get-EventLog
com o parâmetro ComputerName mesmo que o computador não esteja configurado para executar comandos remotos.
Tipo: | String[] |
Aliases: | Cn |
Position: | Named |
Default value: | None |
Necessário: | False |
Aceitar entrada de pipeline: | False |
Aceitar carateres universais: | False |
Especifica, como uma matriz de cadeia de caracteres, o tipo de entrada dos eventos que esse cmdlet obtém.
Os valores aceitáveis para este parâmetro são:
- Erro
- Informação
- FalhaAuditoria
- Auditoria de Sucesso
- Aviso
Tipo: | String[] |
Aliases: | ET |
Valores aceites: | Error, Information, FailureAudit, SuccessAudit, Warning |
Position: | Named |
Default value: | None |
Necessário: | False |
Aceitar entrada de pipeline: | False |
Aceitar carateres universais: | False |
Especifica os valores de índice a serem obtidos do log de eventos. O parâmetro aceita uma cadeia de valores separada por vírgula.
Tipo: | Int32[] |
Position: | Named |
Default value: | None |
Necessário: | False |
Aceitar entrada de pipeline: | False |
Aceitar carateres universais: | False |
Especifica as IDs de instância a serem obtidas do log de eventos. O parâmetro aceita uma cadeia de valores separada por vírgula.
Tipo: | Int64[] |
Position: | 1 |
Default value: | None |
Necessário: | False |
Aceitar entrada de pipeline: | False |
Aceitar carateres universais: | False |
Exibe a lista de logs de eventos no computador.
Tipo: | SwitchParameter |
Position: | Named |
Default value: | None |
Necessário: | False |
Aceitar entrada de pipeline: | False |
Aceitar carateres universais: | False |
Especifica o nome de um log de eventos. Para localizar os nomes de log, use Get-EventLog -List
. Caracteres curinga são permitidos. Este parâmetro é obrigatório.
Tipo: | String |
Aliases: | LN |
Position: | 0 |
Default value: | None |
Necessário: | True |
Aceitar entrada de pipeline: | False |
Aceitar carateres universais: | True |
Especifica uma cadeia de caracteres na mensagem do evento. Você pode usar esse parâmetro para pesquisar mensagens que contenham determinadas palavras ou frases. Curingas são permitidos.
Tipo: | String |
Aliases: | MSG |
Position: | Named |
Default value: | None |
Necessário: | False |
Aceitar entrada de pipeline: | False |
Aceitar carateres universais: | True |
Começa com os eventos mais recentes e obtém o número especificado de eventos. O número de eventos é necessário, por exemplo -Newest 100
. Especifica o número máximo de eventos retornados.
Tipo: | Int32 |
Position: | Named |
Default value: | None |
Necessário: | False |
Aceitar entrada de pipeline: | False |
Aceitar carateres universais: | False |
Especifica, como uma matriz de cadeia de caracteres, as fontes que foram gravadas no log obtido por esse cmdlet. Curingas são permitidos.
Tipo: | String[] |
Aliases: | ABO |
Position: | Named |
Default value: | None |
Necessário: | False |
Aceitar entrada de pipeline: | False |
Aceitar carateres universais: | True |
Especifica, como uma matriz de cadeia de caracteres, nomes de usuário associados a eventos. Insira nomes ou padrões de nome, como User01
, User*
ou Domain01\User*
. Curingas são permitidos.
Tipo: | String[] |
Position: | Named |
Default value: | None |
Necessário: | False |
Aceitar entrada de pipeline: | False |
Aceitar carateres universais: | True |
None
Não é possível canalizar a entrada para .Get-EventLog
System.Diagnostics.EventLogEntry. System.Diagnostics.EventLog. System.String
Se o parâmetro LogName for especificado, a saída será uma coleção de objetos System.Diagnostics.EventLogEntry .
Se apenas o parâmetro List for especificado, a saída será uma coleção de objetos System.Diagnostics.EventLog .
Se os parâmetros List e AsString forem especificados, a saída será uma coleção de objetos System.String .
Os cmdlets Get-EventLog
e Get-WinEvent
não são suportados no Ambiente de Pré-instalação do Windows (Windows PE).
Comentários do PowerShell
O PowerShell é um projeto código aberto. Selecione um link para fornecer comentários: