当 Outlook 客户端尝试更新全球通讯簿,实际上是下载脱机通讯簿(Officeline Address Book,简称 OAB)时,可能会收到 0×80190194 的错误。错误代码 0×80190194 的代表的意思是 HTTP 404,404错误就是指定的文件未找到或不存在。那应用到这个场景,就是 Outlook 客户端尝试下载的脱机通讯簿文件未找到或不存在。用 err 工具可以得出错误代码 0×80190194 的信息:

C:\WINDOWS\system32\err 0x80190194
# for hex 0x80190194 / decimal -2145844844
BG_E_HTTP_ERROR_404 bitsmsg.h
# 1 matches found for "0x80190194"

所以,根本原因是 Exchange 客户端访问服务器(CAS)上不存在脱机通讯簿文件。为什么会出现这样的情况,这需要我们了解下下载 OAB 的过程和生成 OAB 的过程。

一、Outlook 下载 OAB 的过程

1.Outlook 启动
2.Outlook 通过 autodiscover 服务获取 autodiscover.xml 文件,该文件包含所有 Exchange Web Services 的URL。
3.Outlook 解析 autodiscover.xml 文件,确认是在公司局域网<EXCH>还是外网<EXPR>
4.通过 Outlook 的工具-发送接收-下载地址簿菜单触发下载地址簿的请求
5.Outlook 查找 OABUrl,类似: http://OABServer.domain.com/OAB/edb3e44f-c49b-4597-b996-cb1093405985/
6.Outlook 查到 OABUrl 后建立 HTTPS 连接 OAB Web Virtual Directory,下载并获取 OAB.xml 文件
7.Outlook 检查 OAB.xml 文件并对比本地副本,确定需要下载哪些 OAB 文件
8.Outlook 从 Exchange CAS 服务器上下载 OAB 文件。

CAS 服务器上的 :\Program Files\Microsoft\Exchange Server\ClientAccess\OAB 目录对应的是 OAB 虚拟目录。

二、服务器生成 OAB 的过程

Exchange 邮箱服务器负责生成 OAB,然后通过 FDS (File Distribution Service) 复制到 CAS 服务器,Outlook 客户端通过 CAS 服务器下载 OAB。

如果服务器架构比较简单,例如邮箱服务器和客户端访问服务器都在同一台服务器上,OAB 是马上复制的。如果这2个角色是分开的,OAB 的根据一些场景进行复制:

1.新的 OAB 生成
2.OAB 发生更改
3.生成 OAB 的服务器发生更改
4.更改了默认的更新间隔

一个简单的确认 OAB 被成功复制到 CAS 服务器上的默认 OAB 站点的方法是,常看 CAS 服务器上的应用程序日志。复制成功后,FDS (File Distribution Service) 会记录 Event ID 为 1008 的日志。

Event Type: Information
Event Source: MSExchangeFDS
Event Category: FileReplication
Event ID: 1008
Date: 11/28/2012
Time: 1:55:46 PM
User: N/A
Computer: OABServer
Description:
Process MSExchangeFDS.exe (PID=2484). Offline Address Book data
synchronization task has completed successfully. OAB name: “Default
Offline Address Book”, Guid: edb3e44f-c49b-4597-b996-cb1093405985

For more information, see Help and Support Center at http://go.microsoft.com/fwlink/events.asp.

三、解决 OAB 问题

如果 CAS 服务器上的 OAB 未成功复制,可以查看应用程序日志找线索。先提供2种方法供参考:

1.重启 MSExchangeFDS 服务

在 CAS 服务器上,在命令行中输入以下命令重启 Microsoft Exchange File Distribution Service:

net stop MSExchangeFDS
net start MSExchangeFDS

net stop MSExchangeFDS && net start MSExchangeFDS
检查 Event ID 1008 是否生成。

2.手动复制 OAB 目录

将 OAB 目录从生成服务器即邮箱服务器,手动复制到 CAS 服务器。
-邮箱服务器默认路径:

C:\Program Files\Microsoft\Exchange Server\ExchangeOAB

UNC 路径:
\\ExchangeServerName\OAB\<GUID of OAB>

-CAS 服务器默认路径:

C:\Program Files\Microsoft\Exchange Server\Client Access\OAB\

一旦 CAS 服务器上有了 OAB 目录,Outlook 就能成功更新全球地址簿了。

(责任编辑:阳光互联)

Outlook 无法更新全球通讯簿,错误 0×80190194的更多相关文章

  1. exchange 强制更新全球通讯簿

    ————-客户端强制更新方式————– Outlook通讯录默认情况需要2-3天同步更新通讯录,可以使用下列方式立即更新通讯录 1. 关闭outlook ,打开下列文件夹 %userprofile%\ ...

  2. 通讯簿(apple)

    ylbtech-dbs:ylbtech-cnblogs(博客园)-2,Admin(用户后台) DatabaseName:Contacts/通讯簿(iOS) 1.A,数据库关系图(Database Di ...

  3. Win8.1无法安装更新,提示0x800*****错误的解决方法

    Win8.1无法安装更新,提示0x800*****错误的解决方法   注:本教程同样适用于Win10系统 有时候Win8.1某个系统文件的损坏会导致无法安装Windows更新,表现为Windows更新 ...

  4. [Lync]lync同步通讯簿

    概述 在客户现场部署lync的时候,突然发现新安装的lync客户端,搜索联系人功能无法使用,而将lync客户端安装后,隔一段时间后,又可以查询了,发现可能是数据没有同步的原因. 解决方案 客户端地址簿 ...

  5. 在ubuntu更新时,出现错误E: Some index files failed to download, they have been ignored, or old ones used inst

    原文:https://blog.csdn.net/tian_ciomp/article/details/51339635 在ubuntu更新时,出现错误E: Some index files fail ...

  6. MySQL删除/更新数据时报1175错误

    今天删除MySQL数据库中的一条记录的时候,一直不能删除,提示错误信息如下: Error Code: 1175. You are using safe update mode and you trie ...

  7. MySQL删除更新数据时报1175错误的问题

    今天删除mysql数据库中的一条记录的时候,一直不能删除,提示错误信息如下: Error Code: 1175. You are using safe update mode and you trie ...

  8. Windows 10更新时出现0x80070422错误

    Windows更新 更新状态 安装更新时出现一些问题,但我们稍后会重试.如果你继续看到此错误,并想要搜索Web或联系支持人员以获取相关信息,一下信息可能会对你有帮助:(0x80070422) 分析原因 ...

  9. ElasticSearch java客户端更新时出现的错误:NoNodeAvailableException[None of the configured nodes are available

    下午尝试 用ElasticSearch  的java客户端去做数据检索工作,测试了一下批量更新,代码如下: public static void bulkUpdateGoods(List<Goo ...

随机推荐

  1. 算法第四版 在Eclipse中调用Algs4库

    首先下载Eclipse,我选择的是Eclipse IDE for Java Developers64位版本,下载下来之后解压缩到喜欢的位置然后双击Eclipse.exe启动 然后开始新建项目,File ...

  2. java 网络编程(三)---TCP的基础级示例

    下面是TCP java网络编程的基础示例: tcp传输:客户端建立过程的思路:1.创建TCP客户端的Socket服务,使用的是socket对象,建议在创建的过程中,就明确了目的地和要连接的主机2.如果 ...

  3. Openstack的用户登录流程

    openstack的用户登录,需要获得集中权限. token 只需要提供用户名和密码即可获得,接口 http://public_url/tokens method:POST body:{"a ...

  4. UINavigationController(转)

    UINavigationController是IOS编程中比较常用的一种容器view controller,很多系统的控件(如UIImagePickerViewController)以及很多有名的AP ...

  5. Java相关内容解析

    java中的反射机制是什么,有什么作用啊?要点:JAVA反射机制是在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法:对于任意一个对象,都能够调用它的任意一个方法:这种动态获取的以及动态调 ...

  6. 将linux下的rm命令改造成移动文件至回收站【转】

    转自:http://blog.csdn.net/a3470194/article/details/16863803 [-] 将linux下的rm命令改造成移动文件至回收站 将AIX下的rm命令改造成移 ...

  7. 指令重排序及Happens-before法则随笔

    指令重排序 对主存的一次访问一般花费硬件的数百次时钟周期.处理器通过缓存(caching)能够从数量级上降低内存延迟的成本这些缓存为了性能重新排列待定内存操作的顺序.也就是说,程序的读写操作不一定会按 ...

  8. Pro ASP.NET MVC 5 Framework.学习笔记.6.3.MVC的必备工具

    每个MVC程序员的军火库中,都有这三个工具:一个依赖注入(DI)容器,一个单元测试框架,一个模拟工具. 1.准备一个示例项目 创建一个ASP.NET MVC Web Application的Empty ...

  9. webservice cxf error:java.lang.IllegalArgumentException: Argument(s) "type" can't be null.

    客户端请求DTO和服务器端的DTO定义不一样,客户端必须定义@XmlAccessorType和@XmlType,如: @XmlAccessorType(XmlAccessType.FIELD) @Xm ...

  10. A类地址

    一个A类IP地址由1字节(每个字节是8位)的网络地址和3个字节主机地址组成,网络地址的最高位必须是“0”.A类IP的地址第一个字段范围是0~127,但是由于全0和全1的地址用作特殊用途,实际可指派的第 ...