Wait-Event
Aguarda até que um evento específico seja acionado antes de continuar a ser executado.
Sintaxe
Default (Default)
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 determinar a resposta a um evento de duas maneiras diferentes:
- usando o parâmetro Action da assinatura do evento
- aguardando um evento retornar e responder com uma ação
Exemplos
Exemplo 1: aguarde o próximo evento
Este exemplo aguarda o próximo evento gerado.
Wait-Event
Exemplo 2: aguarde um evento com um identificador de origem especificado
Este exemplo aguarda o próximo evento que é gerado e que tem um identificador de origem do ProcessStarted.
Wait-Event -SourceIdentifier "ProcessStarted"
Exemplo 3: Aguardar um evento decorrido do temporizador
Este exemplo usa o cmdlet Wait-Event para aguardar um evento de temporizador em um temporizador definido para 2000 milissegundos.
$Timer = New-Object Timers.Timer
$objectEventArgs = @{
InputObject = $Timer
EventName = 'Elapsed'
SourceIdentifier = 'Timer.Elapsed'
}
Register-ObjectEvent @objectEventArgs
$Timer.Interval = 2000
$Timer.Autoreset = $False
$Timer.Enabled = $True
Wait-Event Timer.Elapsed
ComputerName :
RunspaceId : bb560b14-ff43-48d4-b801-5adc31bbc6fb
EventIdentifier : 1
Sender : System.Timers.Timer
SourceEventArgs : System.Timers.ElapsedEventArgs
SourceArgs : {System.Timers.Timer, System.Timers.ElapsedEventArgs}
SourceIdentifier : Timer.Elapsed
TimeGenerated : 4/23/2020 2:30:37 PM
MessageData :
Exemplo 4: aguarde um evento após um tempo limite especificado
Este exemplo aguarda até 90 segundos para o próximo evento gerado e que tem um identificador de origem de ProcessStarted. Se o tempo especificado expirar, a espera terminará.
Wait-Event -SourceIdentifier "ProcessStarted" -Timeout 90
Parâmetros
-SourceIdentifier
Especifica o identificador de origem que esse cmdlet aguarda eventos.
Por padrão, Wait-Event aguarda qualquer evento.
Propriedades do parâmetro
| Tipo: | String |
| Valor padrão: | None |
| Dá suporte a curingas: | False |
| DontShow: | False |
Conjuntos de parâmetros
(All)
| Cargo: | 0 |
| Obrigatório: | False |
| Valor do pipeline: | False |
| Valor do pipeline pelo nome da propriedade: | True |
| Valor dos argumentos restantes: | False |
-Timeout
Especifica o tempo máximo, em segundos, que Wait-Event aguarda o evento ocorrer. 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.
Propriedades do parâmetro
| Tipo: | Int32 |
| Valor padrão: | -1 |
| Dá suporte a curingas: | False |
| DontShow: | False |
| Aliases: | TimeoutSec |
Conjuntos de parâmetros
(All)
| Cargo: | Named |
| Obrigatório: | False |
| Valor do pipeline: | False |
| Valor do pipeline pelo nome da propriedade: | False |
| Valor dos argumentos restantes: | 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
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.