Wait-Event
実行を続行する前に、特定のイベントが発生するまで待機します。
構文
Wait-Event
[[-SourceIdentifier] <String>]
[-Timeout <Int32>]
[<CommonParameters>]
説明
Wait-Event コマンドレットは、特定のイベントが発生するまでスクリプトまたは関数の実行を中断します。 イベントが検出されると、実行が再開されます。 待機をキャンセルするには、Ctrl + C キーを押します。
この機能は、イベントのポーリングに代わる機能です。 また、イベント サブスクリプションの Action パラメーターを使用する方法と、イベントが返されるのを待ってからアクションで応答する、という 2 つの異なる方法でイベントへの応答を決定することもできます。
例
例 1: 次のイベントを待機する
PS C:\> Wait-Event
このコマンドは、次に発生するイベントを待機します。
例 2: 指定されたソース識別子を持つイベントを待機する
PS C:\> Wait-Event -SourceIdentifier "ProcessStarted"
このコマンドは、次に発生し、ソース識別子が ProcessStarted のイベントを待機します。
例 3: タイマー経過イベントを待機する
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
このコマンドは、 Wait-Event コマンドレットを使用して、2000 ミリ秒に設定されたタイマーのタイマー イベントを待機します。
例 4: 指定されたタイムアウト後にイベントを待機する
PS C:\> Wait-Event -SourceIdentifier "ProcessStarted" -Timeout 90
このコマンドは、次に発生し、ソース識別子が "ProcessStarted" のイベントを最大 90 秒間待機します。 指定した時間が経過すると、待機は終了します。
パラメーター
-SourceIdentifier
このコマンドレットがイベントを待機するソース識別子を指定します。 デフォルトでは、 Wait-Event は任意のイベントを待機します。
型: | String |
配置: | 0 |
規定値: | None |
必須: | False |
パイプライン入力を受け取る: | True |
ワイルドカード文字を受け取る: | False |
-Timeout
Wait-Event がイベントの発生を待機する最大時間を秒単位で指定します。 既定値の -1 は無期限に待機します。 タイミングは、 Wait-Event コマンドを送信したときに開始されます。
指定した時間を超えると、イベントが発生していない場合でも、待機が終了し、コマンド プロンプトが返されます。 エラー メッセージは表示されません。
型: | Int32 |
Aliases: | TimeoutSec |
配置: | Named |
規定値: | None |
必須: | False |
パイプライン入力を受け取る: | False |
ワイルドカード文字を受け取る: | False |
入力
出力
メモ
イベント、イベント サブスクリプション、およびイベント キューは、現在のセッションにのみ存在します。 現在のセッションを閉じると、イベント キューは破棄され、イベント サブスクリプションは取り消されます。