2 Méthodes pour faire une signature automatisée avec l’AD

Contexte

Lors de mon stage au sein de Saga Mercedes, j’ai participé activement à la mise en place d’une signature automatisée pour e-mail. Nous avons travaillé sur cette demande de l’équipe marketing dans un premier temps avec mon collègue Jakub, puis avec un intervenant externe présent un jour par semaine. En effet, l’équipe marketing recherchait depuis un certain temps une solution permettant de déployer une signature uniforme et automatisée pour l’ensemble des employés de Saga Mercedes.

L’objectif était de disposer d’un modèle de signature qui se renseignerait automatiquement à partir des informations propres à chaque employé. Dans un premier temps, nous avons effectué des recherches, car nous ne savions pas quel outil utiliser. Nous avons d’abord envisagé l’utilisation d’un fichier CSS ainsi que d’un template permettant de remplacer dynamiquement les informations. Cependant, les solutions identifiées étaient toutes payantes et relativement limitées.

Après plusieurs réflexions et l’étude de différentes pistes, nous avons finalement conclu qu’il était possible d’exploiter l’Active Directory, qui contient déjà l’ensemble des informations nécessaires.

C’est à ce moment-là que Microsoft Exchange est entré en jeu. Avec Jakub, nous avons découvert que Microsoft Exchange constituait une solution particulièrement intéressante, car elle permet de créer des règles ajoutant automatiquement une signature aux e-mails envoyés.

Cependant, nous avons finalement opté pour l’utilisation d’un script PowerShell, avec l’aide de l’intervenant externe, pour différentes raisons que je détaillerai par la suite.

Comment avons-nous réalisé cette mission ?

Lundi Matin

Afin de bien commencer la semaine, Martin, l’IT manager de Saga Mercedes, nous a présenté le projet de mise en place d’une signature e-mail automatisée. Nous avons passé toute la matinée à réfléchir à l’approche la plus adaptée. Comme indiqué précédemment, nous avons étudié en détail plusieurs outils payants, mais ceux-ci ne répondaient pas aux besoins de l’entreprise. Avant la pause déjeuner, nous avons finalement conclu qu’il serait préférable d’utiliser Microsoft Exchange.

Pourquoi utiliser Microsoft Exchange ?

Microsoft Exchange est une plateforme professionnelle de messagerie et de collaboration développée par Microsoft. Elle existe sous forme cloud (Exchange Online) ou sous forme serveur (Exchange Server). Dans le cas de Saga Mercedes, la solution est installée directement sur les serveurs de l’entreprise.

Cette plateforme est particulièrement utilisée en entreprise, car elle offre de nombreux avantages, notamment :

  • Contrôle complet sur les emails et les données (pour la sécurité et la conformité).
  • Intégration profonde avec Windows et Office.
  • Gestion centralisée des utilisateurs, des signatures, des règles de messagerie, etc.

Lundi après midi

Mise en place de la signature

Après avoir découvert Microsoft Exchange, nous avons décidé de l’utiliser afin de mener à bien ce projet de signature e-mail automatisée. Pour faire fonctionner cette signature, il suffit de créer une règle spécifique qui ajoute automatiquement la signature lors de l’envoi d’un e-mail.

Étant donné que le serveur de messagerie utilise Outlook, j’ai créé un exemple de signature directement depuis cette application. Dans le template, j’ai utilisé des variables permettant de récupérer automatiquement les informations contenues dans l’Active Directory.

Voici mon Template:

On peut donc constater que, pour récupérer les informations depuis l’Active Directory, j’utilise la syntaxe suivante :
%%nom exact de l’information dans l’AD%%.

Une fois le template créé, il est nécessaire d’utiliser le code HTML généré, que l’on retrouve directement dans le répertoire suivant :
%appdata%\Microsoft\Signatures.

Il faut ensuite retravailler ce code HTML, car il est très long et contient de nombreuses lignes inutiles. Il est notamment possible de supprimer la partie XML et de modifier la mise en forme si nécessaire. Pour ma part, voici la version finale de mon code, qui n’inclut pas la mise en forme, celle-ci étant trop volumineuse :

Pour finir il faut éditer la règle dans Microsoft Exchange.

  • On la nomme
  • La règle est appliquée selon une condition. Dans notre cas, celle-ci concerne l’expéditeur : la règle s’applique si celui-ci appartient au domaine.
  • La signature est ensuite ajoutée à l’aide du code HTML précédemment créé, et la règle est configurée afin de l’insérer automatiquement dans les e-mails envoyés.

Phase de test :

Mon équipier m’a envoyé un e-mail ; il est spécialiste informatique junior et s’appelle Jakub Černý. Toutes les informations dont nous avons besoin et qui sont présentes dans l’Active Directory apparaissent correctement dans sa signature. La mission est donc réussie !

Mais Pourquoi utiliser un Script PowerShell

Notre méthode fonctionnait correctement et chaque utilisateur pouvait disposer de sa propre signature. Cependant, le principal inconvénient de cette solution est que l’utilisateur ne peut pas visualiser sa signature avant l’envoi. En effet, il doit faire confiance à l’outil mis en place par l’équipe informatique, sans avoir la possibilité de vérifier que sa signature est correctement configurée.

Je pense que cette solution peut être adaptée à de petites entreprises, avec des utilisateurs sensibilisés à l’informatique et capables d’effectuer des tests entre eux. En revanche, dans le cas de Saga Mercedes, sa mise en place est plus complexe, car plus de 300 personnes utilisent le réseau. Il devient alors difficile d’organiser des tests de signature entre utilisateurs et d’assurer une coordination parfaite, sans compter le risque de surcharge du service HelpDesk due au grand nombre de demandes potentielles.

Mardi

On a passé la journée avec l’intervenant pour créer cette signature. Malheureusement, je ne vais pas pouvoir embarquer des photos de ce que nous avons produits pour des raisons évidentes.

Création du script

Pour créer le script, nous avons réutilisé le code HTML que j’avais précédemment réalisé. Cependant, cette fois-ci, nous avons créé des variables correspondant aux informations souhaitées, puis nous avons intégré ces variables directement dans le code HTML. Il existe d’ailleurs un script PowerShell permettant de gérer des signatures automatisées, disponible sur GitHub (lien cliquable).

La mission n’a pas été simple, et nous avons rencontré plusieurs difficultés, notamment :

  • La signature est créée localement sur l’ordinateur de l’utilisateur et non directement sur le compte Outlook.
  • De nombreuses erreurs de syntaxe lors du développement du script.
  • Plusieurs problèmes d’encodage UTF-8 sont également apparus, notamment en raison de l’utilisation de la langue tchèque.
  • l’utilisateur n’avait pas la possibilité de modifier sa signature manuellement.
  • Enfin, d’autres difficultés mineures sont venues s’ajouter à celles-ci.

Je dois dire que l’aide de cet intervenant, expert des solutions Microsoft, a été particulièrement précieuse. J’ai ainsi pu observer de nombreuses choses et mieux comprendre le fonctionnement des variables mises en place.

Conclusion

Pour conclure ces deux à trois jours de tests et de découverte de la mise en œuvre d’une signature automatisée dans une grande entreprise, j’en suis très satisfait. J’ai pu apprendre à utiliser un nouvel outil informatique, me replonger dans le codage HTML et pratiquer le script PowerShell.

En ce qui concerne les outils, Microsoft Exchange peut être une solution très efficace pour les petites entreprises, ou pour ajouter simplement une image ou un texte après la signature sans que l’utilisateur ait à intervenir. Cependant, l’option PowerShell est mieux adaptée aux grandes entreprises, qui nécessitent des solutions clés en main pour leurs utilisateurs. Il faut toutefois noter que le script PowerShell n’est pas facile d’accès et nécessite des compétences solides pour sa mise en œuvre.

Compétences

  • Mettre à disposition des utilisateurs un service informatique
  • Travailler en mode Projet

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Retour en haut