Wait-Event
실행을 계속하기 전에 특정 이벤트가 발생할 때까지 기다립니다.
구문
Default (기본값)
Wait-Event
[[-SourceIdentifier] <String>]
[-Timeout <Int32>]
[<CommonParameters>]
Description
Wait-Event cmdlet은 특정 이벤트가 발생할 때까지 스크립트 또는 함수의 실행을 일시 중단합니다. 이벤트가 감지되면 실행이 다시 시작됩니다. 대기를 취소하려면 ctrl +누릅니다.
이 기능은 이벤트에 대한 폴링 대신 사용할 수 있습니다. 또한 다음과 같은 두 가지 방법으로 이벤트에 대한 응답을 확인할 수 있습니다.
- 이벤트 구독의 Action 매개 변수 사용
- 이벤트가 반환된 후 작업으로 응답할 때까지 대기
예제
예제 1: 다음 이벤트 대기
이 예제에서는 다음 이벤트가 발생할 때까지 기다립니다.
Wait-Event
예제 2: 지정된 원본 식별자가 있는 이벤트를 기다립니다.
이 예제에서는 다음 이벤트가 발생하고 ProcessStarted의 원본 식별자가 있는 이벤트를 기다립니다.
Wait-Event -SourceIdentifier "ProcessStarted"
예제 3: 타이머 경과 이벤트 대기
이 예제에서는 Wait-Event cmdlet을 사용하여 2000밀리초로 설정된 타이머에서 타이머 이벤트를 기다립니다.
$Timer = New-Object Timers.Timer
$objectEventArgs = @{
InputObject = $Timer
EventName = 'Elapsed'
SourceIdentifier = 'Timer.Elapsed'
}
Register-ObjectEvent @objectEventArgs
$Timer.Interval = 2000
$Timer.AutoReset = $false
$Timer.Enabled = $true
Wait-Event Timer.Elapsed
ComputerName :
RunspaceId : bb560b14-ff43-48d4-b801-5adc31bbc6fb
EventIdentifier : 1
Sender : System.Timers.Timer
SourceEventArgs : System.Timers.ElapsedEventArgs
SourceArgs : {System.Timers.Timer, System.Timers.ElapsedEventArgs}
SourceIdentifier : Timer.Elapsed
TimeGenerated : 4/23/2020 2:30:37 PM
MessageData :
예제 4: 지정된 시간 제한 후 이벤트 대기
이 예제에서는 다음 이벤트가 발생하고 ProcessStarted원본 식별자가 있는 다음 이벤트에 대해 최대 90초 동안 기다립니다. 지정된 시간이 만료되면 대기가 종료됩니다.
Wait-Event -SourceIdentifier "ProcessStarted" -Timeout 90
매개 변수
-SourceIdentifier
이 cmdlet이 이벤트를 기다리는 원본 식별자를 지정합니다.
기본적으로 Wait-Event 모든 이벤트를 기다립니다.
매개 변수 속성
| 형식: | String |
| Default value: | None |
| 와일드카드 지원: | False |
| DontShow: | False |
매개 변수 집합
(All)
| Position: | 0 |
| 필수: | False |
| 파이프라인의 값: | False |
| 속성 이름별 파이프라인의 값: | True |
| 나머지 인수의 값: | False |
-Timeout
이벤트가 발생할 때까지 대기할 Wait-Event 최대 시간(초)을 지정합니다. 기본값인 -1은 무기한 대기합니다.
Wait-Event 명령을 제출할 때 타이밍이 시작됩니다.
지정된 시간을 초과하면 이벤트가 발생하지 않은 경우에도 대기가 종료되고 명령 프롬프트가 반환됩니다. 오류 메시지가 표시되지 않습니다.
매개 변수 속성
| 형식: | Int32 |
| Default value: | -1 |
| 와일드카드 지원: | False |
| DontShow: | False |
| 별칭: | TimeoutSec |
매개 변수 집합
(All)
| Position: | Named |
| 필수: | False |
| 파이프라인의 값: | False |
| 속성 이름별 파이프라인의 값: | False |
| 나머지 인수의 값: | False |
CommonParameters
이 cmdlet은 일반적인 매개 변수인 -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutBuffer, -OutVariable, -PipelineVariable, -ProgressAction, -Verbose, -WarningAction 및 -WarningVariable 매개 변수를 지원합니다. 자세한 내용은 about_CommonParameters를 참조하세요.
입력
String
출력
PSEventArgs
참고
이벤트, 이벤트 구독 및 이벤트 큐는 현재 세션에만 존재합니다. 현재 세션을 닫으면 이벤트 큐가 삭제되고 이벤트 구독이 취소됩니다.