Présentation de l’Agent de script

 

S’applique à : Exchange Server 2010 SP2, Exchange Server 2010 SP3

Dernière rubrique modifiée : 2015-03-09

Vous pouvez utiliser l’agent d’extension de cmdlets Agent de script de Microsoft Exchange Server 2010 pour intégrer votre propre logique de script dans l’exécution des cmdlets Exchange. L’Agent de script vous permet d’ajouter des conditions, de remplacer des valeurs et de configurer la génération des rapports.

AttentionAttention :
Lorsque vous activez l’agent d’extension de cmdlets Agent de script, il est appelé chaque fois qu’une cmdlet est exécutée sur un serveur exécutant Exchange 2010. Cela inclut non seulement les cmdlets que vous exécutez directement dans l’environnement de ligne de commande Exchange Management Shell, mais également les cmdlets exécutées par les services Exchange, la console de gestion Exchange et le Panneau de configuration Exchange. Il est vivement conseillé de tester vos scripts et toutes les modifications apportées au fichier de configuration avant de copier le fichier de configuration mis à jour dans vos serveurs Exchange 2010 et d’activer l’agent d’extension de cmdlets Agent de script.

Chaque fois qu’une cmdlet Exchange est exécutée, elle appelle l’agent d’extension de cmdlets Agent de script. Lorsque cet agent est appelé, la cmdlet vérifie si des scripts sont configurés pour être appelés. Si un script doit être exécuté pour une cmdlet, cette dernière essaie d’appeler toutes les API définies dans le script. Les API suivantes sont disponibles et appelées dans l’ordre suivant :

  1. ProvisionDefaultProperties   Cette API permet de définir les valeurs des propriétés pour des objets lors de leur création. Lorsque vous sélectionnez une valeur, elle est renvoyée vers la cmdlet, qui définit la valeur sur la propriété. Vous pouvez renseigner des valeurs pour les propriétés si l’utilisateur n’en a pas spécifié ou bien remplacer la valeur saisie par l’utilisateur. Cette API respecte les valeurs définies par des agents de priorité supérieure. L’agent d’extension de cmdlets Agent de script ne remplacera pas les valeurs définies par des agents de priorité supérieure.

  2. UpdateAffectedIConfigurable   Cette API permet de définir les valeurs des propriétés pour des objets une fois toutes les autres tâches de traitement terminées, même si l’API Validate n’a pas encore été appelée. Cette API respecte les valeurs définies par des agents de priorité supérieure. L’agent d’extension de cmdlets Agent de script ne remplacera pas les valeurs définies par des agents de priorité supérieure.

  3. Validate   Cette API permet de valider les valeurs des propriétés d’un objet qui sont sur le point d’être définies par la cmdlet. Cette API est appelée juste avant l’écriture de données par une cmdlet. Vous pouvez configurer les contrôles de validation qui permettent la réussite ou l’échec d’une cmdlet. Si une cmdlet réussit les contrôles de validation dans cette API, elle est autorisée à écrire les données. Si la cmdlet échoue aux contrôles de validation, elle renvoie toutes les erreurs définies dans cette API.

  4. OnComplete   Cette API est utilisée une fois toutes les tâches de traitement de la cmdlet terminées. Elle peut être utilisée pour exécuter des tâches de post-traitement, comme par exemple, écrire des données dans une base de données externe.

RemarqueRemarque :
L’agent d’extension de cmdlets Agent de script n’est pas appelé lorsque des cmdlets contenant le verbe Get sont exécutées. Aussi, l’agent ne fonctionne pas sur les serveurs Exchange exécutant le rôle serveur de transport Edge, car ce rôle ne prend pas en charge les agents d’extension de cmdlets.

L’Agent de script est l’un des nombreux agents d’extension de cmdlets. Pour plus d’informations sur les agents d’extension de cmdlets, consultez la rubrique Présentation des agents d’extension de cmdlet.

Contenu de cette rubrique

Fichier de configuration de l’Agent de script

Activer l’Agent de script

Priorité de l’agent

Fichier de configuration de l’Agent de script

Le fichier de configuration de l’Agent de script contient tous les scripts qui doivent être exécutés par l’Agent de script. Les scripts du fichier de configuration sont contenus dans des balises XML qui définissent le début et la fin du script et divers paramètres d’entrée nécessaires pour transmettre les données au script. Les scripts sont écrits à l’aide de la syntaxe Windows PowerShell. Le fichier de configuration est un fichier XML qui utilise les éléments ou les attributs présentés dans le tableau suivant.

Élément Attribut Description

Configuration

Non applicable

Cet élément contient tous les scripts qui peuvent être exécutés par l’agent d’extension de cmdlets Agent de script. La balise Feature est un enfant de cette balise.

Le fichier de configuration ne contient qu’une seule balise Configuration.

Feature

Non applicable

Cet élément contient un ensemble de scripts associés à une fonctionnalité. Chaque script défini dans la balise enfant ApiCall s’étend à une partie spécifique du pipeline d’exécution des cmdlets. Cette balise contient les attributs Name et Cmdlets.

La balise Configuration peut englober plusieurs balises Feature.

 

Name

Cet attribut contient le nom de la fonctionnalité. Utilisez cet attribut pour identifier la fonctionnalité qui est étendue par les scripts contenus dans la balise.

 

Cmdlets

Cet attribut contient une liste des cmdlets Exchange qui utiliseront l’ensemble de scripts dans cette extension de fonctionnalité. Vous pouvez spécifier plusieurs cmdlets en séparant chacune d’elles par une virgule.

ApiCall

Non applicable

Cet élément contient des scripts qui peuvent étendre une partie du pipeline d’exécution des cmdlets. Chaque script est défini par le nom de l’appel API dans le pipeline d’exécution des cmdlets qu’il étend. Les noms d’API suivants peuvent être étendus :

  • ProvisionDefaultProperties

  • UpdateAffectedIConfigurable

  • Validate

  • OnComplete

 

Name

Cet attribut inclut le nom de l’appel API qui étend le pipeline d’exécution des cmdlets.

Common

Non applicable

Cet élément contient des fonctions qui peuvent être utilisées par tout script dans le fichier de configuration.

Chaque serveur Exchange 2010 inclut le fichier ScriptingAgentConfig.xml.sample dans le dossier <chemin_installation>\V14\Bin\CmdletExtensionAgents. Le nom de ce fichier doit être modifié en ScriptingAgentConfig.xml sur chaque serveur Exchange 2010 si vous activez l’agent d’extension de cmdlets Agent de script. L’exemple de fichier de configuration contient des modèles de script que vous pouvez utiliser pour mieux comprendre la procédure d’ajout de scripts au fichier de configuration.

Après avoir ajouté un script au fichier de configuration, ou si vous apportez une modification au fichier de configuration, vous devez mettre le fichier à jour sur chaque serveur Exchange 2010 de votre organisation. Cette opération est essentielle pour vous assurer que chaque serveur contient une version actualisée des scripts exécutés par l’agent d’extension de cmdlets Agent de script.

Certains caractères utilisés généralement dans les scripts ont également une signification particulière dans XML. Pour utiliser ces caractères dans votre script, utilisez des séquences d’échappement. Par exemple, les caractères suivants utilisent une séquence d’échappement :

  • Plutôt qu’un signe Supérieur à (>), utilisez &gt;

  • Plutôt qu’un signe Inférieur à (<), utilisez $lt;

  • Plutôt qu’une esperluette (&), utilisez &amp;

Retour au début

Activer l’Agent de script

L’agent d’extension de cmdlets Agent de script est désactivé par défaut. Lorsque vous activez l’agent de script, il est appliqué à toute l’organisation Exchange 2010. Avant d’activer l’agent de script, vérifiez que son fichier de configuration a été correctement renommé et mis à jour avec vos scripts sur chaque serveur Exchange 2010. Un message d’erreur s’affiche chaque fois qu’une cmdlet est exécutée si vous ne renommez pas correctement le fichier de configuration.

Pour activer l’Agent de script, vous devez procéder comme suit :

  1. Modifiez le nom du fichier ScriptingAgentConfig.xml.sample dans <chemin_installation>\V14\Bin\CmdletExtensionAgents à ScriptingAgentConfig.xml sur chaque serveur Exchange 2010 de votre organisation.

    RemarqueRemarque :
    Vous pouvez copier le fichier de configuration d’un serveur Exchange 2010 dans d’autres serveurs Exchange 2010. Assurez-vous de mettre à jour le fichier de configuration désiré avant de le copier.
  2. Ajoutez votre script au fichier de configuration renommé sur chaque serveur Exchange 2010 de votre organisation. 

  3. Activez l’agent d’extension de cmdlets Agent de script. Pour plus d’informations sur l’activation des agents d’extension de cmdlets, consultez la rubrique Activer un agent d’extension de cmdlet.

Retour au début

Priorité de l’agent

Par défaut, l’agent d’extension de cmdlets Agent de script est exécuté après un autre agent, à l’exception de l’agent du journal d’audit d’administration. Si vous souhaitez qu’un script créé remplace un agent existant, vous devez désactiver l’autre agent ou modifier la priorité d’un des agents afin que l’agent d’extension de cmdlets Agent de script soit exécuté en premier. Pour plus d’informations sur la désactivation ou la modification de la priorité des agents, consultez les rubriques suivantes :

Retour au début