Freigeben über


Wait-Event

Wartet, bis ein bestimmtes Ereignis ausgelöst wird, bevor die Ausführung fortgesetzt wird.

Syntax

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

Beschreibung

Das Cmdlet "Wait-Event" unterbricht die Ausführung eines Skripts oder einer Funktion, bis ein bestimmtes Ereignis ausgelöst wird. Die Ausführung wird fortgesetzt, wenn das Ereignis erkannt wird. Um den Wartevorgang abzubrechen, drücken Sie STRG+C.

Dieses Feature bietet eine Alternative zum Abrufen eines Ereignisses. Es ermöglicht es Ihnen außerdem, die Reaktion auf ein Ereignis auf zwei verschiedene Arten zu bestimmen: mit dem Action-Parameter des Ereignisabonnements sowie durch Warten auf die Rückgabe eines Ereignisses und anschließendes Reagieren mit einer Aktion.

Parameter

-SourceIdentifier <string>

Wartet nur auf Ereignisse mit der angegebenen Quell-ID. Standardmäßig wartet Wait-Event auf jedes Ereignis.

Erforderlich?

false

Position?

1

Standardwert

Alle Ereignisse

Pipelineeingaben akzeptieren?

true (ByPropertyName)

Platzhalterzeichen akzeptieren?

false

-Timeout <int>

Bestimmt die maximale Zeit in Sekunden, die Wait-Event auf das Ereignis wartet. Beim Standardwert "-1" ist die Wartezeit unbegrenzt. Die Zeitsteuerung wird beim Senden des Befehls "Wait-Event" gestartet.

Wenn die angegebene Zeit überschritten wird, wird der Wartevorgang beendet und die Eingabeaufforderung zurückgegeben, auch wenn das Ereignis nicht ausgelöst wurde. Es wird keine Fehlermeldung angezeigt.

Erforderlich?

false

Position?

named

Standardwert

Pipelineeingaben akzeptieren?

false

Platzhalterzeichen akzeptieren?

false

<CommonParameters>

Dieses Cmdlet unterstützt die folgenden allgemeinen Parameter: -Verbose, -Debug, -ErrorAction, -ErrorVariable, -OutBuffer und -OutVariable. Weitere Informationen finden Sie unter about_Commonparameters.

Eingaben und Ausgaben

Der Eingabetyp ist der Typ der Objekte, die über die Pipeline an das Cmdlet übergeben werden können. Der Rückgabetyp ist der Typ der Objekte, die das Cmdlet zurückgibt.

Eingaben

System.String

Ausgaben

System.String

Hinweise

Ereignisse, Ereignisabonnements und die Ereigniswarteschlange sind nur in der aktuellen Sitzung vorhanden. Wenn Sie die aktuelle Sitzung schließen, wird die Ereigniswarteschlange verworfen, und das Ereignisabonnement wird abgebrochen.

Beispiel 1

C:\PS>wait-event

Beschreibung
-----------
Dieser Befehl wartet auf das nächste ausgelöste Ereignis.





Beispiel 2

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

Beschreibung
-----------
Dieser Befehl wartet auf das nächste ausgelöste Ereignis, dessen Quell-ID "ProcessStarted" lautet.





Beispiel 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

Beschreibung
-----------
Dieser Befehl verwendet das Cmdlet "Wait-Event", um auf ein Zeitgeberereignis eines Zeitgebers zu warten, der auf 2000 Millisekunden festgelegt ist.





Beispiel 4

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

Beschreibung
-----------
Dieser Befehl wartet bis zu 90 Sekunden auf das nächste ausgelöste Ereignis, dessen Quellbezeichner "ProcessStarted" lautet. Wenn die angegebene Zeit abläuft, endet der Wartevorgang.





Siehe auch

Konzepte

Register-ObjectEvent
Register-EngineEvent
Register-WmiEvent
Unregister-Event
Get-Event
New-Event
Remove-Event
Wait-Event
Get-EventSubscriber