Attende finché non viene generato un determinato evento prima di continuare l'esecuzione.

Sintassi

Wait-Event [[-SourceIdentifier] <string>] [-Timeout <int>] [<CommonParameters>]

Descrizione

Il cmdlet Wait-Event sospende l'esecuzione di uno script o una funzione finché non viene generato un determinato evento. L'esecuzione viene ripresa quando viene rilevato l'evento. Per annullare l'attesa, premere CTRL+C.

Questa funzionalità fornisce un'alternativa al polling per un evento. Consente inoltre di determinare la risposta a un evento in due modi diversi: utilizzando il parametro Action della sottoscrizione dell'evento e attendendo un evento da restituire, per poi rispondere con un'azione.

Parametri

-SourceIdentifier <string>

Attende solo gli eventi con l'identificatore di origine specificato. Per impostazione predefinita, Wait-Events attende un evento qualsiasi.

Obbligatorio?

false

Posizione?

1

Valore predefinito

All events

Accettare input da pipeline?

true (ByPropertyName)

Accettare caratteri jolly?

false

-Timeout <int>

Determina il tempo massimo, in secondi, per cui Wait-Event attende che l'evento si verifichi. Con l'impostazione predefinita, -1, l'attesa è illimitata. Il calcolo del tempo inizia quando si invia il comando Wait-Event.

Se il periodo di tempo specificato viene superato, l'attesa si conclude e viene visualizzato il prompt dei comandi anche se l'evento non è stato generato. Non viene visualizzato alcun messaggio di errore.

Obbligatorio?

false

Posizione?

named

Valore predefinito

Accettare input da pipeline?

false

Accettare caratteri jolly?

false

<CommonParameters>

Questo cmdlet supporta i parametri comuni -Verbose, -Debug, -ErrorAction, -ErrorVariable, -OutBuffer e -OutVariable. Per ulteriori informazioni, vedere about_Commonparameters.

Input e output

Il tipo di input è il tipo degli oggetti che è possibile reindirizzare al cmdlet. Il tipo restituito è il tipo degli oggetti restituiti dal cmdlet.

Input

System.String

Output

System.String

Note

Gli eventi, le sottoscrizioni di eventi e la coda degli eventi esistono solo nella sessione corrente. Se si chiude la sessione corrente, la coda degli eventi viene eliminata e la sottoscrizione di eventi viene annullata.

Esempio 1

C:\PS>wait-event

Descrizione
-----------
Questo comando attende il prossimo evento generato.






Esempio 2

C:\PS>wait-event -sourceIdentifier "ProcessStarted"

Descrizione
-----------
Questo comando attende il prossimo evento generato che dispone di un identificatore di origine "ProcessStarted".






Esempio 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

Descrizione
-----------
Questo comando utilizza il cmdlet Wait-Event per attendere un evento di un timer impostato per 2000 millisecondi.






Esempio 4

C:\PS>wait-event -sourceIdentifier "ProcessStarted" -timeout 90

Descrizione
-----------
Questo comando attende per un massimo di 90 secondi il successivo evento generato che dispone di un identificatore di origine "ProcessStarted". Se il tempo specificato viene superato, l'attesa termina.






Vedere anche




Argomenti della Guida