当 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. paper 68 :MATLAB中取整函数(fix, floor, ceil, round)的使用

    MATLAB取整函数 1)fix(x) : 截尾取整. >> fix( [3.12 -3.12]) ans =      3    -3 (2)floor(x):不超过x 的最大整数.(高 ...

  2. session讲解(一)——登录网页练习

    第一:登陆网页的表单页面login.php <body> <h1>登陆</h1> <form action="loginchuli.php" ...

  3. ajax中网页传输(三)XML——下拉列表显示练习

    XML:页面之间传递数据,跨平台传递 HTML:超文本标记语言,核心标签 XML的形势为 <xml version='1.0'> <Nation> <one> &l ...

  4. 使用Mysql ID自增长时 在Mapper的<insert>里添加对应的代码

    <selectKey keyProperty="id" order="AFTER" resultType="java.lang.Long&quo ...

  5. Best Time to Buy and Sell Stock

    class Solution { public: int maxProfit(vector<int>& prices) { //eg: 5 6 2 3 1 4: // 记录i之前最 ...

  6. Content Delivery Network

    Coding Standards & Best Practices 7 Reasons to use a Content Delivery Network CDN公共库汇总

  7. easyui-tabs图标(获取焦点时显示图标,失去焦点时隐藏图标)

    获取焦点时显示图标,失去焦点时隐藏图标 <script type="text/javascript"> $('#_progress').tabs({ onSelect: ...

  8. DOM元素尺寸和位置

    一.获取元素 CSS大小 1.通过style 内联获取元素的大小 var box = document.getElementById('box'); //获取元素 box.style.width; / ...

  9. 线程和进程详解(以java为例具体说明)

    详细参见http://ifeve.com/java-concurrency-thread-directory/ 一.线程概述 线程是程序运行的基本执行单元.当操作系统(不包括单线程的操作系统,如微软早 ...

  10. StringBuffer中的flush()方法作用

    在java API1.6对flush()方法的介绍如下: 方法摘要  void close()           关闭此流,但要先刷新它.  void flush()           刷新该流的 ...