Share via


Clase ActiveScriptEventConsumer

La clase ActiveScriptEventConsumer ejecuta un script predefinido en un lenguaje de scripting arbitrario cuando se entrega un evento. Esta clase es uno de los consumidores de eventos estándar que proporciona WMI. Para más información, consulte Supervisión y respuesta a eventos con consumidores estándar.

Mofcomp -n:root\<namespace> scrcons.mof

El rendimiento de todas las instancias de ActiveScriptEventConsumer se puede configurar en un sistema estableciendo los valores de la propiedad Timeout o MaximumScripts en una sola instancia de ScriptingStandardConsumerSetting.

Sintaxis

[AMENDMENT]
class ActiveScriptEventConsumer : __EventConsumer
{
  uint8  CreatorSID[] = {1,1,0,0,0,0,0,5,18,0,0,0};
  uint32 KillTimeout = 0;
  string MachineName;
  uint32 MaximumQueueSize;
  string Name;
  string ScriptingEngine;
  string ScriptFileName;
  string ScriptText;
};

Miembros

La clase LogFileEventConsumer tiene estos tipos de miembros:

Propiedades

La clase ActiveScriptEventConsumer tiene estas propiedades.

CreatorSID

Tipo de datos: matriz uint8

Tipo de acceso: solo lectura

Matriz que representa el identificador de seguridad (SID), que identifica de forma única al creador del consumidor de eventos del script activo. Esta propiedad se hereda de __EventConsumer.

KillTimeout

Tipo de datos: uint32

Tipo de acceso: solo lectura

Número de segundos que el script puede ejecutarse. Si es 0 (cero), que es el valor predeterminado, el script no finaliza.

MachineName

Tipo de datos: cadena

Tipo de acceso: solo lectura

Nombre del equipo al que WMI envía eventos. Por convención de los consumidores estándar de Microsoft, el consumidor de scripts no se puede ejecutar de forma remota. Los consumidores de terceros también pueden usar esta propiedad. Esta propiedad se hereda de __EventConsumer.

MaximumQueueSize

Tipo de datos: uint32

Tipo de acceso: solo lectura

Cola máxima, en bytes, del consumidor de eventos del script activo. Esta propiedad se hereda de __EventConsumer.

Nombre

Tipo de datos: cadena

Tipo de acceso: lectura/escritura

Calificadores: Key

Identificador único del consumidor de eventos. Si cambia el nombre del consumidor, el resultado es dos consumidores iguales que tienen nombres diferentes.

ScriptFileName

Tipo de datos: cadena

Tipo de acceso: solo lectura

Nombre del archivo desde el que se lee el texto del script. Su fin es ser una alternativa a especificar el texto del script en la propiedad ScriptText. El valor de esta propiedad debe ser NULL si la propiedad ScriptText no es NULL.

Nota

Al especificar ScriptFileName, es importante proteger el archivo ejecutable que está iniciando. Si el ejecutable no está en una ubicación segura o no está protegido con una lista de control de acceso segura (ACL), cualquier persona puede reemplazar el ejecutable por otro diferente. Para más información sobre las ACL, consulte Creación de un descriptor de seguridad (SD) para un nuevo objeto en C++.

ScriptingEngine

Tipo de datos: cadena

Tipo de acceso: solo lectura

Nombre del motor de scripting que se va a usar, por ejemplo, "VBScript". El valor de esta propiedad no puede ser NULL.

ScriptText

Tipo de datos: cadena

Tipo de acceso: solo lectura

Texto del script que se expresa en un lenguaje conocido por el motor de scripting. El valor de esta propiedad debe ser NULL si la propiedad ScriptFileName no es NULL.

Comentarios

Esta clase se deriva de la clase abstracta __EventConsumer. Se encuentra en el espacio de nombres raíz o de la suscripción.

Cuando se especifica el texto de un script en la instancia del consumidor de eventos, el script tiene acceso a la instancia de evento en la variable de entorno del script TargetEvent.

Los scripts se ejecutan en el contexto de seguridad LocalSystem. Como medida de seguridad, solo un administrador del sistema local o un administrador de dominio pueden configurar el consumidor de scripting. Los derechos de acceso no se comprueban hasta el tiempo de ejecución. Una vez configurado el consumidor, cualquier usuario puede desencadenar el evento que hace que el script se ejecute.

Error al cargar el motor de scripting o a analizar y validar que el script se considera un error. Los códigos de retorno de error del script y la finalización del script mediante un tiempo de espera también se consideran errores.

ScriptText o ScriptFileName no deben tener el valor NULL. Si los valores de ambas propiedades son NULL o no NULL, se genera un error.

Cuando WMI se ejecuta como servicio, los scripts ejecutados por ActiveScriptEventConsumer no generan una salida por pantalla. Los scripts que usan MsgBox se ejecutan, pero no muestran información en la pantalla. No se admite la ejecución del servicio WMI como un archivo ejecutable, pero WMI permite scripts que usen la función MsgBox que muestren la salida o acepten la entrada del usuario. No se puede usar ninguno de los métodos proporcionados por el objeto WScript, porque ActiveScriptEventConsumer no usa Windows Script Host (WSH).

Ejemplos

El ejemplo de PowerShell Creación de un registro de eventos de WMI permanente para supervisar archivos en la Galería de TechNet usa ActiveScriptEventConsumer como parte de un script complejo para configurar un registro de eventos de WMI permanente.

Requisitos

Requisito Value
Cliente mínimo compatible
Windows Vista
Servidor mínimo compatible
Windows Server 2008
Espacio de nombres
Root\subscription
MOF
Scrcons.mof
Archivo DLL
Scrcons.exe

Consulte también

Clases de consumidor estándar

Ejecutar un script basado en un evento

Recepción de eventos en todo momento

Creación de un consumidor lógico

__EventConsumer

ScriptingStandardConsumerSetting