Conditions personnalisées
Dans cette section :
- À propos des conditions personnalisées
- Scripts PowerShell
- Création d'une condition personnalisée
- Exportation de scripts personnalisés
À propos des conditions personnalisées
Utilisez la condition Personnalisé pour créer, importer et exporter des conditions avec PowerShell, Visual Basic ou Java Script. Vous pouvez utiliser des conditions personnalisées afin de gérer les scénarios qui ne sont pas disponibles en standard dans la console Environment Manager. Par exemple, pour vérifier si le pare-feu Windows est activé.
Les scripts sont stockés dans la configuration AEMP, 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.
L'utilisation de scripts volumineux ou en grand nombre augmente la taille de la configuration AEMP, 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.
Il est recommandé de ne pas utiliser de conditions personnalisées avec des scripts PowerShell dans le déclencheur Connexion, car l'exécution de ces scripts peut ralentir la connexion.
Comme les scripts de condition personnalisée 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.
Vous pouvez appliquer des conditions personnalisées à des déclencheurs Ordinateur ou Utilisateur.
Codes de sortie (exit)
Tous les scripts personnalisés doivent spécifier un code de sortie (exit) qui, lorsqu'il est renvoyé, permet à l'agent Environment Manager 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.
Langue | Instruction Exit |
---|---|
VBScript | WScript.Quit [valeur] |
JScript | WScript.Quit([valeur]) |
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).
Scripts PowerShell
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. Environment Manager passe outre aux stratégies d'exécution et contourne toutes les restrictions afin d'autoriser l'exécution des scripts PowerShell.
Vous pouvez également ajouter des stratégies d'exécution pour des utilisateurs ou des ordinateurs via une stratégie de groupe, qui écrase toutes les stratégies d'exécution PowerShell. Une stratégie Utilisateur qui interdit les scripts ou autorise uniquement ceux portant une signature n'affecte pas l'exécution des conditions personnalisées PowerShell si vous l'exécutez en tant que Système. Cependant, si vous l'exécutez en tant qu'utilisateur actuel, la stratégie Utilisateur interdit les scripts et la condition personnalisée échoue. Une stratégie Ordinateur qui interdit les scripts ou autorise uniquement ceux portant une signature empêche l'exécution de toutes les conditions personnalisées PowerShell.
Par conséquent, pour exécuter avec succès des conditions personnalisées qui utilisent PowerShell, votre stratégie de groupe doit être configurée pour autoriser l'exécution de ces scripts pour les utilisateurs et les ordinateurs.
Environment Manager est compatible avec PowerShell 1.0, 2.0 et 3.0.
Création d'une condition personnalisée
- Dans l'arborescence de navigation Configuration des stratégies, sélectionnez le nœud ou déclencheur auquel vous souhaitez ajouter la condition. Choix possibles :
- Nouveau nœud
- Nœud existant
- Onglet Environnement d'un déclencheur
- Dans le ruban Conditions, sélectionnez Personnalisé pour afficher la boîte de dialogue Condition personnalisée.
- Sélectionnez un type de script : PowerShell, VBScript ou JScript.
-
Définissez l'option Durée d'exécution admise. À l'issue du nombre de secondes indiqué, le script est arrêté. Définissez la valeur sur zéro ou laissez le champ vide pour ne pas limiter le délai d'exécution du script.
Les conditions personnalisées écrasent les délais de nœud et de condition par défaut.
- 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é. Pour les déclencheurs Utilisateur, si cette option n'est pas sélectionnée, le script s'exécute dans le contexte de l'utilisateur 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.
Vous pouvez ajouter des variables de session au script depuis le menu Insérer. La liste déroulante contient toutes les variables de session définies par l'utilisateur et les variables prédéfinies suivantes :
- SessionID - ID de session actuel
- UserSID - ID de sécurité (SID) de l'utilisateur
- UserTemp - Emplacement du dossier Temp (temporaire) de l'utilisateur
- Dans les déclencheurs Réseau disponible, Réseau connecté et Réseau déconnecté, vous pouvez ajouter d'autres variables de session prédéfinies au script pour déterminer les attributs de connexion.Ces variables de session prédéfinies ne peuvent pas être modifiées ni supprimées.
- 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 personnalisés 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 personnalisés
Vous pouvez exporter et enregistrer des scripts depuis la boîte de dialogue Action personnalisée, et les importer dans d'autres conditions et configurations.
- Ouvrez une condition personnalisée.
- Cliquez sur le bouton Exporter
et sélectionnez l'emplacement où enregistrer le fichier PowerShell, VBS ou JS.
- Cliquez sur Enregistrer pour achever l'exportation.