Register-EngineEvent
Se suscribe a eventos generados por el motor de Windows PowerShell y por el cmdlet New-Event.
Sintaxis
Default (valor predeterminado)
Register-EngineEvent
[-SourceIdentifier] <String>
[[-Action] <ScriptBlock>]
[-MessageData <PSObject>]
[-SupportEvent]
[-Forward]
[-MaxTriggerCount <Int32>]
[<CommonParameters>]
Description
El cmdlet Register-EngineEvent
Puede usar este cmdlet para suscribirse al evento y eventos del motor de salida generados por el cmdlet New-Event. Estos eventos se agregan automáticamente a la cola de eventos en la sesión sin suscribirse. Sin embargo, la suscripción le permite reenviar los eventos, especificar una acción para responder a los eventos y cancelar la suscripción.
Cuando se genera el evento suscrito, se agrega a la cola de eventos de su sesión. Para obtener eventos en la cola de eventos, use el cmdlet Get-Event.
Cuando se suscribe a un evento, se agrega un suscriptor de eventos a la sesión. Para obtener los suscriptores de eventos en la sesión, use el cmdlet Get-EventSubscriber. Para cancelar la suscripción, use el cmdlet Unregister-Event, que elimina el suscriptor de eventos de la sesión.
Ejemplos
Ejemplo 1: Registro de un evento de motor de PowerShell en equipos remotos
PS C:\> $S = New-PSSession -ComputerName "Server01, Server02"
PS C:\> Invoke-Command -Session $S { Register-EngineEvent -SourceIdentifier ([System.Management.Automation.PsEngineEvent]::Exiting) -Forward }
Este comando se registra para un evento del motor de Windows PowerShell en dos equipos remotos.
El primer comando crea una sesión administrada por el usuario (PSSession) en cada uno de los equipos remotos.
El segundo comando usa el cmdlet Invoke-Command para ejecutar el comando Register-EngineEvent en las sesiones remotas.
El comando Register-EngineEvent usa el parámetro SourceIdentifier para identificar el evento. Usa el parámetro Forward para reenviar los eventos de la sesión remota a la sesión local.
Ejemplo 2: Realizar una acción especificada cuando se produce el evento Exiting
PS C:\> Register-EngineEvent -SourceIdentifier PowerShell.Exiting -SupportEvent -Action {
Get-History | Export-Clixml $Home\history.clixml
}
Este comando muestra cómo ejecutar Register-EngineEvent para realizar una acción específica cuando se produce el evento PowerShell.Exiting. El parámetro SupportEvent se agrega para ocultar la suscripción de eventos. Cuando Se cierra Windows PowerShell, en este caso, el historial de comandos de la sesión de salida se exporta en formato XML a un nombre de archivo y una ruta de acceso en el directorio $Home del usuario.
Parámetros
-Action
Especifica los comandos para controlar los eventos. Los comandos de Action se ejecutan cuando se genera un evento, en lugar de enviar el evento a la cola de eventos. Incluya los comandos entre llaves ( { } ) para crear un bloque de script.
El valor del parámetro Action de
Al especificar una acción, Register-EngineEvent devuelve un objeto de trabajo de evento que representa esa acción. Puede usar los cmdlets de trabajo para administrar el trabajo de evento.
Propiedades de parámetro
| Tipo: | ScriptBlock |
| Valor predeterminado: | None |
| Admite caracteres comodín: | False |
| DontShow: | False |
Conjuntos de parámetros
(All)
| Posición: | 101 |
| Obligatorio: | False |
| Valor de la canalización: | False |
| Valor de la canalización por nombre de propiedad: | False |
| Valor de los argumentos restantes: | False |
-Forward
Indica que el cmdlet envía eventos de esta suscripción a la sesión en este equipo local. Use este parámetro cuando se registren eventos en un equipo remoto o en una sesión remota.
Propiedades de parámetro
| Tipo: | SwitchParameter |
| Valor predeterminado: | None |
| Admite caracteres comodín: | False |
| DontShow: | False |
Conjuntos de parámetros
(All)
| Posición: | Named |
| Obligatorio: | False |
| Valor de la canalización: | False |
| Valor de la canalización por nombre de propiedad: | False |
| Valor de los argumentos restantes: | False |
-MaxTriggerCount
Especifica el número máximo de desencadenadores.
El valor del parámetro Action de
Al especificar una acción, Register-EngineEvent devuelve un objeto de trabajo de evento que representa esa acción. Puede usar los cmdlets de trabajo para administrar el trabajo de evento.
Propiedades de parámetro
| Tipo: | Int32 |
| Valor predeterminado: | None |
| Admite caracteres comodín: | False |
| DontShow: | False |
Conjuntos de parámetros
(All)
| Posición: | Named |
| Obligatorio: | False |
| Valor de la canalización: | False |
| Valor de la canalización por nombre de propiedad: | False |
| Valor de los argumentos restantes: | False |
-MessageData
Especifica datos adicionales asociados al evento. El valor de este parámetro aparece en la propiedad MessageData del objeto de evento.
Propiedades de parámetro
| Tipo: | PSObject |
| Valor predeterminado: | None |
| Admite caracteres comodín: | False |
| DontShow: | False |
Conjuntos de parámetros
(All)
| Posición: | Named |
| Obligatorio: | False |
| Valor de la canalización: | False |
| Valor de la canalización por nombre de propiedad: | False |
| Valor de los argumentos restantes: | False |
-SourceIdentifier
Especifica el identificador de origen del evento al que se está suscribiendo. El identificador de origen debe ser único en la sesión actual. Este parámetro es obligatorio.
El valor de este parámetro aparece en el valor de la propiedad sourceIdentifier del objeto de suscriptor y de todos los objetos de evento asociados a esta suscripción.
Los valores de EngineEvent admitidos incluyen PowerShell.Exiting, PowerShell.OnIdle y PowerShell.OnScriptBlockInvoke.
Propiedades de parámetro
| Tipo: | String |
| Valor predeterminado: | None |
| Admite caracteres comodín: | False |
| DontShow: | False |
Conjuntos de parámetros
(All)
| Posición: | 100 |
| Obligatorio: | True |
| Valor de la canalización: | False |
| Valor de la canalización por nombre de propiedad: | False |
| Valor de los argumentos restantes: | False |
-SupportEvent
Indica que el cmdlet oculta la suscripción de eventos. Agregue este parámetro cuando la suscripción actual forme parte de un mecanismo de registro de eventos más complejo y no se debe detectar de forma independiente.
Para ver o cancelar una suscripción que se creó con el parámetro supportEvent
Propiedades de parámetro
| Tipo: | SwitchParameter |
| Valor predeterminado: | None |
| Admite caracteres comodín: | False |
| DontShow: | False |
Conjuntos de parámetros
(All)
| Posición: | Named |
| Obligatorio: | False |
| Valor de la canalización: | False |
| Valor de la canalización por nombre de propiedad: | False |
| Valor de los argumentos restantes: | False |
CommonParameters
Este cmdlet admite los parámetros comunes: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutBuffer, -OutVariable, -PipelineVariable, -ProgressAction, -Verbose, -WarningAction y -WarningVariable. Para obtener más información, vea about_CommonParameters.
Entradas
None
No se puede canalizar la entrada a Register-EngineEvent.
Salidas
None or System.Management.Automation.PSEventJob
Si usa el parámetro Action
Notas
Los eventos, las suscripciones de eventos y la cola de eventos solo existen en la sesión actual. Si se cierra la sesión actual, se descarta la fila de eventos y se cancela la suscripción al evento.