Windows Dev Center

ActiveScriptEventConsumer class

The ActiveScriptEventConsumer class runs a predefined script in an arbitrary scripting language when an event is delivered to it. This class is one of the standard event consumers that WMI provides. For more information, see Monitoring and Responding to Events with Standard Consumers.


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

You can configure the performance of all instances of ActiveScriptEventConsumer on a system by setting the values of either the Timeout or MaximumScripts property in the single instance of ScriptingStandardConsumerSetting.

Syntax

[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;
};

Members

The ActiveScriptEventConsumer class has these types of members:

Properties

The ActiveScriptEventConsumer class has these properties.

CreatorSID
Data type: uint8
Access type: Read-only

Array that represents the security identifier (SID), which uniquely identifies the creator of the Active Script Event consumer. This property is inherited from __EventConsumer.

KillTimeout
Data type: uint32
Access type: Read-only

Number, in seconds, that the script is allowed to run. If 0 (zero), which is the default, the script is not terminated.

MachineName
Data type: string
Access type: Read-only

Name of the computer to which WMI sends events. By convention of Microsoft standard consumers, the script consumer cannot be run remotely. Third-party consumers can also use this property. This property is inherited from __EventConsumer.

MaximumQueueSize
Data type: uint32
Access type: Read-only
Qualifiers: Units (bytes)

Maximum queue, in bytes, for the Active Script Event consumer. This property is inherited from __EventConsumer.

Name
Data type: string
Access type: Read/write
Qualifiers: Key

Unique identifier for the event consumer. If you rename the consumer, the result is two equal consumers that have different names.

ScriptFileName
Data type: string
Access type: Read-only

Name of the file from which the script text is read, intended as an alternative to specifying the text of the script in the ScriptText property. This property must be NULL if the ScriptText property is not NULL.

Note  When you specify the ScriptFileName, it is important to secure the executable that you are launching. If the executable is not in a secure location or secured with a strong access control list (ACL), anyone can replace the executable with a different one. For more information about ACLs, see Creating a Security Descriptor (SD) for a New Object in C++.
ScriptingEngine
Data type: string
Access type: Read-only

Name of the scripting engine to use, for example, "VBScript". This property cannot be NULL.

ScriptText
Data type: string
Access type: Read-only

Text of the script that is expressed in a language known to the scripting engine. This property must be NULL if the ScriptFileName property is not NULL.

Remarks

This class is derived from the __EventConsumer abstract class. It is located in the root\subscription namespace.

When the text of a script is specified in the event consumer instance, the script has access to the event instance in the script environment variable TargetEvent.

The scripts run in the LocalSystem security context. As a security measure, only a local system administrator or a domain administrator can configure the scripting consumer. Access rights are not checked until run time. After the consumer is configured, any user can trigger the event that causes the script to .

Failure to load the scripting engine or parse and validate the script is considered a failure. Error return codes from the script and terminating the script by using a time-out are also considered failures.

Either ScriptText or ScriptFileName must be not NULL. If both properties are NULL or not NULL, an error is generated.

When WMI is run as a service, scripts run by ActiveScriptEventConsumer do not generate screen output. Scripts that use MsgBox do run, but they do not display information on the screen. Running the WMI service as an executable file is not supported, but WMI allows scripts that use the MsgBox function to display output or accept user input. None of the methods provided by the WScript object can be used because ActiveScriptEventConsumer does not use Windows Script Host (WSH).

Examples

The Create Permanent WMI Event registration to monitor files PowerShell example on TechNet Gallery uses ActiveScriptEventConsumer as part of a complex script to set up a permanent WMI event registration.

Requirements

Minimum supported client

Windows Vista

Minimum supported server

Windows Server 2003

Namespace

Root\subscription

MOF

Scrcons.mof

DLL

Scrcons.exe

See also

Standard Consumer Classes
Running a Script Based on an Event
Receiving Events At All Times
Creating a Logical Consumer
__EventConsumer
ScriptingStandardConsumerSetting

 

 

Show:
© 2015 Microsoft