Sdílet prostřednictvím


New-Event

Vytvoří novou událost.

Syntax

Default (Výchozí)

New-Event
    [-SourceIdentifier] <String>
    [[-Sender] <PSObject>]
    [[-EventArguments] <PSObject[]>]
    [[-MessageData] <PSObject>]
    [<CommonParameters>]

Description

Rutina New-Event vytvoří novou vlastní událost.

Pomocí vlastních událostí můžete uživatele informovat o změnách stavu v programu a o všech změnách, které může program detekovat, včetně stavu hardwaru nebo systému, stavu aplikace, stavu disku, stavu sítě nebo dokončení úlohy na pozadí.

Vlastní události se automaticky přidají do fronty událostí ve vaší relaci při každém vyvolání; nemusíte se přihlásit k jejich odběru. Pokud ale chcete událost přeposlat do místní relace nebo zadat akci, která má na událost reagovat, použijte rutinu Register-EngineEvent k přihlášení k odběru vlastní události.

Když se přihlásíte k odběru vlastní události, odběratel události se přidá do vaší relace. Pokud zrušíte odběr událostí pomocí rutiny Unregister-Event, odběratel události a vlastní událost se z relace odstraní. Pokud se k odběru vlastní události nepřihlásíte, musíte změnit podmínky programu nebo zavřít relaci Prostředí Windows PowerShell.

Příklady

Příklad 1: Vytvoření nové události ve frontě událostí

PS C:\> New-Event -SourceIdentifier Timer -Sender windows.timer -MessageData "Test"

Tento příkaz vytvoří novou událost ve frontě událostí Windows PowerShellu. K odeslání události používá objekt Windows.Timer.

Příklad 2: Vyvolání události v reakci na jinou událost

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)
   }
}

Tato ukázková funkce používá rutinu New-Event k vyvolání události v reakci na jinou událost. Příkaz používá rutinu Register-ObjectEvent k přihlášení k odběru události WMI (Windows Management Instrumentation), která se vyvolá při vytvoření nového procesu. Příkaz používá parametr Action rutiny k volání rutiny New-Event, která vytvoří novou událost.

Vzhledem k tomu, že události, které new-event vyvolává, se automaticky přidají do fronty Prostředí Windows PowerShellevent, není nutné se pro tuto událost registrovat.

Parametry

-EventArguments

Určuje objekt, který obsahuje možnosti události.

Vlastnosti parametru

Typ:

PSObject[]

Default value:None
Podporuje zástupné znaky:False
DontShow:False

Sady parametrů

(All)
Position:2
Povinné:False
Hodnota z kanálu:False
Hodnota z kanálu podle názvu vlastnosti:False
Hodnota ze zbývajících argumentů:False

-MessageData

Určuje další data přidružená k události. Hodnota tohoto parametru se zobrazí ve vlastnosti MessageData objektu události.

Vlastnosti parametru

Typ:PSObject
Default value:None
Podporuje zástupné znaky:False
DontShow:False

Sady parametrů

(All)
Position:3
Povinné:False
Hodnota z kanálu:False
Hodnota z kanálu podle názvu vlastnosti:False
Hodnota ze zbývajících argumentů:False

-Sender

Určuje objekt, který vyvolá událost. Výchozí hodnotou je modul Windows PowerShellu.

Vlastnosti parametru

Typ:PSObject
Default value:None
Podporuje zástupné znaky:False
DontShow:False

Sady parametrů

(All)
Position:1
Povinné:False
Hodnota z kanálu:False
Hodnota z kanálu podle názvu vlastnosti:False
Hodnota ze zbývajících argumentů:False

-SourceIdentifier

Určuje název nové události. Tento parametr je povinný a v relaci musí být jedinečný.

Hodnota tohoto parametru se zobrazí ve vlastnosti SourceIdentifier události.

Vlastnosti parametru

Typ:String
Default value:None
Podporuje zástupné znaky:False
DontShow:False

Sady parametrů

(All)
Position:0
Povinné:True
Hodnota z kanálu:False
Hodnota z kanálu podle názvu vlastnosti:False
Hodnota ze zbývajících argumentů:False

CommonParameters

Tato rutina podporuje běžné parametry: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutBuffer, -OutVariable, -PipelineVariable, -ProgressAction, -Verbose, -WarningAction a -WarningVariable. Další informace najdete v about_CommonParameters.

Vstupy

None

Vstup do této rutiny nelze převést.

Výstupy

PSEventArgs

Poznámky

Nová vlastní událost, odběr událostí a fronta událostí existují pouze v aktuální relaci. Pokud zavřete aktuální sezení, fronta událostí se vyprázdní a odběr události se zruší.