Klasse ActiveScriptEventConsumer

Die Klasse ActiveScriptEventConsumer führt ein vordefiniertes Skript in einer beliebigen Skriptsprache aus, wenn ein Ereignis an sie übermittelt wird. Diese Klasse ist einer der Standardereignisconsumer, die WMI bereitstellt. Weitere Informationen finden Sie unter Überwachen von und Reagieren auf Ereignisse mit Standardconsumern.

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

Sie können die Leistung aller Instanzen von ActiveScriptEventConsumer auf einem System konfigurieren, indem Sie die Werte der Eigenschaft Timeout oder MaximumScripts in einer einzelnen Instanz von ScriptingStandardConsumerSetting festlegen.

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

Member

Die Klasse ActiveScriptEventConsumer verfügt über die folgenden Member-Typen:

Eigenschaften

Die Klasse ActiveScriptEventConsumer verfügt über diese Eigenschaften.

CreatorSID

Datentyp: uint8-Array

Zugriffstyp: Schreibgeschützt

Array, das die Sicherheits-ID (SID) darstellt, die den Ersteller des Active Script Event-Consumers eindeutig identifiziert. Diese Eigenschaft wird von __EventConsumer geerbt.

KillTimeout

Datentyp: uint32

Zugriffstyp: Schreibgeschützt

Zahl in Sekunden, die das Skript ausgeführt werden darf. Bei der Standardeinstellung 0 (null) wird das Skript nicht beendet.

MachineName

Datentyp: string

Zugriffstyp: Schreibgeschützt

Name des Computers, an den WMI Ereignisse sendet. Gemäß der Konvention von Microsoft-Standardconsumer kann der Skript-Consumer nicht remote ausgeführt werden. Drittanbieter können diese Eigenschaft ebenfalls verwenden. Diese Eigenschaft wird von __EventConsumer geerbt.

MaximumQueueSize

Datentyp: uint32

Zugriffstyp: Schreibgeschützt

Maximale Warteschlange (in Bytes) für den Active Script Event-Consumer. Diese Eigenschaft wird von __EventConsumer geerbt.

Name

Datentyp: string

Zugriffstyp: Lesen/Schreiben

Qualifizierer: Schlüssel

Eindeutiger Bezeichner für den Ereignis-Consumer. Wenn Sie den Consumer umbenennen, ergeben sich zwei gleiche Consumer mit unterschiedlichen Namen.

ScriptFileName

Datentyp: String

Zugriffstyp: Schreibgeschützt

Name der Datei, aus der der Skripttext gelesen wird, ist als Alternative zum Angeben des Skripttexts in der Eigenschaft ScriptText vorgesehen. Diese Eigenschaft muss NULL sein, wenn die Eigenschaft ScriptText nicht NULL ist.

Hinweis

Wenn Sie ScriptFileName angeben, ist es wichtig, die ausführbare Datei zu schützen, die Sie starten. Wenn sich die ausführbare Datei nicht an einem sicheren Speicherort befindet oder mit einer starken Zugriffssteuerungsliste (Access Control List, ACL) geschützt ist, kann jeder die ausführbare Datei durch eine andere ersetzen. Weitere Informationen zu ACLs finden Sie unter Erstellen einer Sicherheitsbeschreibung für ein neues Objekt in C++.

ScriptingEngine

Datentyp: String

Zugriffstyp: Schreibgeschützt

Name der zu verwendenden Skript-Engine, z. B. "VBScript". Diese Eigenschaft kann nicht NULL sein.

ScriptText

Datentyp: String

Zugriffstyp: Schreibgeschützt

Text des Skripts, der in einer Sprache ausgedrückt wird, die der Skripterstellungs-Engine bekannt ist. Diese Eigenschaft muss NULL sein, wenn die Eigenschaft ScriptFileName nicht NULL ist.

Bemerkungen

Diese Klasse wird von der abstrakten Klasse __EventConsumer abgeleitet. Sie befindet sich im Namespace root\subscription.

Wenn der Text eines Skripts in der Ereignisconsumer-Instanz angegeben wird, hat das Skript Zugriff auf die Ereignisinstanz in der Skriptumgebungsvariablen TargetEvent.

Die Skripts werden im LocalSystem-Sicherheitskontext ausgeführt. Als Sicherheitsmaßnahme kann nur ein lokaler Systemadministrator oder ein Domänenadministrator den Skript-Consumer konfigurieren. Zugriffsrechte werden erst nach der Laufzeit überprüft. Nachdem der Consumer konfiguriert wurde, kann jeder Benutzer das Ereignis auslösen, das das Skript auslöst.

Fehler beim Laden der Skript-Engine oder Analyse und Überprüfung des Skripts wird als Fehler betrachtet. Fehlerrückgabecodes aus dem Skript und Beenden des Skripts mithilfe eines Timeouts werden ebenfalls als Fehler betrachtet.

ScriptText oder ScriptFileName dürfen nicht NULL sein. Wenn beide Eigenschaften NULL oder nicht NULL sind, wird ein Fehler generiert.

Wenn WMI als Dienst ausgeführt wird, generieren Skripts, die von ActiveScriptEventConsumer ausgeführt werden, keine Bildschirmausgabe. Skripts, die MsgBox verwenden, werden zwar ausgeführt, aber keine Informationen auf dem Bildschirm angezeigt. Das Ausführen des WMI-Diensts als ausführbare Datei wird nicht unterstützt, aber WMI ermöglicht Skripts, die die Funktion MsgBox verwenden, die Ausgabe anzuzeigen oder Benutzereingaben zu akzeptieren. Keine der vom Objekt WScript bereitgestellten Methoden kann verwendet werden, da ActiveScriptEventConsumer keinen Windows Script Host (WSH) verwendet.

Beispiele

Das PowerShell-Beispiel Erstellen einer permanenten WMI-Ereignisregistrierung zum Überwachen von Dateien im TechNet-Katalog verwendet ActiveScriptEventConsumer als Teil eines komplexen Skripts, um eine permanente WMI-Ereignisregistrierung einzurichten.

Anforderungen

Anforderung Wert
Unterstützte Mindestversion (Client)
Windows Vista
Unterstützte Mindestversion (Server)
Windows Server 2008
Namespace
Root\subscription
MOF
Scrcons.mof
DLL
Scrcons.exe

Weitere Informationen

Standardconsumerklassen

Ausführen eines Skripts basierend auf einem Ereignis

Insgesamt empfangende Ereignisse

Erstellen eines logischen Consumers

__EventConsumer

ScriptingStandardConsumerSetting