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 |
|
DLL |
|