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.
Típus: | PSObject[] |
Position: | 2 |
Alapértelmezett érték: | None |
Kötelező: | False |
Folyamatbemenet elfogadása: | False |
Helyettesítő karakterek elfogadása: | 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.
Típus: | PSObject |
Position: | 3 |
Alapértelmezett érték: | None |
Kötelező: | False |
Folyamatbemenet elfogadása: | False |
Helyettesítő karakterek elfogadása: | False |
-Sender
Megadja az eseményt jelölő objektumot. Az alapértelmezett a PowerShell-motor.
Típus: | PSObject |
Position: | 1 |
Alapértelmezett érték: | None |
Kötelező: | False |
Folyamatbemenet elfogadása: | False |
Helyettesítő karakterek elfogadása: | 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.
Típus: | String |
Position: | 0 |
Alapértelmezett érték: | None |
Kötelező: | True |
Folyamatbemenet elfogadása: | False |
Helyettesítő karakterek elfogadása: | False |
Bevitelek
None
Ehhez a parancsmaghoz nem lehet objektumokat csövezni.
Kimenetek
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.