第二种情况:用户没有加入域或用户不在公司内部(无法直接连接DC)
此环境中的自动发现服务工作原理如下图所示:
图4
external network中自动发现服务的执行过程
首先客户端还是会试着首先寻找SCP,但结果是失败的,因为它连接不到DC。
但是客户端如何去继续寻找autodiscover service呢?在这种情况下它会依次尝试连接以下地址:(注意以下地址的特点)
https://contoso.com/autodiscover/autodiscover.xml
https://autodiscover.contoso.com/autodiscover/autodiscover.xml
http://contoso.com/autodiscover/autodiscover.xml
http://autodiscover.contoso.com/autodiscover.xml
直到返回成功的信息。如果这四个连接尝试全部失败,则用户不能下载到OAB,忙闲信息,OOF也不能正常工作。我们会看到如下错误信息:
-------------------------------------------------------------------------
15:51:59 Microsoft Exchange 脱机通讯簿
15:51:59
未下载脱机通讯簿文件。找不到服务器(URL)。
15:51:59
0X8004010F
------------------------------------------------
我们可以在打开outlook调试模式的环境下看到整个详细的执行过程。开启outlook调试模式过程:工具-选项-其他-高级选项-启用日志(疑难解答)。
备注:
1.
我们可以看到outlook首先会尝试以SSL进行加密的连接,这就要求autodiscover service服务器的web站点有一个证书,在exchange2007的安装过程中会自动生成一个证书,但此证书不是根信任机构颁发的,所以outlook客户端在此过程中会收到一个警告提示,如图(5)所示。为了避免客户端出现此警告框,我们可以申请一个由根证书信任机构所信任的证书(是需要money的),或者在域中部署企业根证书,并把此根证书安装到所有客户端的根信任证书颁发机构中。
图5 outlook客户端在联系自动发现服务时出现的证书无效提示
2.
通过此过程我们也可以看出,我们需要在企业外部的DNS(公网的dns)中新增加一条A记录名为autodiscover并解析到到client access server
3.
Autodiscover虚拟目录是不可以直接通过IE去访问的,如果我们通过https://autodiscover.contoso.com/autodiscover/autodiscover.xml会发现以下返回信息(如图6),这就表示自动发现服务是正常的。
图6 直接通过IE请求autodiscover虚拟目录返回的信息
关于自动发现服务的几个常用命令:
1.
创建新的自动发现服务的虚拟目录:
New-AutodiscoverVirtualDirectory -Websitenate <websitename> -BasicAuthentication:$true -WindowsAuthentication:$true
2.
删除一个自动发现服务虚拟目录
Remove-AutodiscoverVirtualDirectory -Identity "MyServer\autodiscover(autodiscover.contoso.com)" 3.
测试自动发现服务的配置
Test-OutlookWebServices -ClientAccessServer "CASServer01" |