New-Event
새 이벤트를 만듭니다.
구문
New-Event
[-SourceIdentifier] <String>
[[-Sender] <PSObject>]
[[-EventArguments] <PSObject[]>]
[[-MessageData] <PSObject>]
[<CommonParameters>]
Description
cmdlet은 New-Event
새 사용자 지정 이벤트를 만듭니다.
사용자 지정 이벤트를 사용하여 하드웨어 또는 시스템 상태, 애플리케이션 상태, 디스크 상태, 네트워크 상태 또는 백그라운드 작업 완료를 포함하여 프로그램에서 감지할 수 있는 모든 변경 내용과 프로그램의 상태 변경에 대해 사용자에게 알릴 수 있습니다.
사용자 지정 이벤트는 발생할 때마다 세션의 이벤트 큐에 자동으로 추가되므로 구독할 필요가 없습니다. 그러나 이벤트를 로컬 세션으로 전달하거나 이벤트에 응답하는 작업을 지정하려면 cmdlet을 사용하여 Register-EngineEvent
사용자 지정 이벤트를 구독합니다.
사용자 지정 이벤트를 구독하면 이벤트 구독자가 세션에 추가됩니다. cmdlet을 사용하여 이벤트 구독을 Unregister-Event
취소하면 이벤트 구독자와 사용자 지정 이벤트가 세션에서 삭제됩니다. 사용자 지정 이벤트를 구독하지 않으면 이벤트를 삭제하려면 프로그램 조건을 변경하거나 PowerShell 세션을 닫아야 합니다.
예제
예제 1: 이벤트 큐에 새 이벤트 만들기
PS C:\> New-Event -SourceIdentifier Timer -Sender windows.timer -MessageData "Test"
이 명령은 PowerShell 이벤트 큐에 새 이벤트를 만듭니다. Windows.Timer 개체를 사용하여 이벤트를 보냅니다.
예제 2: 다른 이벤트에 대한 응답으로 이벤트 발생
PS C:\> function Enable-ProcessCreationEvent
{
$Query = New-Object System.Management.WqlEventQuery "__InstanceCreationEvent", (New-Object TimeSpan 0,0,1), "TargetInstance isa 'Win32_Process'"
$ProcessWatcher = New-Object System.Management.ManagementEventWatcher $Query
$Identifier = "WMI.ProcessCreated"
Register-ObjectEvent $ProcessWatcher "EventArrived" -SupportEvent $Identifier -Action
{
[void] (New-Event -SourceID "PowerShell.ProcessCreated" -Sender $Args[0] -EventArguments $Args[1].SourceEventArgs.NewEvent.TargetInstance)
}
}
이 샘플 함수는 cmdlet을 New-Event
사용하여 다른 이벤트에 대한 응답으로 이벤트를 발생합니다. 이 명령은 cmdlet을 Register-ObjectEvent
사용하여 새 프로세스를 만들 때 발생하는 WMI(Windows Management Instrumentation) 이벤트를 구독합니다. 이 명령은 cmdlet의 Action 매개 변수를 사용하여 새 이벤트를 만드는 cmdlet을 호출 New-Event
합니다.
발생하는 이벤트는 PowerShell 이벤트 New-Event
큐에 자동으로 추가되므로 해당 이벤트에 등록할 필요가 없습니다.
매개 변수
-EventArguments
이벤트에 대한 옵션을 포함하는 개체를 지정합니다.
형식: | PSObject[] |
Position: | 2 |
Default value: | None |
필수: | False |
파이프라인 입력 허용: | False |
와일드카드 문자 허용: | False |
-MessageData
이벤트와 연결된 추가 데이터를 지정합니다. 이 매개 변수의 값은 이벤트 개체의 MessageData 속성에 나타납니다.
형식: | PSObject |
Position: | 3 |
Default value: | None |
필수: | False |
파이프라인 입력 허용: | False |
와일드카드 문자 허용: | False |
-Sender
이벤트를 발생시키는 개체를 지정합니다. 기본값은 PowerShell 엔진입니다.
형식: | PSObject |
Position: | 1 |
Default value: | None |
필수: | False |
파이프라인 입력 허용: | False |
와일드카드 문자 허용: | False |
-SourceIdentifier
새 이벤트의 이름을 지정합니다. 이 매개 변수는 필수이며 세션에서 고유해야 합니다.
이 매개 변수의 값은 이벤트의 SourceIdentifier 속성에 나타납니다.
형식: | String |
Position: | 0 |
Default value: | None |
필수: | True |
파이프라인 입력 허용: | False |
와일드카드 문자 허용: | False |
입력
None
개체를 이 cmdlet으로 파이프할 수 없습니다.
출력
참고
새 사용자 지정 이벤트, 이벤트 구독 및 이벤트 큐는 현재 세션에만 존재합니다. 현재 세션을 닫으면 이벤트 큐가 삭제되고 이벤트 구독이 취소됩니다.
관련 링크
PowerShell