Partilhar 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 New-Event cmdlet e o evento que é gerado quando o PowerShell é encerrado. Você pode usar Get-Event ou Wait-Event para obter os eventos.

Este 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

Este 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"

Este 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 $Events variável.

O segundo comando usa 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 no tempo em que ele foi gerado.

Exemplo 4: Obter um evento pelo seu identificador

PS C:\> Get-Event -EventIdentifier 2

Este 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
Position:0
Default value:None
Necessário:True
Aceitar entrada de pipeline:True
Aceitar carateres universais: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
Position:0
Default value:None
Necessário:False
Aceitar entrada de pipeline:True
Aceitar carateres universais:False

Entradas

None

Não é possível canalizar objetos para este cmdlet.

Saídas

PSEventArgs

Este 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 da ajuda.

Notas

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

Eventos, assinaturas de eventos e a fila de eventos existem somente 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 Get-Event cmdlet 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 Action , a $Sender variável automática contém o objeto sender.

  • 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 formato Object sender, Timers.ElapsedEventArgs e, a propriedade SourceEventArgs conteria 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 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 assinatura 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 à subscriçã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.