Compartilhar via


Get-Event

Obtém os eventos na fila de eventos.

Sintaxe

Get-Event
   [[-SourceIdentifier] <String>]
   [<CommonParameters>]
Get-Event
   [-EventIdentifier] <Int32>
   [<CommonParameters>]

Description

O cmdlet Get-Event obtém eventos na fila de eventos do PowerShell para a sessão atual. Você pode obter todos os eventos ou usar o parâmetro EventIdentifier ou SourceIdentifier para especificar os eventos.

Quando um evento ocorre, ele é adicionado à fila de eventos. A fila de eventos inclui eventos para os quais você registrou, eventos criados usando o cmdlet New-Event e o evento gerado quando o PowerShell é encerrado. Você pode usar Get-Event ou Wait-Event para obter os eventos.

Esse cmdlet não obtém eventos dos logs do Visualizador de Eventos. Para obter esses eventos, use Get-WinEvent ou Get-EventLog.

Exemplos

Exemplo 1: Obter todos os eventos

PS C:\> Get-Event

Esse comando obtém todos os eventos na fila de eventos.

Exemplo 2: Obter eventos por identificador de origem

PS C:\> Get-Event -SourceIdentifier "PowerShell.ProcessCreated"

Esse comando obtém eventos nos quais o valor da propriedade SourceIdentifier é PowerShell.ProcessCreated.

Exemplo 3: Obter um evento com base na hora em que foi gerado

PS C:\> $Events = Get-Event
PS C:\> $Events[0] | Format-List -Property *
ComputerName     :
RunspaceId       : c2153740-256d-46c0-a57c-b805917d1b7b
EventIdentifier  : 1
Sender           : System.Management.ManagementEventWatcher
SourceEventArgs  : System.Management.EventArrivedEventArgs
SourceArgs       : {System.Management.ManagementEventWatcher, System.Management.EventArrivedEventArgs}
SourceIdentifier : ProcessStarted
TimeGenerated    : 11/13/2008 12:09:32 PM
MessageData      : PS C:\> Get-Event | Where {$_.TimeGenerated -ge "11/13/2008 12:15:00 PM"}
ComputerName     :
RunspaceId       : c2153740-256d-46c0-a57c-b8059325d1a0
EventIdentifier  : 1
Sender           : System.Management.ManagementEventWatcher
SourceEventArgs  : System.Management.EventArrivedEventArgs
SourceArgs       : {System.Management.ManagementEventWatcher, System.Management.EventArrivedEventArgs}
SourceIdentifier : ProcessStarted
TimeGenerated    : 11/13/2008 12:15:00 PM
MessageData      :

Este exemplo mostra como obter eventos usando propriedades diferentes de SourceIdentifier.

O primeiro comando obtém todos os eventos na fila de eventos e os salva na variável $Events.

O segundo comando usa a notação de matriz para obter o primeiro evento (0-index) na matriz na variável $Events. O comando usa um operador de pipeline (|) para enviar o evento para o comando Format-List, que exibe todas as propriedades do evento em uma lista. Isso permite que você examine as propriedades do objeto de evento.

O terceiro comando mostra como usar o cmdlet Where-Object para obter um evento com base na hora em que ele foi gerado.

Exemplo 4: Obter um evento por seu identificador

PS C:\> Get-Event -EventIdentifier 2

Esse comando obtém o evento com um identificador de evento de 2.

Parâmetros

-EventIdentifier

Especifica os identificadores de evento para os quais esse cmdlet obtém eventos.

Tipo:Int32
Aliases:Id
Cargo:0
Valor padrão:None
Obrigatório:True
Aceitar a entrada de pipeline:True
Aceitar caracteres curinga:False

-SourceIdentifier

Especifica os identificadores de origem para os quais esse cmdlet obtém eventos. O padrão é todos os eventos na fila de eventos. Curingas não são permitidos.

Tipo:String
Cargo:0
Valor padrão:None
Obrigatório:False
Aceitar a entrada de pipeline:True
Aceitar caracteres curinga:False

Entradas

None

Você não pode redirecionar objetos para este cmdlet.

Saídas

PSEventArgs

Esse cmdlet retorna um objeto PSEventArgs para cada evento. Para ver uma descrição desse objeto, digite Get-Help Get-Event -Full e consulte a seção Anotações do tópico de ajuda.

Observações

Nenhuma fonte de evento disponível nas plataformas Linux ou macOS.

Eventos, assinaturas de evento e a fila de eventos existem apenas na sessão atual. Se você fechar a sessão atual, a fila de eventos será descartada e a assinatura do evento será cancelada.

O cmdlet Get-Event retorna um objeto PSEventArgs (System.Management.Automation.PSEventArgs) com as seguintes propriedades:

  • ComputerName. O nome do computador no qual o evento ocorreu. Esse valor de propriedade é preenchido somente quando o evento é encaminhado de um computador remoto.

  • RunspaceId. Um GUID que identifica exclusivamente a sessão na qual o evento ocorreu. Esse valor de propriedade é preenchido somente quando o evento é encaminhado de um computador remoto.

  • EventIdentifier. Um inteiro (Int32) que identifica exclusivamente a notificação de evento na sessão atual.

  • Remetente. O objeto que gerou o evento. No valor do parâmetro de Ação , a variável automática contém o objeto remetente.

  • SourceEventArgs. O primeiro parâmetro que deriva de EventArgs, se existir. Por exemplo, em um evento decorrido de temporizador no qual a assinatura tem o remetente objeto de formulário, Timers.ElapsedEventArgs e, a propriedade SourceEventArgs conteria o Timers.ElapsedEventArgs. No valor do parâmetro Action, a variável automática contém esse valor.

  • SourceArgs. Todos os parâmetros da assinatura de evento original. Para uma assinatura de evento padrão, $Args[0] representa o remetente e $Args[1] representa o SourceEventArgs. No valor do parâmetro Action, a variável automática contém esse valor.

  • SourceIdentifier. Uma cadeia de caracteres que identifica a assinatura do evento. No valor do parâmetro Action, a propriedade SourceIdentifier da variável automática $Event contém esse valor.

  • TimeGenerated. Um objeto DateTime que representa a hora em que o evento foi gerado. No valor do parâmetro Action, a propriedade TimeGenerated da variável automática contém esse valor.

  • MessageData. Dados associados à assinatura do evento. Os usuários especificam esses dados quando registram um evento. No valor do parâmetro Action, a propriedade MessageData da variável automática $Event contém esse valor.