Règle scriptée
Les règles scriptées permettent de créer des règles personnalisées dans PowerShell ou VBScript pour répondre à des exigences complexes. Les applications peuvent être autorisées, bloquées ou élevées dynamiquement en fonction d'un large éventail de conditions scriptées, ce qui vous offre un contrôle puissant et flexible sur le comportement des applications.
Les règles scriptées peuvent exploiter toutes les interfaces accessibles via PowerShell ou VBScript, par exemple COM (Component Object Model), et chaque script est évalué dans les circonstances suivantes :
-
Déploiement d'une nouvelle configuration sur l'ordinateur
-
Connexion d'un utilisateur
Configurer une règle scriptée
Vous pouvez configurer des règles scriptées lorsque vous configurez des règles Application Control (Contrôle des applications) dans la page Quand est affecté cet élément ?. Pour configurer des règles scriptées, procédez comme suit :
-
Dans la page Quand est affecté cet élément ?, sélectionnez l'option Scripté dans la liste déroulante Sélectionner une source.
L'onglet Script s'affiche. -
Spécifiez un nom pour le script.
-
Dans la liste déroulante Langage de script, sélectionnez les options PowerShell ou VBScript, selon vos besoins.
Pour en savoir plus sur l'utilisation des scripts, reportez-vous aux sections suivantes.
Scripts PowerShell
Si le script se ferme avec la valeur 0, l'opération est un succès et les règles sont appliquées. Si le système renvoie une valeur non nulle, le script échoue et les règles ne s'appliquent pas.
Chaque script PowerShell est exécuté dans une instance de PowerShell.exe. Par conséquent, Application Control n'applique ni n'ajoute aucune syntaxe spécifique. Toutes les instructions PowerShell au format correct fonctionnent.
PowerShell doit être installé sur tous les postes client qui vont utiliser le script.
Scripts VBScript
Chaque script est exécuté dans un moteur de script hébergé, ce qui permet un meilleur contrôle de l'exécution des scripts, tout en assurant un haut niveau de contrôle des entrées/sorties (E/S).
-
Aucun fichier VBS n'est utilisé.
-
Aucun processus distinct n'est généré dynamiquement.
Le script doit être écrit sous forme de fonction et peut contenir de nombreuses fonctions, mais vous devez spécifier une fonction principale de démarrage. La fonction de démarrage est exécutée par l'agent Application Control et peut servir à appeler d'autres fonctions.
L'objet COM AMScriptRule est intégré au moteur de scripts et permet d'accéder aux méthodes suivantes :
-
strUsername = AMScriptRule.UserName
-
strUserdomain = AMScriptRule.UserDomain
-
strSessionid = AMScriptRule.SessionID
-
strStationname = AMScriptRule.WinStation
Dans ce cas, la norme Microsoft veut que WinStation renvoie la valeur de nom de la session de services de terminal, qui dépend du type de la session. Les valeurs habituelles sont « Console » ou « RDP-Tcp#34», au lieu du nom de la station de travail Windows (généralement WinSta0).
L'objet COM AMScriptRule inclut aussi les méthodes suivantes :
-
strLog = AMScriptRule.Log "Mon instruction de journal"
Permet de créer une sortie des chaînes de journalisation dans le fichier journal de l'agent, à utiliser avec les règles scriptées de débogage.
-
strEnvironmentvar = AMScriptRule.ExpandEnvironment ("%MyEnvironmentVariables%")
Développe les variables d'environnement de l'utilisateur qui exécute le script.
L'utilisation de WScript. shell pour développer les variables d'environnement renvoie uniquement les variables système (SYSTEM).
-
-
Dans la liste déroulante Fonction d'entrée, sélectionnez Règle scriptée.
L'option Fonction d'entrée est disponible uniquement pour VBScript.
-
Dans le champ Script, insérez votre script PowerShell ou VBScript.
-
Accédez à l'onglet Options pour configurer l'exécution et le délai d'expiration des scripts.
-
Dans l'onglet Options, sélectionnez la méthode d'exécution du script dans la liste déroulante Type d'exécution, comme suit :
-
Par session en tant qu'utilisateur : Spécifie que le script s'exécute pour chaque utilisateur qui se connecte. Les paramètres s'appliquent uniquement pour la durée de la session utilisateur. Notez que le script s'exécute également si le poste de travail est déverrouillé.
-
Par session en tant que Système : Spécifie que le script s'exécute avec les permissions du compte System, une seule fois pour chaque utilisateur qui se connecte. Les paramètres s'appliquent uniquement pour la durée de la session utilisateur.
-
Par ordinateur en tant que Système : Spécifie que le script s'exécute avec les permissions du compte System, une seule fois au démarrage de l'ordinateur. Les paramètres sont appliqués à toutes les sessions utilisateur jusqu'au redémarrage de l'ordinateur, jusqu'au redémarrage de l'agent Application Control ou jusqu'à un changement de configuration.
-
-
Activez les options Ne pas exécuter le script avant la connexion de l'utilisateur pour interdire l'exécution du script jusqu'à ce que la connexion utilisateur soit établie.
-
Spécifiez la valeur Secondes d'attente du délai de script, qui indique la durée pendant laquelle un script est autorisé à continuer à s'exécuter avant que le délai soit écoulé. En indiquant zéro (0) seconde, vous ne fixez aucune limite pour le script. Si le délai s'écoule, le résultat est un échec et les paramètres ne peuvent pas être appliqués.
-
Cliquez sur Ajouter.