当 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. C# 多线程 lock 实例

    class Program { static void Main(string[] args) { //在t1线程中调用LockMe,并将deadlock设为true(将出现死锁) int i = 1 ...

  2. windows下pip升级到8.1.2

    升级pip只要切换到easy_install-3.5目录下:  easy_install-3.5 pip==8.1.2

  3. 20道C#练习题(一)1——10题

    1.输入三个整数,xyz,最终以从小到大的方式输出.利用if嵌套. Console.Write("请输入x="); double x = double.Parse(Console. ...

  4. Android相对布局实例

    <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools= ...

  5. selenium webdriver设置超时

    webdriver类中有三个和时间相关的方法: 1.pageLoadTimeout 2.setScriptTimeout 3.implicitlyWait pageLoadTimeout from s ...

  6. php版redis插件,SSDB数据库,增强型的Redis管理api实例

    php版redis插件,SSDB数据库,增强型的Redis管理api实例 SSDB是一套基于LevelDB存储引擎的非关系型数据库(NOSQL),可用于取代Redis,更适合海量数据的存储.另外,ro ...

  7. jQuery上传插件,文件上传测试用例

    jQuery上传插件,文件上传测试用例 jQuery File Upload-jQuery上传插件介绍http://www.jq22.com/jquery-info230 jQuery File Up ...

  8. SendKeys:基本使用

    使用SendKeys将键击和组合键击发送到活动应用程序.此类无法实例化.若要发送一个键击给某个类并立即继续程序流,请使用Send.若要等待键击启动的任何进程,请使用SendWait. 每个键都由一个或 ...

  9. 设置 textarea 默认滑动到底部

    javascript: var textarea = document.getElementById('textarea_id'); textarea.scrollTop = textarea.scr ...

  10. PHP程序员如何突破成长瓶颈

    PHP因为简单而使用,但不能因为它的简单而限制我们成长!文章给PHP工程师突破成长瓶颈提了一些建议,希望PHPer能够突破自己,有更好的发展. AD: 作为Web开发中应用最广泛的语言之一,PHP有着 ...