次の方法で共有


Register-CimIndicationEvent

フィルター式またはクエリ式を使用して、指標を購読します。

構文

ClassNameComputerSet (既定)

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

ClassNameSessionSet

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

QueryExpressionSessionSet

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

QueryExpressionComputerSet

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

説明

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

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

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

この一連のコマンドは、プロセスが開始されるたびにイベントを発生させる Win32_ProcessStartTrace という名前のクラスによって生成されたイベントをサブスクライブし、Get-Event コマンドレットを使用して ProcessStarted サブスクリプションでイベントを取得します。 詳細については、「Get-Event」を参照してください。

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

この例では、管理者として 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、および 自動変数を含めることができます。 詳細については、「自動変数について」を参照してください。

パラメーターのプロパティ

型:ScriptBlock
規定値:None
ワイルドカードのサポート:False
DontShow:False

パラメーター セット

(All)
配置:1
必須:False
パイプラインからの値:False
プロパティ名別のパイプラインからの値:False
残りの引数からの値:False

-CimSession

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

パラメーターのプロパティ

型:CimSession
規定値:None
ワイルドカードのサポート:False
DontShow:False

パラメーター セット

ClassNameSessionSet
配置:Named
必須:True
パイプラインからの値:False
プロパティ名別のパイプラインからの値:False
残りの引数からの値:False
QueryExpressionSessionSet
配置:Named
必須:True
パイプラインからの値:False
プロパティ名別のパイプラインからの値:False
残りの引数からの値:False

-ClassName

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

パラメーターのプロパティ

型:String
規定値:None
ワイルドカードのサポート:False
DontShow:False

パラメーター セット

ClassNameComputerSet
配置:0
必須:True
パイプラインからの値:False
プロパティ名別のパイプラインからの値:False
残りの引数からの値:False
ClassNameSessionSet
配置:0
必須:True
パイプラインからの値:False
プロパティ名別のパイプラインからの値:False
残りの引数からの値:False

-ComputerName

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

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

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

パラメーターのプロパティ

型:String
規定値:None
ワイルドカードのサポート:False
DontShow:False
Aliases:CN, サーバー名

パラメーター セット

ClassNameComputerSet
配置:Named
必須:False
パイプラインからの値:False
プロパティ名別のパイプラインからの値:False
残りの引数からの値:False
QueryExpressionComputerSet
配置:Named
必須:False
パイプラインからの値:False
プロパティ名別のパイプラインからの値:False
残りの引数からの値:False

-Forward

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

パラメーターのプロパティ

型:SwitchParameter
規定値:None
ワイルドカードのサポート:False
DontShow:False

パラメーター セット

(All)
配置:Named
必須:False
パイプラインからの値:False
プロパティ名別のパイプラインからの値:False
残りの引数からの値:False

-MaxTriggerCount

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

パラメーターのプロパティ

型:Int32
規定値:None
ワイルドカードのサポート:False
DontShow:False

パラメーター セット

(All)
配置:Named
必須:False
パイプラインからの値:False
プロパティ名別のパイプラインからの値:False
残りの引数からの値:False

-MessageData

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

パラメーターのプロパティ

型:PSObject
規定値:None
ワイルドカードのサポート:False
DontShow:False

パラメーター セット

(All)
配置:Named
必須:False
パイプラインからの値:False
プロパティ名別のパイプラインからの値:False
残りの引数からの値:False

-Namespace

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

パラメーターのプロパティ

型:String
規定値:None
ワイルドカードのサポート:False
DontShow:False

パラメーター セット

(All)
配置:Named
必須:False
パイプラインからの値:False
プロパティ名別のパイプラインからの値:False
残りの引数からの値:False

-OperationTimeoutSec

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

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

パラメーターのプロパティ

型:UInt32
規定値:None
ワイルドカードのサポート:False
DontShow:False
Aliases:OT

パラメーター セット

(All)
配置:Named
必須:False
パイプラインからの値:False
プロパティ名別のパイプラインからの値:False
残りの引数からの値:False

-Query

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

パラメーターのプロパティ

型:String
規定値:None
ワイルドカードのサポート:False
DontShow:False

パラメーター セット

QueryExpressionSessionSet
配置:0
必須:True
パイプラインからの値:False
プロパティ名別のパイプラインからの値:False
残りの引数からの値:False
QueryExpressionComputerSet
配置:0
必須:True
パイプラインからの値:False
プロパティ名別のパイプラインからの値:False
残りの引数からの値:False

-QueryDialect

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

パラメーターのプロパティ

型:String
規定値:WQL
ワイルドカードのサポート:False
DontShow:False

パラメーター セット

QueryExpressionSessionSet
配置:Named
必須:False
パイプラインからの値:False
プロパティ名別のパイプラインからの値:False
残りの引数からの値:False
QueryExpressionComputerSet
配置:Named
必須:False
パイプラインからの値:False
プロパティ名別のパイプラインからの値:False
残りの引数からの値:False

-SourceIdentifier

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

パラメーターのプロパティ

型:String
規定値:None
ワイルドカードのサポート:False
DontShow:False

パラメーター セット

(All)
配置:1
必須:False
パイプラインからの値:False
プロパティ名別のパイプラインからの値:False
残りの引数からの値:False

-SupportEvent

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

パラメーターのプロパティ

型:SwitchParameter
規定値:None
ワイルドカードのサポート:False
DontShow:False

パラメーター セット

(All)
配置:Named
必須:False
パイプラインからの値:False
プロパティ名別のパイプラインからの値:False
残りの引数からの値:False

CommonParameters

このコマンドレットでは、一般的なパラメーター -Debug、-ErrorAction、-ErrorVariable、-InformationAction、-InformationVariable、-OutBuffer、-OutVariable、-PipelineVariable、-ProgressAction、-Verbose、-WarningAction、-WarningVariable の各パラメーターがサポートされています。 詳細については、about_CommonParametersを参照してください。

入力

None

このコマンドレットは、入力オブジェクトを受け入れなくなります。

出力

Object

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