有个客户反映,他在AD中修改了账户的显示名称,已经修改了好几个月了,在部分人的Lync Client 2010中看到的显示名称还是旧的。第一想法是缓存导致的,于是清理了下缓存,将下面分割线内的代码保存到文本文件中,命名为.bat 文件,然后执行。
--------------------------------------------------------------------分割线--------------------------------------------------------------------------------------
@echo on
@echo ******清除缓存开始!!!******
@echo ********************************************************************************
@echo 1-修改-注册表-立即下载地址簿
reg add HKCU\Software\Policies\Microsoft\Communicator /v GALDownloadInitialDelay /t REG_DWORD /d 0 /f
@echo ********************************************************************************
@echo 2-关闭-Lync 2010-进程
@echo off & taskkill /f /im communicator.exe
@echo ********************************************************************************
@echo 3-关闭-Lync 2010-进程
@echo off & taskkill /f /im UcMapi.exe
@echo ********************************************************************************
@echo 4-关闭-Lync 2013-进程
@echo off & taskkill /f /im Lync.exe
@echo ********************************************************************************
@echo 5-删除-Lync 2010-对应-目录-文件
@echo off & del /f /s /q "%userprofile%\AppData\Local\Microsoft\Communicator\*.*"
@echo off & rd /s /q "%userprofile%\AppData\Local\Microsoft\Communicator\"
@echo off & del /f /s /q "%userprofile%\Local Settings\Application Data\Microsoft\Communicator\*.*"
@echo off & rd /s /q "%userprofile%\Local Settings\Application Data\Microsoft\Communicator\"
@echo ********************************************************************************
@echo 6-删除-Lync 2013-对应-目录-文件
@echo off & del /f /s /q "%userprofile%\AppData\Local\Microsoft\Office\15.0\Lync\*.*"
@echo off & del /f /s /q "%userprofile%\AppData\Local\Microsoft\Office\15.0\Lync\*.*"
@echo off & del /f /s /q "%userprofile%\AppData\Local\Microsoft\Office\15.0\Lync\*.*"
@echo off & del /f /s /q "%userprofile%\AppData\Local\Microsoft\Office\15.0\Lync\*.*"
@echo off & del /f /s /q "%userprofile%\AppData\Local\Microsoft\Office\15.0\Lync\*.*"
@echo off & del /f /s /q "%userprofile%\AppData\Local\Microsoft\Office\15.0\Lync\*.*"
@echo off & del /f /s /q "%userprofile%\AppData\Local\Microsoft\Office\15.0\Lync\*.*"
@echo off & del /f /s /q "%userprofile%\AppData\Local\Microsoft\Office\15.0\Lync\*.*"
@echo off & del /f /s /q "%userprofile%\AppData\Local\Microsoft\Office\15.0\Lync\*.*"
@echo off & rd /s /q "%userprofile%\AppData\Local\Microsoft\Office\15.0\Lync\"
@echo ********************************************************************************
@echo ******清除缓存完成!!!******
@Pause
-----------------------------------------------------------------------分割线-----------------------------------------------------------------------------
运行完成后,重新登录Lync ,但是问题依旧。于是我分成以下几步进行排查
1、到Lync数据库中检查修改了显示名称的联系人信息
我选取了显示异常的账户[email protected], 该账户由原先的郑爱菊改为范林燕
select * FROM [rtcab].[dbo].[AbAttributeValue] where Value like '%[email protected]%' ,查询结果发现数据库已经更新了。
2、创建一个新的账户t1,在t1中搜素front
查找结果正常
3、找一个看异常的账户搜索front,
出来的结果对比t1发现不一样,查询结果我用红色标注了。同时我还注意到,注销这个异常的账户重新登录,看到这个frontdesk2的显示名称是更新后的,不过2-3秒后又变回旧的了。
对比这两个查询结果,我想应该是Lync Client 从多个数据源进行搜索,且这些还有优先级。经过了解,Lync的这个来源确实有多个地方,有AD、Lync数据库,Exchange中我的联系人,Exchange统一联系人存储。我检查AD\EXCHANGE\LYNC数据库都已经更新了。再看到这个cindy中的查询结果,后面有(联系人),(Lync联系人),我想应该是cindy在以前添加了frontdesk2为自己的联系人,而当时他的显示名称是郑爱菊,这个并不会跟着AD的修改而修改。
打开cindy的outlook,在联系人中搜索frontdesk2,发现确实是旧的名称,将它删除,退出Lync客户端并重新登陆,再次搜索front出来的结果就跟t1一样了。
到此问题解决。