Unregister-Event
取消事件訂閱。
語法
BySource (預設值)
Unregister-Event
[-SourceIdentifier] <String>
[-Force]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
ById
Unregister-Event
[-SubscriptionId] <Int32>
[-Force]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
Description
Unregister-Event Cmdlet 會取消使用 Register-EngineEvent、Register-ObjectEvent 或 Register-WmiEvent Cmdlet 所建立的事件訂閱。
取消事件訂閱時,事件訂閱者會從會話中刪除,而且訂閱的事件不再新增至事件佇列。 當您取消使用 New-Event Cmdlet 建立之事件的訂用帳戶時,也會從會話中刪除新的事件。
Unregister-Event 不會從事件佇列中刪除事件。 若要刪除事件,請使用 Remove-Event Cmdlet。
範例
範例 1:依來源標識碼取消事件訂閱
PS C:\> Unregister-Event -SourceIdentifier "ProcessStarted"
此命令會取消具有 ProcessStarted 來源標識碼的事件訂閱。
若要尋找事件的來源標識碼,請使用 Get-Event Cmdlet。
若要尋找事件訂用帳戶的來源標識符,請使用 get-EventSubscriber Cmdlet
範例 2:依訂閱識別碼取消事件訂閱
PS C:\> Unregister-Event -SubscriptionId 2
此命令會取消具有訂用帳戶標識碼為 2 的事件訂閱。
若要尋找事件訂閱的訂用帳戶標識符,請使用 get-EventSubscriber Cmdlet
範例 3:取消所有事件訂閱
PS C:\> Get-EventSubscriber -Force | Unregister-Event -Force
此命令會取消會話中的所有事件訂閱。
命令會使用 Get-EventSubscriber Cmdlet 來取得會話中的所有事件訂閱者物件,包括使用事件註冊 Cmdlet SupportEvent 參數隱藏的訂閱者。
它會使用管線運算符 (|) 將訂閱者對象傳送至 Unregister-Event,這會從會話中刪除它們。 若要完成工作,Unregister-Event也需要 Force 參數。
參數
-Confirm
在執行 Cmdlet 之前,提示您進行確認。
參數屬性
| 類型: | SwitchParameter |
| 預設值: | False |
| 支援萬用字元: | False |
| 不要顯示: | False |
| 別名: | cf |
參數集
(All)
| Position: | Named |
| 必要: | False |
| 來自管線的值: | False |
| 來自管線按屬性名稱的值: | False |
| 來自剩餘引數的值: | False |
-Force
取消所有事件訂閱,包括使用 register-ObjectEvent
參數屬性
| 類型: | SwitchParameter |
| 預設值: | None |
| 支援萬用字元: | False |
| 不要顯示: | False |
參數集
(All)
| Position: | Named |
| 必要: | False |
| 來自管線的值: | False |
| 來自管線按屬性名稱的值: | False |
| 來自剩餘引數的值: | False |
-SourceIdentifier
指定此 Cmdlet 取消事件訂閱的來源識別碼。
SourceIdentifier 或 SubscriptionId 參數必須包含在每個命令中。
參數屬性
| 類型: | String |
| 預設值: | None |
| 支援萬用字元: | False |
| 不要顯示: | False |
參數集
BySource
| Position: | 0 |
| 必要: | True |
| 來自管線的值: | False |
| 來自管線按屬性名稱的值: | True |
| 來自剩餘引數的值: | False |
-SubscriptionId
指定此 Cmdlet 取消事件訂閱的來源識別碼。
SourceIdentifier 或 SubscriptionId 參數必須包含在每個命令中。
參數屬性
| 類型: | Int32 |
| 預設值: | None |
| 支援萬用字元: | False |
| 不要顯示: | False |
參數集
ById
| Position: | 0 |
| 必要: | True |
| 來自管線的值: | False |
| 來自管線按屬性名稱的值: | True |
| 來自剩餘引數的值: | False |
-WhatIf
顯示 Cmdlet 執行時會發生什麼事。 指令未執行。
參數屬性
| 類型: | SwitchParameter |
| 預設值: | False |
| 支援萬用字元: | False |
| 不要顯示: | False |
| 別名: | 無線 |
參數集
(All)
| Position: | Named |
| 必要: | False |
| 來自管線的值: | False |
| 來自管線按屬性名稱的值: | False |
| 來自剩餘引數的值: | False |
CommonParameters
此 Cmdlet 支援一般參數:-Debug、-ErrorAction、-ErrorVariable、-InformationAction、-InformationVariable、-OutBuffer、-OutVariable、-PipelineVariable、-ProgressAction、-Verbose、-WarningAction 和 -WarningVariable。 如需詳細資訊,請參閱 about_CommonParameters。
輸入
PSEventSubscriber
您可以使用管線將輸出從 Get-EventSubscriber 傳送至 Unregister-Event。
輸出
None
此 Cmdlet 不會傳回任何輸出。
備註
事件、事件訂閱和事件佇列只存在於當前會話中。 如果您關閉當前的會話,事件佇列將被丟棄,事件訂閱將被取消。
除非您已使用 Register-EngineEvent Cmdlet 訂閱事件,否則 Unregister-Event 無法刪除使用 New-Event Cmdlet 所建立的事件。 若要從工作階段中刪除自訂事件,您必須以程式設計方式移除自定義事件或關閉作業階段。