New-Event
Skapar en ny händelse.
Syntax
New-Event
[-SourceIdentifier] <String>
[[-Sender] <PSObject>]
[[-EventArguments] <PSObject[]>]
[[-MessageData] <PSObject>]
[<CommonParameters>]
Description
Cmdleten New-Event
skapar en ny anpassad händelse.
Du kan använda anpassade händelser för att meddela användare om tillståndsändringar i programmet och eventuella ändringar som programmet kan identifiera, inklusive maskinvaru- eller systemvillkor, programstatus, diskstatus, nätverksstatus eller slutförande av ett bakgrundsjobb.
Anpassade händelser läggs automatiskt till i händelsekön i din session när de aktiveras. du behöver inte prenumerera på dem. Men om du vill vidarebefordra en händelse till den lokala sessionen eller ange en åtgärd för att svara på händelsen använder du cmdleten Register-EngineEvent
för att prenumerera på den anpassade händelsen.
När du prenumererar på en anpassad händelse läggs händelseprenumeranten till i sessionen. Om du avbryter händelseprenumerationen med hjälp av cmdleten Unregister-Event
tas händelseprenumeranten och den anpassade händelsen bort från sessionen. Om du inte prenumererar på den anpassade händelsen måste du ändra programvillkoren eller stänga PowerShell-sessionen om du vill ta bort händelsen.
Exempel
Exempel 1: Skapa en ny händelse i händelsekön
PS C:\> New-Event -SourceIdentifier Timer -Sender windows.timer -MessageData "Test"
Det här kommandot skapar en ny händelse i PowerShell-händelsekön. Den använder ett Windows.Timer-objekt för att skicka händelsen.
Exempel 2: Skapa en händelse som svar på en annan händelse
PS C:\> function Enable-ProcessCreationEvent
{
$Query = New-Object System.Management.WqlEventQuery "__InstanceCreationEvent", (New-Object TimeSpan 0,0,1), "TargetInstance isa 'Win32_Process'"
$ProcessWatcher = New-Object System.Management.ManagementEventWatcher $Query
$Identifier = "WMI.ProcessCreated"
Register-ObjectEvent $ProcessWatcher "EventArrived" -SupportEvent $Identifier -Action
{
[void] (New-Event -SourceID "PowerShell.ProcessCreated" -Sender $Args[0] -EventArguments $Args[1].SourceEventArgs.NewEvent.TargetInstance)
}
}
Den här exempelfunktionen använder cmdleten New-Event
för att skapa en händelse som svar på en annan händelse. Kommandot använder cmdleten Register-ObjectEvent
för att prenumerera på WMI-händelsen (Windows Management Instrumentation) som utlöses när en ny process skapas. Kommandot använder parametern Åtgärd för cmdleten för att anropa cmdleten New-Event
, som skapar den nya händelsen.
Eftersom händelser som New-Event
höjer läggs till automatiskt i PowerShell-händelsekön behöver du inte registrera dig för den händelsen.
Parametrar
-EventArguments
Anger ett objekt som innehåller alternativ för händelsen.
Typ: | PSObject[] |
Position: | 2 |
Standardvärde: | None |
Obligatorisk: | False |
Godkänn pipeline-indata: | False |
Godkänn jokertecken: | False |
-MessageData
Anger ytterligare data som är associerade med händelsen. Värdet för den här parametern visas i egenskapen MessageData för händelseobjektet.
Typ: | PSObject |
Position: | 3 |
Standardvärde: | None |
Obligatorisk: | False |
Godkänn pipeline-indata: | False |
Godkänn jokertecken: | False |
-Sender
Anger det objekt som genererar händelsen. Standardvärdet är PowerShell-motorn.
Typ: | PSObject |
Position: | 1 |
Standardvärde: | None |
Obligatorisk: | False |
Godkänn pipeline-indata: | False |
Godkänn jokertecken: | False |
-SourceIdentifier
Anger ett namn på den nya händelsen. Den här parametern krävs och måste vara unik i sessionen.
Värdet för den här parametern visas i egenskapen SourceIdentifier för händelserna.
Typ: | String |
Position: | 0 |
Standardvärde: | None |
Obligatorisk: | True |
Godkänn pipeline-indata: | False |
Godkänn jokertecken: | False |
Indata
None
Du kan inte skicka objekt till den här cmdleten.
Utdata
Kommentarer
Den nya anpassade händelsen, händelseprenumerationen och händelsekön finns bara i den aktuella sessionen. Om du stänger den aktuella sessionen ignoreras händelsekön och händelseprenumerationen avbryts.