Freigeben über


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 Cmdlet Wait-Event 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.

Diese Funktion bietet eine Alternative zum Abruf für ein Ereignis. Außerdem können Sie die Reaktion auf ein Ereignis auf zwei verschiedene Arten bestimmen: mithilfe des Action-Parameters des Ereignisabonnements und durch Warten auf die Rückgabe eines Ereignisses und anschließende Reaktion mit einer Aktion.

Beispiele

Beispiel 1: Warten auf das nächste Ereignis

PS C:\> Wait-Event

Dieser Befehl wartet auf das nächste Ereignis, das ausgelöst wird.

Beispiel 2: Warten auf ein Ereignis mit einem angegebenen Quellbezeichner

PS C:\> Wait-Event -SourceIdentifier "ProcessStarted"

Dieser Befehl wartet auf das nächste ausgelöste Ereignis mit dem Quellbezeichner ProcessStarted.

Beispiel 3: Warten auf ein Ereignis nach Ablauf des Timers

PS C:\> $Timer.Interval = 2000
PS C:\> $Timer.Autoreset = $False
PS C:\> $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

Mit diesem Befehl wird das Cmdlet Wait-Event verwendet, um auf ein Zeitgeberereignis für einen Zeitgeber zu warten, der auf 2000 Millisekunden festgelegt ist.

Beispiel 4: Warten auf ein Ereignis nach einem angegebenen Timeout

PS C:\> Wait-Event -SourceIdentifier "ProcessStarted" -Timeout 90

Dieser Befehl wartet bis zu 90 Sekunden auf das nächste ausgelöste Ereignis mit dem Quellbezeichner "ProcessStarted". Wenn die angegebene Zeit abläuft, endet die Wartezeit.

Parameter

-SourceIdentifier

Gibt die Quellenkennung an, unter der dieses Cmdlet auf Ereignisse wartet. Standardmäßig wartet 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 Eintreten des Ereignisses wartet. Der Standardwert -1 wartet unbegrenzt. Die Zeitsteuerung beginnt, wenn Sie den Befehl Wait-Event übermitteln.

Wenn die angegebene Zeit überschritten wird, endet die Wartezeit, und die Eingabeaufforderung erscheint wieder, auch wenn das Ereignis nicht ausgelöst wurde. Es wird keine Fehlermeldung angezeigt.

Parametereigenschaften

Typ:Int32
Standardwert:None
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.