Delen via


New-Event

Hiermee maakt u een nieuwe gebeurtenis.

Syntaxis

Default (Standaard)

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

Description

Met de cmdlet New-Event wordt een nieuwe aangepaste gebeurtenis gemaakt.

U kunt aangepaste gebeurtenissen gebruiken om gebruikers op de hoogte te stellen van statuswijzigingen in uw programma en elke wijziging die uw programma kan detecteren, waaronder hardware- of systeemvoorwaarden, toepassingsstatus, schijfstatus, netwerkstatus of voltooiing van een achtergrondtaak.

Aangepaste gebeurtenissen worden automatisch toegevoegd aan de gebeurteniswachtrij in uw sessie wanneer ze worden gegenereerd; U hoeft zich niet op hen te abonneren. Als u echter een gebeurtenis wilt doorsturen naar de lokale sessie of een actie wilt opgeven om op de gebeurtenis te reageren, gebruikt u de Register-EngineEvent-cmdlet om u te abonneren op de aangepaste gebeurtenis.

Wanneer u zich abonneert op een aangepaste gebeurtenis, wordt de gebeurtenisabonnee toegevoegd aan uw sessie. Als u het gebeurtenisabonnement annuleert met behulp van de cmdlet Unregister-Event, worden de gebeurtenisabonnee en de aangepaste gebeurtenis uit de sessie verwijderd. Als u zich niet abonneert op de aangepaste gebeurtenis, moet u de programmavoorwaarden wijzigen of de PowerShell-sessie sluiten om de gebeurtenis te verwijderen.

Voorbeelden

Voorbeeld 1: Een nieuwe gebeurtenis maken in de gebeurteniswachtrij

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

Met deze opdracht maakt u een nieuwe gebeurtenis in de PowerShell-gebeurteniswachtrij. Er wordt een Windows.Timer--object gebruikt om de gebeurtenis te verzenden.

Voorbeeld 2: Een gebeurtenis genereren als reactie op een andere gebeurtenis

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

Deze voorbeeldfunctie maakt gebruik van de cmdlet New-Event om een gebeurtenis te genereren als reactie op een andere gebeurtenis. De opdracht gebruikt de Register-ObjectEvent-cmdlet om u in te schrijven voor de WMI-gebeurtenis (Windows Management Instrumentation) die wordt geactiveerd wanneer een nieuw proces wordt gecreƫerd. De opdracht maakt gebruik van de parameter Action van de cmdlet om de New-Event cmdlet aan te roepen, waarmee de nieuwe gebeurtenis wordt gemaakt.

Omdat de gebeurtenissen die New-Event gegenereerd automatisch worden toegevoegd aan de PowerShell-gebeurteniswachtrij, hoeft u zich niet te registreren voor die gebeurtenis.

Parameters

-EventArguments

Hiermee geeft u een object op dat opties voor de gebeurtenis bevat.

Parametereigenschappen

Type:

PSObject[]

Default value:None
Ondersteunt jokertekens:False
DontShow:False

Parametersets

(All)
Position:2
Verplicht:False
Waarde uit pijplijn:False
Waarde uit pijplijn op eigenschapsnaam:False
Waarde van resterende argumenten:False

-MessageData

Hiermee geeft u aanvullende gegevens op die zijn gekoppeld aan de gebeurtenis. De waarde van deze parameter wordt weergegeven in de eigenschap MessageData van het gebeurtenisobject.

Parametereigenschappen

Type:PSObject
Default value:None
Ondersteunt jokertekens:False
DontShow:False

Parametersets

(All)
Position:3
Verplicht:False
Waarde uit pijplijn:False
Waarde uit pijplijn op eigenschapsnaam:False
Waarde van resterende argumenten:False

-Sender

Hiermee geeft u het object op dat de gebeurtenis genereert. De standaardwaarde is de PowerShell-engine.

Parametereigenschappen

Type:PSObject
Default value:None
Ondersteunt jokertekens:False
DontShow:False

Parametersets

(All)
Position:1
Verplicht:False
Waarde uit pijplijn:False
Waarde uit pijplijn op eigenschapsnaam:False
Waarde van resterende argumenten:False

-SourceIdentifier

Hiermee geeft u een naam voor de nieuwe gebeurtenis. Deze parameter is vereist en moet uniek zijn in de sessie.

De waarde van deze parameter wordt weergegeven in de eigenschap SourceIdentifier van de gebeurtenissen.

Parametereigenschappen

Type:String
Default value:None
Ondersteunt jokertekens:False
DontShow:False

Parametersets

(All)
Position:0
Verplicht:True
Waarde uit pijplijn:False
Waarde uit pijplijn op eigenschapsnaam:False
Waarde van resterende argumenten:False

CommonParameters

Deze cmdlet ondersteunt de algemene parameters: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutBuffer, -OutVariable, -PipelineVariable, -ProgressAction, -Verbose, -WarningAction en -WarningVariable. Zie about_CommonParametersvoor meer informatie.

Invoerwaarden

None

U kunt geen objecten doorsluisen naar deze cmdlet.

Uitvoerwaarden

PSEventArgs

Notities

Er zijn geen gebeurtenisbronnen beschikbaar op de Linux- of macOS-platforms.

De nieuwe aangepaste gebeurtenis, het gebeurtenisabonnement en de gebeurteniswachtrij bestaan alleen in de huidige sessie. Als u de huidige sessie sluit, wordt de gebeurteniswachtrij verwijderd en wordt het gebeurtenisabonnement geannuleerd.