Exchange 2010 Outlook Anywhere(RPC over HTTP)不工作(自动发现响应中缺少 EXCH 提供程序部分。)

Exchange 2010 Outlook Anywhere(RPC over HTTP)不工作(自动发现响应中缺少 EXCH 提供程序部分。)

一点背景故事... 网络爆炸,重建。此 AD 在人们不知道自己在做什么的情况下幸存了下来,Exchange 2007(安装和删除了几次),Exchange 2010(目前正在使用,崩溃后重新安装过一次)。

我的 Outlook Anywhere(RPC over HTTP)无法正常工作,XML 响应如下,据我所知,它提供了所有正确的信息,但 testexchangeconnectivity.com 仍然说“自动发现响应中缺少 EXCH 提供程序部分”。

我已经仔细检查过 AD,我相信一切都正常(ADSIEDIT 中的配置下的 Exchange 服务中的一切都正确),尽管我可能没有在正确的地方查找。

我的内部和外部 URL 相同。如有任何关于查找位置的提示或任何意见,我将不胜感激!

<?xml version="1.0"?>
<Autodiscover xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns="http://schemas.microsoft.com/exchange/autodiscover/responseschema/2006">
  <Response xmlns="http://schemas.microsoft.com/exchange/autodiscover/outlook/responseschema/2006a">
    <User>
      <DisplayName>User Name</DisplayName>
      <LegacyDN>/o=Org/ou=Exchange Administrative Group (FYDIBOHF23SPDLT)/cn=Recipients/cn=User Name</LegacyDN>
      <DeploymentId>1f6566b1-18f9-43ae-a2f4-495916449c3f</DeploymentId>
    </User>
    <Account>
      <AccountType>email</AccountType>
      <Action>settings</Action>
      <Protocol>
        <Type>EXCH</Type>
        <MdbDN>/o=Org/ou=Exchange Administrative Group (FYDIBOHF23SPDLT)/cn=Configuration/cn=Servers/cn=TRITON/cn=Microsoft Private MDB</MdbDN>
        <ASUrl>https://mail.domain.com/EWS/exchange.asmx</ASUrl>
        <OOFUrl>https://mail.domain.com/EWS/exchange.asmx</OOFUrl>
        <OABUrl>http://mail.domain.com/OAB/484c877c-a2ca-4ec7-b6eb-69c51c199245/</OABUrl>
        <UMUrl>https://mail.domain.com/EWS/UM2007Legacy.asmx</UMUrl>
        <Port>0</Port>
        <DirectoryPort>0</DirectoryPort>
        <ReferralPort>0</ReferralPort>
        <CertPrincipalName>msstd:*.domain.com</CertPrincipalName>
        <PublicFolderServer>ScuttleTwo.domain.com</PublicFolderServer>
        <AD>Dewey.students.domain.com</AD>
        <EwsUrl>https://mail.domain.com/EWS/exchange.asmx</EwsUrl>
        <EcpUrl>https://mail.domain.com/ecp</EcpUrl>
        <EcpUrl-um>?p=customize/voicemail.aspx&amp;exsvurl=1</EcpUrl-um>
        <EcpUrl-aggr>?p=personalsettings/EmailSubscriptions.slab&amp;exsvurl=1</EcpUrl-aggr>
        <EcpUrl-mt>PersonalSettings/DeliveryReport.aspx?exsvurl=1&amp;IsOWA=&lt;IsOWA&gt;&amp;MsgID=&lt;MsgID&gt;&amp;Mbx=&lt;Mbx&gt;</EcpUrl-mt>
        <EcpUrl-sms>?p=sms/textmessaging.slab&amp;exsvurl=1</EcpUrl-sms>
      </Protocol>
      <Protocol>
        <Type>EXPR</Type>
        <Server>mail.domain.com</Server>
        <ASUrl>https://mail.domain.com/EWS/exchange.asmx</ASUrl>
        <OOFUrl>https://mail.domain.com/EWS/exchange.asmx</OOFUrl>
        <OABUrl>https://mail.domain.com/OAB/484c877c-a2ca-4ec7-b6eb-69c51c199245/</OABUrl>
        <UMUrl>https://mail.domain.com/EWS/UM2007Legacy.asmx</UMUrl>
        <Port>0</Port>
        <DirectoryPort>0</DirectoryPort>
        <ReferralPort>0</ReferralPort>
        <SSL>On</SSL>
        <AuthPackage>Basic</AuthPackage>
        <CertPrincipalName>msstd:*.domain.com</CertPrincipalName>
        <EwsUrl>https://mail.domain.com/EWS/exchange.asmx</EwsUrl>
        <EcpUrl>https://mail.domain.com/ecp</EcpUrl>
        <EcpUrl-um>?p=customize/voicemail.aspx&amp;exsvurl=1</EcpUrl-um>
        <EcpUrl-aggr>?p=personalsettings/EmailSubscriptions.slab&amp;exsvurl=1</EcpUrl-aggr>
        <EcpUrl-mt>PersonalSettings/DeliveryReport.aspx?exsvurl=1&amp;IsOWA=&lt;IsOWA&gt;&amp;MsgID=&lt;MsgID&gt;&amp;Mbx=&lt;Mbx&gt;</EcpUrl-mt>
        <EcpUrl-sms>?p=sms/textmessaging.slab&amp;exsvurl=1</EcpUrl-sms>
      </Protocol>
      <Protocol>
        <Type>WEB</Type>
        <Port>0</Port>
        <DirectoryPort>0</DirectoryPort>
        <ReferralPort>0</ReferralPort>
        <Internal>
          <OWAUrl AuthenticationMethod="Basic, Fba">https://mail.domain.com/owa/</OWAUrl>
          <Protocol>
            <Type>EXCH</Type>
            <ASUrl>https://mail.domain.com/EWS/exchange.asmx</ASUrl>
          </Protocol>
        </Internal>
        <External>
          <OWAUrl AuthenticationMethod="Fba">https://mail.domain.com/owa/</OWAUrl>
          <Protocol>
            <Type>EXPR</Type>
            <ASUrl>https://mail.domain.com/EWS/exchange.asmx</ASUrl>
          </Protocol>
        </External>
      </Protocol>
    </Account>
  </Response>
</Autodiscover>

答案1

我遇到了同样的问题,并且经过一番挖掘,因为 Exchange 远程连接工具错误消息非常具有误导性。

对我来说,这实际上是对数据库的 RPCClientAccessServer 属性中最近被删除的 CAS 服务器的引用。(作为背景介绍,Exchange 在我的环境中是新的,我已经使用一些“测试”主机名设置了 Exchange。一旦需要转移到生产主机名,我就从环境中删除了测试服务器...)

RPCClientAccessServer 似乎不是动态设置的。显然,由于这是我的初始 Exchange 实现,我并不是专家,因此如果有人可以提供更多信息,请允许我提供。

无论如何,解决这个问题的方法很简单,只需使用 PowerShell 获取数据库并重置 RPCClientAccessServer 属性即可。

例如,下面获取主机“mailbox01”上的所有数据库,并将 RPCClientAccessServer 设置为“newCAS02”:

    Get-MailboxDatabase -Server mailbox01.example.local | Set-MailboxDatabase -RPCClientAccessServer newCAS02.example.local

请注意,这些应该是 FQDN。

为了给予应得的赞扬,我在这里找到了解决方案http://exchangeserverpro.com/outlook-clients-无法连接到exchange-2010-after-client-access-server-role-moved

我想把它发布在这里,因为它没有提到“EXCH 提供程序部分丢失”错误,而且这个解决方案有点难以追踪。

答案2

根据包含的日志报告进行诊断有点困难。我确实在其中看到了 HTTPS,所以我会检查以确保你已经导入了 SSL 证书。

您提到您目前正在运行 Exchange 2010,您是否已将其升级到 SP1?如果您可以这样做,然后按照 Microsoft TechNet 文章进行操作,这应该是最好的起点。

http://technet.microsoft.com/en-us/library/bb123741.aspx

还有一个 powershell 命令 Test-OutlookConnectivity

祝你好运,让我们知道结果如何。

相关内容