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




Tabla de contenido