403: Błąd zabroniony podczas próby wyświetlenia informacji wolnych/zajętych w całej organizacji w programie Exchange
Oryginalny numer KB: 3082946
Podsumowanie
Podczas próby wyświetlenia informacji wolny/zajęty w całej organizacji próba kończy się niepowodzeniem i generuje błąd 403: Zabronione .
Na przykład masz las A na serwerze z programem Microsoft Exchange 2007 i lasem B na serwerze z systemem Exchange Server 2013 lub Exchange Server 2010 r. W takiej sytuacji użytkownik w lesie A nie może wyświetlić informacji o wolnym/zajętym użytkowniku w lesie B. Ponadto następujące zdarzenie jest rejestrowane w dzienniku zdarzeń na serwerze źródłowym:
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.
Na serwerze docelowym następujący wpis jest rejestrowany w dzienniku usługi Internet Information Service (IIS) w katalogu 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
Na serwerze z systemem Exchange Server 2013 w dzienniku HTTPProxy jest rejestrowany następujący wpis:
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();
Na serwerze skrzynki pocztowej następujący wpis jest rejestrowany w dzienniku usług IIS w katalogu 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
Na serwerze skrzynki pocztowej w dzienniku EWS jest rejestrowany następujący wpis:
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
Przyczyna
Ten problem występuje, ponieważ usługa EWS jest zablokowana w lesie B na poziomie organizacji. Las B zezwala tylko wybranym aplikacjom na dostęp do ews. Usługa EWS nie jest dozwolona w przypadku żądań wolnych/zajętych między lasami.
Aby sprawdzić konfigurację organizacji, uruchom następujące polecenie:
Get-Organizationconfig | fl *ews*
Rozwiązanie
Aby włączyć żądania wolnych/zajętych między lasami na poziomie organizacji, musisz dodać agenta użytkownika do listy Zezwalaj ews. Na przykład w sytuacji opisanej w sekcji "Podsumowanie" dodaj następującą ścieżkę agenta użytkownika.
Uwaga
Te informacje są pobierane z dzienników usług IIS na serwerze docelowym.
ASProxy/CrossForest/EmailDomain/EXCH/08.03.0083.00
Następnie uruchom następujące polecenie:
Set-OrganizationConfig -EwsAllowList "ASProxy/CrossForest/EmailDomain/EXCH/08.03.0083.000","TestApp","app1"