Unregister-Event

取消事件訂閱。

Syntax

Unregister-Event
          [-SourceIdentifier] <String>
          [-Force]
          [-WhatIf]
          [-Confirm]
          [<CommonParameters>]
Unregister-Event
          [-SubscriptionId] <Int32>
          [-Force]
          [-WhatIf]
          [-Confirm]
          [<CommonParameters>]

Description

Cmdlet 會 Unregister-Event 取消使用 Register-EngineEventRegister-ObjectEventRegister-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 之前先提示您確認。

Type:SwitchParameter
Aliases:cf
Position:Named
Default value:False
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Force

取消所有事件訂閱,包括使用Register-WmiEventRegister-EngineEvent的 SupportEvent 參數隱藏的Register-ObjectEvent訂閱。

Type:SwitchParameter
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-SourceIdentifier

指定此 Cmdlet 取消事件訂閱的來源識別碼。

SourceIdentifierSubscriptionId 參數必須包含在每個命令中。

Type:String
Position:0
Default value:None
Required:True
Accept pipeline input:True
Accept wildcard characters:False

-SubscriptionId

指定此 Cmdlet 取消事件訂閱的來源識別碼。

SourceIdentifierSubscriptionId 參數必須包含在每個命令中。

Type:Int32
Position:0
Default value:None
Required:True
Accept pipeline input:True
Accept wildcard characters:False

-WhatIf

顯示執行 Cmdlet 後會發生的情況。 未執行 Cmdlet。

Type:SwitchParameter
Aliases:wi
Position:Named
Default value:False
Required:False
Accept pipeline input:False
Accept wildcard characters:False

輸入

PSEventSubscriber

您可以使用管線將輸出傳送 Get-EventSubscriber 至此 Cmdlet。

輸出

None

此 Cmdlet 不會傳回任何輸出。

備註

Linux 或macOS平台上沒有可用的事件來源。

事件、事件訂閱和事件佇列只存在於目前的會話中。 如果您關閉目前的會話,則會捨棄事件佇列,並取消事件訂閱。

Unregister-Event 除非您已使用 Cmdlet 訂閱事件,否則無法刪除使用 New-EventRegister-EngineEvent Cmdlet 所建立的事件。 若要從工作階段中刪除自訂事件,您必須以程式設計方式移除自定義事件或關閉作業階段。