Wait-Event
Aguarda até que um determinado evento seja levantado antes de continuar a correr.
Sintaxe
Default (Predefinição)
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 gerado. A execução é retomada quando o evento é detetado. Para cancelar a espera, pressione CTRL+C.
Esse recurso fornece uma alternativa à sondagem para 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 o retorno de um evento e, em seguida, respondendo com uma ação.
Exemplos
Exemplo 1: Aguarde o próximo evento
PS C:\> Wait-Event
Este 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"
Este comando aguarda o próximo evento que é gerado e que tem um identificador de origem de ProcessStarted.
Exemplo 3: Aguarde um evento de temporizador concluído
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
Este comando usa o cmdlet Wait-Event para aguardar um evento de timer em um temporizador definido para 2000 milissegundos.
Exemplo 4: Esperar por um evento após um tempo limite especificado
PS C:\> Wait-Event -SourceIdentifier "ProcessStarted" -Timeout 90
Este 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 termina.
Parâmetros
-SourceIdentifier
Especifica o identificador de origem pelo qual este cmdlet aguarda eventos. Por padrão, Wait-Event aguarda qualquer evento.
Propriedades dos parâmetros
| Tipo: | String |
| Default value: | None |
| Suporta carateres universais: | False |
| NãoMostrar: | False |
Conjuntos de parâmetros
(All)
| Position: | 0 |
| Obrigatório: | False |
| Valor do pipeline: | False |
| Valor do pipeline por nome de propriedade: | True |
| Valor dos restantes argumentos: | False |
-Timeout
Especifica o tempo máximo, em segundos, que Wait-Event aguarda 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 termina e o prompt de comando retorna, mesmo que o evento não tenha sido gerado. Nenhuma mensagem de erro é exibida.
Propriedades dos parâmetros
| Tipo: | Int32 |
| Default value: | None |
| Suporta carateres universais: | False |
| NãoMostrar: | False |
| Aliases: | TimeoutSec |
Conjuntos de parâmetros
(All)
| Position: | Named |
| Obrigatório: | False |
| Valor do pipeline: | False |
| Valor do pipeline por nome de propriedade: | False |
| Valor dos restantes argumentos: | False |
CommonParameters
Este cmdlet suporta os parâmetros comuns: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutBuffer, -OutVariable, -PipelineVariable, -ProgressAction, -Verbose, -WarningAction e -WarningVariable. Para obter mais informações, consulte about_CommonParameters.
Entradas
String
Saídas
PSEventArgs
Notas
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.