Règles scriptées

Dans cette section :

À propos des règles scriptées

Les règles scriptées permettent de créer des règles personnalisées à l'aide de scripts Windows PowerShell ou VBScript. Le succès ou l'échec du script détermine si le niveau de sécurité, les éléments autorisés et les éléments refusés figurant dans la règle s'appliquent ou non à l'utilisateur.

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.

Vous créez et modifier les scripts dans la boîte de dialogue Règle scriptée, accessible comme suit :

  1. Dans le ruban Règles, sélectionnez Ajouter une règle.
  2. Dans le menu déroulant, sélectionnez Règle scriptée.

    La zone de travail Règle scriptée apparaît.

Vous pouvez définir le moment où le script doit être exécuté, à l'aide des options de règle scriptée suivantes :

  • Exécuter le script une fois par session de connexion en tant qu'utilisateur connecté - 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é.
  • Exécuter le script une fois par session de connexion en tant qu'utilisateur SYSTEM - 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.
  • Exécuter le script une fois par ordinateur en tant qu'utilisateur SYSTEM - Le script est exécuté 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 (Contrôle des applications) ou jusqu'à un changement de configuration.

    Attention : L'exécution de scripts en tant qu'utilisateur Système (SYSTEM) peut provoquer de sérieux dommages sur votre ordinateur et l'opération doit être réservée aux auteurs de script expérimentés.

  • Ne pas exécuter le script avant la fin de la connexion utilisateur - Sélectionnez cette option pour interdire l'exécution du script jusqu'à ce que la connexion utilisateur soit établie.

  • Attendre <n> secondes avant temporisation du script - Permet de spécifier la durée (en secondes) pendant laquelle un script est autorisé à continuer son exécution avant que le délai qui lui est imparti 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.

VBScripts

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 (Contrôle des applications) 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 "My Log Statement"

    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).

Scripts Windows 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 et, par conséquent, Application Control (Contrôle des applications) 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.

Ajout d'une règle scriptée

  1. Cliquez sur la liste déroulante Ajouter une règle dans le ruban Règles et sélectionnez Règle scriptée.

    Une nouvelle règle est ajoutée à la zone de travail Toutes les règles scriptées. La boîte de dialogue Règle scriptée s'ouvre.

  2. Pour saisir un script, effectuez l'une des opérations suivantes :
    • Entrez le script dans la zone Script actuel.
    • Ouvrez un script existant dans un éditeur de script, puis copiez/coupez le contenu et collez-le.
  3. Sélectionnez Cliquez ici pour modifier le script. Cliquez sur Importer pour importer un script existant.

Modification d'une règle scriptée

  1. Utilisez la boîte de dialogue Règle scriptée pour créer des règles et assurer leur maintenance sur la base de scripts VB et PowerShell personnalisés exécutés chaque fois qu'un utilisateur se connecte.
  2. Pour ouvrir la boîte de dialogue Règle scriptée d'une règle spécifique, utilisez l'une des méthodes suivantes :
    • Naviguez jusqu'à la règle scriptée dans le volet de navigation et sélectionnez-la.
    • Sélectionnez le nœud Règles dans l'arborescence de navigation.Dans la boîte de dialogue Toutes les règles, double-cliquez sur la règle à modifier.

    La boîte de dialogue Règle scriptée s'ouvre

  3. Sélectionnez Cliquez ici pour modifier le script.

    La boîte de dialogue Configurer cette règle scriptée s'ouvre.

  4. Dans l'onglet Script, complétez ou modifiez le script à utiliser lorsque vos utilisateurs se connectent.
  5. Dans l'onglet Options, sélectionnez le paramétrage d'exécution du script dans la liste des options disponibles de la section Définir les paramètres d'exécution du script.
  6. Pour spécifier les paramètres de délai du script, sélectionnez les options voulues dans la section Définir les paramètres horaires du script.
  7. Cliquez sur OK.

Exemples de scripts

Rubriques connexes