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

注意

在此範例中,您必須以 管理員 istrator 身分執行 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。 您可以使用索引標籤自動完成來瀏覽命名空間清單,因為 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 物件。