前些日子公司一客户端outlook即时搜索功能发生故障,现分享如下解决过程:

先讲述下outlook即时搜索(instant search)功能,在windows xp和windows vista中即时搜索版本为3.0,主要功能是系统通过建立索引(index)的方法,对系统中相关内容进行索引,以加快搜索。在windows 7中,windows search服务为默认安装,版本更新为4.0。

公司环境如下:服务器windows server 2008 R2,域管理,主域控在香港,辅助域控为本地;邮件服务器exchange 2010,客户端outlook 2007缓存模式;

故障如下:同事反映outlook无法完成搜索功能,只能搜索到部分结果,即搜索结果不完全;

排除障碍如下:

1,第一反应是windows search功能失效,通过取消/重新加入outlook即时搜索内容(outlook中“文件”-》“即时搜索”-》“即时搜索选项”)以进行验证,结果同样失败;尝试重新建立索引项(控制面板-》索引选项-》高级-》重建索引),同样失败;

2,怀疑本机系统问题,使用backup笔记本进行测试,在backup 笔记本上建立相同账户进行测试,索引同样失败,排除系统问题;

3,查看故障客户端事件日志,发现系统中出现event ID 36的错误,表示系统因某原因暂停对ost文件的索引功能;故怀疑ost文件中部分内容出错,由此使用office tool的scanost功能进行修复,重新加载ost文件后故障依旧存在;使用outlook自带故障诊断功能就行修复,完成后故障依旧存在;于备份机中将ost文件归档为pst文件,故障暂时解决;但是index依旧无法对新邮件进行索引;由此可知,ost文件无内在错误;

4,再次查看故障客户端系统日志,发现timeservice报warning,显示无法与域控服务器同步时间,于服务器端、客户端分别查看组策略等详细配置,结果显示完全相同无差错;原来以为此服务与outlook无多大关系,当时也未做相关处理,因为outlook index暂停的时候timeservice早就报警,认为两者没有相关性;

5,尝试system reinstall,加载ost后故障依旧;因暂时无可靠的解决方式,所以开始尝试解决timeservice报警问题,在管理员命令行模式下(cmd),输入 w32tm /resync, 意外发现无法完成同步,之前已经提到进行过服务器端的策略的相关检查并无错误记录,使用gpupdate /force后再次w32tm /resync,同步完成;

6,尝试再次重建索引,经漫长等待后(客户端邮件较多),索引完成,故障解决;

结论:timeservice的报警意味客户端与服务器时间同步存在问题,以致于对ost文件index的时候index意外暂停,但之中内在联系暂时没有理解,记录以上问题待后续研究。