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 Get-Event cmdlet 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 ocorre um evento, ele é adicionado à fila de eventos. A fila de eventos inclui eventos para os quais você se registrou, eventos criados usando o cmdlet e o evento que é gerado quando o New-Event PowerShell é encerrado. Você pode usar Get-Event ou Wait-Event para obter os eventos.

Esse cmdlet não recebe eventos dos logs do Event Viewer. 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 ele 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 que não sejam SourceIdentifier.

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

O segundo comando usa a notação de matriz para obter o primeiro evento (0-index) na matriz na $Events variável. O comando usa um operador de pipeline (|) para enviar o evento para o Format-List comando, 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 Where-Object cmdlet 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 da fila de eventos. Caracteres curinga 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 canalizar objetos para esse 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 Notas 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 inscrição do evento será cancelada.

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

  • Nome do Computador. 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 eventos na sessão atual.

  • Remetente. O objeto que gerou o evento. No valor do parâmetro Action , a $Sender variável automática contém o objeto remetente.

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

  • SourceArgs. Todos os parâmetros da assinatura do 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 $Args variável automática contém esse valor.

  • SourceIdentifier. Uma cadeia de caracteres que identifica a inscrição do evento. No valor do parâmetro Action , a propriedade SourceIdentifier da $Event variável automática 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 $Event variável automática contém esse valor.

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