powershellscripts.com

Tutorials  PowerShell Cmdlet Help for Wait-Event



NAME
Wait-Event

SYNOPSIS
Waits until a particular event is raised before continuing to run.

SYNTAX
Wait-Event [[-SourceIdentifier] ] [-Timeout ] []


DESCRIPTION
The Wait-Event cmdlet suspends execution of a script or function until a particular event is raised. Execution resu
mes when the event is detected. To cancel the wait, press CTRL+C.

This feature provides an alternative to polling for an event. It also allows you to determine the response to an ev
ent in two different ways: by using the Action parameter of the event subscription and by waiting for an event to r
eturn and then respond with an action.


PARAMETERS
-SourceIdentifier
Waits only for events with the specified source identifier. By default, Wait-Events waits for any event.

Required? false
Position? 1
Default value All events
Accept pipeline input? true (ByPropertyName)
Accept wildcard characters? false

-Timeout
Determines the maximum time, in seconds, that Wait-Event waits for the event to occur. The default, -1, waits i
ndefinitely. The timing starts when you submit the Wait-Event command.

If the specified time is exceeded, the wait ends and the command prompt returns, even if the event has not been
raised. No error message is displayed.

Required? false
Position? named
Default value
Accept pipeline input? false
Accept wildcard characters? false


This cmdlet supports the common parameters: Verbose, Debug,
ErrorAction, ErrorVariable, WarningAction, WarningVariable,
OutBuffer and OutVariable. For more information, type,
"get-help about_commonparameters".

INPUTS
System.String



OUTPUTS
System.String



NOTES


Events, event subscriptions, and the event queue exist only in the current session. If you close the current se
ssion, the event queue is discarded and the event subscription is canceled.


-------------------------- EXAMPLE 1 --------------------------

C:\PS>wait-event


Description
-----------
This command waits for the next event that is raised.





-------------------------- EXAMPLE 2 --------------------------

C:\PS>wait-event -sourceIdentifier "ProcessStarted"


Description
-----------
This command waits for the next event that is raised and that has a source identifier of "ProcessStarted".





-------------------------- EXAMPLE 3 --------------------------

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


Description
-----------
This command uses the Wait-Event cmdlet to wait for a timer event on a timer that is set for 2000 milliseconds.





-------------------------- EXAMPLE 4 --------------------------

C:\PS>wait-event -sourceIdentifier "ProcessStarted" -timeout 90


Description
-----------
This command waits up to 90 seconds for the next event that is raised and that has a source identifier of "ProcessS
tarted". If the specified time expires, the wait ends.






RELATED LINKS
Online version: http://go.microsoft.com/fwlink/?LinkID=135276
Register-ObjectEvent
Register-EngineEvent
Register-WmiEvent
Unregister-Event
Get-Event
New-Event
Remove-Event
Wait-Event
Get-EventSubscriber