Exchange 2013 and Lync 2013 now have the ability to use high-resolution photos for users to view photos of their contacts and to make their own photos
available to others. Usually these photos were stored as part of the user’s thumbnailPhoto
attribute in Active Directory. The recommended resolution for photos stored in the thumbnailPhoto attribute is 96 pixels by 96 pixels. In addition, the thumbnailPhoto attribute has a physical limit of 100KB, but Exchange 2010 and Lync 2010 impose a limit of 10KB. This limit was imposed to reduce the size of the Active Directory database and increase replication performance.
Lync 2013 now features a larger contact photo for meeting participants. It scales those small 96×96 pixel thumbnailPhotos up to 278×278 pixels, which results in a blurry, but still usable, photo.
|96×96 pixel photo displayed in Lync 2013|
The new high-res photos used by the Wave 15 products (Exchange 2013, Lync 2013, SharePoint 2013, and Office 2013) are now stored in the user’s Exchange 2013 mailbox and are accessed using Exchange Web Services (EWS). This makes a lot of sense since Exchange is installed in almost all of these environments. Lync 2013 now allows for photo sizes up to 648 pixels by 648 pixels – a 700% improvement! Just look at that handsome devil!
|648×648 pixel photo displayed in Lync 2013|
The following script sample can be used to store a 648 by 648 pixel photo in Ken Myer’s Exchange 2013 mailbox:
$photo = ([Byte] $(Get-Content -Path “C:\Photos\Ken Myer.jpg” -Encoding Byte -ReadCount 0))
Set-UserPhoto -Identity kenmyer -PictureData $photo -Confirm:$False
Set-UserPhoto -Identity kenmyer -Save -Confirm:$False
Exchange 2013 automatically scales this 648×648 photo for various applications. The following examples show the same hi-res photo in Office 2013 and Lync 2013 scaled to different sizes.
|Outlook 2013 contact view|
|My Picture option in Lync 2013|
Notice in the Lync 2013 example above that there’s a button to allow users to edit or remove their picture. That button only lights up in Lync 2013 if the user’s mailbox is hosted on an Exchange 2013 server. There is no “self-service” way to upload pictures with Exchange 2010, although it can be done from SharePoint 2010.
But before you go updating all the photos of employees in your company with new hi-res photos, you should know a few things about backward compatibility. The Set-UserPhoto cmdlet, which only exists in Exchange 2013 and is used in the script above, not only stores the hi-res photo in the user’s mailbox, it also stores a 48×48 pixel version in the thumbnailPhoto AD attribute. That’s half the resolution of the 96×96 recommended size and results in a terrible photo for users on Exchange 2010.
|48×48 pixel thumbnailPhoto displayed in Lync 2013|
It’s interesting to note that Exchange 2010 users always use the 48×48 thumbnailPhoto attribute in AD. Lync 2013 won’t look for a hi-res photo in the Exchange 2013 user’s mailbox if the Lync 2013 user is on Exchange 2010. This gives a less than optimal view for the Exchange 2010 Lync user:
This is really only an issue for customers in an migration scenario, but it’s worth noting. The point is that you should only update Exchange 2013 mailbox users with hi-res photos.
For more information about high resolution photos used in Lync 2013 see Configuring the Use of High-Resolution Photos in Microsoft Lync Server 2013, but please keep in mind that the script examples in that article have typos in them. The script above corrects those errors.
You may also want to read GAL Photos in Exchange 2010 and Outlook 2010.