How to manage users’ photos in Microsoft Lync, Outlook and Exchange Server?

Starting with the 2010 edition of Outlook, Lync and Exchange users are finally able to have their photos displayed directly in Outlook and Lync clients in conversations. This new feature, although extremely helpful for users, brought new challenges from the infrastructure and administration point of view. We probably all know these blurry images appearing in Lync 2013 clients during the Lync call. The image distortion results from the difference between the maximum image size that can be stored in the thumbnailPhoto attribute in Active Directory (96×96 pixels) and the size of the photo in the Lync call window. Since the Lync 2013 client allows for displaying larger images, thumbnails are sometimes scaled up even to 648×648 pixels and that results in an image blur.

Microsoft Lync - image blur
Things get better if you have Exchange 2013 or 2016 onboard, in which high resolution users’ images can be stored directly in mailboxes and accessed by Exchange Web Services (EWS). The most important improvement, however, is that with Exchange 2013/2016 onboard the image sizes don’t have to be limited to 96×96 pixels anymore. Since administrators are now free to use even the maximum resolution of 648×648 pixels, users’ photographs can now look way better during conversations.

How to upload high resolution images to Lync and Exchange 2013/2016?

As per Microsoft documentation, the following script can be executed in Exchange Management Shell to upload a large photo to an Exchange mailbox for a single user:

$photo = ([Byte[]] $(Get-Content -Path "C:\your-photo\file.jpg" -Encoding Byte -ReadCount 0))
 Set-UserPhoto -Identity "user’s Display Name" -PictureData $photo -Confirm:$False
 Set-UserPhoto -Identity "user’s Display Name" -Save -Confirm:$False

*replace phrases in quotes with proper values

To verify if the large photo has been set, the user can go to Options > My picture in their Lync 2013 client and check if the new personal photo is already there. Alternatively, you can view the large image in the browser using Exchange Web Services (EWS has to be configured properly). Obviously this script would have to be modified, if you would like to use it to upload users’ photos in bulk. It is also difficult to rely on scripting when you need to manage users’ photos frequently. A much more effective way to manage users’ photographs is to use a free tool developed by CodeTwo, CodeTwo Active Directory Photos, which lets you upload photos to Active Directory using a graphical user’s interface.

Using CodeTwo Active Directory Photos for users’ photo management

CodeTwo Active Directory Photos is a completely free tool for managing users’ photographs in Active Directory. Thanks to this freeware application you don’t have to execute any PowerShell commands to upload, change or delete users’ photos in Active Directory. The program gives you all the necessary management options within its intuitive GUI. What’s more important, the new updated version now also fully supports uploading high resolution pictures to Active Directory, which can be displayed in large windows of Lync 2013 clients. Uploading images to Active Directory using CodeTwo Active Directory Photos is a breeze. The program can be installed on any Windows computer that is connected to Active Directory. If you launch it from a profile of a Domain Admin it displays the list of all Active Directory users in the main window. You can easily upload, change or delete photos of any user that’s on the list. The uploaded photographs are displayed in Outlook conversations, GAL lists and Lync calls. What’s more, bulk uploads and using high resolution mailbox photos is also supported.

Active Directory Photos

Inserting users’ photos to outgoing messages

Once you upload users photos to Active Directory, you can also include them in users outgoing emails, for instance as a part of their email signature. The easiest way of doing that is to use another tool by CodeTwo for managing users’ signatures and disclaimers on Exchange Server, called CodeTwo Exchange Rules Pro.

Learn more about adding users’ photos to outgoing mail

How to manage users’ photos in Microsoft Lync, Outlook and Exchange Server? by

8 thoughts on “How to manage users’ photos in Microsoft Lync, Outlook and Exchange Server?


  1. We recently used your excellent ActiveDirectory Photos product to import user photos into our AD. In our Exchange 2013 environment, Outlook desktop client users can see the uploaded photos…but our OWA users cannot see photos of users in the GAL. Do you have any insight on why this would be? We’ve reset IIS, purged local browser cache, and restarted both Exchange servers…and still no luck. I’m stumped.

    • Hi Trey,

      Please run the below commands to check if your OWA policies allow for displaying photos:

      Get-OwaMailboxPolicy | FL Identity,*Photo*
      Get-OwaVirtualDirectory | FL Identity,*Photo*

      If any of the DisplayPhotosEnabled parameters is set to false, correct this and reset IIS.

      Please let me know if this helps.

      Best regards,
      Adam

  2. Hi Adam, the tool is perfect however in these days MS complicated everything with o365 where the AD atribute is not (only) used.

    Take a look at this summary – http://windowsitpro.com/blog/synchronizing-user-photos-across-office-365-workloads-isnt-easy

    Would it be possible to modify the tool to support Hybrid/o365 deployments?

    • Hi Libor,

      As Tony writes – it’s complicated :) But DirSync/AADSync should be able to sync the thumbnailPhoto attribute as long as the photo is 96x96px and 10Kb or less (https://community.office365.com/en-us/f/148/t/31174). So hybrid environments are already partly supported. Anything more would require Microsoft to centralize the location of photos in their cloud services.

      Best regards,
      Adam

Leave a Reply

Your email address will not be published.

*

*

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>