Conditions scriptées
Dans cette section :
- À propos des conditions scriptées
- Codes de sortie (exit)
- Création d'une condition scriptée
- Exportation de scripts de condition
À propos des conditions scriptées
Utilisez des conditions scriptées pour créer, importer et exporter des conditions avec VBScript, JScript et PowerShell. Vous pouvez utiliser des conditions scriptées afin de gérer les scénarios qui ne sont pas fournis en standard dans la console .Par exemple, pour vérifier si le pare-feu Windows est activé.
Les scripts sont stockés dans la configuration AAMP, copiés sur disque lors de l'exécution, exécutés, puis supprimés lorsqu'ils ont terminé. Vous pouvez importer et exporter des scripts en vue de les réutiliser.
Attention : L'utilisation de scripts volumineux ou en grand nombre augmente la taille de la configuration AAMP, ce qui peut impacter la durée nécessaire au déploiement des configurations vers les postes client et affecter la durée d'exécution de la configuration concernée.
Comme les scripts de condition sont exécutés en mode batch, aucune invite ni zone de message ne s'affiche, et le script arrive à temporisation sans s'être exécuté. Pour garantir l'exécution correcte d'un script de condition, supprimez ou mettez en commentaire toutes les invites ou zones de message du script.
Lorsque vous créez des conditions scriptées, veillez à prévoir un délai suffisant pour l'exécution du script et l'évaluation des éventuelles conditions supplémentaires. Application Control (Contrôle des applications) impose un délai 10 secondes pour l'évaluation de toutes les conditions d'une règle personnalisée. Si les conditions ne sont pas toutes évaluées au cours de ces 10 secondes, la règle personnalisée n'est pas appliquée. En outre, les conditions sont évaluées en mode synchrone. Cela signifie que, lorsque l'évaluation d'une expression se déclenche, l'agent attend la fin du script avant d'évaluer la condition suivante. L'agent retarde l'application de la règle personnalisée jusqu'après l'évaluation de toutes les conditions ou la fin du délai de temporisation. Ainsi, même si vous configurez la condition scriptée afin qu'elle s'exécute pendant moins de 10 secondes, s'il faut évaluer d'autres conditions et que le délai accordé est trop court, il est toujours possible que le délai d'évaluation soit écoulé avant la fin de l'opération.
Les scripts Windows PowerShell utilisent diverses stratégies d'exécution qui peuvent empêcher l'exécution des scripts ou autoriser uniquement ceux qui sont signés par des éditeurs de confiance. Application Control passe outre aux stratégies d'exécution et contourne toutes les restrictions afin d'autoriser l'exécution des scripts PowerShell.
Application Control est compatible avec PowerShell 1.0, 2.0 et 3.0.
Codes de sortie (exit)
Tous les scripts de condition scriptée doivent spécifier un code de sortie (exit) qui, lorsqu'il est renvoyé, permet à l'agent Application Control (Contrôle des applications) de déterminer si le script a réussi ou a échoué. Pour les scripts sans code de sortie, l'agent considère que l'opération est un succès (valeur 0).
Chaque type de script doit utiliser une instruction exit spécifique :
Langage |
Instruction Exit |
---|---|
VBScript |
WScript.Quit [value] |
JScript |
WScript.Quit([value]) |
PowerShell |
exit ([valeur]) |
Remplacez [valeur] par le code de sortie du script : 0 pour un succès, 1 pour un échec. Par exemple : WScript.Quit 0, WScript.Quit(0), exit (0). Pour les scripts Powershell, toute valeur différente de zéro indique un échec.
Création d'une condition scriptée
- Sélectionnez le nœud d'une règle personnalisée.
-
Dans la zone de travail de la règle, ouvrez le menu déroulant Conditions et sélectionnez Scripté.
La boîte de dialogue Condition scriptée s'ouvre.
- Sélectionnez un type de script : PowerShell, VBScript ou JScript.
-
Dans la zone déroulante Exécuter pendant, indiquez la durée pendant laquelle le script est autorisé à s'exécuter.
À l'issue du nombre de secondes indiqué, le script est arrêté. La valeur maximale autorisée est de 10 secondes. Définissez la valeur sur zéro ou laissez le champ vide pour ne pas limiter le délai d'exécution du script. Cependant, si le script met plus de 10 secondes à évaluer les conditions, le délai imparti s'achève et la règle personnalisée n'est pas appliquée.
Les conditions scriptées passent outre aux délais de nœud et de condition par défaut, mais elles respectent le délai de 10 secondes imparti à l'évaluation des conditions. Cette valeur est codée en dur.
- Cliquez sur la liste déroulante Options et configurez les options suivantes selon vos besoins :
- Évaluer une fois par session - Sélectionnez cette option pour exécuter la condition une seule fois et mettre le résultat en cache pour la durée de la session. Sinon, la condition est évaluée chaque fois qu'elle est appelée dans une configuration.
- Exécuter comme utilisateur System - Sélectionnez cette option pour autoriser le script à utiliser une fonction qui ne serait normalement pas accessible à l'utilisateur actuellement connecté.
- Saisissez le script à l'aide de l'une des méthodes suivantes :
- Saisie directe dans le champ.
- Glisser-déplacer ou copier-coller depuis un autre emplacement.
- Clic sur le bouton Importer, puis sélection du fichier à ouvrir et à utiliser dans le champ de script.
- Cliquez sur OK pour enregistrer le script.
Lorsqu'il se déclenche, le script s'exécute jusqu'à la fin, et le résultat (succès ou échec) de la condition est détaillé dans les fichiers journaux de débogage.
Les scripts dont le délai s'est écoulé sont marqués comme ayant échoué. Les nœuds enfant et les actions associées ne sont pas exécutés.
Exportation de scripts de condition
Vous pouvez exporter et enregistrer des scripts depuis la boîte de dialogue Condition scriptée, et les importer dans d'autres conditions et configurations.
- Cliquez sur le bouton Exporter et sélectionnez l'emplacement où enregistrer le fichier.
- Cliquez sur Enregistrer pour achever l'exportation.