403: Errore non consentito quando si tenta di visualizzare le informazioni sulla disponibilità a livello di organizzazione in Exchange
Numero KB originale: 3082946
Riepilogo
Quando si tenta di visualizzare le informazioni sulla disponibilità a livello di organizzazione, il tentativo ha esito negativo e genera un errore 403: Non consentito .
Ad esempio, è presente la foresta A in un server che esegue Microsoft Exchange 2007 e la foresta B in un server che esegue Exchange Server 2013 o Exchange Server 2010. In questo caso, un utente della foresta A non può visualizzare le informazioni sulla disponibilità di un utente nella foresta B. Inoltre, l'evento seguente viene registrato nel registro eventi nel server di origine:
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.
Nel server di destinazione viene registrata la voce seguente nel log di Internet Information Service (IIS), nella directory W3SVC1:
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
Nel server che esegue Exchange Server 2013 viene registrata la voce seguente nel log 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();
Nel server Cassette postali viene registrata la voce seguente nel log IIS, nella directory 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
Nel server Cassette postali viene registrata la voce seguente nel log 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
Causa
Questo problema si verifica perché EWS è bloccato nella foresta B a livello di organizzazione. La foresta B consente solo alle applicazioni selezionate di accedere a EWS. EWS non è consentito per le richieste di disponibilità tra foreste.
Per controllare la configurazione dell'organizzazione, eseguire il comando seguente:
Get-Organizationconfig | fl *ews*
Risoluzione
Per abilitare le richieste di disponibilità tra foreste a livello di organizzazione, è necessario aggiungere l'agente utente all'elenco EWS Allow. Ad esempio, nella situazione descritta nella sezione "Riepilogo" aggiungere il percorso dell'agente utente seguente.
Nota
Queste informazioni sono tratte dai log IIS nel server di destinazione.
ASProxy/CrossForest/EmailDomain/EXCH/08.03.0083.00
Quindi, esegui il seguente comando:
Set-OrganizationConfig -EwsAllowList "ASProxy/CrossForest/EmailDomain/EXCH/08.03.0083.000","TestApp","app1"