Wait-Event
Wacht totdat een bepaalde gebeurtenis wordt gegenereerd voordat u doorgaat met uitvoeren.
Syntaxis
Default (Standaard)
Wait-Event
    [[-SourceIdentifier] <String>]
    [-Timeout <Int32>]
    [<CommonParameters>]
Description
De Wait-Event cmdlet onderbreekt de uitvoering van een script of functie totdat een bepaalde gebeurtenis wordt gegenereerd. De uitvoering wordt hervat wanneer de gebeurtenis wordt gedetecteerd. Als u de wachttijd wilt annuleren, drukt u op Ctrl+C-.
Deze functie biedt een alternatief voor polling voor een gebeurtenis. Hiermee kunt u ook het antwoord op een gebeurtenis op twee verschillende manieren bepalen:
- met behulp van de parameter Action van het gebeurtenisabonnement
- wachten tot een gebeurtenis wordt geretourneerd en vervolgens reageert met een actie
Voorbeelden
Voorbeeld 1: Wachten op de volgende gebeurtenis
In dit voorbeeld wordt gewacht op de volgende gebeurtenis die wordt gegenereerd.
Wait-Event
Voorbeeld 2: Wachten op een gebeurtenis met een opgegeven bron-id
In dit voorbeeld wordt gewacht op de volgende gebeurtenis die wordt gegenereerd en die een bron-id van ProcessStarted heeft.
Wait-Event -SourceIdentifier "ProcessStarted"
Voorbeeld 3: Wacht tot een timer is verstreken
In dit voorbeeld wordt de cmdlet Wait-Event gebruikt om te wachten op een timergebeurtenis die is ingesteld op 2000 milliseconden.
$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      :
Voorbeeld 4: Wachten op een gebeurtenis na een opgegeven time-out
In dit voorbeeld wordt maximaal 90 seconden gewacht op de volgende gebeurtenis die wordt gegenereerd en die een bron-id heeft van ProcessStarted. Als de opgegeven tijd verloopt, eindigt de wachttijd.
Wait-Event -SourceIdentifier "ProcessStarted" -Timeout 90
Parameters
-SourceIdentifier 
		Hiermee geeft u de bron-id op die deze cmdlet wacht op gebeurtenissen.
Standaard wacht Wait-Event op een gebeurtenis.
Parametereigenschappen
| Type: | String | 
| Default value: | None | 
| Ondersteunt jokertekens: | False | 
| DontShow: | False | 
Parametersets
(All)
| Position: | 0 | 
| Verplicht: | False | 
| Waarde uit pijplijn: | False | 
| Waarde uit pijplijn op eigenschapsnaam: | True | 
| Waarde van resterende argumenten: | False | 
-Timeout
Hiermee geeft u de maximale tijd in seconden op die Wait-Event wacht tot de gebeurtenis plaatsvindt. De standaardwaarde, -1, wacht voor onbepaalde tijd. De timing begint wanneer u de opdracht Wait-Event verzendt.
Als de opgegeven tijd wordt overschreden, eindigt de wacht en retourneert de opdrachtprompt, zelfs als de gebeurtenis niet is gegenereerd. Er wordt geen foutbericht weergegeven.
Parametereigenschappen
| Type: | Int32 | 
| Default value: | -1 | 
| Ondersteunt jokertekens: | False | 
| DontShow: | False | 
| Aliassen: | TimeoutSec | 
Parametersets
(All)
| Position: | Named | 
| Verplicht: | False | 
| Waarde uit pijplijn: | False | 
| Waarde uit pijplijn op eigenschapsnaam: | False | 
| Waarde van resterende argumenten: | False | 
CommonParameters
Deze cmdlet ondersteunt de algemene parameters: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutBuffer, -OutVariable, -PipelineVariable, -ProgressAction, -Verbose, -WarningAction en -WarningVariable. Zie about_CommonParametersvoor meer informatie.
Invoerwaarden
String
Uitvoerwaarden
PSEventArgs
Notities
Gebeurtenissen, gebeurtenisabonnementen en de gebeurteniswachtrij bestaan alleen in de huidige sessie. Als u de huidige sessie sluit, wordt de gebeurteniswachtrij verwijderd en wordt het gebeurtenisabonnement geannuleerd.