取消事件订阅。
语法
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 参数。
另请参阅