Customising the Outlook Contact Cards and Adding User Photos

Recently, I decided that I wanted to add staff photographs to the Global Address List. This is something that I had previously inherited in a former job, and thought would be good to implement for my current employer.

There were a few reasons for wanting to do this :

  • Staff awareness of each other

Whilst working in IT, i seem to know everyone in the company (we aren’t massive, <200 staff), it turns out that most people struggle with who people are outside of their own department.

  • Friendly face on emails

People treat each other better (even internally) when they can put a face to who they are communicating with, especially over email.  It’s too easy to dehumanise someone who is just words on a page.

Anyway, the technical stuff.

Group Policy

First thing we needed to do was to install the Office 2013 Administrative Template files (ADMX/ADML) and Office Customization Tool.  This gives the extra options to be able to manage a whole host of customisation settings within the office environment.

The relevant ones for the Contact Card are in User Configuration>Policies > Administrative Templates > Microsoft 2013 > Contact Card > Contact Tab


This part can get a little fiddly.  There are a few default values for the Contact Cards and if these fields are competed in an AD User then they are displayed.  To display different ones (we wanted to have the Pager field displayed, which is not default) then you have to replace one of the defaults.

There are 3 types of options here :

  1. Replace AD
  2. Replace Label
  3. Replace MAPI

In all honesty, this whole process seriously confused me, and took a HUGE amount of trial and error to get the result I wanted.   I know a lot of these “how to” posts give full technical explanations, but I still don’t fully understand this.  This is just an explanation of what I did to get it working!

As an example, to add the Pager field (where we store our users extensions numbers) to the Contact card ,I removed the Work Address default value by setting the following policy values:

  • Replace Label -Work Address = “Extension” (this made it so that instead of the field being displayed as Pager, it was displayed as Extension)
  • Replace AD – Work Address = “ms-Exch-Telephone-Personal-Pager” (This is the full AD Attribute name for the Pager field in AD – a hell of a lot of googling went into this!)
  • Replace MAPI -Work Address  =  975241247 (this is the Binary value  for the hexadecimal property tag for the Pager property – again, a lot of googling!)

Once the group policy was set up and working (FINALLY!) the next task was to actually add the pictures.


Turns out the photos have to be less than 10 Kb for them to be stored in AD. I used GIMP to shrink all user photos down until they were all under the size limit and stored them in a share on one of our server.  You can set the photos against the indivisual users using Powershell.

To set all photos at once :

$PhotoPath = "\SERVER\SHARE\photos\Outlook\*.*" $PhotoPath = "\SERVER\SHARE\photos\Outlook\*.*"

ForEach ($PhotoFile in gci $PhotoPath)

{ $User = '' + $PhotoFile.Name.substring(0, $PhotoFile.Name.Length - 4) + ''
Import-RecipientDataProperty -Identity $User -Picture -FileData ([Byte[]]$(Get-Content -Path $PhotoFile.Fullname -Encoding Byte -ReadCount 0))

To add a photo for an individual user  ;

Import-RecipientDataProperty -Identity "Daniel Blank" -Picture -FileData ([Byte[]]$(Get-Content -Path "\\SERVER\SHARE\photos\Outlook\Daniel Blank.jpg" -Encoding Byte -ReadCount 0))

Finally, to remove a user’s photo:

set-mailbox "Daniel Blank" -RemovePicture

After all that, here is the end result :


Final Thoughts

In all honesty, given the amount of googling, trial and error, and photo editing involved, this was a seriously frustrating project. However, it does seem to have gone down well with management, and the users, so I guess it was worth it.

Hope this saves someone else the amount of pain I had to go through to get this sorted!



Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s