近期客户反馈了这样一个问题,通过ABP或将用户从地址列表中隐藏后,在outlook客户端上无法显示用户的头像。
以下是我针对此问题的验证过程:

  1. 在exchange2013 ECP上创建了2个测试帐户:ceshi01\ceshi02,并勾选了在地址列表中隐藏,如下图:
    outlook中不显示用户的头像问题_第1张图片
    outlook中不显示用户的头像问题_第2张图片

  2. 通过命令设置ceshi01\ceshi02的头像
    outlook中不显示用户的头像问题

  3. 使用ceshi01帐户登录OWA,新建邮箱,收件人框中输入[email protected]后,可以正常显示头像,如下图:
    outlook中不显示用户的头像问题_第3张图片

  4. 通过ceshi01帐户配置outlook,完成后新建邮件,收件人框中输入[email protected]后,无法显示头像,如下图:
    outlook中不显示用户的头像问题_第4张图片

  5. 通过ECP取消地址列表隐藏,如下图:
    outlook中不显示用户的头像问题_第5张图片
  6. 通过命令Get-OfflineAddressBook |Update-OfflineAddressBook 更新离线地址簿后,outlook下载离线地址簿,如下图:
    outlook中不显示用户的头像问题_第6张图片
  7. 再通过outlook发送邮件,收件人输入ceshi02后,可以看到ceshi02的头像,如下图:
    outlook中不显示用户的头像问题_第7张图片

    以上是我的验证过程,当设置用户在地址列表中隐藏后,outlook是无法显示头像的。而取消隐藏后就可以正常的显示用户头像。

    针对于这个问题,经研究确认,Outlook 客户端是依赖于OAB来显示头像的,工作原理是在Exchange OAB里面会有一个关于头像属性(ThumbnailPhoto)的指针,如下图:
    outlook中不显示用户的头像问题_第8张图片

    通过这个指针Outlook客户端会从AD中读取把这个头像并显示出来。
    因此,当我们用ABP或者将邮箱从地址簿隐藏的时候,OAB里面就没有这个对象的指针,导致无法显示头像。
    以下是exchange2010的工作原理解释,但是我看了下Exchange 2013、2016环境,这个功能是延用的,没有变化。
    https://blogs.technet.microsoft.com/exchange/2010/06/01/gal-photos-frequently-asked-questions/