blog.powershell.no

On Windows PowerShell and other admin-related topics

Outlook signature based on user information from Active Directory

To provide a consistent company image all users should use the same signature template in their Outlook profile. I`ve created a Windows PowerShell-script to deploy a consistent Outlook signature to users, based on user information retrieved from Active Directory. I`ve used the fields “Display name”, “Title, “E-mail” and “Telephone number”, however, additional fields may be added to suit your needs.

 

Step-by-step

1) Download the script from here. Save it to a UNC-path accessible for all users.

2) Adjust the custom variables:

image

3) From an Outlook client, create a signature based on your company template:

image

4) Copy the signature files from %appdata%\Microsoft\Signatures to the UNC-path specified in the SigSource-variable in the script:

image

5) Open both Company Name.rtf and Company Name.htm in Microsoft Office Word and insert the following bookmarks:

image

Mark each word, e.g. “EmailAddress”, go to “Insert”, press the “Bookmark”-button and name the bookmark “EmailAddress”. It`s important that the names of the bookmarks are “DisplayName”, “Title”, “TelephoneNumber” and “EmailAddress”.
This is because these bookmarks are replaced by the information retrieved from Active Directory for the logged-on user.

6) When appropriately tested, deploy the script to end users. This may be accomplished by e.g. Group Policy:

image

 

Additional information

Sample signature created using Set-OutlookSignature.ps1:

image

Active Directory object for sample user:

image image

Settings are stored in HKCU in the registry:

image

A few notes:
-Existing signatures are preserved
-Users are allowed to make customizations to their signatures until a new version are deployed. Then the exisiting company-signature will be overwritten.


January 9, 2010 - Posted by Jan Egil Ring | Microsoft Outlook, Scripting, Windows PowerShell |

4 Comments »

  1. Looks like a great article but the images are way to small to read

    Comment by Alan Burchill | January 18, 2010 | Reply

  2. I`ll have a look at it, until then all images except the one on the top will get bigger when you click on them.

    Comment by Jan Egil Ring | January 18, 2010 | Reply

  3. Hi
    I’m evaluating this script but I find an error in following this. Can anyone confirm if the script is correct this way:

    #Stamp registry-values for Outlook Signature Settings if they doesn`t match the initial script variables. Note that these will apply after the second script run when changes are made in the

    “Custom variables”-section.
    if ($ForcedSignatureNew -eq $ForceSignatureNew){}

    I make the following change and no longer showed me the error, but still not working:

    #Stamp registry-values for Outlook Signature Settings if they doesn`t match the initial script variables. Note that these will apply after the second script run when changes are made in the “Custom variables”-section.
    if ($ForcedSignatureNew -eq $ForceSignatureNew){}

    Tks.

    Comment by Juan Morales | February 8, 2010 | Reply

  4. So does anybody have the correct code with no errors?

    Comment by roka | April 9, 2010 | Reply


Leave a comment