Partager via


ActiveScriptEventConsumer, classe

La classe ActiveScriptEventConsumer exécute un script prédéfini dans un langage de script arbitraire lorsqu’un événement lui est remis. Cette classe est l’un des consommateurs d’événements standard que WMI fournit. Pour plus d’informations, consultez Monitoring des événements avec des consommateurs standard et y répondre.

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

Vous pouvez configurer les performances de toutes les instances d’ActiveScriptEventConsumer sur un système en définissant les valeurs de la propriété Timeout ou MaximumScripts dans l’instance unique de ScriptingStandardConsumerSetting.

Syntaxe

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

Membres

La classe ActiveScriptEventConsumer est dotée des types de membres suivants :

Propriétés

La classe ActiveScriptEventConsumer est dotée des propriétés suivantes.

CreatorSID

Type de données : tableau uint8

Type d'accès : Lecture seule

Tableau qui représente l’identificateur de sécurité (SID), lequel identifie de manière unique le créateur du consommateur d’événements de script actif. Cette propriété est héritée de __EventConsumer.

KillTimeout

Type de données : uint32

Type d'accès : Lecture seule

Nombre de secondes pendant lequel le script est autorisé à s’exécuter. Si la valeur définie est 0 (zéro), qui est la valeur par défaut, le script n’est pas terminé.

MachineName

Type de données : chaîne

Type d'accès : Lecture seule

Nom de l’ordinateur auquel WMI envoie des événements. Par convention des consommateurs standard Microsoft, le consommateur de script ne peut pas être exécuté à distance. Les consommateurs tiers peuvent également utiliser cette propriété. Cette propriété est héritée de __EventConsumer.

MaximumQueueSize

Type de données : uint32

Type d'accès : Lecture seule

File d’attente maximale, en octets, pour le consommateur d’événements de script actif. Cette propriété est héritée de __EventConsumer.

Nom

Type de données : chaîne

Type d'accès : lecture/écriture

Qualificateurs : Key

Identificateur unique du consommateur d’événements. Si vous renommez le consommateur, le résultat est deux consommateurs identiques qui ont des noms différents.

ScriptFileName

Type de données : string

Type d'accès : Lecture seule

Nom du fichier à partir duquel le texte du script est lu, conçu comme une alternative à la spécification du texte du script dans la propriété ScriptText. Cette propriété doit avoir la valeur NULL si la propriété ScriptText n’a pas la valeur NULL.

Notes

Lorsque vous spécifiez ScriptFileName, il est important de sécuriser l’exécutable que vous lancez. Si l’exécutable ne se trouve pas dans un emplacement sécurisé ou s’il n’est pas sécurisé avec une liste de contrôle d’accès (ACL) forte, n’importe qui peut remplacer l’exécutable par un autre. Pour plus d’informations sur les listes de contrôle d’accès, consultez Création d’un descripteur de sécurité (SD) pour un nouvel objet en C++.

ScriptingEngine

Type de données : string

Type d'accès : Lecture seule

Nom du moteur de script à utiliser ; par exemple, « VBScript ». Cette propriété ne peut pas avoir la valeur NULL.

ScriptText

Type de données : string

Type d'accès : Lecture seule

Texte du script exprimé dans un langage connu du moteur de script. Cette propriété doit avoir la valeur NULL si la propriété ScriptFileName n’a pas la valeur NULL.

Notes

Cette classe est dérivée de la classe abstraite __EventConsumer. Elle se trouve dans l’espace de noms root\subscription.

Lorsque le texte d’un script est spécifié dans l’instance du consommateur d’événements, le script a accès à l’instance d’événement dans la variable d’environnement de script TargetEvent.

Les scripts s’exécutent dans le contexte de sécurité LocalSystem. Par mesure de sécurité, seul un administrateur système local ou un administrateur de domaine peut configurer le consommateur de scripts. Les droits d’accès ne sont vérifiés qu’au moment de l’exécution. Une fois le consommateur configuré, n’importe quel utilisateur peut déclencher l’événement qui provoque l’exécution du script.

Si le chargement du moteur de script ou l’analyse et la validation du script échouent, cela est considéré comme un échec. Des codes de retour d’erreur du script et l’arrêt du script à l’aide d’un délai d’attente sont également considérés comme des échecs.

Soit ScriptText soit ScriptFileName ne doit pas avoir la valeur NULL. Si les deux propriétés ont la valeur NULL ou n’ont pas la valeur NULL, une erreur est générée.

Lorsque WMI est exécuté en tant que service, les scripts exécutés par ActiveScriptEventConsumer ne génèrent pas de sortie écran. Les scripts qui utilisent MsgBox s’exécutent, mais ils n’affichent pas d’informations à l’écran. L’exécution du service WMI en tant que fichier exécutable n’est pas prise en charge, mais WMI permet aux scripts qui utilisent la fonction MsgBox d’afficher une sortie ou d’accepter une entrée utilisateur. Aucune des méthodes fournies par l’objet WScript ne peut être utilisée, car ActiveScriptEventConsumer n’utilise pas l’environnement d’exécution de scripts WSH (Windows Script Host).

Exemples

L’exemple PowerShell Créer une inscription d’événement WMI permanent pour superviser des fichiers de la Galerie TechNet utilise ActiveScriptEventConsumer dans le cadre d’un script complexe pour configurer une inscription d’événement WMI permanent.

Spécifications

Condition requise Valeur
Client minimal pris en charge
Windows Vista
Serveur minimal pris en charge
Windows Server 2008
Espace de noms
Root\subscription
MOF
Scrcons.mof
DLL
Scrcons.exe

Voir aussi

Classes de consommateur standard

Exécution d’un script basé sur un événement

Réception d’événements en permanence

Création d’un consommateur logique

__EventConsumer

ScriptingStandardConsumerSetting