Compartilhar via


Wait-Event

Aguarda até que um evento específico seja acionado antes de continuar a ser executado.

Sintaxe

Wait-Event
    [[-SourceIdentifier] <String>]
    [-Timeout <Int32>]
    [<CommonParameters>]

Description

O cmdlet Wait-Event suspende a execução de um script ou função até que um evento específico seja acionado. A execução é retomada quando o evento é detectado. Para cancelar a espera, pressione CTRL+C.

Esse recurso fornece uma alternativa à sondagem de um evento. Ele também permite que você determine a resposta a um evento de duas maneiras diferentes: usando o parâmetro Action da assinatura do evento e aguardando um evento retornar e, em seguida, responder com uma ação.

Exemplos

Exemplo 1: aguarde o próximo evento

PS C:\> Wait-Event

Esse comando aguarda o próximo evento que é gerado.

Exemplo 2: aguarde um evento com um identificador de origem especificado

PS C:\> Wait-Event -SourceIdentifier "ProcessStarted"

Esse comando aguarda o próximo evento que é gerado e que tem um identificador de origem do ProcessStarted.

Exemplo 3: Aguardar um evento decorrido do temporizador

PS C:\> $Timer.Interval = 2000
PS C:\> $Timer.Autoreset = $False
PS C:\> $Timer.Enabled = $True; Wait-Event Timer.Elapsed
# After 2 seconds
EventIdentifier  : 12
Sender           : System.Timers.Timer
SourceEventArgs  : System.Timers.ElapsedEventArgs
SourceArgs       : {System.Timers.Timer, System.Timers.ElapsedEventArgs}
SourceIdentifier : Timer.Elapsed
TimeGenerated    : 6/10/2008 3:24:18 PM
MessageData      :
ForwardEvent     : False

Esse comando usa o cmdlet Wait-Event para aguardar um evento de temporizador em um temporizador definido para 2.000 milissegundos.

Exemplo 4: aguarde um evento após um tempo limite especificado

PS C:\> Wait-Event -SourceIdentifier "ProcessStarted" -Timeout 90

Esse comando aguarda até 90 segundos para o próximo evento que é gerado e que tem um identificador de origem de "ProcessStarted". Se o tempo especificado expirar, a espera terminará.

Parâmetros

-SourceIdentifier

Especifica o identificador de origem que esse cmdlet aguarda eventos. Por padrão, wait-event aguarda qualquer evento.

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

-Timeout

Especifica o tempo máximo, em segundos, que espera que o evento ocorra. O padrão, -1, aguarda indefinidamente. O tempo começa quando você envia o comando Wait-Event.

Se o tempo especificado for excedido, a espera será encerrada e o prompt de comando retornará, mesmo que o evento não tenha sido gerado. Nenhuma mensagem de erro é exibida.

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

Entradas

String

Saídas

PSEventArgs

Observações

  • 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.