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
此命令會取消會話中的所有事件訂閱。
該命令使用 cmdlet 獲取 Get-EventSubscriber 會話中的所有事件訂閱者物件,包括使用事件註冊 cmdlet 的 SupportEvent 參數隱藏的訂閱者。
它使用管道運算子 (|) 將訂閱者對象發送到 Unregister-Event,這會將它們從會話中刪除。 要完成任務,還需要 上的Unregister-Event參數。
參數
-Confirm
在執行 Cmdlet 之前,提示您進行確認。
參數屬性
| 類型: | SwitchParameter |
| 預設值: | False |
| 支援萬用字元: | False |
| 不要顯示: | False |
| 別名: | cf |
參數集
(All)
| Position: | Named |
| 必要: | False |
| 來自管線的值: | False |
| 來自管線按屬性名稱的值: | False |
| 來自剩餘引數的值: | False |
-Force
取消所有的事件訂閱,包括使用 、Register-ObjectEvent和 Register-WmiEvent的 Register-EngineEvent 參數來隱藏的訂閱。
參數屬性
| 類型: | 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 傳送至此 cmdlet。
輸出
None
此 Cmdlet 不會傳回任何輸出。
備註
Linux 或macOS平台上沒有可用的事件來源。
事件、事件訂閱和事件佇列只存在於當前會話中。 如果您關閉當前的會話,事件佇列將被丟棄,事件訂閱將被取消。
除非您已使用 Unregister-Event Cmdlet 訂閱事件,否則 New-Event 無法刪除使用 Register-EngineEvent Cmdlet 所建立的事件。 若要從工作階段中刪除自訂事件,您必須以程式設計方式移除自定義事件或關閉作業階段。