New-Event

Crée un événement.

Syntaxe

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

Description

L'applet de commande New-Event crée un événement personnalisé.

Vous pouvez utiliser des événements personnalisés pour notifier aux utilisateurs les modifications d'état de votre programme et tous les changements que votre programme peut détecter, notamment des conditions matérielles ou système, l'état des applications, l'état du disque, l'état du réseau ou l'achèvement d'une tâche en arrière-plan.

Les événements personnalisés sont automatiquement ajoutés à la file d'attente d'événements de votre session chaque fois qu'ils sont déclenchés ; vous n'avez pas besoin de vous y abonner. Toutefois, si vous souhaitez transférer un événement vers la session locale ou spécifier une action pour répondre à l'événement, utilisez l'applet de commande Register-EngineEvent pour vous abonner à l'événement personnalisé.

Lorsque vous vous abonnez à un événement personnalisé, l'abonné est ajouté à votre session. Si vous annulez l'abonnement à l'événement à l'aide de l'applet de commande Unregister-Event, l'abonné et l'événement personnalisé sont supprimés de la session. Si vous ne vous abonnez pas à l'événement personnalisé, pour supprimer cet événement, vous devez modifier les conditions du programme ou fermer la session Windows PowerShell.

Paramètres

-EventArguments <PSObject[]>

Spécifie un objet qui contient des options pour l'événement.

Obligatoire ?

false

Position ?

3

Valeur par défaut

aucun

Accepter l'entrée de pipeline ?

false

Accepter les caractères génériques ?

false

-MessageData <psobject>

Spécifie des données supplémentaires associées à l'événement. La valeur de ce paramètre apparaît dans la propriété MessageData de l'objet événement.

Obligatoire ?

false

Position ?

4

Valeur par défaut

aucun

Accepter l'entrée de pipeline ?

false

Accepter les caractères génériques ?

false

-Sender <psobject>

Spécifie l'objet qui déclenche l'événement. La valeur par défaut est le moteur Windows PowerShell.

Obligatoire ?

false

Position ?

2

Valeur par défaut

aucun

Accepter l'entrée de pipeline ?

false

Accepter les caractères génériques ?

false

-SourceIdentifier <string>

Spécifie le nom du nouvel événement. Ce paramètre est obligatoire et doit être unique dans la session.

La valeur de ce paramètre apparaît dans la propriété SourceIdentifier des événements.

Obligatoire ?

true

Position ?

1

Valeur par défaut

Accepter l'entrée de pipeline ?

false

Accepter les caractères génériques ?

false

<CommonParameters>

Cette applet de commande prend en charge les paramètres courants : -Verbose, -Debug, -ErrorAction, -ErrorVariable, -OutBuffer et -OutVariable. Pour plus d'informations, consultez about_Commonparameters.

Entrées et sorties

Le type d'entrée est le type des objets que vous pouvez diriger vers l'applet de commande. Le type de retour est le type des objets que l'applet de commande retourne.

Entrées

Aucun

Vous ne pouvez pas diriger d'entrée vers cette applet de commande.

Sorties

System.Management.Automation.PSEventArgs

Remarques

Le nouvel événement personnalisé, l'abonnement à l'événement et la file d'attente d'événements existent uniquement dans la session active. Si vous fermez cette session, la file d'attente d'événements est ignorée et l'abonnement à l'événement est annulé.

Exemple 1

C:\PS>new-event -sourceidentifier Timer -sender windows.timer  -messagedata "Test"

Description
-----------
Cette commande crée un événement dans la file d'attente d'événements de Windows PowerShell. Elle utilise un objet Windows.Timer pour envoyer l'événement.





Exemple 2

C:\PS>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) 
   } 
}

Description
-----------
Cet exemple de fonction utilise l'applet de commande New-Event pour déclencher un événement en réponse à un autre événement. La commande utilise l'applet de commande Register-ObjectEvent pour créer un abonnement à l'événement Windows Management Instrumentation (WMI) déclenché lorsqu'un nouveau processus est créé. Elle utilise le paramètre Action de l'applet de commande pour appeler l'applet de commande New-Event, qui crée l'événement.

Étant donné que les événements déclenchés par New-Event sont automatiquement ajoutés à la file d'attente d'événements de Windows PowerShell, vous n'avez pas besoin de vous inscrire à cet événement.





Voir aussi

Concepts

Register-ObjectEvent
Register-EngineEvent
Register-WmiEvent
Unregister-Event
Get-Event
Remove-Event
Wait-Event