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-CimSession
或 Get-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 參數的 查詢 語言。 此參數可接受的值為: WQL 或 CQL。 預設值為 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。
輸出
此 Cmdlet 會傳 回 EventSubscription 物件。
相關連結
意見反應
https://aka.ms/ContentUserFeedback。
即將登場:在 2024 年,我們將逐步淘汰 GitHub 問題作為內容的意見反應機制,並將它取代為新的意見反應系統。 如需詳細資訊,請參閱:提交並檢視相關的意見反應