다음을 통해 공유


Wait-Event

실행을 계속하기 전에 특정 이벤트가 발생할 때까지 기다립니다.

구문

Wait-Event
    [[-SourceIdentifier] <String>]
    [-Timeout <Int32>]
    [<CommonParameters>]

Description

Wait-Event cmdlet은 특정 이벤트가 발생할 때까지 스크립트 또는 함수의 실행을 일시 중단합니다. 이벤트가 감지되면 실행이 다시 시작됩니다. 대기를 취소하려면 Ctrl+C를 누릅니다.

이 기능은 이벤트에 대한 폴링 대신 사용할 수 있습니다. 또한 이벤트 구독의 Action 매개 변수를 사용하고 이벤트가 반환되기를 기다린 다음 작업으로 응답하는 두 가지 방법으로 이벤트에 대한 응답을 확인할 수 있습니다.

예제

예제 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 cmdlet을 사용하여 2000밀리초로 설정된 타이머에서 타이머 이벤트를 기다립니다.

예제 4: 지정된 시간 제한 후 이벤트 대기

PS C:\> Wait-Event -SourceIdentifier "ProcessStarted" -Timeout 90

이 명령은 발생되고 "ProcessStarted"의 원본 식별자가 있는 다음 이벤트에 대해 최대 90초 동안 대기합니다. 지정된 시간이 만료되면 대기가 종료됩니다.

매개 변수

-SourceIdentifier

이 cmdlet이 이벤트를 기다리는 원본 식별자를 지정합니다. 기본적으로 Wait-Event 모든 이벤트를 기다립니다.

형식:String
Position:0
Default value:None
필수:False
파이프라인 입력 허용:True
와일드카드 문자 허용:False

-Timeout

이벤트가 발생할 때까지 대기 이벤트 대기할 최대 시간(초)을 지정합니다. 기본값인 -1은 무기한 대기합니다. Wait-Event 명령을 제출할 때 타이밍이 시작됩니다.

지정된 시간을 초과하면 이벤트가 발생하지 않은 경우에도 대기가 종료되고 명령 프롬프트가 반환됩니다. 오류 메시지가 표시되지 않습니다.

형식:Int32
별칭:TimeoutSec
Position:Named
Default value:None
필수:False
파이프라인 입력 허용:False
와일드카드 문자 허용:False

입력

String

출력

PSEventArgs

참고

  • 이벤트, 이벤트 구독 및 이벤트 큐는 현재 세션에만 존재합니다. 현재 세션을 닫으면 이벤트 큐가 삭제되고 이벤트 구독이 취소됩니다.