Exchange 2010 Outlook Anywhere 不工作 - RPC 代理、地址簿?

Exchange 2010 Outlook Anywhere 不工作 - RPC 代理、地址簿?

呃。几个月前,我们为一个大客户构建了一个全新的 AD 和 Exchange 2010 环境。Outlook Anywhere 无法正常工作。Outlook 客户端始终无法连接,似乎不是错误或超时。

这是一次迁移。最初,我们的 Outlook Anywhere 证书不匹配,所以我很确定它从未工作过。我们最近更改了每个人的 SMTP 域后缀以匹配 Webmail URL 的域,所以我预计 OA 会开始工作。现在下雪天,很多人都在家,结果它不起作用。看起来代理 RPC 连接到 OAB 存在某种问题,但我不知道如何解决这个问题。

自动发现很好,OWA、ActiveSync、EWS 都已经运行了几个月。

我们在 DAG 中有 2 个邮箱服务器,1 个用于公共文件夹和日志的邮箱服务器,一个 2 服务器 CAS 阵列。在内部,我们为阵列配备了 NLB。在外部,我们为阵列配备了一个简单的 Netscaler LB VIP,它没有什么特别的功能,只是一个 TCP 443 直通。

RCA 显示这一点 - 它总是大约 33 秒,所以我假设这里有一个 30 秒的超时。

尝试 ping RPC 代理 webmail.5ssl.com。已成功 ping RPC 代理。其他详细信息耗时:201 毫秒。

尝试使用以下标识 ping MAPI 邮件存储端点:PFEXCAS.internal.domain.name.com:6001。尝试 ping 端点失败。其他详细信息 RPC 运行时进程引发了 RPC 错误。错误 1818 CallCancelled

已用时间:33536 毫秒。

现在,两个 CAS 服务器确实都在监听 TCP 6001。PFEXCAS 是 NLB VIP 的名称。

这适用于端口 6001、6002、6004,所以很好

rpcping -t ncacn_http -s pfexcas.internal.domain.name.com -o RpcProxy=pfexcas.internal.domain.name.com -P “,,,” -I “,,,” -H 1 -u 10 -a connect -F 3 -v 3 -e 6004

这不,它给出了 1722

rpcping -t ncacn_http -s pfexcas.internal.domain.name.com -o RpcProxy=webmail.5ssl.com -P “,,,,-I “,,,,-H 1 -u 10 -a connect -F 3 -v 3 -e 6004

Test-OutlookConnectivity -Protocol:Http -verbose在两台服务器上都运行良好,包括用于地址簿的 GetNewDSA 和 RFRI::GetReferral,但它们在我们的下一次测试中失败了。

这是 Ex2010,因此 HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Rpc\RpcProxy\ValidPorts_AutoConfig_Exchange 已检查,并且在两个 CAS 服务器上看起来都是正确的

PFEXCAS:6001-6004;PFEXCAS.内部域名:6001-6004;PFEXCAS01:6001-6004;PFEXCAS01.内部域名:6001-6004;PFEXCAS02:6001-6004;PFEXCAS02.内部域名:6001-6004;PFEXMB01:6001-6004;PFEXMB01.内部域名:6001-6004;PFEXMB02:6001-6004;PFEXMB02.内部域名:6001-6004;PFEXMB03:6001-6004;PFEXMB03.内部域名:6001-6004

运行Test-OutlookConnectivity -RpcProxyTestType:Internal -RpcTestType:Server -verbose 结果为:(在任一 CAS 服务器上运行时,结果相同/相似。因此,RPC 代理到地址簿出现了问题,但我能否弄清楚是什么问题呢?环境中的其他一切似乎都运行良好,并且此设置的配置与具有正常工作的 OA 的原始环境非常接近。

VERBOSE: [19:08:13.652 GMT] Test-OutlookConnectivity : Target Client Access server = 'PFEXCAS01.internal.domain.name.com'
VERBOSE: [19:08:13.652 GMT] Test-OutlookConnectivity : Using connection parameters : 
'internal.domain.name.com\extest_23e99fa922cb4: RpcProxy/RPC-over-HTTP, [PFEXCAS01.internal.domain.name.com/Basic]'
VERBOSE: [19:08:13.652 GMT] Test-OutlookConnectivity : Pinging RpcProxy at the following URL: 
https://PFEXCAS01.internal.domain.name.com/rpc/RpcProxy.dll.

ClientAccessServer   ServiceEndpoint                               Scenario                            Result  Latency
                                                                                                                  (MS)
------------------   ---------------                               --------                            ------  -------
PFEXCAS01.FVE.AD.... PFEXCAS01.internal.domain.name.com                     RpcProxy::VerifyRpcProxy.           Success   46.80
VERBOSE: [19:08:13.698 GMT] Test-OutlookConnectivity : RPC Endpoint = 'PFEXCAS01.internal.domain.name.com'
VERBOSE: [19:08:13.698 GMT] Test-OutlookConnectivity : RPC Endpoint = 'PFEXCAS01.internal.domain.name.com'
VERBOSE: [19:08:13.698 GMT] Test-OutlookConnectivity : RPC Endpoint = 'PFEXCAS01.internal.domain.name.com'
VERBOSE: [19:08:13.698 GMT] Test-OutlookConnectivity : RPC Endpoint = 'PFEXCAS01.internal.domain.name.com'
VERBOSE: [19:08:13.698 GMT] Test-OutlookConnectivity : RPC Endpoint = 'PFEXCAS01.internal.domain.name.com'
VERBOSE: [19:08:13.698 GMT] Test-OutlookConnectivity : Using connection parameters : 
'internal.domain.name.com\extest_23e99fa922cb4: Rfri/RPC-over-HTTP, [PFEXCAS01.internal.domain.name.com/Basic], 
[PFEXCAS01.internal.domain.name.com/Negotiate]'
VERBOSE: [19:08:13.714 GMT] Test-OutlookConnectivity : Mailbox = 'internal.domain.name.com\extest_23e99fa922cb4', Owner = 
'/o=FIVESTAR/ou=Exchange Administrative Group (FYDIBOHF23SPDLT)/cn=Recipients/cn=extest_23e99fa922cb46cb'
VERBOSE: [19:08:13.714 GMT] Test-OutlookConnectivity : Address Book Operation = 'GetNewDSA', Input = 'userLegacyDN', 
Input Value = '/o=FIVESTAR/ou=Exchange Administrative Group (FYDIBOHF23SPDLT)/cn=Recipients/cn=extest_23e99fa922cb46cb'
VERBOSE: [19:08:21.342 GMT] Test-OutlookConnectivity : Microsoft.Exchange.Rpc.ServerUnavailableException: Error 0x6ba 
(The RPC server is unavailable) from cli_RfrGetNewDSA 

EEInfo: ComputerName: n/a

EEInfo: ProcessID: 4520

EEInfo: Generation Time: 2015-01-27 19:08:21.342

EEInfo: Generating component: 2

EEInfo: Status: 0x000006BA

EEInfo: Detection location: 1710

EEInfo: Flags: 0

EEInfo: NumberOfParameters: 1

EEInfo:    prm[0]: Long val: 0 (0x00000000)



EEInfo: ComputerName: n/a

EEInfo: ProcessID: 4520

EEInfo: Generation Time: 2015-01-27 19:08:21.342

EEInfo: Generating component: 13

EEInfo: Status: 0x000006BA

EEInfo: Detection location: 1352

EEInfo: Flags: 0

EEInfo: NumberOfParameters: 1

EEInfo:    prm[0]: Long val: -1073606646 (0xC002100A)



EEInfo: ComputerName: n/a

EEInfo: ProcessID: 4520

EEInfo: Generation Time: 2015-01-27 19:08:21.342

EEInfo: Generating component: 14

EEInfo: Status: 0xC002100A

EEInfo: Detection location: 1380

EEInfo: Flags: 0

EEInfo: NumberOfParameters: 2

EEInfo:    prm[0]: Long val: 12175 (0x00002F8F)

EEInfo:    prm[1]: Unicode string: /rpc/rpcproxy.dll?PFEXCAS01.internal.domain.name.com:6002



EEInfo: ComputerName: n/a

EEInfo: ProcessID: 4520

EEInfo: Generation Time: 2015-01-27 19:08:21.342

EEInfo: Generating component: 14

EEInfo: Status: 0x00010000

EEInfo: Detection location: 1385

EEInfo: Flags: 0

EEInfo: NumberOfParameters: 2

EEInfo:    prm[0]: Long val: 16 (0x00000010)

EEInfo:    prm[1]: Binary Buffer: 
<junk>



   at ThrowRpcException(Int32 rpcStatus, String message)

   at Microsoft.Exchange.Rpc.RpcClientBase.ThrowRpcExceptionWithEEInfo(Int32 rpcStatus, String routineName)

   at Microsoft.Exchange.Rpc.Rfri.RfriRpcClient.GetNewDSA(String userDN, String& server)

   at Microsoft.Exchange.Monitoring.RfriClientWrapper.<>c__DisplayClass7.<GetNewDSA>b__6()

   at Microsoft.Exchange.Monitoring.OutlookConnectivityContext.RpcExceptionWrapper(Func`1 protectedCall)
VERBOSE: [19:08:21.342 GMT] Test-OutlookConnectivity : AddressBook operation failed.  Operation = 'GetReferral', Error 
= 'The Address Book Referral operation failed. Operation = '<GetNewDSA>b__6', returnValue = '1722', server = 
'PFEXCAS01.internal.domain.name.com', user = '/o=FIVESTAR/ou=Exchange Administrative Group 
(FYDIBOHF23SPDLT)/cn=Recipients/cn=extest_23e99fa922cb46cb', .'
PFEXCAS01.FVE.AD.... PFEXCAS01.internal.domain.name.com                     RFRI::GetReferral.                  Failure   -1.00
VERBOSE: [19:08:21.342 GMT] Test-OutlookConnectivity : RPC Endpoint = 'PFEXCAS01.internal.domain.name.com'
VERBOSE: [19:08:21.342 GMT] Test-OutlookConnectivity : Using connection parameters : 
'internal.domain.name.com\extest_23e99fa922cb4: Nspi/RPC-over-HTTP, [PFEXCAS01.internal.domain.name.com/Basic], 
[PFEXCAS01.internal.domain.name.com/Negotiate]'
VERBOSE: [19:08:21.342 GMT] Test-OutlookConnectivity : Address Book Operation = 'Bind'
VERBOSE: [19:08:28.971 GMT] Test-OutlookConnectivity : Microsoft.Exchange.Rpc.ServerUnavailableException: Error 0x6ba 
(The RPC server is unavailable) from cli_NspiBind 

EEInfo: ComputerName: n/a

EEInfo: ProcessID: 4520

EEInfo: Generation Time: 2015-01-27 19:08:28.955

EEInfo: Generating component: 2

EEInfo: Status: 0x000006BA

EEInfo: Detection location: 1710

EEInfo: Flags: 0

EEInfo: NumberOfParameters: 1

EEInfo:    prm[0]: Long val: 0 (0x00000000)



EEInfo: ComputerName: n/a

EEInfo: ProcessID: 4520

EEInfo: Generation Time: 2015-01-27 19:08:28.955

EEInfo: Generating component: 13

EEInfo: Status: 0x000006BA

EEInfo: Detection location: 1352

EEInfo: Flags: 0

EEInfo: NumberOfParameters: 1

EEInfo:    prm[0]: Long val: -1073606646 (0xC002100A)



EEInfo: ComputerName: n/a

EEInfo: ProcessID: 4520

EEInfo: Generation Time: 2015-01-27 19:08:28.955

EEInfo: Generating component: 14

EEInfo: Status: 0xC002100A

EEInfo: Detection location: 1380

EEInfo: Flags: 0

EEInfo: NumberOfParameters: 2

EEInfo:    prm[0]: Long val: 12175 (0x00002F8F)

EEInfo:    prm[1]: Unicode string: /rpc/rpcproxy.dll?PFEXCAS01.internal.domain.name.com:6004



EEInfo: ComputerName: n/a

EEInfo: ProcessID: 4520

EEInfo: Generation Time: 2015-01-27 19:08:28.955

EEInfo: Generating component: 14

EEInfo: Status: 0x00010000

EEInfo: Detection location: 1385

EEInfo: Flags: 0

EEInfo: NumberOfParameters: 2

EEInfo:    prm[0]: Long val: 16 (0x00000010)

EEInfo:    prm[1]: Binary Buffer: 
<junk>



   at ThrowRpcException(Int32 rpcStatus, String message)

   at Microsoft.Exchange.Rpc.RpcClientBase.ThrowRpcExceptionWithEEInfo(Int32 rpcStatus, String routineName)

   at Microsoft.Exchange.Rpc.Nspi.NspiRpcClient.Bind(UInt32 flags, IntPtr stat, IntPtr guid)

   at Microsoft.Exchange.Monitoring.NspiClientWrapper.<Bind>b__4()

   at Microsoft.Exchange.Monitoring.OutlookConnectivityContext.RpcExceptionWrapper(Func`1 protectedCall)
VERBOSE: [19:08:28.971 GMT] Test-OutlookConnectivity : Address Book operation failed. Details: The NSPI operation 
failed. Operation = '<Bind>b__4', ReturnValue = '1722', Server = 'PFEXCAS01.internal.domain.name.com', User = 
'/o=FIVESTAR/ou=Exchange Administrative Group (FYDIBOHF23SPDLT)/cn=Recipients/cn=extest_23e99fa922cb46cb', ..
PFEXCAS01.FVE.AD.... PFEXCAS01.internal.domain.name.com                     NSPI::GetProfileDetails.            Failure   -1.00
VERBOSE: [19:08:28.971 GMT] Test-OutlookConnectivity : RPC Endpoint = 'PFEXCAS01.internal.domain.name.com'
VERBOSE: [19:08:28.971 GMT] Test-OutlookConnectivity : RPC Endpoint = 'PFEXCAS01.internal.domain.name.com'
VERBOSE: [19:08:28.971 GMT] Test-OutlookConnectivity : RPC Endpoint = 'PFEXCAS01.internal.domain.name.com'
VERBOSE: [19:08:28.971 GMT] Test-OutlookConnectivity : Using connection parameters : 
'internal.domain.name.com\extest_23e99fa922cb4: Mailbox/RPC-over-HTTP, [PFEXCAS01.internal.domain.name.com/Basic], 
[PFEXCAS01.internal.domain.name.com/Negotiate]'
VERBOSE: [19:08:28.971 GMT] Test-OutlookConnectivity : Mailbox Operation: 'EcDoConnectEx', Target mailbox: 
'/o=FIVESTAR/ou=Exchange Administrative Group (FYDIBOHF23SPDLT)/cn=Recipients/cn=extest_23e99fa922cb46cb'
VERBOSE: [19:08:28.986 GMT] Test-OutlookConnectivity : RPC Endpoint = 'PFEXCAS01.internal.domain.name.com'
VERBOSE: [19:08:28.986 GMT] Test-OutlookConnectivity : RPC Endpoint = 'PFEXCAS01.internal.domain.name.com'
VERBOSE: [19:08:36.599 GMT] Test-OutlookConnectivity : Microsoft.Exchange.Rpc.ServerUnavailableException: Error 0x6ba 
(The RPC server is unavailable) from EcDoConnectEx 

EEInfo: ComputerName: n/a

EEInfo: ProcessID: 4520

EEInfo: Generation Time: 2015-01-27 19:08:36.599

EEInfo: Generating component: 13

EEInfo: Status: 0x000006BA

EEInfo: Detection location: 1352

EEInfo: Flags: 0

EEInfo: NumberOfParameters: 1

EEInfo:    prm[0]: Long val: -1073606646 (0xC002100A)



EEInfo: ComputerName: n/a

EEInfo: ProcessID: 4520

EEInfo: Generation Time: 2015-01-27 19:08:36.599

EEInfo: Generating component: 14

EEInfo: Status: 0xC002100A

EEInfo: Detection location: 1380

EEInfo: Flags: 0

EEInfo: NumberOfParameters: 2

EEInfo:    prm[0]: Long val: 12175 (0x00002F8F)

EEInfo:    prm[1]: Unicode string: /rpc/rpcproxy.dll?PFEXCAS01.internal.domain.name.com:6001



EEInfo: ComputerName: n/a

EEInfo: ProcessID: 4520

EEInfo: Generation Time: 2015-01-27 19:08:36.599

EEInfo: Generating component: 14

EEInfo: Status: 0x00010000

EEInfo: Detection location: 1385

EEInfo: Flags: 0

EEInfo: NumberOfParameters: 2

EEInfo:    prm[0]: Long val: 16 (0x00000010)

EEInfo:    prm[1]: Binary Buffer: 
<junk>



   at ThrowRpcException(Int32 rpcStatus, String message)

   at Microsoft.Exchange.Rpc.RpcClientBase.ThrowRpcExceptionWithEEInfo(Int32 rpcStatus, String routineName)

   at Microsoft.Exchange.Rpc.ExchangeClient.ExchangeRpcClient.EcDoConnect_Wrapped(Boolean isEx, Void** pcxh, Byte* 
szUserDN, UInt32 ulFlags, UInt32 ulConMod, UInt32 cbLimit, UInt32 ulCpid, UInt32 ulLcidString, UInt32 ulLcidSort, 
UInt32 ulIcxrLink, UInt16 usFCanConvertCodePages, UInt32* pcmsPollsMax, UInt32* pcRetry, UInt32* pcmsRetryDelay, 
UInt16* picxr, Byte** pszDNPrefix, Byte** pszDisplayName, UInt16* rgwClientVersion, UInt16* rgwServerVersion, UInt16* 
rgwBestVersion, UInt32* pulTimeStamp, Byte* rgbAuxIn, UInt32 cbAuxIn, Byte* rgbAuxOut, UInt32* pcbAuxOut)

   at Microsoft.Exchange.Rpc.ExchangeClient.ExchangeRpcClient.EcDoConnect_Internal(Boolean isEx, IntPtr& contextHandle,
 String userDn, Int32 flags, Int32 sizeLimit, Int32 conMod, Int32 cpid, Int32 lcidString, Int32 lcidSort, Int32 
sessionIdLink, Boolean canConvertCodePages, TimeSpan& pollsMax, Int32& retryCount, TimeSpan& retryDelay, String& 
dnPrefix, String& displayName, Int16[] clientVersion, Int16[]& serverVersion, Int16[]& bestVersion, Int32& timeStamp, 
Byte[] auxIn, Boolean compressAuxIn, Boolean xorMagicAuxIn, Byte[]& auxOut, Int32 maxSizeAuxOut, Boolean& 
wasCompressedAuxOut, Boolean& wasXorMagicAuxOut)

   at Microsoft.Exchange.Rpc.ExchangeClient.ExchangeRpcClient.EcDoConnectEx(IntPtr& contextHandle, String userDn, Int32
 flags, Int32 sizeLimit, Int32 conMod, Int32 cpid, Int32 lcidString, Int32 lcidSort, Int32 sessionIdLink, Boolean 
canConvertCodePages, TimeSpan& pollsMax, Int32& retryCount, TimeSpan& retryDelay, String& dnPrefix, String& 
displayName, Int16[] clientVersion, Int16[]& serverVersion, Int16[]& bestVersion, Int32& timeStamp, Byte[] auxIn, 
Boolean compressAuxIn, Boolean xorMagicAuxIn, Byte[]& auxOut, Int32 maxSizeAuxOut, Boolean& wasCompressedAuxOut, 
Boolean& wasXorMagicAuxOut)

   at Microsoft.Exchange.Monitoring.MailboxTask.<>c__DisplayClassb.<Connect>b__a()

   at Microsoft.Exchange.Monitoring.OutlookConnectivityContext.RpcExceptionWrapper(Func`1 protectedCall)
VERBOSE: [19:08:36.599 GMT] Test-OutlookConnectivity : EcDoConnectEx Result: '1722'
VERBOSE: [19:08:36.599 GMT] Test-OutlookConnectivity : RPC Endpoint = 'PFEXCAS01.internal.domain.name.com'
PFEXCAS01.FVE.AD.... PFEXCAS01.internal.domain.name.com                     Mailbox::Connect.                   Failure   -1.00
VERBOSE: [19:08:36.615 GMT] Test-OutlookConnectivity : RPC Endpoint = 'PFEXCAS01.internal.domain.name.com'
VERBOSE: [19:08:36.615 GMT] Test-OutlookConnectivity : This step was skipped. This may have been caused by the failure 
in a previous scenario. Operation = 'MailboxTask::Logon'.
PFEXCAS01.FVE.AD.... PFEXCAS01.internal.domain.name.com                     Mailbox::Logon.                     Skipped   -1.00
VERBOSE: [19:08:36.615 GMT] Test-OutlookConnectivity : Admin Audit Log: Entered Handler:OnComplete.
VERBOSE: [19:08:36.615 GMT] Test-OutlookConnectivity : Ending processing &

答案1

这是某种愚蠢的配置 Heisenbug。注册表已正确配置为 RPC,问题并非特定于 OAB,这只是首先检查的内容。需要重新启动 CAS 服务器才能使其正常工作。

此外,真正的根本原因是我最近安装了第三个 CAS 服务器作为测试,而不是在阵列中。我为它提供了无法访问的公共 URL 的虚拟值,出于某种原因(我希望知道),这些值被写入了自动发现。我从该测试机器上卸载了 CAS 角色,它清理了自动发现,但在重新启动其余 CAS 服务器之前,RPCPing 仍然有问题。

相关内容