Forum Discussion
Set-UserPhoto size of picture?
Thank you Vishal,
The article doesn't mention 240x240 as a resolution being used anywhere, then it seems strange that it's the resolution you get when fetching from Exchange online and the filesize is approximately 7kb.
So, if you don't make use of Skype then I see no real improvement of using Set-UserPhoto and the manual labour of using powershell scripts. Then we can just go with the ADsync of the thumbnail attribute resulting in 10 kb images, which is what you get anyway?
Or am I missing something?
/Daniel
I believe thats true. If we have to use for S4B or any other service where it required higher resolution, it will help.
- VasilMichevMar 29, 2017MVP
Photos in O365 are still a mess, but in general what Vishal said is true. The available sizes for Exchange are listed here: https://msdn.microsoft.com/en-us/library/office/jj191419(v=exchg.150).aspx
You can get a soecific size via:
https://outlook.office365.com/ews/Exchange.asmx/s/GetUserPhoto?email=user@domain.com&size=HR240x240
Which is not guarantee that you will have the same sizes in other workloads. You can see (most) available sizes from SPO's MySites store: https://tenant-my.sharepoint.com/User%20Photos/Forms/Thumbnails.aspx?id=%2FUser%20Photos%2FProfile%20Pictures
- Daniel MercouriosApr 03, 2017Copper Contributor
Thanks Vasil for confirming my experience that photos are a mess in O365.
I will soon receive feedback from the customer regarding the resolution and quality of the photos that I uploaded through powershell and try to explain all the ifs and buts and caveats of photos in O365.
- Clark LebargeAug 01, 2018Copper Contributor
I disagree with the statement that photos are a mess, they work as expected. The issue the original author has is not in the photos, but in a limitation of the Get-UserPhoto powershell command.
As you may note, there is no switch with the command to specify the photo size to retrieve, so the command is simply always retrieving the HR240x240 value.
If you examine the photos available through the Web UI for Outlook, such as:
https://outlook.office365.com/ews/Exchange.asmx/s/GetUserPhoto?email=user@domain.com&size=HR648x648
You will note that all sizes of HR listed here should be retrievable by changing the HR value:
https://docs.microsoft.com/en-us/exchange/client-developer/web-service-reference/sizerequested
So to summarize as a Best Practices Recommendation:
- Avoid using Active Directory ThumbnailPhotos as a means of replicating photos from on prem to Office 365 as the photo resolution is no greater than 64x64 and the file size is restricted to 10KB.
- For users with an Exchange Online or Skype for Business Online licensing, profile photos should be cropped or resized to 648x648 prior to uploading to Office 365 to ensure proper aspect ratios are maintained when Exchange Online automatically resizes the photos.
- Administrators may upload prepared profile photos for their users with Exchange Online or Skype for Business Online using the Set-UserPhoto command.
- For more restrictive environments, disable the user's ability to modify their profile photo. This can be accomplished with a command: Get-OwaMailboxPolicy | Set-OwaMailboxPolicy -SetPhotoEnabled $false
This process takes an hour or more to complete. - These profile photos will be copied automatically into SharePoint Online for the small, medium, and large photos it stores.
This process is not immediate in some cases, may require up to 72 hours to update. - For users with only SharePoint Online licensing, and no Exchange or Skype, the profile photo will only be stored in SharePoint Online and the previous commands to set the photo are not available to the Administrator.
Most Office 365 deployments include Exchange Online, so this is a limited scenario.