Share via


New-Event

새 이벤트를 만듭니다.

Syntax

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

이벤트에 대한 옵션을 포함하는 개체를 지정합니다.

Type:PSObject[]
Position:2
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-MessageData

이벤트와 연결된 추가 데이터를 지정합니다. 이 매개 변수의 값은 이벤트 개체의 MessageData 속성에 나타납니다.

Type:PSObject
Position:3
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Sender

이벤트를 발생시키는 개체를 지정합니다. 기본값은 PowerShell 엔진입니다.

Type:PSObject
Position:1
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-SourceIdentifier

새 이벤트의 이름을 지정합니다. 이 매개 변수는 필수이며 세션에서 고유해야 합니다.

이 매개 변수의 값은 이벤트의 SourceIdentifier 속성에 나타납니다.

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

입력

None

개체를 이 cmdlet으로 파이프할 수 없습니다.

출력

PSEventArgs

참고

Linux 또는 macOS 플랫폼에서 사용할 수 있는 이벤트 원본이 없습니다.

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