Espera a que se produzca un evento concreto antes de continuar la ejecución.
Sintaxis
Wait-Event [[-SourceIdentifier] <string>] [-Timeout <int>] [<CommonParameters>]
Descripción
El cmdlet Wait-Event suspende la ejecución de un script o una función hasta que se produzca un evento concreto. La ejecución se reanuda cuando se detecta el evento. Para cancelar la espera, presione CTRL+C.
Esta característica proporciona una alternativa al sondeo de un evento. Asimismo, permite determinar la respuesta a un evento de dos maneras diferentes: usando el parámetro Action de la suscripción de eventos o esperando la devolución de un evento y, a continuación, respondiendo con una acción.
Parámetros
-SourceIdentifier <string>
Espera a que se produzcan los eventos con el identificador de origen especificado. De forma predeterminada, Wait-Event espera a que se produzca cualquier evento.
¿Requerido? |
false |
¿Posición? |
1 |
Valor predeterminado |
All events |
¿Aceptar canalización? |
true (ByPropertyName) |
¿Aceptar caracteres comodín? |
false |
-Timeout <int>
Determina el tiempo máximo, en segundos, que Wait-Event espera a que se produzca el evento. El valor predeterminado, -1, indica una espera indefinida. El tiempo empieza a contarse cuando se envía el comando Wait-Event.
Si se supera el período de tiempo especificado, la espera finaliza y el símbolo del sistema vuelve a aparecer, incluso si no se ha provocado el evento. No se muestra ningún mensaje de error.
¿Requerido? |
false |
¿Posición? |
named |
Valor predeterminado |
|
¿Aceptar canalización? |
false |
¿Aceptar caracteres comodín? |
false |
<CommonParameters>
Este cmdlet admite los parámetros comunes: -Verbose, -Debug, -ErrorAction, -ErrorVariable, -OutBuffer y -OutVariable. Para obtener más información, vea about_Commonparameters.
Entradas y salidas
El tipo de entrada es el tipo de los objetos que se pueden canalizar al cmdlet. El tipo devuelto es el tipo de los objetos que el cmdlet devuelve.
Entradas |
System.String |
Salidas |
System.String |
Notas
Los eventos, las suscripciones de eventos y la cola de eventos solo existen en la sesión actual. Si cierra la sesión actual, se descartará la cola de eventos y se cancelará la suscripción de eventos.
Ejemplo 1
C:\PS>wait-event Descripción ----------- Este comando espera a que se produzca el siguiente evento.
Ejemplo 2
C:\PS>wait-event -sourceIdentifier "ProcessStarted" Descripción ----------- Este comando espera a que se produzca el siguiente evento con el identificador de origen "ProcessStarted".
Ejemplo 3
C:\PS>$timer.Interval = 2000 C:\PS> $timer.Autoreset = $false C:\PS> $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 Descripción ----------- Este comando utiliza el cmdlet Wait-Event para esperar a que se produzca un evento en un temporizador establecido en 2000 milisegundos.
Ejemplo 4
C:\PS>wait-event -sourceIdentifier "ProcessStarted" -timeout 90 Descripción ----------- Este comando espera un máximo de 90 segundos a que se produzca el siguiente evento con el identificador de origen "ProcessStarted". Si expira el tiempo especificado, la espera finalizará.
Vea también