New-Event

Új eseményt hoz létre.

Syntax

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

Description

A New-Event parancsmag létrehoz egy új egyéni eseményt.

Egyéni események használatával értesítheti a felhasználókat a program állapotváltozásairól és minden olyan változásról, amelyet a program észlelhet, beleértve a hardver- vagy rendszerfeltételeket, az alkalmazás állapotát, a lemez állapotát, a hálózati állapotot vagy egy háttérfeladat befejezését.

Az egyéni események automatikusan hozzáadódnak az eseménysorhoz a munkamenetben, amikor azok előkerülnek; nem kell feliratkoznia rájuk. Ha azonban egy eseményt a helyi munkamenetbe szeretne továbbítani, vagy meg szeretne adni egy műveletet az eseményre való reagáláshoz, a Register-EngineEvent parancsmaggal előfizethet az egyéni eseményre.

Amikor feliratkozik egy egyéni eseményre, az esemény-előfizető hozzá lesz adva a munkamenethez. Ha a parancsmaggal megszakítja az Unregister-Event esemény-előfizetést, az esemény-előfizető és az egyéni esemény törlődik a munkamenetből. Ha nem iratkozott fel az egyéni eseményre, az esemény törléséhez módosítania kell a programfeltételeket, vagy be kell zárnia a PowerShell-munkamenetet.

Példák

1. példa: Új esemény létrehozása az eseménysorban

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

Ez a parancs létrehoz egy új eseményt a PowerShell-eseménysorban. Egy Windows.Timer objektummal küldi el az eseményt.

2. példa: Esemény létrehozása egy másik eseményre válaszul

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

Ez a mintafüggvény a New-Event parancsmaggal hoz létre egy eseményt egy másik eseményre válaszul. A parancs a Register-ObjectEvent parancsmaggal feliratkozik a Windows Management Instrumentation (WMI) eseményre, amely egy új folyamat létrehozásakor jön létre. A parancs a parancsmag Művelet paraméterével hívja meg a New-Event parancsmagot, amely létrehozza az új eseményt.

Mivel a rendszer automatikusan hozzáadja az eseményeket New-Event a PowerShell-eseménysorhoz, nem kell regisztrálnia az eseményre.

Paraméterek

-EventArguments

Olyan objektumot ad meg, amely az esemény beállításait tartalmazza.

Type:PSObject[]
Position:2
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-MessageData

Az eseményhez társított további adatokat adja meg. Ennek a paraméternek az értéke az eseményobjektum MessageData tulajdonságában jelenik meg.

Type:PSObject
Position:3
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Sender

Megadja az eseményt jelölő objektumot. Az alapértelmezett a PowerShell-motor.

Type:PSObject
Position:1
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-SourceIdentifier

Megadja az új esemény nevét. Ez a paraméter kötelező, és egyedinek kell lennie a munkamenetben.

Ennek a paraméternek az értéke az események SourceIdentifier tulajdonságában jelenik meg.

Type:String
Position:0
Default value:None
Required:True
Accept pipeline input:False
Accept wildcard characters:False

Bevitelek

None

Ehhez a parancsmaghoz nem lehet objektumokat csövezni.

Kimenetek

PSEventArgs

Jegyzetek

Linux vagy macOS platformokon nem érhetők el eseményforrások.

Az új egyéni esemény, az esemény-előfizetés és az eseménysor csak az aktuális munkamenetben létezik. Ha bezárja az aktuális munkamenetet, a rendszer elveti az eseménysort, és megszakítja az esemény-előfizetést.