Central control of outlook signatures

Posted on 2007-10-17
Last Modified: 2011-08-02
At the moment, each user is set up with a signature on their own PC.
Layout is like this:
Phone Number
Standard company blurb

The name and phone number change per user, while the blurb stays the same.
Every time a new pc arrives, the signature for all users on that pc must be setup fresh. Is there a way to store the signatures centrally somewhere, so that it loads based on the user profile?


Question by:jdhackett
    LVL 104

    Expert Comment

    Nothing that you can do with Outlook.
    What I have done in the past is use a tool such as Exclaimer. This can build the signatures on the fly based on information stored in the domain.


    If your question has been answered, please remember to accept the answer and close the question.
    LVL 1

    Expert Comment

    The best way to do it is to use GPO to run a VBScript that will populate each of the signature files for Plain/Rich Text/HTML from the details stored about each user in Active Directory. It can then copy the files to the PC/Laptop on login. It will require you to select the signature within the Options in Outlook initially however after that you can change the users details in Active Directory and their signature will change the next time they log in.
    There are also third party (expensive) options for doing this on the mail server.

    LVL 23

    Expert Comment

    Exchange do not support a centralised signature/disclaimer. You need to do it with VB code, or if you are not familiar with VB you can purchase third party product to fullfil your objective.

    Check this link which gives you a list of third party products that embedd a centrailised disclaimer in Exchange.
    LVL 1

    Author Comment

    Thanks guys.
    gowanse - by GPO, I take it you mean Group Policy?
    I'm familiar with VB - is there a sample article anywhere that shows how this is done?
    LVL 1

    Accepted Solution

    Yes I did mean Group Policy
    Below is an example of a VBScript that I have used in the past it copys an image which is a logo for the company. It also pulls the relevant information out of Active Directory as well.

    There is also some interesting information at the below link.

    Dim syspath, scriptpath, path, wshell, fso, fil, fol

    Set fso    = Wscript.createobject ("Scripting.FileSystemObject")
    Set wshell = Wscript.createobject ("WScript.Shell")
    set fil    = fso.getfile(wscript.scriptFullName)
    set fol    = fil.parentfolder : scriptpath = fol.path
    syspath    = wshell.ExpandEnvironmentStrings("%Systemroot%")

    '####  COPY Image File for Signature ##############

    path = scriptpath & "\userUpdates\image\image.jpg"
    wshell.Run "xcopy.exe " & path &" "&syspath&" /y"

    doSignatures    ' Outlook Mail Signatures

    Private Sub doSignatures

    Const ForReading = 1,ForWriting = 2,ForAppending = 8
    Dim cUser,cJob,cTel,cMob,cFax,tfil,fPath,ext(3),s,i,sysinfo,User

    set fol=fso.getfolder(sigpath) : set fol = fol.parentfolder
    sigpath=fol.path &"\Application Data\Microsoft\Signatures"
    set fol=nothing
    If fso.folderexists(sigpath) = false then fso.createfolder(sigpath)

    Set sysinfo = CreateObject("ADSystemInfo")
    Set User= GetObject("LDAP://"& sysinfo.username)
    cUser = User.FirstName &" "& User.LastName
    cjob  = user.title : cTel  = user.telephoneNumber : cMob  =
    cfax  = user.faxnumber : cmail = user.mail
    If cMob = "" then cMob = " n/a"
    If cFax = "" then cFax = "+44 (0)23 9249 8853"

    ext(1)="txt" : ext(2)="rtf" : ext(3)="htm"

    For i=1 to 3
    path=scriptpath &"\UserUpdates\glasshouse\GlassHouse."& ext(i)
      if fso.fileexists(path) = True then
        fso.copyfile path, "c:\image.tmp"
        set tfil = fso.opentextfile("c:\image."& ext(i), ForAppending, true)
        set fil  = fso.opentextfile("c:\image.tmp", ForReading)
         while not fil.atendofstream
          s=replace(s,"szUserName",cUser) : s=replace(s,"szUserTitle",cJob)
          s=replace(s,"szUserTel",cTel) : s=replace(s,"szMobTel",cMob)
     s=replace (s,"szFax",cFax) : s=replace (s,"szmail",cmail)
          tfil.writeline s
        fil.close:tfil.close:fso.deletefile "c:\image.tmp"
       end if
      path=sigpath &"\SignatureName."& ext(i)
      if fso.fileexists(path) then fso.deletefile path  
      fso.movefile "c:\image." & ext(i), path

    End Sub

    Write Comment

    Please enter a first name

    Please enter a last name

    We will never share this with anyone.

    Featured Post

    Hire Top Freelancers to Complete Exchange Projects

    Source the talented Expert Exchange community
    for top quality work on your Exchange projects.

    Hire the best. Collaborate easily. Get quality work.

    Learn more about how the humble email signature can be used as more than just an electronic business card. When used correctly, a signature can easily be tailored for different purposes by different departments within an organization.
    Set up iPhone and iPad email signatures to always send in high-quality HTML with this step-by step guide.
    In this video we show how to create an email address policy in Exchange 2013. We show this process by using the Exchange Admin Center. Log into Exchange Admin Center.:  First we need to log into the Exchange Admin Center. Navigate to the Mail Flow…
    In this video we show how to create a mailbox database in Exchange 2013. We show this process by using the Exchange Admin Center. Log into Exchange Admin Center.: First we need to log into the Exchange Admin Center. Navigate to the Servers >> Data…

    761 members asked questions and received personalized solutions in the past 7 days.

    Join the community of 500,000 technology professionals and ask your questions.

    Join & Ask a Question

    Need Help in Real-Time?

    Connect with top rated Experts

    9 Experts available now in Live!

    Get 1:1 Help Now