Share via


Wait-Event

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

Syntax

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

Description

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

이벤트를 폴링하는 대신 이 기능을 사용할 수 있습니다. 또한 다음과 같은 두 가지 방법으로 이벤트에 대한 응답을 확인할 수 있습니다.

  • 이벤트 구독의 Action 매개 변수 사용
  • 이벤트가 반환된 후 작업으로 응답할 때까지 대기

예제

예제 1: 다음 이벤트 대기

이 예제에서는 다음 이벤트가 발생할 때까지 기다립니다.

Wait-Event

예제 2: 지정된 원본 식별자가 있는 이벤트를 기다립니다.

이 예제에서는 다음 이벤트가 발생하고 ProcessStarted의 원본 식별자가 있는 이벤트를 기다립니다.

Wait-Event -SourceIdentifier "ProcessStarted"

예제 3: 타이머 경과 이벤트 대기

이 예제에서는 cmdlet을 Wait-Event 사용하여 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 모든 이벤트를 기다립니다.

Type:String
Position:0
Default value:None
Required:False
Accept pipeline input:True
Accept wildcard characters:False

-Timeout

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

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

Type:Int32
Aliases:TimeoutSec
Position:Named
Default value:-1
Required:False
Accept pipeline input:False
Accept wildcard characters:False

입력

String

출력

PSEventArgs

참고

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