取消事件订阅。

语法

Unregister-Event [-SubscriptionId] <int> [-Force] [-Confirm] [-WhatIf] [<CommonParameters>]

Unregister-Event [-SourceIdentifier] <string> [-Force] [-Confirm] [-WhatIf] [<CommonParameters>]

说明

Unregister-Event cmdlet 取消使用 Register-EngineEvent、Register-ObjectEvent 或 Register-WmiEvent cmdlet 创建的事件订阅。

在取消事件订阅后,系统会将事件订阅者从会话中删除,订阅的事件不再被添加到事件队列。当您取消使用 New-Event cmdlet 创建的事件订阅时,还会将新事件从会话中删除。

Unregister-Event 不会删除事件队列中的事件。若要删除事件,请使用 Remove-Event cmdlet。

参数

-Force

取消所有事件订阅,包括使用 Register-ObjectEvent、Register-WmiEvent 和 Register-EngineEvent 的 SupportEvent 参数隐藏的订阅。

是否为必需?

false

位置?

named

默认值

是否接受管道输入?

false

是否接受通配符?

false

-SourceIdentifier <string>

取消具有指定的源标识符的事件订阅。

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

是否为必需?

true

位置?

1

默认值

是否接受管道输入?

true (ByPropertyName)

是否接受通配符?

false

-SubscriptionId <int>

取消具有指定的订阅标识符的事件订阅。

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

是否为必需?

true

位置?

1

默认值

是否接受管道输入?

true (ByPropertyName)

是否接受通配符?

false

-Confirm

在执行命令之前提示您进行确认。

是否为必需?

false

位置?

named

默认值

是否接受管道输入?

false

是否接受通配符?

false

-WhatIf

描述如果执行该命令会发生什么情况(无需实际执行该命令)。

是否为必需?

false

位置?

named

默认值

是否接受管道输入?

false

是否接受通配符?

false

<CommonParameters>

此 cmdlet 支持通用参数:-Verbose、-Debug、-ErrorAction、-ErrorVariable、-OutBuffer 和 -OutVariable。有关详细信息,请参阅 about_Commonparameters.

输入和输出

输入类型是指可通过管道传递给 cmdlet 的对象的类型。返回类型是指 Cmdlet 所返回对象的类型。

输入

System.Management.Automation.PSEventSubscriber

您可以通过管道将 Get-EventSubscriber 的输出传递给 Unregister-Event。

输出

None

此 cmdlet 不返回任何输出。

说明

事件、事件订阅和事件队列仅存在于当前会话中。如果关闭当前会话,将丢弃事件队列并取消事件订阅。

Unregister-Event 无法删除使用 New-Event cmdlet 创建的事件,除非您已经使用 Register-EngineEvent cmdlet 订阅了该事件。若要从会话中删除自定义事件,您必须以编程方式删除事件或关闭会话。

示例 1

C:\PS>unregister-event -sourceIdentifier ProcessStarted

说明
-----------
此命令取消源标识符为“ProcessStarted”的事件订阅。

若要查找事件的源标识符,请使用 Get-Event cmdlet。若要查找事件订阅的源标识符,请使用 Get-EventSubscriber cmdlet。






示例 2

C:\PS>unregister-event -subscriptionId 2

说明
-----------
此命令取消订阅标识符为 2 的事件订阅。

若要查找事件订阅的订阅标识符,请使用 Get-EventSubscriber cmdlet。






示例 3

C:\PS>get-eventsubscriber -force | unregister-event -force

说明
-----------
此命令取消会话中的所有事件订阅。

此命令使用 Get-EventSubscriber cmdlet 获取会话中的所有事件订阅者对象,包括使用事件注册 cmdlet 的 SupportEvent 参数隐藏的订阅者。

它使用管道运算符 (|) 将事件订阅者对象发送到 Unregister-Event,后者将它们从会话中删除。若要完成该任务,还需要在 Unregister-Event 上使用Force 参数。






另请参阅




目录