当 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. paper 8:支持向量机系列五:Numerical Optimization —— 简要介绍求解求解 SVM 的数值优化算法。

    作为支持向量机系列的基本篇的最后一篇文章,我在这里打算简单地介绍一下用于优化 dual 问题的 Sequential Minimal Optimization (SMO) 方法.确确实实只是简单介绍一 ...

  3. Mysql 的存储引擎,myisam和innodb的区别

    MyISAM 是非事务的存储引擎,innodb是支持事务的存储引擎. innodb的引擎比较适合于插入和更新操作比较多的应用,而MyISAM 则适合用于频繁查询的应用 . MyISAM --表锁,in ...

  4. js中把JSON字符串转换成JSON对象最好的方法

    在JS中将JSON的字符串解析成JSON数据格式,一般有两种方式: 1.一种为使用eval()函数. 2. 使用Function对象来进行返回解析. 第一种解析方式:使用eval函数来解析,并且使用j ...

  5. android 项目学习随笔十八(三级缓存)

    xUtils的BitmapUtils模块用的就是三级缓存,在项目中尽量还是应用BitmapUtils 三级缓存(机制) import com.itheima.zhsh66.R; import andr ...

  6. iOS 学习笔记 九 (2015.04.02)IOS8中使用UIAlertController创建警告窗口

    1.IOS8中使用UIAlertController创建警告窗口 #pragma mark - 只能在IOS8中使用的,警告窗口- (void)showOkayCancelAlert{    NSSt ...

  7. Linux系统调用---同步IO: sync、fsync与fdatasync【转】

    转自:http://blog.csdn.net/cywosp/article/details/8767327 [-] 1  write不够需要fsync 2 fsync的性能问题与fdatasync ...

  8. JavaEE基础(五)

    1.Java语言基础(数组概述和定义格式说明) A:为什么要有数组(容器) 为了存储同种数据类型的多个值 B:数组概念 数组是存储同一种数据类型多个元素的集合.也可以看成是一个容器. 数组既可以存储基 ...

  9. Educational Codeforces Round 13 D:Iterated Linear Function(数论)

    http://codeforces.com/contest/678/problem/D D. Iterated Linear Function Consider a linear function f ...

  10. C#:实现托盘(任务栏图标与托盘图标互斥)

    实现托盘(任务栏图标与托盘图标互斥),并且在点击任务栏图标时实现的最小化与点击最小化按钮分离. 具体如下: 1.向窗体上添加如下控件:MenuStrip menuStrip1, NotifyIcon ...