共用方式為


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。

範例 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 腳本區塊。 如需詳細資訊,請參閱 關於自動變數

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

-CimSession

使用指定的 CIM 作業階段執行命令。 輸入包含 CIM 會話的變數,或建立或取得 CIM 會話的命令,例如 New-CimSessionGet-CimSession Cmdlet。 如需詳細資訊,請參閱 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) 、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

參數,表示在觸發指定時間之後,訂閱者應該自動取消註冊。 如果值等於或小於零,則事件可以觸發的次數沒有限制,而不需要取消註冊。

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。 您可以使用 Tab 鍵自動完成來瀏覽命名空間清單,因為 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

指定 用於 Query 參數的查詢語言。 此參數可接受的值為: WQLCQL。 預設值為 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 平臺。