403:尝试在 Exchange 中查看组织范围的忙/闲信息时出现禁止错误

原始 KB 数: 3082946

摘要

尝试查看组织范围的忙/闲信息时,尝试失败并生成 “403:禁止访问 ”错误。

例如,运行 Microsoft Exchange 2007 的服务器上有林 A,在运行 Exchange Server 2013 或 Exchange Server 2010 的服务器上具有林 B。 在这种情况下,林 A 中的用户无法在林 B 中看到用户的忙/闲信息。此外,源服务器上的事件日志中记录了以下事件:

Log Name:      Application

Source:        MSExchange Availability

Date:          Date

Event ID:      4002

Task Category: Availability Service

Level:         Error

Keywords:      Classic

User:          N/A

Computer:      <Computer Name>

Description:

Process <Process ID>[w3wp.exe:/LM/W3SVC/1/ROOT/EWS-1-130778800910201315]: Proxy request CrossForest from
Requester:S-1-5-21-1016748826-3068013645-1401187561-1105 to https://<ONLINE_URL>/EWS/Exchange.asmx failed.
Caller SIDs: . The exception returned is Microsoft.Exchange.InfoWorker.Common.Availability.ProxyWebRequestProcessingException:
System.Net.WebException: The request failed with HTTP status 403: Forbidden.

在目标服务器上,以下条目记录在 W3SVC1 目录下的 Internet 信息服务 (IIS) 日志中:

IIS Logs:  2015-06-08 04:19:25 <IP Address> POST /EWS/Exchange.asmx &CorrelationID=<empty>;&ClientId=JQJLGECZ0MGEHVVWEBZG&cafeReqId=9f422915-0721-48ce-b2c6-4406d2c1b49d; 443 domain\serviceaccount <IP Address> ASProxy/CrossForest/EmailDomain/EXCH/08.03.0083.000 - 403 0 0 718

在运行 Exchange Server 2013 的服务器上,HTTPProxy 日志中记录了以下条目:

WebExceptionStatus=ProtocolError;ResponseStatusCode=403;WebException=System.Net.WebException: The remote server returned an error: (403) Forbidden.    at System.Net.HttpWebRequest.EndGetResponse(IAsyncResult asyncResult)    at Microsoft.Exchange.HttpProxy.ProxyRequestHandler.<>c__DisplayClass2c.<OnResponseReady>b__2b();

在邮箱服务器上,以下条目记录在 IIS 日志中的 W3SVC2 目录下:

2015-06-08 04:16:29 <IP Address> POST /EWS/Exchange.asmx - 444 domain\serviceaccount 10.152.152.166 ASProxy/CrossForest/EmailDomain/EXCH/08.03.0083.000 403 0 0 233

在邮箱服务器上,以下条目记录在 EWS 日志中:

AuthError=User not allowed to access EWS;,FaultInnerException=Microsoft.Exchange.Services.Core.Types.ServiceAccessDeniedException: Access is denied. Check credentials and try again.;ExceptionHandlerBase_ProvideFault_FaultException=System.ServiceModel.FaultException: Access is denied. Check credentials and try again.    at Microsoft.Exchange.Services.Wcf.MessageInspectorManager.InternalAfterReceiveRequest(Message& request  IClientChann

原因

出现此问题的原因是组织级别的林 B 上阻止了 EWS。 林 B 仅允许选定的应用程序访问 EWS。 跨林忙/闲请求不允许使用 EWS。

若要检查组织配置,请运行以下命令:

Get-Organizationconfig | fl *ews*

解决方案

若要在组织级别启用跨林忙/闲请求,必须向 EWS 允许列表添加用户代理。 例如,在“摘要”部分中所述的情况下,添加以下用户代理路径。

注意

此信息取自目标服务器上的 IIS 日志。

ASProxy/CrossForest/EmailDomain/EXCH/08.03.0083.00

然后,运行以下命令:

Set-OrganizationConfig -EwsAllowList "ASProxy/CrossForest/EmailDomain/EXCH/08.03.0083.000","TestApp","app1"