Wait-Event
Wartet, bis ein bestimmtes Ereignis ausgelöst wird, bevor die Ausführung fortgesetzt wird.
Syntax
Default (Standard)
Wait-Event
[[-SourceIdentifier] <String>]
[-Timeout <Int32>]
[<CommonParameters>]
Beschreibung
Das Wait-Event Cmdlet hält die Ausführung eines Skripts oder einer Funktion an, bis ein bestimmtes Ereignis ausgelöst wird. Die Ausführung wird fortgesetzt, wenn das Ereignis erkannt wird. Um die Wartezeit abzubrechen, drücken Sie STRG+C.
Dieses Feature bietet eine Alternative zum Abrufen eines Ereignisses. Außerdem können Sie die Antwort auf ein Ereignis auf zwei verschiedene Arten bestimmen:
- verwenden des Aktionsparameters des Ereignisabonnements
- warten, bis ein Ereignis zurückgegeben wird und dann mit einer Aktion reagiert
Beispiele
Beispiel 1: Warten auf das nächste Ereignis
In diesem Beispiel wird auf das nächste ausgelöste Ereignis gewartet.
Wait-Event
Beispiel 2: Warten auf ein Ereignis mit einem angegebenen Quellbezeichner
In diesem Beispiel wird auf das nächste Ereignis gewartet, das über einen Quellbezeichner von ProcessStarted verfügt.
Wait-Event -SourceIdentifier "ProcessStarted"
Beispiel 3: Warten auf ein verstrichenes Zeitgeberereignis
In diesem Beispiel wird das Wait-Event Cmdlet verwendet, um auf ein Timerereignis zu warten, das für 2000 Millisekunden festgelegt ist.
$Timer = New-Object Timers.Timer
$objectEventArgs = @{
InputObject = $Timer
EventName = 'Elapsed'
SourceIdentifier = 'Timer.Elapsed'
}
Register-ObjectEvent @objectEventArgs
$Timer.Interval = 2000
$Timer.AutoReset = $false
$Timer.Enabled = $true
Wait-Event Timer.Elapsed
ComputerName :
RunspaceId : bb560b14-ff43-48d4-b801-5adc31bbc6fb
EventIdentifier : 1
Sender : System.Timers.Timer
SourceEventArgs : System.Timers.ElapsedEventArgs
SourceArgs : {System.Timers.Timer, System.Timers.ElapsedEventArgs}
SourceIdentifier : Timer.Elapsed
TimeGenerated : 4/23/2020 2:30:37 PM
MessageData :
Beispiel 4: Warten auf ein Ereignis nach einem angegebenen Timeout
In diesem Beispiel wird bis zu 90 Sekunden auf das nächste ausgelöste Ereignis gewartet, das über einen Quellbezeichner von ProcessStarted verfügt. Wenn die angegebene Zeit abläuft, endet die Wartezeit.
Wait-Event -SourceIdentifier "ProcessStarted" -Timeout 90
Parameter
-SourceIdentifier
Gibt den Quellbezeichner an, auf den dieses Cmdlet auf Ereignisse wartet.
Wartet standardmäßig Wait-Event auf ein beliebiges Ereignis.
Parametereigenschaften
| Typ: | String |
| Standardwert: | None |
| Unterstützt Platzhalter: | False |
| Nicht anzeigen: | False |
Parametersätze
(All)
| Position: | 0 |
| Obligatorisch.: | False |
| Wert aus Pipeline: | False |
| Wert aus Pipeline nach dem Eigenschaftsnamen: | True |
| Wert aus verbleibenden Argumenten: | False |
-Timeout
Gibt die maximale Zeit in Sekunden an, die Wait-Event auf das Ereignis wartet. Der Standardwert -1 wartet auf unbestimmte Zeit. Die Anzeigedauer beginnt, wenn Sie den Wait-Event Befehl übermitteln.
Wenn die angegebene Zeit überschritten wird, endet die Wartezeit, und die Eingabeaufforderung wird zurückgegeben, auch wenn das Ereignis nicht ausgelöst wurde. Es wird keine Fehlermeldung angezeigt.
Parametereigenschaften
| Typ: | Int32 |
| Standardwert: | -1 |
| Unterstützt Platzhalter: | False |
| Nicht anzeigen: | False |
| Aliase: | TimeoutSec |
Parametersätze
(All)
| Position: | Named |
| Obligatorisch.: | False |
| Wert aus Pipeline: | False |
| Wert aus Pipeline nach dem Eigenschaftsnamen: | False |
| Wert aus verbleibenden Argumenten: | False |
CommonParameters
Dieses Cmdlet unterstützt die allgemeinen Parameter -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutBuffer, -OutVariable, -PipelineVariable, -ProgressAction, -Verbose, -WarningAction und -WarningVariable. Weitere Informationen findest du unter about_CommonParameters.
Eingaben
String
Ausgaben
PSEventArgs
Hinweise
Ereignisse, Ereignisabonnements und die Ereigniswarteschlange sind nur in der aktuellen Sitzung verfügbar. Wenn Sie die aktuelle Sitzung schließen, wird die Ereigniswarteschlange verworfen, und das Ereignisabonnement wird abgebrochen.