다음을 통해 공유


Register-CimIndicationEvent

필터 식 또는 쿼리 식을 사용하여 표시를 구독합니다.

Syntax

Register-CimIndicationEvent
        [-Namespace <String>]
        [-ClassName] <String>
        [-OperationTimeoutSec <UInt32>]
        [-ComputerName <String>]
        [[-SourceIdentifier] <String>]
        [[-Action] <ScriptBlock>]
        [-MessageData <PSObject>]
        [-SupportEvent]
        [-Forward]
        [-MaxTriggerCount <Int32>]
        [<CommonParameters>]
Register-CimIndicationEvent
        [-Namespace <String>]
        [-ClassName] <String>
        [-OperationTimeoutSec <UInt32>]
        -CimSession <CimSession>
        [[-SourceIdentifier] <String>]
        [[-Action] <ScriptBlock>]
        [-MessageData <PSObject>]
        [-SupportEvent]
        [-Forward]
        [-MaxTriggerCount <Int32>]
        [<CommonParameters>]
Register-CimIndicationEvent
        [-Namespace <String>]
        [-Query] <String>
        [-QueryDialect <String>]
        [-OperationTimeoutSec <UInt32>]
        -CimSession <CimSession>
        [[-SourceIdentifier] <String>]
        [[-Action] <ScriptBlock>]
        [-MessageData <PSObject>]
        [-SupportEvent]
        [-Forward]
        [-MaxTriggerCount <Int32>]
        [<CommonParameters>]
Register-CimIndicationEvent
        [-Namespace <String>]
        [-Query] <String>
        [-QueryDialect <String>]
        [-OperationTimeoutSec <UInt32>]
        [-ComputerName <String>]
        [[-SourceIdentifier] <String>]
        [[-Action] <ScriptBlock>]
        [-MessageData <PSObject>]
        [-SupportEvent]
        [-Forward]
        [-MaxTriggerCount <Int32>]
        [<CommonParameters>]

Description

이 cmdlet은 Windows 플랫폼에서만 사용할 수 있습니다.

cmdlet은 Register-CimIndicationEvent 표시 클래스 이름 또는 쿼리 식을 사용하여 표시를 구독합니다. SourceIdentifier 매개 변수를 사용하여 구독에 이름을 지정합니다.

이 cmdlet은 EventSubscription 개체를 반환합니다. 이 개체를 사용하여 구독을 취소할 수 있습니다.

예제

예제 1: 클래스에서 생성된 이벤트 등록

이 예제에서는 Win32_ProcessStartTrace 클래스에서 생성된 이벤트를 구독합니다. 이 클래스는 프로세스가 시작될 때마다 이벤트를 발생합니다.

Register-CimIndicationEvent -ClassName 'Win32_ProcessStartTrace' -SourceIdentifier "ProcessStarted"
Get-Event -SourceIdentifier "ProcessStarted"

cmdlet은 Get-Event ProcessStarted 구독을 사용하여 이벤트를 가져옵니다. 자세한 내용은 Get-Event를 참조하세요.

참고 항목

이 예제에서는 PowerShell을 관리istrator로 실행해야 합니다.

예제 2: 쿼리를 사용하여 이벤트 등록

이 예제에서는 쿼리를 사용하여 Win32_LocalTime 클래스 인스턴스에 변경이 있을 때마다 생성된 이벤트를 구독합니다.

$query = "SELECT * FROM CIM_InstModification WHERE TargetInstance ISA 'Win32_LocalTime'"
Register-CimIndicationEvent -Query $query -SourceIdentifier "Timer"

예제 3: 이벤트가 도착하면 스크립트 실행

이 예제에서는 이벤트에 대한 응답으로 작업을 사용하는 방법을 보여 줍니다. 변수 $action 는 변수를 사용하여 $event CIM에서 받은 이벤트에 액세스하는 Action에 대한 스크립트 블록을 보유합니다.

$action = {
  $name = $event.SourceEventArgs.NewEvent.ProcessName
  $id = $event.SourceEventArgs.NewEvent.ProcessId
  Write-Host -Object "New Process Started : Name = $name
 ID = $id"
}
Register-CimIndicationEvent -ClassName 'Win32_ProcessStartTrace' -SourceIdentifier "ProcessStarted" -Action $action

자세한 내용은 Win32_ProcessStartTrace 참조하세요.

예제 4: 원격 컴퓨터에 이벤트 등록

이 예제에서는 Server01이라는 원격 컴퓨터의 이벤트를 구독합니다. CIM 서버에서 받은 이벤트는 현재 PowerShell 세션의 이벤트 큐에 저장되고 로컬 Get-Event 을 실행하여 이벤트를 검색합니다.

Register-CimIndicationEvent -ClassName 'Win32_ProcessStartTrace' -SourceIdentifier "ProcessStarted" -ComputerName Server01
Get-Event -SourceIdentifier "ProcessStarted"

매개 변수

-Action

이벤트를 처리하는 명령을 지정합니다. 이 매개 변수에 지정된 명령은 이벤트를 이벤트 큐로 보내는 대신 이벤트가 발생할 때 실행됩니다. 명령을 중괄호({})로 묶어 스크립트 블록을 만듭니다.

작업으로 지정된 스크립트 블록에는 이벤트에 대한 정보를 작업 스크립트 블록에 제공하는 , $Sender$EventSubscriber, $SourceEventArgs$SourceArgs 자동 변수가 포함될 $Event수 있습니다. 자세한 내용은 자동 변수 정보를 참조 하세요.

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

-CimSession

지정된 CIM 세션을 사용하여 명령을 실행합니다. CIM 세션이 포함된 변수 또는 CIM 세션을 만들거나 가져오는 명령(예: cmdlet)을 New-CimSessionGet-CimSession 입력합니다. 자세한 내용은 about_CimSession 참조하세요.

Type:CimSession
Position:Named
Default value:None
Required:True
Accept pipeline input:False
Accept wildcard characters:False

-ClassName

구독할 표시 클래스를 지정합니다. PowerShell은 클래스 이름 목록을 제공하기 위해 로컬 WMI 서버에서 클래스 목록을 가져오므로 탭 완성을 사용하여 클래스 목록을 찾아볼 수 있습니다.

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

-ComputerName

CIM 작업을 실행할 컴퓨터의 이름을 지정합니다. FQDN(정규화된 do기본 이름), NetBIOS 이름 또는 IP 주소를 지정할 수 있습니다.

이 매개 변수를 지정하는 경우 cmdlet은 WsMan 프로토콜을 사용하여 지정된 컴퓨터에 임시 세션을 만듭니다. 이 매개 변수를 지정하지 않으면 cmdlet은 COM(구성 요소 개체 모델)을 사용하여 로컬 시스템에서 작업을 수행합니다.

동일한 컴퓨터에서 여러 작업을 수행하는 경우 성능 향상을 위해 CIM 세션을 사용하여 연결합니다.

Type:String
Aliases:CN, ServerName
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Forward

구독에 대한 이벤트가 로컬 컴퓨터의 세션으로 전달됨을 나타냅니다. 원격 컴퓨터 또는 원격 세션에서 이벤트를 등록할 때 이 매개 변수를 사용합니다.

Type:SwitchParameter
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-MaxTriggerCount

지정된 시간 동안 트리거된 후 구독자가 자동으로 등록 취소되어야 함을 나타내는 매개 변수입니다. 값이 0보다 작거나 같으면 등록을 취소하지 않고 이벤트를 트리거할 수 있는 횟수에 제한이 없습니다.

Type:Int32
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-MessageData

이 이벤트 구독과 연결할 추가 데이터를 지정합니다. 이 매개 변수의 값은 이 구독과 연결된 모든 이벤트의 MessageData 속성에 나타납니다.

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

-Namespace

CIM 작업의 네임스페이스를 지정합니다. 기본 네임스페이스는 root/cimv2입니다. PowerShell은 네임스페이스 목록을 제공하기 위해 로컬 WMI 서버에서 네임스페이스 목록을 가져오므로 탭 완성을 사용하여 네임스페이스 목록을 찾아볼 수 있습니다.

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

-OperationTimeoutSec

cmdlet이 컴퓨터의 응답을 기다리는 시간을 지정합니다. 기본적으로 이 매개 변수의 값은 0입니다. 즉, cmdlet은 서버에 대한 기본 시간 제한 값을 사용합니다.

OperationTimeoutSec 매개 변수가 3분의 강력한 연결 재시도 시간 제한보다 작은 값으로 설정된 경우 클라이언트가 다시 연결하기 전에 서버의 작업이 시간 초과되므로 OperationTimeoutSec 매개 변수 값보다 더 많이 지속되는 네트워크 오류는 복구할 수 없습니다.

Type:UInt32
Aliases:OT
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Query

CIM 서버에서 실행할 쿼리를 지정합니다. 지정된 값에 큰따옴표, 작은따옴표 "'또는 백슬래시를 \포함하는 경우 백슬래시 문자로 접두사를 지정하여 해당 문자를 이스케이프해야 합니다. 지정된 값이 WQL LIKE 연산자를 사용하는 경우 대괄호(백분율%, _밑줄 또는 여는 대괄호[][)로 묶어 다음 문자를 이스케이프해야 합니다.

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

-QueryDialect

쿼리 매개 변수에 사용되는 쿼리 언어를 지정합니다. 이 매개 변수에 허용되는 값은 WQL 또는 CQL입니다. 기본값은 WQL입니다.

Type:String
Position:Named
Default value:WQL
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-SourceIdentifier

구독의 이름을 지정합니다. 지정한 이름은 현재 세션에서 고유해야 합니다. 기본값은 PowerShell에서 할당하는 GUID입니다. 이 값은 구독자 개체의 SourceIdentifier 속성 값과 이 구독과 연결된 모든 이벤트 개체의 값에 나타납니다.

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

-SupportEvent

이벤트 구독이 숨겨져 있음을 나타냅니다. 현재 구독이 더 복잡한 이벤트 등록 메커니즘의 일부이며 독립적으로 검색해서는 안 되는 경우 이 매개 변수를 사용합니다.

Type:SwitchParameter
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

입력

None

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

출력

Object

이 cmdlet은 EventSubscription 개체를 반환합니다.

참고

PowerShell에는 다음 별칭이 포함됩니다.Register-CimIndicationEvent

  • Windows:
    • rcie

이 cmdlet은 Windows 플랫폼에서만 사용할 수 있습니다.