Crea un nuevo evento.
Sintaxis
New-Event [-SourceIdentifier] <string> [[-Sender] <psobject>] [[-EventArguments] <PSObject[]>] [[-MessageData] <psobject>] [<CommonParameters>]
Descripción
El cmdlet New-Event crea un nuevo evento personalizado.
Puede utilizar eventos personalizados para notificar a los usuarios los cambios de estado del programa así como cualquier cambio que el programa pueda detectar, incluidos las condiciones del hardware y 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.
Cuando se generan, los eventos personalizados se agregan automáticamente a la cola de eventos de la sesión; 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, utilice el cmdlet Register-EngineEvent para suscribirse al evento personalizado.
Al suscribirse a un evento personalizado, se agrega el suscriptor de eventos a la sesión. Si cancela la suscripción mediante el cmdlet Unregister-Event, se eliminan el suscriptor de eventos y el evento personalizado de la sesión. Si no se suscribe al evento personalizado, deberá cambiar las condiciones del programa o cerrar la sesión de Windows PowerShell para poder eliminar el evento.
Parámetros
-EventArguments <PSObject[]>
Especifica un objeto que contiene opciones para el evento.
¿Requerido? |
false |
¿Posición? |
3 |
Valor predeterminado |
ninguno |
¿Aceptar canalización? |
false |
¿Aceptar caracteres comodín? |
false |
-MessageData <psobject>
Especifica datos adicionales que están asociados al evento. El valor de este parámetro aparece en la propiedad MessageData del objeto de evento.
¿Requerido? |
false |
¿Posición? |
4 |
Valor predeterminado |
ninguno |
¿Aceptar canalización? |
false |
¿Aceptar caracteres comodín? |
false |
-Sender <psobject>
Especifica el objeto que genera el evento. El valor predeterminado es el motor de Windows PowerShell.
¿Requerido? |
false |
¿Posición? |
2 |
Valor predeterminado |
ninguno |
¿Aceptar canalización? |
false |
¿Aceptar caracteres comodín? |
false |
-SourceIdentifier <string>
Especifica un nombre para el 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.
¿Requerido? |
true |
¿Posición? |
1 |
Valor predeterminado |
|
¿Aceptar canalización? |
false |
¿Aceptar caracteres comodín? |
false |
<CommonParameters>
Este cmdlet admite los parámetros comunes: -Verbose, -Debug, -ErrorAction, -ErrorVariable, -OutBuffer y -OutVariable. Para obtener más información, vea about_Commonparameters.
Entradas y salidas
El tipo de entrada es el tipo de los objetos que se pueden canalizar al cmdlet. El tipo devuelto es el tipo de los objetos que el cmdlet devuelve.
Entradas |
Ninguno No se pueden canalizar entradas a este cmdlet. |
Salidas |
System.Management.Automation.PSEventArgs |
Notas
El nuevo evento personalizado, la suscripción de eventos y la cola de eventos existen únicamente en la sesión actual. Si cierra la sesión actual, se descartará la cola de eventos y se cancelará la suscripción de eventos.
Ejemplo 1
C:\PS>new-event -sourceidentifier Timer -sender windows.timer -messagedata "Test" Descripción ----------- Este comando crea un nuevo evento en la cola de eventos de Windows PowerShell. Utiliza un objeto Windows.Timer para enviar el evento.
Ejemplo 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) } } Descripción ----------- Esta función de ejemplo utiliza el cmdlet New-Event para generar un evento en respuesta a otro evento. El comando utiliza el cmdlet Register-ObjectEvent para suscribirse al evento de Instrumental de administración de Windows (WMI) que se provoca cuando se crea un nuevo proceso. El comando utiliza el parámetro Action del cmdlet para llamar al cmdlet New-Event, que crea el nuevo evento. Dado que los eventos generados por New-Event se agregan automáticamente a la cola de eventos de Windows PowerShell, no es necesario registrarse para ese evento.
Vea también