E-Mail Signaturen aus AD-Daten generieren (AD2Template)

Einleitung

Vor mittlerweile 10 Jahren stand ich vor dem Problem, einheitliche E-Mail-Signaturen für alle Mitarbeiter eines Unternehmens anhand von Daten aus dem Active Directory zu generieren. Die grundsätzliche Signatur in einem aufgeräumten HTML- und Text-Teil war schnell erstellt, das Verteilen und Individualisieren stellte sich jedoch als etwas kniffliger heraus. Es gibt hierzu zwar einiges an kommerzieller Software, für meinen Zweck waren sie aber alle etwas überdimensioniert.
Im Endeffekt entschloss ich mich damals, mangels brauchbarer Alternativen, die Signaturen mit einem VBS-Logon-Skript zu erstellen.

Jetzt, im Jahr 2024, habe ich mich entschlossen, das Problem noch einmal neu anzugehen, und habe hierzu ein kleines Tool namens „AD2Template“ geschrieben:
https://github.com/WinTeach/AD2Template

Eine Anleitung zur Nutzung des Tools befindet sich bereits innerhalb des GitHub-Projekts. Hier folgt eine etwas tiefergehende Erklärung, wie es zum Verteilen von E-Mail-Signaturen genutzt werden kann.

Vorbereitungen

Genutzte Versionen

Die komplette Anleitung wurde mit folgenden Softwareversionen erstellt:

Variablen ermitteln/setzen

Active Directory – Attribut-Editor

AD2Template kann alle im AD-User-Objekt definierten Attribute auslesen und nutzen. Die Attribute können einfach über „Active Directory-Benutzer und -Computer“ eingesehen und definiert werden. Hierzu muss im „Active Directory-Benutzer und -Computer“-Fenster unter „Ansicht“ zunächst die Option „Erweiterte Features“ aktiviert werden. Wenn anschließend ein Benutzerobjekt geöffnet wird, können sämtliche Attribute unter dem Tab „Attribut-Editor“ eingesehen werden.

Für dieses How-To nutzen wir die im Tab „Allgemein“ auslesbaren Werte:
cn, description, physicalDeliveryOfficeName, telephoneNumber, mail, und wWWHomePage.

Active Directory – Allgemein

Signaturen html/txt vorbereiten

Signatur anlegen

Im ersten Schritt benötigen wir eine Signatur, die wir als Template bereitstellen können. Ich bevorzuge sauberen HTML-Code, aber für diese Anleitung erstellen wir eine einfache Signatur direkt über Outlook. Es können natürlich auch bestehende Signaturen verwendet werden.
Eine von Microsoft bereitgestellte Sammlung an E-Mail-Signaturvorlagen findet sich hier (externer Link). Ich habe mir hierzu eine ganz simple Signatur über Word erstellt und in eine neue Signatur eingefügt.

Eine neue Signatur legt ihr in Outlook über „Neue E-Mail“ → „Signatur“ → „Signaturen…“ → „Neu“ an.

Signaturen in Oulook öffnen
Neue Signatur Anlegen

Template-Dateien erstellen

Dateinamenerweiterungen anzeigen lassen

Im Verlauf dieses Schritts müssen die Dateinamenserweiterungen angepasst werden. Es empfiehlt sich, diese über den Windows-Explorer anzeigen zu lassen..

Öffnet nun den Ordner %appdata%\Microsoft\Signatures im Windows-Explorer und verschiebt (oder kopiert) sämtliche Dateien und Ordner, die zu eurer Signatur gehören, in das konfigurierte template-Verzeichnis von AD2Template.

Signatur ins Template Verzeichnis verschieben

Um AD2Template mitzuteilen, in welchen Dateien Elemente ausgetauscht werden sollen, ergänzt die Dateiendung um .jinja.

Dateinamenerweiterungen ändern

Öffnet die Dateien nun mit einem beliebigen Texteditor und sucht dort nach den Werten die aus dem Active Directory übernommen werden sollen. Die Werte können einfach durch die AD-Werten innerhalb von doppelten geschweiften Klammern ( {{ wert }} ) ersetzt werden. Es kann hier auch die suchen und ersetzen Funktion des Editors genutzt werden.

In meinem Beispiel ersetze ich folgende Werte:

Ursprung Ersetzt durch
Tobias Wintrich {{ cn }}
info@winteach.de {{ mail }}
Founder & CEO {{ description }}
+49 999 999999 {{ telephoneNumber }}
www.winteach.de {{ wWWHomePage }}
Bearbeitetes Template
Hinweis

Jinja-Templates können mehr als nur Variablen ersetzen. Beispielsweise können einfache Wenn-Dann-Abfragen integriert werden. Wenn in eurer Umgebung beispielsweise nur einige Benutzer eine eigene Rufnummer in der Signatur haben sollen und bei allen anderen die zentrale Rufnummer angezeigt werden soll, könnte die Syntax so aussehen:
{{ telephoneNumber ? telephoneNumber : '+49 9999999' }}

Eine vollständige Dokumentation des Jinja-Templating-Systems findet ihr hier: Jinja-Dokumentation.

Im Fall von E-Mail-Signaturen muss die E-Mail-Adresse innerhalb der Datei- und Ordnernamen durch den entsprechenden Template-Wert ersetzt werden. In diesem Fall wird die Variable nicht innerhalb von geschweiften Klammern, sondern mit doppelten Rautezeichen (#wert#) eingegrenzt.

Beispiel:
Die Datei winteach (info@winteach.de).htm.jinja wird zu winteach (#mail#).htm.jinja.

Fertig bearbeitete Template Dateien

 

AD2Template nutzen

Test

Führt die Anwendung einfach aus, indem ihr die Datei ad2template.exe startet. Anschließend werden die bearbeiteten Dateien im konfigurierten „output_folder“ erstellt.

AD2Template erzeugt E-Mail Signaturen

Deployment

Die Anwendung kann problemlos auch von UNC-Pfaden per Login-Skript ausgeführt werden.
Ihr könnt das Template-Verzeichnis in der Datei config.ini ebenfalls per UNC-Pfad definieren, z. B.:
\\fileserver\AD2Template\templates.

Beispiel Login Skript

 

Fragen/Probleme/Wünsche?

Solltet ihr Probleme mit dem Tool haben oder Verbesserungsvorschläge einbringen wollen, hinterlasst gerne einen Kommentar oder meldet euch direkt über GitHub: (https://github.com/WinTeach/AD2Template/issues).

Tobias Wintrich

Tobias Wintrich

Fachinformatiker/Systemintegration
Bäcker aus Leidenschaft

Artikel: 31

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert