Register-CimIndicationEvent

フィルター式またはクエリ式を使用して、インジケーターをサブスクライブします。

構文

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>]

説明

このコマンドレットは、Windows プラットフォームでのみ使用できます。

コマンドレットは Register-CimIndicationEvent 、表示クラス名またはクエリ式を使用して、インジケーターをサブスクライブします。 SourceIdentifier パラメーターを使用して、サブスクリプションに名前を付けます。

このコマンドレットは EventSubscription オブジェクトを返します。 このオブジェクトを使用して、サブスクリプションを取り消すことができます。

例 1: クラスによって生成されたイベントを登録する

この例では、Win32_ProcessStartTrace という名前のクラスによって生成されたイベントをサブスクライブします。 プロセスが開始されるたびに、このクラスによってイベントが発生します。

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

このコマンドレットはGet-Event、ProcessStarted サブスクリプションを含むイベントを取得します。 詳細については、「Get-Event」を参照してください

Note

この例では、PowerShell を 管理istrator として実行する必要があります。

例 2: クエリを使用してイベントを登録する

この例では、クエリを使用して、Win32_LocalTimeという名前のクラスのインスタンスに変更が発生するたびに生成されたイベントをサブスクライブします。

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

例 3: イベントが到着したときにスクリプトを実行する

この例では、イベントに応答してアクションを使用する方法を示します。 変数 $action は Action の スクリプト ブロックを保持します。このブロックでは、変数を $event 使用して CIM から受信したイベントにアクセスします。

$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

イベントを処理するコマンドを指定します。 このパラメーターで指定されたコマンドは、イベントキューにイベントを送信するのではなく、イベントが発生したときに実行されます。 コマンドを中かっこ ({}) で囲み、スクリプト ブロックを作成します。

Action で指定されたスクリプト ブロックには、$EventSubscriber$SourceEventArgs$Senderイベントに関する情報を $EventAction スクリプト ブロックに提供する、変数 、、および$SourceArgs自動変数を含めることができます。 詳細については、「自動変数について」を参照してください

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

-CimSession

指定した CIM セッションを使用してコマンドを実行します。 CIM セッションを含む変数、または CIM セッションを作成または取得するコマンド (コマンドレットGet-CimSessionなど) をNew-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 操作を実行するコンピューターの名前を指定します。 完全修飾 doメイン 名 (FQDN)、NetBIOS 名、または IP アドレスを指定できます。

このパラメーターを指定すると、コマンドレットは WsMan プロトコルを使用して、指定されたコンピューターへの一時的なセッションを作成します。 このパラメーターを指定しない場合、コマンドレットはコンポーネント オブジェクト モデル (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

コマンドレットがコンピューターからの応答を待機する時間を指定します。 既定では、このパラメーターの値は 0 です。これは、コマンドレットがサーバーの既定のタイムアウト値を使用することを意味します。

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

Query パラメーターに使用するクエリ言語を指定します。 このパラメーターに使用できる値は 、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

このコマンドレットにオブジェクトをパイプすることはできません。

出力

Object

このコマンドレットは EventSubscription オブジェクトを返します。

メモ

PowerShell には、次のエイリアスが Register-CimIndicationEvent含まれています。

  • Windows:
    • rcie

このコマンドレットは、Windows プラットフォームでのみ使用できます。