转自fogyisland2000 徐鹏 《http://blog.csdn.net/fogyisland2000/article/details/8097941》

最近比较多的人问到一个问题。我为什么在客户端勾选缓存模式就没有办法查看到我最近更新的人?

而且如果我去掉了缓存模式则没有问题,当我勾选了缓存模式则没有太大问题,而且Outlook 2003 不会出现什么问题,而且服务器是Exchange 2003也没有问题,出现问题多的是服务器是Exchange 2007和Exchange 2010客户端多是Outlook 2007 和outlook 2010?

关于以上的这个问题,我们需要搞清楚几个问题:

为什么问题会出现在Exchane 2007 和Exchange 2010 上面呢?

首先,这是因为Exchange 2007 之后的脱机地址簿不在存放咋公用文件夹数据库中,而是以HTTP方式存放在服务器端的一个文件夹中。如果我们采用公用文件夹的方式发布的话,则不会出现类似的问题。

而在Exchange 2007 之后的版本,我们来看他们发布脱机地址簿的方式:

我们可以看到可以发布到公用文件夹和WEB的分发方式。公用文件夹发布方式一般适合OUT2003版本,而后期版本则采用HTTP的 BITS服务来实现后台的数据传送方式进行传输!当客户端禁用了BITS服务则会出现错误。所以当你客户端报错的时候可能要留意这个。

另外我们知道离线地址簿与数据库也有关系,如果你的数据库没有指定离线地址簿的话,则会通过在线的方式进行用户查询地址簿:

另外提到的一个问题,就是为何脱机地址簿无法更新呢?这里的话我们要了解从地址簿更新到客户端下载的过程是怎样的,我们先来看下

整个的流程图:

从上图看来,我们知道从建立用户到用户的地址簿传递到客户端是一共需要5个步骤,一般来说生成GAL的不需要太长的时间,因此大部分用户在建立完用户不久后就能查看到该新建用户的信息.但是从GAL 同步到客户端需要经过的步骤是比较久的,我们依次来看看:

1. 邮箱角色生成(更新)脱机地址簿信息可以通过以下PS 命令来完成,它是由系统助理每天晚上1点左右来更新:

    生成(更新)GUI界面如下:

   如果存在多个OAB,我们可以使用如下的Powershell 命令来更新:

生成后的路径我们可以查看Mailbox角色中的路径是否生成了Exchange OAB 来确定,因为我们生成服务器为mail,因此我们需要去Mail这台服务器,找到这台服务器的安装目录:

接下来我们需要将数据同步到OAB的目录中,GUI界面我们通过查询OAB轮询时间来确定:

如果我们需要将OAB的文件同步到多台CAS服务器,我们则需要运行如下的命令:

同步完成后,我们需要到客户端访问服务器OAB目录查看信息是否更新:

OK,经历到此后,我们的服务器端已经更新完毕!从这边来看,我们基本上服务器已经OK了,现在从客户端下载相应的OAB文件,下载完就可以更新了。另外每次重启UTLOOK 都会自动去下载OAB,如果出现相关的错误,你可能需要关心下相应的设定是否OK!

 

希望这些文字能够帮助您!

 

==========================

另外,加快这些过程可以重启system attendant service和跑到客户端手工强制下载OAB

 

step 1: Update the global address list

setp 2: run the following command in EMS-> get-mailbox | set-mailbox -applymandatoryproperties

step 3: restart the system attendant service

step 4: Update the offline address Book

step 5: restart the exchange file distribution service

step 6: download offline address book without "download changes since last send/receive"