Wait-Event
Väntar tills en viss händelse aktiveras innan den fortsätter att köras.
Syntax
Wait-Event
[[-SourceIdentifier] <String>]
[-Timeout <Int32>]
[<CommonParameters>]
Description
Cmdleten Wait-Event
pausar körningen av ett skript eller en funktion tills en viss händelse aktiveras. Körningen återupptas när händelsen identifieras. Om du vill avbryta väntetiden trycker du på CTRL+C.
Den här funktionen är ett alternativ till avsökning för en händelse. Du kan också fastställa svaret på en händelse på två olika sätt:
- med åtgärdsparametern för händelseprenumerationen
- väntar på att en händelse ska returneras och svarar sedan med en åtgärd
Exempel
Exempel 1: Vänta på nästa händelse
Det här exemplet väntar på nästa händelse som aktiveras.
Wait-Event
Exempel 2: Vänta på en händelse med en angiven källidentifierare
Det här exemplet väntar på nästa händelse som aktiveras och som har en källidentifierare för ProcessStarted.
Wait-Event -SourceIdentifier "ProcessStarted"
Exempel 3: Vänta på en tidsinställd händelse
I det här exemplet används cmdleten Wait-Event
för att vänta på en timerhändelse på en timer som har angetts för 2 000 millisekunder.
$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 :
Exempel 4: Vänta på en händelse efter en angiven tidsgräns
Det här exemplet väntar upp till 90 sekunder på nästa händelse som aktiveras och som har en källidentifierare för ProcessStarted. Om den angivna tiden går ut upphör väntetiden.
Wait-Event -SourceIdentifier "ProcessStarted" -Timeout 90
Parametrar
-SourceIdentifier
Anger den källidentifierare som cmdleten väntar på händelser.
Som standard Wait-Event
väntar alla händelser.
Type: | String |
Position: | 0 |
Default value: | None |
Required: | False |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-Timeout
Anger den maximala tid i sekunder som väntar på att Wait-Event
händelsen ska inträffa. Standardvärdet -1 väntar på obestämd tid. Tidpunkten börjar när du skickar Wait-Event
kommandot.
Om den angivna tiden överskrids avslutas väntetiden och kommandotolken returneras, även om händelsen inte har utlösts. Inget felmeddelande visas.
Type: | Int32 |
Aliases: | TimeoutSec |
Position: | Named |
Default value: | -1 |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
Indata
Utdata
Kommentarer
Händelser, händelseprenumerationer och händelsekön finns bara i den aktuella sessionen. Om du stänger den aktuella sessionen ignoreras händelsekön och händelseprenumerationen avbryts.