从Exchange 2007+Outlook 2007开始,Microsoft提供了一种新的配置Outlook客户端的方式:自动发现(Auto Discover)。用户只需要打开Outlook,按照向导的提示走完所有步骤,最理想的情况下(客户端已经加入域并登录到域),用户只需要点击鼠标,不必用键盘输入任何信息,就能够连接到Exchange服务器。而且,可以同时配置Outlook MAPI模式和Outlook Anywhere模式。
在一个加入域的客户端上,启动Outlook,通过自动发现功能进行配置的情况,用户无需输入任何信息就能直接创建到Exchange的连接。
而对于与Exchange服务器不在一个林中的客户端(客户端加入了其它域/客户端在工作组模式),通过自动发现进行配置时,就需要输入身份验证信息才能够连接了。
那么,这个功能是如何实现的呢?
自动发现功能需要Exchange服务器和Outlook客户端都是2007/2010版本。这两个版本中,服务器和客户端之间可以通过Web Service进行联系,获取相关的配置信息。下面以Exchange 2010+Outlook 2010为例进行介绍,整个配置步骤对于Exchange 2007/Outlook 2007同样适用。
自动发现服务的实质是,Outlook客户端通过DNS查询,连接到指定域的Exchange客户端访问服务器上,提交身份验证信息后,从服务器下载一个XML文件。Outlook通过这个XML文件所包含的信息,配置到Exchange服务器的连接方式。
自动发现服务需要一个访问连接点(Service Connection Point,SCP),Outlook客户端必须能够按照内置的规则,查询并连接到该SCP才能实现自动发现。
自动发现的查询步骤
假设客户的邮件域名为contoso.com,在没有加入域的客户端上,Outlook会进行3次尝试,只要其中任意一步成功连接,后续步骤就不再进行。如果3次都没有成功获取XML文件,Outlook将放弃尝试,并告知用户需要进行手动配置。
1、https://contoso.com/Autodiscover/Autodiscover.xml
2、https://autodiscover.contoso.com/Autodiscover/Autodiscover.xml
3、查询DNS是否注册有名称为_autodiscover的SRV服务记录,如果有,获取该服务记录所指定的主机名称(A记录)。假设找到SRV记录,指向主机mail.contoso.com。那么Outlook会尝试连接:
https://mail.contoso.com/autodiscover/autodiscover.xml
以下截图是从一台加入PTCDemo.com的客户端,通过AutoDiscover去连接位于PCOE.com的Exchange服务器, 也就是前面第2段视频的场景下,客户端所发起的连接尝试:
从上图可以看到,对于加入域的客户端,会优先使用本站点Exchange客户端访问服务器上指定的AutoDiscoverServiceInternalUri值。这个值可以通过以下命令进行查询,其中的pcoeexchhtcas1是Exchange客户端访问服务器名称。
Get-ClientAccessServer pcoeexchhtcas1 | select AutoDiscoverServiceInternalUri
需要注意的是,所有的连接尝试都是通过HTTPS加密方式进行的,因此要求:1、Exchange服务器上配置有名称与该SCP主机名相同的证书;2、Outlook客户端必须信任该证书。关于证书的配置方式,可以查看前面的文章:《Exchange Server 2010的证书配置》。
配置Internet上的DNS服务器记录
根据前面的步骤,可以看到,对于企业内网,并且已经登录到活动目录的客户端,只需要保证能够正常连接到AutoDiscoverServiceInternalUri中指定的Uri就可以实现客户端的自动配置了。而要在Internet上实现Outlook自动发现,需要选择以下3种方式之一对进行DNS配置:
1、将contoso.com的Internet域名解析指向Exchange客户端访问服务器
2、将主机记录(A记录)autodiscover.contoso.com的解析指向Exchange客户端访问服务器
3、注册Exchange客户端访问服务器的主机记录,并创建一个名称为_autodiscover的SRV服务记录,指向该A记录
这里提到的“将解析指向”,简单来说,就是在客户端PING这个域名或主机名,能够获取到Exchange客户端访问服务器在Internet上的IP地址。
AutoDiscover主机记录可以利用别名(CNAME)来代替,例如在Windows的DNS中,可以注册一个CNAME记录,指向实际的Exchange主机。
SRV记录的注册方式,可以参考以下知识库文档:
http://support.microsoft.com/kb/940881/en-us
以下是在Windows的DNS服务中注册的情况:
这个SRV记录的详细信息如下:
修改Exchange服务器的URL设置
在安装Exchange 2010 CAS服务器角色时,安装程序会询问该服务器在Internet上被访问时使用的FQDN名称,并且会自动使用该名称为CAS上所有的基于IIS的服务配置ExternalURL属性,这些服务包括:Outlook Web App、Exchange Control Panel、ActiveSync、Offline Address Book、Exchange Web Service、AutoDiscover等,并且在启用Outlook Anywhere功能时,会再次询问FQDN名称。
因此,在Exchange 2010中,基本上不需要专门关心这些服务的ExternalURL是否正确。这是与Exchange 2007相比很大的改进。当然,也可以对这些属性进行检查和修改。通过Exchange Management Console图形工具,可以修改OWA、ECP、OAB、Outlook Anywhere以及ActiveSync的URL属性;而对于Exchange Web Service,就必须使用Exchange Management Shell命令行工具进行修改了。
命令都是以Get-SERVICEVirtualDirectoy和Set-SERVICEVirtualDirectoy来实现的,其中的SERVICE是具体的服务名称。例如对于OWA,就是Get-OWAVirtualDirectoy;对于Web Service,就是Get-WebServicesVirtualDirectoy。
具体的使用情况就不再赘述了,需要注意的是Set命令中的Identity参数,这个参数直接输入比较困难,需要指定服务器名和站点名,而且站点名中带有空格,需要把参数用引号引起来。因此可以通过Get命令先获取,然后通过管道符传递给Set命令。以下是获取并修改Web Service URL的命令。
以下示例中,第一条命令用于获取;第二条命令先Get再Set;第3条命令直接指定需要修改的对象标识。
相关阅读:
Latest posts by Exchange中文站 (see all)
- 微软将推出卫星解决方案:可连接到 Azure 云服务 - 2020年9月17日
- Windows Terminal 1.0正式发布 - 2020年5月25日
- Azure Lighthouse 相关介绍 - 2020年3月2日
发布于:
浏览:27459 次
还没有评论