Merhabalar, bu makalemde Microsoft Exchange Server 2019 veya Exchange Server 2013’ü başarıyla yüklediniz. Yükleme işlemi başarısız olmuş veya bir aşamada kesintiye uğramış ve ardından devam etmiş ve sonunda başarıyla tamamlanmış olabilir. Ancak Exchange Control Panel ‘da (ECP) veya Outlook Web App’e (OWA) erişmeye çalıştığınızda aşağıdaki hata ile karşılaşılması durumunda yapılması gerekenlere değineceğim.
Bu hataya ilişkin durumun event log içeriği aşağıdaki gibidir.
Ayrıca, işletim sistemi Application Log’larında aşağıdaki olay ile kaydedilebilir;
Event code: 3005
Event message: An unhandled exception has occurred.
Event time: 2/11/2021 2:48:32 PM
Event time (UTC): 2/11/2021 11:48:32 AM
Event ID: 8255e01d6c69427a880fc0c3a866f8ea
Event sequence: 265
Event occurrence: 262
Event detail code: 0
Application information:
Application domain: /LM/W3SVC/1/ROOT/mapi-1-132574406974635191
Trust level: Full
Application Virtual Path: /mapi
Application Path: E:\Exchange Server\V15\FrontEnd\HttpProxy\mapi\
Machine name: VKK-EXC02
Process information:
Process ID: 3468
Process name: w3wp.exe
Account name: NT AUTHORITY\SYSTEM
Exception information:
Exception type: DuplicateKeyException
Exception message: Cannot add a duplicate key. Use Insert instead
at Microsoft.Exchange.Security.Authentication.FederatedAuthService.CacheReader.AddEntry(String userKey, Int32 userPolicy, ConfigWrapper config)
at Microsoft.Exchange.Security.Authentication.FederatedAuthService.BasicAuthPolicyRepo.GetUserPolicy(String userKey, Int32 traceId, Int32& userPolicy, HttpApplication httpApplication, IRecipientSession recipientSession, IConfigurationSession configSession, ConfigWrapper config)
at Microsoft.Exchange.Security.Authentication.FederatedAuthService.BasicAuthPolicyEvaluator.IsBasicAuthAllowed(String userKey, String protocolName, Int32 traceId, HttpApplication httpApplication, IRecipientSession recipientSession, IConfigurationSession configSession, ConfigWrapper config)
at Microsoft.Exchange.HttpProxy.ProxyModule.IsLegacyAuthAllowed(HttpApplication httpApplication)
at Microsoft.Exchange.HttpProxy.ProxyModule.OnPostAuthenticateInternal(HttpApplication httpApplication)
at Microsoft.Exchange.Common.IL.ILUtil.DoTryFilterCatch(Action tryDelegate, Func`2 filterDelegate, Action`1 catchDelegate)
at System.Web.HttpApplication.SyncEventExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute()
at System.Web.HttpApplication.ExecuteStepImpl(IExecutionStep step)
at System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean& completedSynchronously)
Request information:
Request URL: https://mail.kadirkozan.com:443/mapi/nspi/?MailboxId=47fb7aeb-1a6b-41a4-bf2e-764c424779fc@kadirkozan.com
Request path: /mapi/nspi/
User host address: 192.168.100.192
User: VKK\kadir.kozan
Is authenticated: True
Authentication Type: Negotiate
Thread account name: NT AUTHORITY\SYSTEM
Thread information:
Thread ID: 58
Thread account name: NT AUTHORITY\SYSTEM
Is impersonating: False
Stack trace: at Microsoft.Exchange.Security.Authentication.FederatedAuthService.CacheReader.AddEntry(String userKey, Int32 userPolicy, ConfigWrapper config)
at Microsoft.Exchange.Security.Authentication.FederatedAuthService.BasicAuthPolicyRepo.GetUserPolicy(String userKey, Int32 traceId, Int32& userPolicy, HttpApplication httpApplication, IRecipientSession recipientSession, IConfigurationSession configSession, ConfigWrapper config)
at Microsoft.Exchange.Security.Authentication.FederatedAuthService.BasicAuthPolicyEvaluator.IsBasicAuthAllowed(String userKey, String protocolName, Int32 traceId, HttpApplication httpApplication, IRecipientSession recipientSession, IConfigurationSession configSession, ConfigWrapper config)
at Microsoft.Exchange.HttpProxy.ProxyModule.IsLegacyAuthAllowed(HttpApplication httpApplication)
at Microsoft.Exchange.HttpProxy.ProxyModule.OnPostAuthenticateInternal(HttpApplication httpApplication)
at Microsoft.Exchange.Common.IL.ILUtil.DoTryFilterCatch(Action tryDelegate, Func`2 filterDelegate, Action`1 catchDelegate)
at System.Web.HttpApplication.SyncEventExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute()
at System.Web.HttpApplication.ExecuteStepImpl(IExecutionStep step)
at System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean& completedSynchronously)
Custom event details:
Bu sorun, SharedWebConfig.config dosyası aşağıdaki konumlardan birinde eksik ile oluşmaktadır.
Bu sorunu gidermek için şu adımların yapılması gerekecektir;
Sorunla karşılaşan sunucuda, dosyanın eksik olduğu konumu belirleyin.
Eksik dosyayı oluşturunuz. Bu işlem için önce; Geçerli dizini Exchange yükleme yolu altındaki bin klasörüyle değiştirmek için cd% ExchangeInstallPath% \ bin komutunu çalıştırınız.
Eksik olan dosyayı oluşturmak için DependentAssemblyGenerator.exe aracını kullanınız. Eksik olan dosya C:\Program Files\Microsoft\Exchange Server\V15\ClientAccess‘te dizininde ise aşağıdaki örnek komutu çalıştırınız.
DependentAssemblyGenerator.exe -exchangePath "%ExchangeInstallPath%\bin" -exchangePath "%ExchangeInstallPath%\ClientAccess" -configFile "%ExchangeInstallPath%\ClientAccess\SharedWebConfig.config"
Bu işlemden sonra IISRSET yada işletim sisteminizi yeniden başlatınız.