Unregister-Event

取消事件订阅。

语法

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

说明

Unregister-Event cmdlet 取消使用 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-ObjectEventRegister-WmiEventRegister-EngineEventSupportEvent 参数隐藏的订阅。

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

-SourceIdentifier

指定此 cmdlet 取消事件订阅的源标识符。

必须在每个命令中都包含 SourceIdentifier 或 SubscriptionId 参数。

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

-SubscriptionId

指定此 cmdlet 取消事件订阅的源标识符 ID。

必须在每个命令中都包含 SourceIdentifier 或 SubscriptionId 参数。

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 无法删除使用 New-Event cmdlet 创建的事件,除非你已使用 Register-EngineEvent cmdlet 订阅该事件。 若要从会话中删除自定义事件,必须以编程方式删除事件或关闭会话。