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-CimSession
、 Get-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
このコマンドレットにオブジェクトをパイプすることはできません。
出力
このコマンドレットは、 EventSubscription オブジェクトを返します。
メモ
PowerShell には、 Register-CimIndicationEvent
の次のエイリアスが含まれています。
- Windows:
rcie
このコマンドレットは、Windows プラットフォームでのみ使用できます。
関連リンク
PowerShell