Compartir a través de


Register-CimIndicationEvent

Se suscribe a indicaciones mediante una expresión de filtro o una expresión de consulta.

Sintaxis

Register-CimIndicationEvent
        [-Namespace <String>]
        [-ClassName] <String>
        [-OperationTimeoutSec <UInt32>]
        [-ComputerName <String>]
        [[-SourceIdentifier] <String>]
        [[-Action] <ScriptBlock>]
        [-MessageData <PSObject>]
        [-SupportEvent]
        [-Forward]
        [-MaxTriggerCount <Int32>]
        [<CommonParameters>]
Register-CimIndicationEvent
        [-Namespace <String>]
        [-ClassName] <String>
        [-OperationTimeoutSec <UInt32>]
        -CimSession <CimSession>
        [[-SourceIdentifier] <String>]
        [[-Action] <ScriptBlock>]
        [-MessageData <PSObject>]
        [-SupportEvent]
        [-Forward]
        [-MaxTriggerCount <Int32>]
        [<CommonParameters>]
Register-CimIndicationEvent
        [-Namespace <String>]
        [-Query] <String>
        [-QueryDialect <String>]
        [-OperationTimeoutSec <UInt32>]
        -CimSession <CimSession>
        [[-SourceIdentifier] <String>]
        [[-Action] <ScriptBlock>]
        [-MessageData <PSObject>]
        [-SupportEvent]
        [-Forward]
        [-MaxTriggerCount <Int32>]
        [<CommonParameters>]
Register-CimIndicationEvent
        [-Namespace <String>]
        [-Query] <String>
        [-QueryDialect <String>]
        [-OperationTimeoutSec <UInt32>]
        [-ComputerName <String>]
        [[-SourceIdentifier] <String>]
        [[-Action] <ScriptBlock>]
        [-MessageData <PSObject>]
        [-SupportEvent]
        [-Forward]
        [-MaxTriggerCount <Int32>]
        [<CommonParameters>]

Description

Este cmdlet solo está disponible en la plataforma Windows.

El Register-CimIndicationEvent cmdlet se suscribe a indicaciones mediante un nombre de clase de indicación o una expresión de consulta. Use el parámetro SourceIdentifier para asignar un nombre a la suscripción.

Este cmdlet devuelve un objeto EventSubscription . Puede usar este objeto para cancelar la suscripción.

Ejemplos

Ejemplo 1: Registrar los eventos generados por una clase

En este ejemplo se suscribe a los eventos generados por la clase denominada Win32_ProcessStartTrace. Esta clase genera un evento cada vez que se inicia un proceso.

Register-CimIndicationEvent -ClassName 'Win32_ProcessStartTrace' -SourceIdentifier "ProcessStarted"
Get-Event -SourceIdentifier "ProcessStarted"

El Get-Event cmdlet obtiene los eventos con la suscripción ProcessStarted . Para obtener más información, vea Get-Event.

Nota:

En este ejemplo, debe ejecutar PowerShell como administrador.

Ejemplo 2: Registrar los eventos mediante una consulta

En este ejemplo se usa una consulta para suscribirse a un evento generado siempre que haya un cambio en la instancia de una clase denominada Win32_LocalTime.

$query = "SELECT * FROM CIM_InstModification WHERE TargetInstance ISA 'Win32_LocalTime'"
Register-CimIndicationEvent -Query $query -SourceIdentifier "Timer"

Ejemplo 3: Ejecutar un script cuando llegue el evento

En este ejemplo se muestra cómo usar una acción en respuesta a un evento. La variable $action contiene el bloque de script para Action, que usa la $event variable para acceder al evento recibido de CIM.

$action = {
  $name = $event.SourceEventArgs.NewEvent.ProcessName
  $id = $event.SourceEventArgs.NewEvent.ProcessId
  Write-Host -Object "New Process Started : Name = $name
 ID = $id"
}
Register-CimIndicationEvent -ClassName 'Win32_ProcessStartTrace' -SourceIdentifier "ProcessStarted" -Action $action

Para obtener más información, consulte Win32_ProcessStartTrace.

Ejemplo 4: Registrar los eventos en un equipo remoto

En este ejemplo se suscribe a eventos en un equipo remoto denominado Server01. Los eventos recibidos del servidor CIM se almacenan en la cola de eventos de la sesión actual de PowerShell y, a continuación, ejecutan un local Get-Event para recuperar los eventos.

Register-CimIndicationEvent -ClassName 'Win32_ProcessStartTrace' -SourceIdentifier "ProcessStarted" -ComputerName Server01
Get-Event -SourceIdentifier "ProcessStarted"

Parámetros

-Action

Especifica los comandos que controlan los eventos. Los comandos especificados por este parámetro 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 bloque de script especificado con Action puede incluir las $Eventvariables automáticas , $EventSubscriber, $Sender, $SourceEventArgsy $SourceArgs , que proporcionan información sobre el evento al bloque De script de acción . Para obtener más información, vea Acerca de las variables automáticas.

Tipo:ScriptBlock
Posición:1
Valor predeterminado:None
Requerido:False
Aceptar entrada de canalización:False
Aceptar caracteres comodín:False

-CimSession

Ejecuta el comando mediante la sesión CIM especificada. Escriba una variable que contenga la sesión CIM o un comando que cree o obtenga la sesión CIM, como los New-CimSession cmdlets o Get-CimSession . Para obtener más información, consulte about_CimSession.

Tipo:CimSession
Posición:Named
Valor predeterminado:None
Requerido:True
Aceptar entrada de canalización:False
Aceptar caracteres comodín:False

-ClassName

Especifica la clase de indicación a la que se está suscribiendo. Puede usar la finalización de tabulación para examinar la lista de clases, ya que PowerShell obtiene una lista de clases del servidor WMI local para proporcionar una lista de nombres de clase.

Tipo:String
Posición:0
Valor predeterminado:None
Requerido:True
Aceptar entrada de canalización:False
Aceptar caracteres comodín:False

-ComputerName

Especifica el nombre del equipo en el que desea ejecutar la operación CIM. Puede especificar un nombre de dominio completo (FQDN), un nombre NetBIOS o una dirección IP.

Si especifica este parámetro, el cmdlet crea una sesión temporal en el equipo especificado mediante el protocolo WsMan. Si no especifica este parámetro, el cmdlet realiza la operación en el sistema local mediante el modelo de objetos componentes (COM).

Si se realizan varias operaciones en el mismo equipo, conéctese mediante una sesión CIM para mejorar el rendimiento.

Tipo:String
Alias:CN, ServerName
Posición:Named
Valor predeterminado:None
Requerido:False
Aceptar entrada de canalización:False
Aceptar caracteres comodín:False

-Forward

Indica que los eventos de la suscripción se reenvieron a la sesión en el equipo local. Utilice este parámetro cuando se registre en eventos de un equipo remoto o de una sesión remota.

Tipo:SwitchParameter
Posición:Named
Valor predeterminado:None
Requerido:False
Aceptar entrada de canalización:False
Aceptar caracteres comodín:False

-MaxTriggerCount

Parámetro para indicar que el suscriptor se debe anular automáticamente el registro después de que se desencadene durante horas especificadas. Si el valor es igual o menor que cero, no hay ningún límite en el número de veces que se puede desencadenar el evento sin que se anule el registro.

Tipo:Int32
Posición:Named
Valor predeterminado:None
Requerido:False
Aceptar entrada de canalización:False
Aceptar caracteres comodín:False

-MessageData

Especifica los datos adicionales que se van a asociar a esta suscripción de eventos. El valor de este parámetro aparece en la propiedad MessageData de todos los eventos asociados a esta suscripción.

Tipo:PSObject
Posición:Named
Valor predeterminado:None
Requerido:False
Aceptar entrada de canalización:False
Aceptar caracteres comodín:False

-Namespace

Especifica el espacio de nombres para la operación CIM. El espacio de nombres predeterminado es root/cimv2. Puede usar la finalización de tabulación para examinar la lista de espacios de nombres, ya que PowerShell obtiene una lista de espacios de nombres del servidor WMI local para proporcionar la lista de espacios de nombres.

Tipo:String
Posición:Named
Valor predeterminado:None
Requerido:False
Aceptar entrada de canalización:False
Aceptar caracteres comodín:False

-OperationTimeoutSec

Especifica la cantidad de tiempo que el cmdlet espera una respuesta del equipo. De forma predeterminada, el valor de este parámetro es 0, lo que significa que el cmdlet usa el valor de tiempo de espera predeterminado para el servidor.

Si el parámetro OperationTimeoutSec se establece en un valor menor que el tiempo de espera de reintento de conexión sólido de 3 minutos, los errores de red que duran más que el valor del parámetro OperationTimeoutSec no se pueden recuperar, ya que la operación en el servidor agota el tiempo de espera antes de que el cliente pueda volver a conectarse.

Tipo:UInt32
Alias:OT
Posición:Named
Valor predeterminado:None
Requerido:False
Aceptar entrada de canalización:False
Aceptar caracteres comodín:False

-Query

Especifica una consulta que se va a ejecutar en el servidor CIM. Si el valor especificado contiene comillas "dobles, comillas 'simples o una barra diagonal inversa \, debe escapar esos caracteres prefijos con el carácter de barra diagonal inversa. Si el valor especificado usa el operador WQL LIKE, debe escapar los caracteres siguientes entre corchetes []: porcentaje %, subrayado _o corchete [de apertura.

Tipo:String
Posición:0
Valor predeterminado:None
Requerido:True
Aceptar entrada de canalización:False
Aceptar caracteres comodín:False

-QueryDialect

Especifica el lenguaje de consulta usado para el parámetro Query . Los valores aceptables para este parámetro son: WQL o CQL. El valor predeterminado es WQL.

Tipo:String
Posición:Named
Valor predeterminado:WQL
Requerido:False
Aceptar entrada de canalización:False
Aceptar caracteres comodín:False

-SourceIdentifier

Especifica un nombre para la suscripción. El nombre que especifique debe ser único en la sesión actual. El valor predeterminado es un GUID que Asigna PowerShell. Este valor aparece en el valor de la propiedad SourceIdentifier del objeto subscriber y de todos los objetos de evento asociados a esta suscripción.

Tipo:String
Posición:1
Valor predeterminado:None
Requerido:False
Aceptar entrada de canalización:False
Aceptar caracteres comodín:False

-SupportEvent

Indica que la suscripción de eventos está oculta. Utilice este parámetro cuando la suscripción actual forme parte de un mecanismo de registro de eventos más complejo y no deba detectarse de forma independiente.

Tipo:SwitchParameter
Posición:Named
Valor predeterminado:None
Requerido:False
Aceptar entrada de canalización:False
Aceptar caracteres comodín:False

Entradas

None

No se pueden canalizar objetos a este cmdlet.

Salidas

Object

Este cmdlet devuelve un objeto EventSubscription .

Notas

PowerShell incluye los siguientes alias para Register-CimIndicationEvent:

  • Windows:
    • rcie

Este cmdlet solo está disponible en plataformas Windows.