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-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。 您可以使用 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 參數的查詢語言。 此參數可接受的值為: 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 物件。
備註
PowerShell 包含的下列別名 Register-CimIndicationEvent
:
- Windows:
rcie
此 Cmdlet 僅適用於 Windows 平臺。