You have a hybrid deployment of on-premises Microsoft Exchange Server and Microsoft Exchange Online in Microsoft Office 365. When you change an Office 365 user's photo by accessing that user's on-premises information, the change isn't synced to Exchange Online. For example, when the user views his or her photo in Outlook, Outlook on the web (formerly known as Outlook Web App), or Skype for Business Online, the user's previous Exchange Online profile photo is still displayed.
Although the thumbnailPhoto attribute is synced from the on-premises environment to Azure Active Directory (Azure AD), the following things could cause this problem.
Note The thumbnailPhoto attribute can store a user photo as large as 100 kilobytes (KB).
The thumbnailPhoto attribute is synced only one time between Azure AD and Exchange Online. Any later changes to the attribute from the on-premises environment are not synced to the Exchange Online mailbox.
Exchange Online accepts only a photo that's no larger than 10 KB from Azure AD.
Use the Set-UserPhoto cmdlet or Outlook on the web to change the user's photo. These methods enable you to upload a photo that's as large as 500 KB.
Use the Set-UserPhoto cmdlet (for admins)
To use the Set-UserPhoto cmdlet to change a user's photo, follow these steps:
Connect to Exchange Online by using remote PowerShell. To do this, follow these steps:
Important To use the Set-UserPhoto cmdlet to its full size capabilities, you have to change the connection URI by appending ?proxyMethod=RPS to the ConnectionUri parameter.
$Session = New-PSSession -ConfigurationName Microsoft.Exchange
-Credential (Get-Credential) -Authentication Basic -AllowRedirection
Import-PSSession $Session -AllowClobber -WarningAction SilentlyContinue
For more information, see Connect to Exchange Online using PowerShell.
Run the Set-UserPhoto command to change the user photo. For more information, see Set-UserPhoto.
Use Outlook on the web
For more information about how to change a user photo in Outlook on the web, see Update my photo and account information in Outlook Web App.
Admins can use the Set-UserPhoto cmdlet to change their own photo without having to change the ConnectionUri parameter. However, to change another user's photo, admins must first change the ConnectionUri parameter. If the parameter isn't changed, admins receive the following error message when they use the cmdlet to change a user's photo:
Request return error with following error message:
The remote server returned an error: (413) Request Entity Too Large...
+ CategoryInfo : NotSpecified: (:) [Set-UserPhoto], CmdletProxyException
+ FullyQualifiedErrorId : Microsoft.Exchange.Configuration.CmdletProxyException,Microsoft.Exchange.Management.RecipientTasks.SetUserPhoto
+ PSComputerName : outlook.office365.com
For more information, see the following Microsoft Knowledge Base article: