Crea un nuovo evento.

Sintassi

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

Descrizione

Il cmdlet New-Event crea un nuovo evento personalizzato.

È possibile utilizzare eventi personalizzati per informare gli utenti dei cambiamenti di stato nel programma e di qualsiasi modifica che il programma è in grado di rilevare, incluse le condizioni dell'hardware o del sistema, lo stato dell'applicazione, lo stato del disco, lo stato di rete o il completamento di un processo in background.

Gli eventi personalizzati vengono aggiunti automaticamente alla coda degli eventi nella sessione indipendentemente da quando sono stati generati; non è necessario sottoscriverli. Tuttavia, se si desidera inoltrare un evento alla sessione locale o specificare un'azione per rispondere all'evento, utilizzare il cmdlet Register-EngineEvent per sottoscrivere l'evento personalizzato.

Quando si sottoscrive un evento personalizzato, il sottoscrittore di eventi viene aggiunto alla sessione. Se si annulla la sottoscrizione di eventi tramite il cmdlet Unregister-Event, il sottoscrittore di eventi e l'evento personalizzato vengono eliminati dalla sessione. Se non si sottoscrive l'evento personalizzato, per eliminare l'evento è necessario modificare le condizioni del programma o chiudere la sessione di Windows PowerShell.

Parametri

-EventArguments <PSObject[]>

Specifica un oggetto che contiene opzioni per l'evento.

Obbligatorio?

false

Posizione?

3

Valore predefinito

nessuno

Accettare input da pipeline?

false

Accettare caratteri jolly?

false

-MessageData <psobject>

Specifica dati aggiuntivi associati all'evento. Il valore di questo parametro viene visualizzato nella proprietà MessageData dell'oggetto evento.

Obbligatorio?

false

Posizione?

4

Valore predefinito

nessuno

Accettare input da pipeline?

false

Accettare caratteri jolly?

false

-Sender <psobject>

Specifica l'oggetto che genera l'evento. L'impostazione predefinita è il modulo di Windows PowerShell.

Obbligatorio?

false

Posizione?

2

Valore predefinito

nessuno

Accettare input da pipeline?

false

Accettare caratteri jolly?

false

-SourceIdentifier <string>

Specifica un nome per il nuovo evento. Questo parametro è obbligatorio ed è necessario che sia univoco nella sessione.

Il valore di questo parametro viene visualizzato nella proprietà SourceIdentifier degli eventi.

Obbligatorio?

true

Posizione?

1

Valore predefinito

Accettare input da pipeline?

false

Accettare caratteri jolly?

false

<CommonParameters>

Questo cmdlet supporta i parametri comuni -Verbose, -Debug, -ErrorAction, -ErrorVariable, -OutBuffer e -OutVariable. Per ulteriori informazioni, vedere about_Commonparameters.

Input e output

Il tipo di input è il tipo degli oggetti che è possibile reindirizzare al cmdlet. Il tipo restituito è il tipo degli oggetti restituiti dal cmdlet.

Input

Nessuno

Non è possibile reindirizzare l'input a questo cmdlet.

Output

System.Management.Automation.PSEventArgs

Note

Il nuovo evento personalizzato, la sottoscrizione di eventi e la coda degli eventi esistono solo nella sessione corrente. Se si chiude la sessione corrente, la coda degli eventi viene eliminata e la sottoscrizione di eventi viene annullata.

Esempio 1

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

Descrizione
-----------
Questo comando crea un nuovo evento nella coda degli eventi di Windows PowerShell. Utilizza un oggetto Windows.Timer per inviare l'evento.






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

Descrizione
-----------
Questa funzione di esempio utilizza il cmdlet New-Event per generare un evento in risposta a un altro evento. Il comando utilizza il cmdlet Register-ObjectEvent per sottoscrivere l'evento Strumentazione gestione Windows (WMI) generato quando viene creato un nuovo processo. Il comando utilizza il parametro Action del cmdlet per chiamare il cmdlet New-Event che crea il nuovo evento.

Poiché gli eventi generati da New-Event vengono aggiunti automaticamente alla coda degli eventi di Windows PowerShell, non è necessaria la registrazione di tale evento.






Vedere anche




Argomenti della Guida