次の方法で共有


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 を実行する必要があります。

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

型:ScriptBlock
配置:1
規定値:None
必須:False
パイプライン入力を受け取る:False
ワイルドカード文字を受け取る:False

-CimSession

指定した CIM セッションを使用してコマンドを実行します。 CIM セッションを含む変数、または CIM セッションを作成または取得するコマンド ( New-CimSessionGet-CimSession コマンドレットなど) を入力します。 詳細については、「 about_CimSession」を参照してください。

型:CimSession
配置:Named
規定値:None
必須:True
パイプライン入力を受け取る:False
ワイルドカード文字を受け取る:False

-ClassName

サブスクライブするインジケーター クラスを指定します。 PowerShell はローカル WMI サーバーからクラスの一覧を取得してクラス名の一覧を提供するため、タブ補完を使用してクラスの一覧を参照できます。

型:String
配置:0
規定値:None
必須:True
パイプライン入力を受け取る:False
ワイルドカード文字を受け取る:False

-ComputerName

CIM 操作を実行するコンピューターの名前を指定します。 完全修飾ドメイン名 (FQDN)、NetBIOS 名、または IP アドレスを指定できます。

このパラメーターを指定すると、コマンドレットは WsMan プロトコルを使用して、指定されたコンピューターへの一時的なセッションを作成します。 このパラメーターを指定しない場合、コマンドレットはコンポーネント オブジェクト モデル (COM) を使用してローカル システムで操作を実行します。

同じコンピューターで複数の操作が実行されている場合は、CIM セッションを使用して接続してパフォーマンスを向上させます。

型:String
Aliases:CN, ServerName
配置:Named
規定値:None
必須:False
パイプライン入力を受け取る:False
ワイルドカード文字を受け取る:False

-Forward

サブスクリプションのイベントがローカル コンピューター上のセッションに転送されることを示します。 このパラメーターは、リモート コンピューターまたはリモート セッションのイベントに登録する場合に使用します。

型:SwitchParameter
配置:Named
規定値:None
必須:False
パイプライン入力を受け取る:False
ワイルドカード文字を受け取る:False

-MaxTriggerCount

指定した時間にサブスクライバーがトリガーされた後に自動登録解除する必要があることを示すパラメーター。 値が 0 以下の場合、登録を解除せずにイベントをトリガーできる回数に制限はありません。

型:Int32
配置:Named
規定値:None
必須:False
パイプライン入力を受け取る:False
ワイルドカード文字を受け取る:False

-MessageData

このイベント サブスクリプションに関連付ける追加データを指定します。 このパラメーターの値は、このサブスクリプションに関連付けられているすべてのイベントの MessageData プロパティに表示されます。

型:PSObject
配置:Named
規定値:None
必須:False
パイプライン入力を受け取る:False
ワイルドカード文字を受け取る:False

-Namespace

CIM 操作の名前空間を指定します。 既定の名前空間は root/cimv2 です。 PowerShell はローカル WMI サーバーから名前空間の一覧を取得して名前空間の一覧を提供するため、タブ補完を使用して名前空間の一覧を参照できます。

型:String
配置:Named
規定値:None
必須:False
パイプライン入力を受け取る:False
ワイルドカード文字を受け取る:False

-OperationTimeoutSec

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

OperationTimeoutSecパラメーターが堅牢な接続再試行タイムアウト 3 分未満の値に設定されている場合、クライアントが再接続する前にサーバーでの操作がタイムアウトするため、OperationTimeoutSec パラメーターの値を超えるネットワーク障害は復旧できません。

型:UInt32
Aliases:OT
配置:Named
規定値:None
必須:False
パイプライン入力を受け取る:False
ワイルドカード文字を受け取る:False

-Query

CIM サーバーで実行するクエリを指定します。 指定した値に二重引用符 "、単一引用符 '、または円記号 \が含まれている場合は、円記号の前に円記号を付けてエスケープする必要があります。 指定された値が WQL LIKE 演算子を使用する場合は、角かっこで囲んで次の文字をエスケープする必要があります []:パーセント %、アンダースコア _、または角かっこ [

型:String
配置:0
規定値:None
必須:True
パイプライン入力を受け取る:False
ワイルドカード文字を受け取る:False

-QueryDialect

Query パラメーターに使用するクエリ言語を指定します。 このパラメーターに使用できる値は、 WQL または CQL です。 既定値は WQL です。

型:String
配置:Named
規定値:WQL
必須:False
パイプライン入力を受け取る:False
ワイルドカード文字を受け取る:False

-SourceIdentifier

サブスクリプションの名前を指定します。 指定する名前は、現在のセッションで一意である必要があります。 既定値は、PowerShell によって割り当てられる GUID です。 この値は、サブスクライバー オブジェクトの SourceIdentifier プロパティの値と、このサブスクリプションに関連付けられているすべてのイベント オブジェクトの値に表示されます。

型:String
配置:1
規定値:None
必須:False
パイプライン入力を受け取る:False
ワイルドカード文字を受け取る:False

-SupportEvent

イベント サブスクリプションが非表示であることを示します。 このパラメーターは、現在のサブスクリプションがさらに複雑なイベント登録メカニズムの一部であり、単独で検出されない場合に使用します。

型:SwitchParameter
配置:Named
規定値:None
必須:False
パイプライン入力を受け取る:False
ワイルドカード文字を受け取る:False

入力

None

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

出力

Object

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

メモ

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

  • Windows:
    • rcie

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