Ожидает определенного события, прежде чем продолжить выполнение.
Синтаксис
Wait-Event [[-SourceIdentifier] <string>] [-Timeout <int>] [<CommonParameters>]
Описание
Командлет Wait-Event приостанавливает выполнение скрипта или функции до возникновения заданного события. Выполнение возобновляется, когда будет зафиксировано данное событие. Чтобы отменить ожидание, нажмите сочетание клавиш CTRL+C.
Эта функция является альтернативным способом запроса события. Кроме того, она позволяет определить реакцию на событие двумя различными способами: с помощью параметра Action подписки на событие и путем ожидания события с последующим выполнением действия в ответ на событие.
Параметры
-SourceIdentifier <string>
Ожидает только события с указанным идентификатором источника. По умолчанию командлет Wait-Event ожидает любое событие.
Обязательно? |
false |
Позиция? |
1 |
Значение по умолчанию |
All events |
Принимать входные данные из конвейера? |
true (ByPropertyName) |
Принимать подстановочные знаки? |
false |
-Timeout <int>
Определяет максимальное время (в секундах), в течение которого командлет Wait-Event ожидает события. Значение по умолчанию — -1, ждать бесконечно. Отсчет времени начинается с отправки команды Wait-Event.
Если указанное время истекло, цикл ожидания заканчивается и окно командной строки становится активным, даже если событие еще не произошло. Сообщение об ошибке не отображается.
Обязательно? |
false |
Позиция? |
named |
Значение по умолчанию |
|
Принимать входные данные из конвейера? |
false |
Принимать подстановочные знаки? |
false |
<CommonParameters>
Данный командлет поддерживает общие параметры -Verbose, -Debug, -ErrorAction, -ErrorVariable, -OutBuffer и -OutVariable. Дополнительные сведения см. в разделе about_Commonparameters.
Ввод и вывод
Входным типом является тип объектов, которые можно передавать командлету по конвейеру. Возвращаемым типом является тип объектов, возвращаемых командлетом.
Входные данные |
System.String |
Выходные данные |
System.String |
Примечания
События, подписки на события и очередь событий существуют только в рамках текущего сеанса. Если завершить текущий сеанс, очередь событий будет очищена и подписка на события будет отменена.
Пример 1
C:\PS>wait-event Описание ----------- Эта команда ожидает ближайшего события.
Пример 2
C:\PS>wait-event -sourceIdentifier "ProcessStarted" Описание ----------- Эта команда ожидает ближайшего события с идентификатором источника "ProcessStarted".
Пример 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 Описание ----------- Эта команда использует командлет Wait-Event для ожидания события таймера, установленного на 2000 миллисекунд.
Пример 4
C:\PS>wait-event -sourceIdentifier "ProcessStarted" -timeout 90 Описание ----------- Эта команда ожидает в течение 90 секунд очередного события с идентификатором источника "ProcessStarted". По истечении указанного времени ожидание прекращается.