Outlook Signaturen Vorlage Verteilung

()

Outlook-Signatur automatisch erstellen mit Attribute aus Active Directory

Innerhalb eines Unternehmens gehört es zu den Aufgaben von Systemadministratoren die Signaturen für das Corporate Identity zu verwalten. Die meisten Unternehmen möchten das gesamte Erscheinungsbild der Signatur gestalten.

Outlook bietet hierfür keine direkten Möglichkeiten an, da die Email Signatur in Outlook eine clientseitige Anwendung ist und Benutzer somit ihre eigene Signatur erstellen und ändern können. Es gibt jedoch die Möglichkeit den Zugriff mithilfe von Gruppenrichtlinien auf die Signatur Optionen zu verhindern. Dies behebt jedoch nicht das Problem, dass zunächst eine Standardsignatur erstellt und generiert wird, und für die Benutzer bereitgestellt wird.

Dort wo eine zentralisierte Lösung auf Outlook Client-Ebene bevorzugt wird, und man auf die Exchange Transport Rules verzichten möchte, oder kein Exchange Server in verwendung ist, um die Signaturen zu generieren und über Login-Script oder GPOs zu verteilen, kann dieser Beitrag ein Ansatz für zentralisierte Lösungen geben.

VBScript Outlook Signatur deployment

Das folgende VBScript erstellt beim Client eine Outlook Signatur, dabei werden Anwenderdaten (Attribute) aus Active Directory, dsa.msc (Active Directory-Benutzer und -Computer) ausgelesen und anschliessend in die Signatur eingefügt, danach fügt das Skript die Signatur in neuen E-Mails und Antworten an.

On Error Resume Next

Set objSysInfo = CreateObject("ADSystemInfo")

GetUser = objSysInfo.UserName
Set objUser = GetObject("LDAP://" & GetUser)

GetName = objUser.FullName
GetTitle = objUser.Title
GetDepartment = objUser.Department
GetCompany = objUser.Company
GetPhone = objUser.TelephoneNumber
GetOtherPhone = objUser.otherTelephone
GetMobile = objUser.Mobile
GetEmail = objUser.EmailAddress
GetFax = objUser.FaxNumber
GetStreet = objUser.StreetAddress
GetZip = objUser.PostalCode
GetCity = objUser.l
GetState = objUser.State
GetHomepage = objUser.Homepage
GetNotes = objUser.Info
Appendix = "Bei Fragen stehen wir Ihnen gerne zur Verf" & Chr(252) & "gung."
Regards = "Freundliche Gr" & Chr(252) & "sse"

Set objWord = CreateObject("Word.Application")

Set objDoc = objWord.Documents.Add()
Set objSelection = objWord.Selection

Set objEmailOptions = objWord.EmailOptions
Set objSignatureObject = objEmailOptions.EmailSignature

Set objSignatureEntries = objSignatureObject.EmailSignatureEntries

' BOF signature

objSelection.Font.Name = "Calibri"
objSelection.Font.Size = 11
objSelection.TypeText Appendix
objSelection.TypeParagraph()
objSelection.TypeText Regards & Chr(11)
objSelection.TypeText GetName
objSelection.TypeParagraph()
objSelection.TypeText GetTitle & " " & GetDepartment & Chr(11)
objSelection.TypeText "Mobile " & GetMobile
objSelection.TypeParagraph()
objSelection.Font.Name = "Arial Black"
objSelection.Font.Size = 13
objSelection.Font.Bold = True
objSelection.Font.Color = RGB(22,46,106)
objSelection.TypeText GetCompany
objSelection.Font.Name = "Calibri"
objSelection.Font.Size = 11
objSelection.Font.Bold = False
objSelection.Font.Color = RGB(0,0,0)
objSelection.TypeParagraph()
objSelection.TypeText GetStreet & " " & GetZip & " " & GetCity & " " & GetNotes & Chr(11)
objSelection.TypeText "Telefon " & GetPhone & " Fax " & GetFax & " " & GetEmail & " " & GetHomepage

' EOF signature

Set objSelection = objDoc.Range()

objSignatureEntries.Add "MySignature", objSelection
objSignatureObject.NewMessageSignature = "MySignature"
objSignatureObject.ReplyMessageSignature = "MySignature"

objDoc.Saved = True
objWord.Quit

Die Code Zeilen kopiert man in einen Editor, zum Beispiel Notepad und speichert diese mit der Dateierweiterung-.vbs.

Anpassungen an der Signatur können im Skipt zwischen BOF signature und EOF signature vorgenommen werden.

Das Skript nun an einer Workstation mit Outlook ausführen, es findet am Bildschirm keine Ausgabe statt, nach der Ausführung kann Outlook geöffnet werden und eine neue E-Mail erstellt werden, die Signatur erscheint nun in der Nachricht, welche der nachstehenden Abbildung ähnlich sieht.

Outlook Signatur
Abbildung: Outlook Signatur

Outlook Signaturen Client Verteilung

Über GPOs kann man Scripts für das Login konfigurieren. Die Einstellungen für Anmelde- und Abmelde-Scripts findet man unter Benutzerkonfiguration => Richtlinien => Windows-Einstellungen => Skripts. Der Speicherort für Scripts, die man über GPOs zuweist, befindet sich unter dem Pfad \\FQDN\SYSVOL\FQDN\policies\user\scripts\logon und logoff.

Vorschläge und Anpassungen

Vorschläge zu diesem Beitrag sind gewünscht und willkommen, dazu gibt es auf Github ein zu diesem Beitrag referenziertes Repository. Gefällt der Beitrag, kannst Du uns auch dort ein Stern geben. Wenn Du zu diesem Projekt beitragen möchtest, kannst Du dein eigenes Repository forken, zögere nicht mit einem Pull-Request dein eigenes Repository oder Projekt daraus zu erstellen, es ist OpenSource und es ist unter der MIT-Lizenz lizenziert.

Wie hilfreich war dieser Beitrag?

Klicke auf die Sterne um zu bewerten!

Durchschnittliche Bewertung / 5. Anzahl Bewertungen:

Bisher keine Bewertungen! Sei der Erste, der diesen Beitrag bewertet.

Es tut uns leid, dass der Beitrag für dich nicht hilfreich war!

Lasse uns diesen Beitrag verbessern!

Wie können wir diesen Beitrag verbessern?

3 Gedanken zu „Outlook Signaturen Vorlage Verteilung“

  1. Hallo,
    ich muss erstmal sagen das ist ein sehr gutes und nützliches Script. Nur habe ich ein Problem mit den Abständen zwischen den Zeilen, die sind mir einfach zu groß… Kann man das irgendwie bearbeiten? Ich habe leider keine Ahnung wie ich das ändern kann.
    Gruß Lukas

  2. Hallo,
    danke für das bereitstellen des Scripts. Ich habe das Script soweit angepasst wie ich es benötige, nun müsste ich noch die Abstände nach dem Absatz entfernen damit alles direkt untereinander steht und kein Absatz vorhanden ist und für den Datenschutztext müsst noch ___ diese Unterstriche eingebaut werden.
    Wie kann das dargestellt werden? Besten Dank schonmal im Voraus für Ihre Bemühungen.

    1. Hallo,

      Dazu kann man anstelle eines Absatz TypeParagraph carriage return und line feed & vbCr oder & Chr(11) verwenden, nachfolgender Codeblock als Beispiel:

      objSelection.Font.Name = "Calibri"
      objSelection.Font.Size = 11
      objSelection.TypeText Appendix
      objSelection.TypeParagraph()
      objSelection.TypeText Regards & Chr(11)
      objSelection.TypeText GetName
      objSelection.TypeParagraph()
      objSelection.TypeText GetTitle & " " & GetDepartment & Chr(11)
      objSelection.TypeText "Mobile " & GetMobile
      objSelection.TypeParagraph()
      objSelection.Font.Name = "Arial Black"
      objSelection.Font.Size = 13
      objSelection.Font.Bold = True
      objSelection.Font.Color = RGB(22,46,106)
      objSelection.TypeText GetCompany
      objSelection.Font.Name = "Calibri"
      objSelection.Font.Size = 11
      objSelection.Font.Bold = False
      objSelection.Font.Color = RGB(0,0,0)
      objSelection.TypeParagraph()
      objSelection.TypeText GetStreet & " " & GetZip & " " & GetCity & " " & GetNotes & Chr(11)
      objSelection.TypeText "Telefon " & GetPhone & " Fax " & GetFax & " " & GetEmail & " " & GetHomepage

      Horizontale Linie geht wie folgt:
      objSelection.TypeText "--------------------------------"

Schreibe einen Kommentar

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