Wait-Event
Wacht totdat een bepaalde gebeurtenis wordt gegenereerd voordat u doorgaat met uitvoeren.
Syntaxis
Wait-Event
[[-SourceIdentifier] <String>]
[-Timeout <Int32>]
[<CommonParameters>]
Description
De cmdlet Wait-Event onderbreekt de uitvoering van een script of functie totdat een bepaalde gebeurtenis wordt gegenereerd. De uitvoering wordt hervat wanneer de gebeurtenis wordt gedetecteerd. Druk op Ctrl+C om de wachttijd te annuleren.
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 actie- parameter van het gebeurtenisabonnement en door te wachten tot een gebeurtenis wordt geretourneerd en vervolgens reageert met een actie.
Voorbeelden
Voorbeeld 1: Wachten op de volgende gebeurtenis
PS C:\> Wait-Event
Met deze opdracht wordt gewacht op de volgende gebeurtenis die wordt gegenereerd.
Voorbeeld 2: Wachten op een gebeurtenis met een opgegeven bron-id
PS C:\> Wait-Event -SourceIdentifier "ProcessStarted"
Met deze opdracht wordt gewacht op de volgende gebeurtenis die wordt gegenereerd en die een bron-id van ProcessStarted heeft.
Voorbeeld 3: Wacht tot een timer is verstreken
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
Met deze opdracht wordt de cmdlet Wait-Event gebruikt om te wachten op een timergebeurtenis op een timer die is ingesteld op 2000 milliseconden.
Voorbeeld 4: Wachten op een gebeurtenis na een opgegeven time-out
PS C:\> Wait-Event -SourceIdentifier "ProcessStarted" -Timeout 90
Met deze opdracht wordt maximaal 90 seconden gewacht op de volgende gebeurtenis die wordt gegenereerd en die een bron-id van ProcessStarted heeft. Als de opgegeven tijd verloopt, eindigt de wachttijd.
Parameters
-SourceIdentifier
Hiermee geeft u de bron-id op die deze cmdlet wacht op gebeurtenissen. Standaard wachtgebeurtenis op een gebeurtenis.
Type: | String |
Position: | 0 |
Default value: | None |
Vereist: | False |
Pijplijninvoer accepteren: | True |
Jokertekens accepteren: | False |
-Timeout
Hiermee geeft u de maximale tijd in seconden op die wachtgebeurtenis wacht tot de gebeurtenis plaatsvindt. De standaardwaarde, -1, wacht voor onbepaalde tijd. De tijdsinstellingen worden gestart wanneer u de opdracht Wachtgebeurtenis 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.
Type: | Int32 |
Aliassen: | TimeoutSec |
Position: | Named |
Default value: | None |
Vereist: | False |
Pijplijninvoer accepteren: | False |
Jokertekens accepteren: | False |
Invoerwaarden
Uitvoerwaarden
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.