一点背景故事... 网络爆炸,重建。此 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&exsvurl=1</EcpUrl-um>
<EcpUrl-aggr>?p=personalsettings/EmailSubscriptions.slab&exsvurl=1</EcpUrl-aggr>
<EcpUrl-mt>PersonalSettings/DeliveryReport.aspx?exsvurl=1&IsOWA=<IsOWA>&MsgID=<MsgID>&Mbx=<Mbx></EcpUrl-mt>
<EcpUrl-sms>?p=sms/textmessaging.slab&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&exsvurl=1</EcpUrl-um>
<EcpUrl-aggr>?p=personalsettings/EmailSubscriptions.slab&exsvurl=1</EcpUrl-aggr>
<EcpUrl-mt>PersonalSettings/DeliveryReport.aspx?exsvurl=1&IsOWA=<IsOWA>&MsgID=<MsgID>&Mbx=<Mbx></EcpUrl-mt>
<EcpUrl-sms>?p=sms/textmessaging.slab&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
祝你好运,让我们知道结果如何。