Unregister-Event
Cancels an event subscription.
Syntax
BySource (Default)
Unregister-Event
[-SourceIdentifier] <String>
[-Force]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
ById
Unregister-Event
[-SubscriptionId] <Int32>
[-Force]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
Description
The Unregister-Event cmdlet cancels an event subscription that was created by using the
Register-EngineEvent, Register-ObjectEvent, or Register-WmiEvent cmdlet.
When an event subscription is canceled, the event subscriber is deleted from the session and the
subscribed events are no longer added to the event queue. When you cancel a subscription to an event
created by using the New-Event cmdlet, the new event is also deleted from the session.
Unregister-Event does not delete events from the event queue. To delete events, use the
Remove-Event cmdlet.
Examples
Example 1: Cancel an event subscription by source identifier
This command cancels the event subscription that has a source identifier of ProcessStarted.
Unregister-Event -SourceIdentifier "ProcessStarted"
To find the source identifier of an event, use the Get-Event cmdlet. To find the source identifier
of an event subscription, use the Get-EventSubscriber cmdlet
Example 2: Cancel an event subscription by subscription identifier
This command cancels the event subscription that has a subscription identifier of 2.
Unregister-Event -SubscriptionId 2
To find the subscription identifier of an event subscription, use the Get-EventSubscriber cmdlet.
Example 3: Cancel all event subscriptions
This example cancels all event subscriptions in the session.
Get-EventSubscriber -Force | Unregister-Event -Force
Using the Force parameter with Get-EventSubscriber gets all event subscriber objects in the
session, including the subscribers that are hidden. The output is piped to Unregister-Event, which
deletes the subscribers from the session. The Force parameter is required on Unregister-Event
to remove any hidden subscribers.
Parameters
-Confirm
Prompts you for confirmation before running the cmdlet.
Parameter properties
| Type: | SwitchParameter |
| Default value: | False |
| Supports wildcards: | False |
| DontShow: | False |
| Aliases: | cf |
Parameter sets
(All)
| Position: | Named |
| Mandatory: | False |
| Value from pipeline: | False |
| Value from pipeline by property name: | False |
| Value from remaining arguments: | False |
-Force
Cancels all event subscriptions, including subscriptions that were hidden by using the
SupportEvent parameter of Register-ObjectEvent, Register-WmiEvent, and
Register-EngineEvent.
Parameter properties
| Type: | SwitchParameter |
| Default value: | None |
| Supports wildcards: | False |
| DontShow: | False |
Parameter sets
(All)
| Position: | Named |
| Mandatory: | False |
| Value from pipeline: | False |
| Value from pipeline by property name: | False |
| Value from remaining arguments: | False |
-SourceIdentifier
Specifies a source identifier that this cmdlet cancels event subscriptions.
A SourceIdentifier or SubscriptionId parameter must be included in every command.
Parameter properties
| Type: | String |
| Default value: | None |
| Supports wildcards: | False |
| DontShow: | False |
Parameter sets
BySource
| Position: | 0 |
| Mandatory: | True |
| Value from pipeline: | False |
| Value from pipeline by property name: | True |
| Value from remaining arguments: | False |
-SubscriptionId
Specifies a source identifier ID that this cmdlet cancels event subscriptions.
A SourceIdentifier or SubscriptionId parameter must be included in every command.
Parameter properties
| Type: | Int32 |
| Default value: | None |
| Supports wildcards: | False |
| DontShow: | False |
Parameter sets
ById
| Position: | 0 |
| Mandatory: | True |
| Value from pipeline: | False |
| Value from pipeline by property name: | True |
| Value from remaining arguments: | False |
-WhatIf
Shows what would happen if the cmdlet runs. The cmdlet is not run.
Parameter properties
| Type: | SwitchParameter |
| Default value: | False |
| Supports wildcards: | False |
| DontShow: | False |
| Aliases: | wi |
Parameter sets
(All)
| Position: | Named |
| Mandatory: | False |
| Value from pipeline: | False |
| Value from pipeline by property name: | False |
| Value from remaining arguments: | False |
CommonParameters
This cmdlet supports the common parameters: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutBuffer, -OutVariable, -PipelineVariable, -ProgressAction, -Verbose, -WarningAction, and -WarningVariable. For more information, see about_CommonParameters.
Inputs
PSEventSubscriber
You can pipe the output from Get-EventSubscriber to this cmdlet.
Outputs
None
This cmdlet returns no output.
Notes
No event sources available on the Linux or macOS platforms.
Events, event subscriptions, and the event queue exist only in the current session. If you close the current session, the event queue is discarded and the event subscription is canceled.
Unregister-Event cannot delete events created by using the New-Event cmdlet unless you have
subscribed to the event by using the Register-EngineEvent cmdlet. To delete a custom event from
the session, you must remove it programmatically or close the session.