BLOG zzy.my

合抱之木, 生于毫末; 九层之台, 起于累土; 千里之行, 始于足下。

Exchange 及 Outlook 脱机通讯簿更新(OAB)

OAB(Offline Address Book) 即 脱机通讯簿 

自动同步和更新计划
在对通讯簿进行更改后:

Exhcnage Server 重新生成 OAB:24小时
Exchange Server 分发 OAB:480 分钟
Outlook 更新下载 OAB:24小时

在最差情况下客户端需要 48 小时获取到最新版本,但这种情况很少见。
Exchange Server 默认是在早晨 5 点更新
Get-OfflineAddressBook | fl Name,Schedule

手动更新 OutLook
Outlook 2010/2013/2016/
发送/接收 标签 --> 发送/接收组 --> 下载地址簿
Outlook 2007
工具 --> 发送/接收 --> 下载地址簿
只有当变更大小超过 OAB 总大小的 12.5%,OutLook 才会自动下载更新,并将整个 OAB 下载.



在 Outlook 中修改 OAB 更新频率
要将默认的24小时的默认更新频率,需要定义一个新的 发送/接收组.

Outlook 2010/2013/2016/
发送/接收 标签 --> 发送/接收组 --> 定义发送/接收组 --> 新建
输入一个名称
在设置中仅勾选 将所选择的账户包括在该组中下载脱机地址簿

点击 确定 --> 返回 发送/接收组 对话框 --> 选中你新建的组
仅勾选 安排自动发送/接收的时间间隔为 --> 设置新的时间


建议不要设置间隔太短,会对 Outlook 性能稍有影响。

修改 OutLook 的 OAB 下载行为
有几种方式可以通过修改注册表来控制 Outlook 中脱机通讯簿的更新和下载行为.

使用 Exchange 缓存模式,不使用 OAB
始终使用联机通讯簿,即当前是 Exchange 缓存模式,也可设置.

Key: HKEY_CURRENT_USER\Software\Microsoft\Office\<version>\Outlook\Cached Mode
值名称: DownloadOAB
值类型: DWORD
值: 0
PS: 在已开启脱机通讯簿模式下查看联机通讯簿
开始 标签 --> 打开 通讯簿(CTRL+SHIFT+B)
在下拉列表将其设置为 所有地址列表 -> 所有用户 或 任何其它对象类型

下载完整的 OAB
下载完整 OAB 而不是增量更新

Key: HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Exchange\Exchange Provider
值名称: OAB Dif Divisor
值类型: DWORD
值: 2 - 16 (默认 8)

当变更大小超过 OAB 设置的总大小百分比,OutLook 会自动下载整个 OAB 更新
2 表示 1/2(50%),4 表示 1/4(25%),如果设置为 0,会转为 16(6.25%)
该键值不存在时即默认为 8 (12.5%)

OAB 完整下载前提示
由于 OAB 在某些企业中可能非常大,所以当 Outlook 要下载完整的 OAB 时,可以设置弹出确认框
例如在使用低速网络或流量时,可以中止更新.

Key: HKEY_CURRENT_USER\Software\Microsoft\Exchange\Exchange Provider
值名称: Allow Full OAB Prompt
值类型: REG_DWORD
值: 1 (1开启,0关闭)



OAB 缓存文件位置
可以在关闭 OutlooK 后手动删除它们.

Windows 7/8/10
C:\Users\%username%\AppData\Local\Microsoft\Outlook\
Windows XP
C:\Documents and Settings\%username%\Local Application Data\Microsoft\Outlook

PS: 由于 Outlook 2010 及更高版本中可以在单个配置文件中连接到多个 Exchange 服务器,因此还有相应的 OAB 子目录,通常是 GUID 命名的文件夹。
要找出对应的账户,可以检查文件夹修改时间来判断.
一组完整的 OAB 通常有 6 个文件:
uanrdex.oab  模糊的名称索引
ubrowse.oab  主要索引
udetails.oab  包含所有已发布的详细信息
updndex.oab  更改域名及其列表的索引
urdndex.oab  相对可分辨名称索引
utmplsts.oab  OAB 对话框的模板字符串

Outlook 2003/XP 及之前版本文件名称前没有 u.

如果要删除,需要删除全部 6 个文件,单独删除某个文件会导致 OAB 损坏.

提示:手动删除 OAB 后,在重新下载之前,将使用联机通讯簿。
在排错时,可供参考服务器的 OAB 是否最新。

在 Exchange 中修改默认更新计划
Exchange Server 可以通过Powershell 来更新了 OAB,之后 Outlook 客户端可以手动获得最新副本。
但 Exchange 2010 还需额外的执行 OAB 分发。

OAB 更新计划
Exchange 2007/2010 可以使用管理控制台:
组织配置 --> 邮箱 --> 脱机通讯簿 标签 --> 双击需要更改的脱机通讯簿 --> 常规 标签

Powershell:
Set-OfflineAddressBook "默认脱机通讯簿" -schedule 计划内容
参考:
Set-OfflineAddressBook "默认脱机通讯簿" –schedule "So.05:00-So.05:15, Mo.05:00-Mo.05:15, Di.05:00-Di.05:15, Mi.05:00-Mi.05:15, Do.05:00-Do.05:15, Fr.05:00-Fr.05:15, Sa.05:00-Sa.05:15"

OAB 分个  发计划
Exchange 2007/2010 可以使用管理控制台:
组织配置 --> 客户端访问 --> 选择需要更改计划的服务器 --> 脱机通讯簿分发 标签 --> 双击 OAB 的名称 --> 常规 标签

Exchange 2013/206/2019 管理中心网站:
服务器 --> 虚拟目录 --> 选择类型: OAB --> 双击 OAB 的名称 --> 修改轮询间隔(分钟)

PowerShell:
Set-OABVirtualDirectory -Identity "<Server\OfflineAddressBookVirtualDirectoryName>" -PollInterval <value in minutes>

参考:
Set-OABVirtualDirectory -Identity "Exchange01\OAB (Default Web Site)" -PollInterval 480

在 Exchange 上手动更新 OAB
在服务器上更新后,客户端也需要手动更新.

Exchange 2007/2010 可以使用管理控制台:
组织配置 --> 邮箱 --> 脱机通讯簿 标签 --> 右键需要更新的脱机通讯簿 --> 更新

PowerShell:
Update-OfflineAddressBook -Identity "<name of the OAB>"

参考:
Update-OfflineAddressBook -Identity "默认脱机通讯簿"

Exchange 2010 还需分发 OAB 文件
Powershell:
Update-FileDistributionService "ExchangeCAS" -Type "OAB"

分发 OAB 文件到所有服务器
Get-ClientAccessServer | Update-FileDistributionService -Type "OAB"

 

 

Loading