New-Event

Crea un evento.

Syntax

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

Description

El New-Event cmdlet crea un nuevo evento personalizado.

Los eventos personalizados se pueden usar para informar a los usuarios de los cambios de estado en el programa y de cualquier cambio que puede detectar el programa, como el estado del hardware o del sistema, el estado de la aplicación, el estado del disco, el estado de la red o la finalización de un trabajo en segundo plano.

Los eventos personalizados se agregan automáticamente a la cola de eventos en la sesión cada vez que se generan. No es necesario suscribirse a ellos. Sin embargo, si desea reenviar un evento a la sesión local o especificar una acción para responder al evento, use el Register-EngineEvent cmdlet para suscribirse al evento personalizado.

Cuando se suscribe a un evento personalizado, el suscriptor de eventos se agrega a la sesión. Si cancela la suscripción de eventos mediante el Unregister-Event cmdlet , el suscriptor de eventos y el evento personalizado se eliminan de la sesión. Si no se suscribe al evento personalizado, para eliminar el evento, debe cambiar las condiciones del programa o cerrar la sesión de PowerShell.

Ejemplos

Ejemplo 1: Creación de un nuevo evento en la cola de eventos

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

Este comando crea un nuevo evento en la cola de eventos de PowerShell. Usa un objeto Windows.Timer para enviar el evento.

Ejemplo 2: Generar un evento en respuesta a otro evento

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

Esta función de ejemplo usa el New-Event cmdlet para generar un evento en respuesta a otro evento. El comando usa el Register-ObjectEvent cmdlet para suscribirse al evento Instrumental de administración de Windows (WMI) que se genera cuando se crea un nuevo proceso. El comando usa el parámetro Action del cmdlet para llamar al New-Event cmdlet , que crea el nuevo evento.

Dado que los eventos que New-Event genera se agregan automáticamente a la cola de eventos de PowerShell, no es necesario registrarse para ese evento.

Parámetros

-EventArguments

Especifica un objeto que contiene las opciones del evento.

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

-MessageData

Especifica información adicional asociada al evento. El valor de este parámetro aparece en la propiedad MessageData del objeto de evento.

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

-Sender

Especifica el objeto que genera el evento. El valor predeterminado es el motor de PowerShell.

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

-SourceIdentifier

Escribe el nombre del nuevo evento. Este parámetro es obligatorio y debe ser único en la sesión.

El valor de este parámetro aparece en la propiedad SourceIdentifier de los eventos.

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

Entradas

None

No se pueden canalizar objetos a este cmdlet.

Salidas

PSEventArgs

Notas

No hay orígenes de eventos disponibles en las plataformas Linux o macOS.

El nuevo evento personalizado, la suscripción al evento y la cola de eventos solo existen en la sesión actual. Si la cierra, la cola de eventos se descartará y la suscripción al evento se cancelará.