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 |
All events |
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