How to automatically create Outlook signature with attributes from Active Directory
Within a company it is one of the tasks of system administrators to manage the signatures for the corporate identity. Most companies want to design the entire look and feel of the signature.
Outlook does not offer any direct options for this, as the email signature in Outlook is a client-side application and users can therefore create and change their own signature. However, there is the possibility of preventing access to the signature options using group policies. However, this does not correct the problem that a default signature is first created and generated and made available to the users.
Where a centralized solution at Outlook client level is preferred and you want to do without the Exchange Transport Rules, or no Exchange Server is used to generate the signatures and distribute them via login script or GPOs, this article can be a Provide an approach for centralized solutions.
VBScript Outlook Signature deployment
The following VBScript creates an Outlook signature on the client, while user data (attributes) are read from Active Directory, dsa.msc (Active Directory users and computers) and then inserted into the signature, after which the script inserts the signature in new e- Mails and replies to.
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 = "Feel free to contact us if you have any questions."
Regards = "Best Regards,"
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
The lines of code are copied into an editor, probably Notepad, and saved with the file extension-.vbs.
Adjustments to the signature can be made in the script between BOF signature and EOF signature.
Now execute the script on a workstation with Outlook, there is no output on the screen, then open Outlook will a new e-mail can be created, the signature now appears in the message, which looks similar to the figure below.

Outlook Signaturen Client distribution
You can configure scripts for login via GPOs. The settings for login and logout scripts can be found under User Configuration => Policies => Windows Settings => Scripts. The storage location for scripts that are assigned via GPOs is under the path \\FQDN\SYSVOL\FQDN\policies\user\scripts\logon and logoff.
Suggestions and adjustments
Suggestions for this post are desired and welcome; there is a repository referenced for this post on Github. If you like this post, you can also give us a rating there. If you want to contribute to this project, you can fork your own repository, do not hesitate to create your own repository or project with a pull request, it is open source and it is licensed under the MIT license.