Exchange Server中的自动发现服务

自动发现 服务通过提供客户端访问 Exchange 功能的权限来最小化用户配置和部署步骤。 对于 Exchange Web 服务 (EWS) 客户端,自动发现 通常用于查找 EWS 终结点 URL。 但是,自动发现 也可以提供使用其他协议配置客户端的信息。 自动发现 适用于防火墙内外以及资源林和多个林方案中的客户端应用程序。

Exchange 2016 引入了对以前由多个服务器处理的服务的更改。 邮箱服务器现在提供客户端访问服务,因此,不能像在以前的 Exchange 版本中那样配置独立客户端访问服务器。 Exchange 2016 和 Exchange 2019 中的自动发现服务是可能的,因为:

  • Exchange 在 Internet Information Services (IIS) 的默认网站下创建名为 autodiscover 的虚拟目录。

  • Active Directory 为已加入域的计算机存储并提供权威 URL。

  • 邮箱服务器上的客户端访问服务为内部和外部客户端连接提供身份验证和代理服务。

  • Outlook 仅使用用户名和密码配置服务。

注意

如果你正在寻求帮助,以将 Outlook 客户端连接到 Exchange 服务器,请参阅 Outlook email setup(Outlook 电子邮件设置)。

自动发现 服务和 Active Directory

Exchange 将组装中 Exchange 服务器的配置以及用户邮箱的相关信息存储在 Active Directory 中。 在安装 Exchange Server 之前,需要准备 Active Directory 林及其域。 如果不熟悉 Exchange 林或域,请参阅 步骤 3:准备 Active Directory 域

Exchange 在安装时自动创建虚拟目录 autodiscover ,IIS 中是客户端连接到的前端客户端访问服务网站。 这将允许 Outlook 发现 Exchange 邮箱设置,以使用户无需手动配置高级设置。

自动发现功能过程。

在创建 自动发现 服务虚拟目录的同时,SCP 对象也在 Active Directory 中创建。 SCP 为已加入域的计算机存储并提供自动发现服务的权威 URL。

需要更新 SCP 对象以指向 Exchange 服务器。 需要执行该操作,因为 Exchange 服务器向客户端提供其他自动发现信息以改进发现过程。 可使用 Set-ClientAccessService cmdlet 更新 SCP 对象。 有关详细信息,请参阅 Set-ClientAccessService

重要

需要授予权限才能运行 Set-ClientAccessService cmdlet。 若要查找在贵组织中运行任何 cmdlet 或参数所需的权限,请参阅 Find the permissions required to run any Exchange cmdlet

自动发现 使你能够轻松地检索连接到 Exchange 服务器上的邮箱所需的信息。 SCP 对象为检索其设置的用户找到适当的 自动发现 服务器或终结点。 而 AD DS 中的 SCP 对象为加入域的客户端提供了查找 自动发现 服务器的简单方法。

Exchange 针对 自动发现 服务发布了两种类型的 SCP 对象:

  • SCP 指针:包含指向特定 LDAP 服务器的信息,这些服务器应用于查找用户域的自动发现 SCP 对象。 使用以下 GUID 标记 SCP 指针:67661d7F-8FC4-4fa7-BFAC-E1D7794C1F68。

  • SCP URL:包含自动发现终结点的 URL。 使用以下 GUID 对 SCP URL 进行标记:77378F46-2C66-4aa9-A6A6-3E7A48B19596

SCP 对象包含林的 自动发现 服务 URL 的权威列表。 若要了解有关查找 自动发现 服务终结点的详细信息,请参阅 Generate a list of Autodiscover endpoints(生成自动发现终结点的列表)。

Exchange 2016 和 Exchange 2019 中的客户端连接类似于 Exchange 2013,与 Exchange 2010 不同。 在 Exchange 2016 和 2019 中,当 Outlook 客户端以前通过 HTTP) 使用 Outlook Anywhere (RPC 时,默认启用通过 HTTP 的 MAPI。 与 Exchange 2010 相比,Exchange 2016 和 2019 需要站点复原解决方案的名称空间更少,从以前所需的 7 个命名空间减少到 2 个。 若要详细了解命名空间和Exchange Server,请参阅博客命名空间规划中的 Exchange 2016

根据是否在单独的站点上配置了自动发现服务,自动发现服务 URL 将是以下值之一,其中 //<SMTP-address-domain> 是主 SMTP 域地址:

  • https://<SMTP-address-domain>/autodiscover/autodiscover.xml

  • https://autodiscover.<smtp-address-domain>/autodiscover/autodiscover.xml

例如,如果用户的电子邮件地址为 tony@contoso.com,则主 SMTP 域地址 contoso.com。

应用程序第一次启动时,客户端应用程序将使用 自动发现 服务。 例如,当 Exchange Web 服务 (EWS) 应用程序第一次启动时,应用程序使用 自动发现 服务自行配置。 对于加入到 contoso.com 域和位于 Longview 区域 Active Directory 站点的用户计算机,应用程序生成这些 自动发现 服务终结点的列表:

端点 生成工具
https://longview.contoso.com/autodiscover/autodiscover.xml SCP 结果
https://email.contoso.com/autodiscover/autodiscover.xml SCP 结果
https://newark.contoso.com/autodiscover/autodiscover.xml SCP 结果
https://contoso.com/autodiscover/autodiscover.exc 派生自电子邮件地址
https://autodiscover.contoso.com/autodiscover/autodiscover 派生自电子邮件地址

有关 SCP 对象的详细信息,请参阅 使用服务连接点发布

DNS 中的 自动发现

Exchange 在 Exchange 2010 中引入了自动发现的命名空间要求,并且需要多个证书。 在服务器复原方案中,需要以下所有元素:

  • 主数据中心 IP 命名空间

  • 辅助数据中心 IP 命名空间

  • 主Outlook Web App故障回复命名空间

  • 辅助Outlook Web App故障回复命名空间

  • SMTP) 的传输命名空间 (

  • 主数据中心 RPC 客户端访问命名空间

  • 辅助数据中心 RPC 客户端访问命名空间

改进了服务器复原方案,将五个命名空间减少到两个。 这是因为 Exchange 不再需要托管主动邮箱数据库的邮箱服务器的 RPC 客户端访问命名空间和客户端访问服务代理请求。 一个 Active Directory 站点中的邮箱服务器可以将会话代理到另一个 Active Directory 站点的邮箱服务器。

这意味着每个数据中心不再需要唯一的命名空间。 例如,针对数据中心对,只需要单个命名空间 mail.contoso.com,而不需要 mail.contoso.com 和 mail2.contoso.com。 此外,在数据库可用性组 (DAG) 激活方案中不再需要故障回复命名空间。

设置域的 自动发现 很简单,因为只需在外部(公共)DNS 中创建一个 CNAME 资源记录。 借助 CNAME 记录,可以对连接到网络的客户端隐藏网络的实现详细信息。 在网络内部使用时,CNAME 记录允许用户使用更简单的 URI mail.domain.com,而不是 host.examplemachinename.domain.com。

CNAME(即规范名称记录)是等效于 Windows 快捷方式或 Apple Mac 别名的 DNS。 CNAME 记录是将 IP 地址映射到目标服务器的地址 (A) 记录的别名。 例如,如果你的域是 contoso.com,则创建 autodiscover.contoso.com 的 CNAME 记录。 CNAME 记录中的名称必须匹配证书中的名称。 CNAME 记录仅适用于主机名。 CNAME 适用于外部,但它们不会替代浏览器栏中的 URL。 针对 URL 中检查证书时,收到包含警告的失败消息,但仍可以访问该服务。

典型的 CNAME 记录如下所示:

  • 名称:自动发现

  • TTL:3600

  • RR 类型:CNAME

  • 目标:可从外部访问的邮箱服务器的 FQDN(例如,mail.contoso.com)

在此示例中,autodiscover.contoso.com 将解析为 mail.contoso.com。 有关详细信息,请参阅在 Exchange 服务器上配置邮件流和客户端访问中的步骤 4:配置外部 URL

我们建议为帐户上的每个域创建一个 自动发现 CNAME 记录,其中包括域别名和接受的域。 可以在托管域的位置创建 CNAME 或 SRV 记录。 只有这样,才能在 Outlook 中同步脱机通讯簿、显示忙/闲信息并启用外出功能。

借助服务 (SRV) 资源记录,可以为特定服务、协议和 DNS 域指定服务器的位置。 例如,如果域中有两个 Web 服务器,则可以创建 SRV 资源记录,指示哪个主机用作 Web 服务器。 然后,解析程序可以检索 Web 服务器的所有 SRV 资源记录。

典型的 SRV 记录如下所示:

  • 服务:_autodiscover

  • 协议:_tcp

  • 端口号:443

  • 主机:mail.contoso.com

  • 优先级:0

  • 权重:0

在此示例中,Outlook 服务器命名空间为 mail.contoso.com。

有关 CNAME 和 SRV 记录的详细信息,请参阅 Exchange 团队博客 Exchange 2016 中的命名空间规划

Outlook 中的 自动发现 服务

仅使用用户凭据,Outlook 客户端即可对 Active Directory 进行身份验证并搜索 自动发现 SCP 对象。 客户端获取并枚举 自动发现 服务的实例后,该客户端连接到枚举列表中的第一个邮箱服务器上的客户端访问(前端)服务。 然后,客户端收集连接到用户邮箱和可用 Exchange 功能所需的 XML 数据格式的配置文件信息。

注意

根据 DNS 提供程序的要求,可能需要将完全限定的域名 (FQDN) 添加为主机名。 在这种情况下,如果你的域是 contoso.com,则你的主机名将是 autodiscover.contoso.com,而不是 autodiscover.com。

需要为指向提供 自动发现 服务的服务器的域名设置特殊 DNS 记录,以便 Exchange 帐户可以在 Outlook 中正常工作。 对于外部访问,或在使用 DNS 时,客户端通过使用用户电子邮件地址中的主 SMTP 域地址找到 Internet 上的 自动发现 服务。

自动发现 服务使用这四种方法之一配置电子邮件客户端。 前两种方法适用于小型、单个 SMTP 命名空间组织。 后两种方法适用于多个 SMTP 命名空间。

某些主机名和 URL 可使用 Exchange 管理中心 (EAC) 和 Exchange 命令行管理程序 进行配置,而其他则需要使用 PowerShell。 可以在 配置邮件流和客户端访问 中了解详细信息。

通过 自动发现 服务,Outlook 查找组成用户邮箱的新连接点。 也就是说,自动发现 使用组成 GUID 的标识,加上 @,以及用户的主 SMTP 地址的域部分。 自动发现 服务向客户端返回以下信息:

  • 用户的显示名称

  • 内部和外部连接的单独连接设置

  • 用户邮箱的位置(当前保留邮箱的主动副本的邮箱服务器)

  • 各种 Outlook 功能的 URL,这些功能可控制闲/忙信息、Exchange 2016 (但 Exchange 2019) 中没有统一消息 (UM) ,以及脱机通讯簿 (OAB)

  • Outlook 无处不在 服务器设置

需确保为以下服务的虚拟目录配置正确的外部 URL。 随后的表中的示例显示 contoso.com 电子邮件域所需的值。

服务 Exchange 命令行管理程序 修改
脱机通讯簿 Get-OabVirtualDirectory | Set-OabVirtualDirectory -ExternalURL https://mail.companycontoso.com/oab IIS 中使用的 OAB 虚拟目录
Exchange Web 服务 Get-WebServicesVirtualDirectory | Set-WebServicesVirtualDirectory -ExternalURL https://mail.companycontoso.com/ews/exchange.asmx IIS 中的 Exchange Web Services 虚拟目录
Outlook Anywhere (RPC over HTTP) Get-OutlookAnywhere | Set-OutlookAnywhere -ExternalHostname mail.contoso.com -ExternalClientsRequireSsl $true IIS 中的 Outlook Anywhere 虚拟目录
通过 HTTP (Exchange 2013 SP1 或更高版本 (MAPI) 消息传送应用程序编程接口) Get-MapiVirtualDirectory | Set-MapiVirtualDirectory -ExternalURL https://mail.companycontoso.com/mapi

Set-OrganizationConfig -MapiHttpEnabled $true

IIS 中的 MAPI 虚拟目录

单击上表中的服务名称,了解有关如何获取或重新配置这些 URL 的详细信息。

当用户的 Exchange 信息发生更改时,Outlook 使用自动发现服务自动重新配置用户的配置文件。 例如,如果移动了用户的邮箱。 或客户端无法连接到用户的邮箱或可用的 Exchange 功能,Outlook 将联系自动发现服务并自动更新用户的配置文件,以包含连接到邮箱和 Exchange 功能所需的信息。

其他客户端

自动发现服务是查找 2015 Skype for Business Server中所有服务的首选方法。 连接成功时,自动发现 服务返回用户的主池的所有 Web 服务 URL,其中包括移动服务(称为虚拟目录为 IIS 中的服务所创建的 Mcx)、Lync Web 应用和 Web 计划程序 URL。 但是,内部移动服务 URL 和外部移动服务 URL 均与外部 Web 服务 FQDN 相关联。 因此,不管移动设备在网络内还是在网络外,该设备将始终通过反向代理外部连接到移动服务。 自动发现 服务还将返回对内部/UCWA、外部/UCWA 和 UCWA 的引用。 这些条目引用统一通信 Web API (UCWA) Web 组件。

配置自动发现服务

自动发现 适用于防火墙内外以及资源林和多个林方案中的客户端应用程序。 对于 EWS 客户端,自动发现 通常用于查找 EWS 终结点 URL,但是 自动发现 也可以提供配置使用其他协议的客户端的信息。

安装 Exchange Server 时,将自动在服务器上安装由 Exchange 服务器创建和签名的自签名证书。 但是,还可以创建可供其他服务使用的其他自签名证书。

创建证书请求是在 Exchange 服务器上安装新证书,为一个或多个 Exchange 服务配置传输层安全性 (TLS) 加密的第一步。 使用证书请求(也称为证书签名请求或 CSR)从证书颁发机构 (CA) 获取证书。 有关详细信息,请参阅下列主题:

注意

可以使用 Microsoft Remote Connectivity Analyzer确认你的 自动发现 服务。 连接成功后,还可以选择和运行 Outlook 连接测试。 如果连接失败,则需要在 Exchange 中配置外部 URL。 Microsoft Remote Connectivity Analyzer 中的结果应该可以解释连接失败的原因。 通常情况下,连接失败意味着你没有为各种 Outlook 服务的虚拟目录配置正确的外部 URL。

管理 自动发现 服务

在客户端连接到多个 Exchange 服务器的部署中,为每个邮箱服务器上的(前端)客户端访问服务创建了 自动发现 SCP 对象。 SCP 对象包含 ServiceBindingInfo 属性,其中包含客户端连接到的 Exchange 服务器的 FQDN,格式 https://<ExchangeServer>/autodiscover/autodiscover.xml 为 (例如 https://cas01/autodiscover/autodiscover.xml)

可以在 Microsoft 远程连接分析器中运行Exchange ActiveSync自动发现和 Outlook 自动发现测试。 如果用户使用本地无线网络连接到 Exchange,则用户应运行这两个测试,以确保本地网络允许连接到 ActiveSync 终结点。

有关规划和部署自动发现服务的帮助,请参阅规划和部署Exchange Server的 Exchange 部署的一部分。