31 C
Dubai
Friday, May 2, 2025
Home Blog Page 44

Troubleshooting Authentication prompts in Outlook

Authentication prompts in Outlook is one of the worst to troubleshoot in a Messaging Environment. But if your clear about your Architecture and the connectivity flow it could be much easier for you to isolate the issue. I have listed the most common scenarios . Lets see one by one.

  • Microsoft Office Patches
  • Understanding Outlook Behaviour and Credential Manager`with HTTP MAPI
  • Proxy Exclusions
  • Hardware Load Balancers
  • Custom Outlook Add-ins
  • Conflicting Outlook Anywhere Settings in Co-existence Environment.
  • Public Folders Co-existence not configured Properly.
  • Additional Mailboxes
  • SSL misconfiguration
  • Customized Virtual directory authentication settings
  • Autodiscover Request failure
  • Offline Address Books
  • Outlook Integration like Instant Messaging
  • Active Directory Replication
  • Primary Email Address and User Principal Name Mismatch in Office 365 Hybrid

Microsoft Office Patches –

I know Microsoft patches are crazy sometimes . But i strongly recommend to upgrade the Microsoft Office to the latest version to stay secured also so that you don’t work on a issue which is already fixed. There are many feature optimizations and Protocol enhancements made over these months . So before even start troubleshooting make sure you have the latest version of Office running . So that it helps you to isolate the issue faster and quicker.

Understanding Outlook Behaviour and Credential Manager`with HTTP MAPI –

when we are using RPC HTTP it wasn’t mandatory to store credentials on the local machine. But here comes the HTTP MAPI where it makes it mandatory for users to store the password in the credential manager when the users leave the domain network.

As of today when a domain joined machine leaves the domain / corporate / internal network and goes external. Outlook Prompts for credential to enter it once to store in the credential manager. So that it won’t ask you again. Until the password expires on it. This wasn’t the case or behaviour with RPC HTTP.

Seeing Connection Status in Outlook shows you. The Outlook is using RPC HTTP or HTTP MAPI.

Note : Office 365 / Exchange Server 2016 uses HTTP MAPI as default

image

when the user stores the credential . You can see them as

MicrosoftOffice16_DataSSPI:user@domain.com in the Windows Credential Manager

If user checks : Remember Password It shows as Enterprise. It means its going to ask again until the password expires from the External Network

If user doesn’t check Remember Password it will show as Logon Session . It means when user logs of and logs in . Credential are stored only for the logon session and it will prompt the user when the user is on the external network

image

Seeing in the Control Panel Credential Manager – Remembering Credentials

image

Seeing in the Control Panel _  Credential Manager without remembering the credentials

MicrosoftOffice16_DataSSPI:user@domain.com

Logon Session

image

this behavior is by design when user is on the External Network for Exchange Server 2016 .

Proxy Exclusions –

Proxy Exclusions play a major role when it comes to credential prompts .  Lets see the most seen issue is using a PAC file

if your using a pac file , Outlook may fail with Authn “Error” in connection status

image

Sample Proxy Settings on Pac File – http://pac.zscloud.net/azure365pro.pac

image

If your using On Premises you make it to bypass the traffic and go direct. So that when they are in Domain it goes to the Exchange Server Directly.

Sample –

image

if you using Exchange Online – Its preferred to go via proxy and you will not set direct settings on pac file. Make sure all Office 365 Urls are excluded from the proxy. For Example zscaler gives One Click Configuration for Office 365

image

Hardware Load Balancers –

ByPassing Hardware load balancers is more important as Outlook loses session persistence , Load balancer may give out the request to a different exchange server every time it connects. So most of the time it could be a configuration issue.  As we cannot go into details of those issues . As its wide scope. Just to make sure its not a load balancer issue. Make a host file pointing to the Exchange Server see if you are experiencing the same issue which can answer you many things

I have documented the steps on F5 if you use one https://www.azure365pro.com/configure-f5-ltm-exchange-server-2016/

Custom Outlook Add-ins –

There are many Add-ins for Outlook . Which may cause credential prompts. Outlook Safe mode can answer you those. Safe mode removes all the Addins on start up temporarily for you to test the behaviour of Outlook to isolate the same issue.

image

Conflicting Outlook Anywhere Settings in Co-existence Environment –

Credential prompts may be a reason when they are not able to proxy into the destination server. Where Outlook anywhere wasn’t mandatory in environments . When it comes to Exchange Server 2016 . Outlook anywhere has to be enabled on all Exchange 2010 servers for example . when you want to start with an co-existence. Outlook anywhere settings has to match between the legacy servers and the new exchange servers when you setup a coexistence . In order to have smooth client connectivity.

In my case . In my recent migrations  – Exchange Server 2010 was set to use NTLM . so made the same configuration on Exchange 2016 then the co-existence connectivity was successful.

image

Once the Co-existence period is over . we have put back recommended settings on Exchange Server 2016 having them to use negotiate

image

image

Basic authentication: If you select this authentication type, Outlook will prompt for username and password while attempting a connection with Exchange.

NTLM authentication: If you select this authentication type, exchange does not prompt users for a user name and password. The current Windows user information on the client computer is supplied by the browser through a cryptographic exchange involving hashing with the Web server. If the authentication exchange initially fails to identify the user, the browser will prompt the user for a Windows user account user name and password. So, when Outlook is trying to connect to Exchange and if the machine is domain joined, there isn’t a need to provide password.

Negotiate authentication: Enabled by default in Exchange 2013. This is a combination of Windows integrated authentication and Kerberos authentication. If we employ negotiate authentication, exchange will authenticate the client using NTLM authentication type and if unable to verify authenticity, will challenge the client to authenticate using a username and password.

As explained these Outlook anywhere settings are not matching between the legacy servers and the new prompts . There are more chances of getting Intermittent Outlook prompts

Public Folders Co-existence not configured Properly –

If you have Exchange 2016 and Exchange 2010 in your environment. Outlook may prompt or slow it down to connect when its not able to reach the public folders of Exchange 2010 via Exchange 2016.

In our case we have decided to remove Default Public Folder Database as we are not planning to migrate it to the new system.

image

Cleared using msExchHomePublicMDB attribute on Exchange 2010 Database

Start – run – adsiedit.msc – Configuration partition

CN=Services -> CN=Microsoft Exchange -> CN=(your organization name) -> CN=Administrative Groups -> CN=Exchange Administrative Group (FYDIBOHF23SPDLT) -> CN=Databases.

  • msExchHomePublicMDB

image

Now make sure Outlook is not trying to reach Exchange 2010 or legacy server public folders , You can always see the Outlook Connection status to check the same.

or you can try to setup co-existence https://technet.microsoft.com/en-us/library/dn690134(v=exchg.150).aspx

Additional Mailboxes –

Make sure Outlook is not configured with additional mailboxes . As sometime the primary mailbox may be on the new version and the additional mailbox is still on the legacy servers or vice versa which may cause prompts. You can always remove them and check it ,

image

SSL misconfiguration –

SSL misconfigurations like

  • Wrong Entries on Get-OutlookProvider
  • Unsupported wild card certs.

image

Customized Virtual directory authentication settings –

There could be change in Authentication settings.  Listed Exchange 2016 default authentication settings on virtual directories from a healthy environment.

MAPI  –

image

EWS –

image

OAB –

image

RPC –

image

Backend Site bindings –

image

MAPI _ Backend

image

EWS _ Backend

image

OAB _ Backend

image

Autodiscover Request failure –

Hold Ctrl key and right click on outlook icon on the task bar. test email configuration run autodiscover. verify its returning right urls in a timely manner.

image

Offline Address Books –

Make sure Offline Address Book assigned properly on Databases.

image

Make sure Outlook can download Offline Address books properly from the client side.

image

Instant Messaging Integration –

This prompt is one of the finest example where Cisco Jabber trying to get request data from Outlook before Outlook Connects to Exchange server. you can isolate the issue by simply removing such products from startup

image

Primary Email Address and User Principal Name Mismatch in Office 365 Hybrid

When your email and User Principal Name is not matching in Active Directory. You can see repeated Outlook authentication Prompts

Happy Authentication Prompts .

Configuring Avamar Backup with Exchange 2016

In my Case its a 4 Member DAG . Lets see how to Configure Avamar Backup for Exchange 2016.

Step 1 – Install Backup Agents –

  • Install the Avamar Backup Agent on Exchange DAG Members

Step 2 – Service Accounts

Create Service Account for Avamar Backups –

  • Create a Backup Service Account with a Mailbox
  • Add Below Permissions on the Exchange 2016 Servers.
Get-exchangeserver -identity 'EXCHANGESERVER'|add-adpermission -user avamarbackupuser -ExtendedRights Receive-As,Send-As
  • Run the EMC Avamar Exchange Backup User Configuration Tool

image

Verify Backup Permissions running the EMC Avamar Exchange Backup User Configuration Tool

Check Configure Backup Agent

Click Configure Services.

Make sure All Passed

image

Run the Avamar Windows Cluster Configuration –

image

Choose Exchange DAG

image

Its runs the prerequisites makes sure Avamar Client is installed on these DAG nodes.

image

Choose Configure new node as proxy for DAG

image

Choose IPv4

image

Choose a Node which which will act as a proxy node for all Exchange Databases for Backup

image

Configuring Proxy for DAG

image

The Configuration was successful.

image

Choose the Advance Settings and Configure DataSet.

  • Windows Exchange VSS
  • Exclude Suspended Database Copies from Backup
  • Exclude dismounted databases from backup
  • Disable Consistency Check for 2 more DAG members

You can configure avexvss.cmd with additional entries if backup is failing on backups

–debug For Additional logs

image

if you have Mcafee in Exchange Environment or any other anti virus products.

Make sure you add below avamar services as low risk processes for backup to run efficiently.

  • avtar.exe
  • avexvss.exe
  • avaagent.exe
  • avscc.exe

image

Successful Backups of all Exchange Passive Databases

image

Self Notes with Avamar Support –

 

Avamar Backup was keep freezing and being struck Randomly . For Exchange Databases. Avamar with Data domain.

Logs will show of 0% CPU and will get struck randomly –

 

2018-07-20 20:35:55 avtar Info <8688>: Status 2018-07-20 20:35:55, 223.4 GB (0 bytes, 0.00% new) 169MB   0% CPU  (1 open files) D:\Program Files\Microsoft\Exchange Server\V15\Mailbox\Database21\Database21.edb

2018-07-20 20:40:58 avtar Info <8688>: Status 2018-07-20 20:40:58, 223.4 GB (0 bytes, 0.00% new) 169MB   0% CPU  (1 open files) D:\Program Files\Microsoft\Exchange Server\V15\Mailbox\Database21\Database21.edb

2018-07-20 20:46:00 avtar Info <8688>: Status 2018-07-20 20:46:00, 223.4 GB (0 bytes, 0.00% new) 169MB   0% CPU  (1 open files) D:\Program Files\Microsoft\Exchange Server\V15\Mailbox\Database21\Database21.edb

2018-07-20 20:51:03 avtar Info <8688>: Status 2018-07-20 20:51:03, 223.4 GB (0 bytes, 0.00% new) 169MB   0% CPU  (1 open files) D:\Program Files\Microsoft\Exchange Server\V15\Mailbox\Database21\Database21.edb

2018-07-20 20:56:05 avtar Info <8688>: Status 2018-07-20 20:56:05, 223.4 GB (0 bytes, 0.00% new) 169MB   0% CPU  (1 open files) D:\Program Files\Microsoft\Exchange Server\V15\Mailbox\Database21\Database21.edb

Solution –

1. Login to the Avamar utility node as admin user.

2. Create a backup copy of the mcserver.xml
cp -p /usr/local/avamar/var/mc/server_data/prefs/mcserver.xml /usr/local/avamar/var/mc/server_data/prefs/x-mcserver.xml-before-disabling-token

3. Open the mcserver.xml using a text editor ( vi )

Vi usr/local/avamar/var/mc/server_data/prefs/mcserver.xml

4. Modify the following parameter to false.
Before the change:
entry key=”use_ddr_auth_token” value=”true”
After the change:
entry key=”use_ddr_auth_token” value=”false”

5. Save the change and exit back to the shell.

6. Restart the MCS service:

mcserver.sh –stop

mcserver.sh –start

dpnctl start sched

Exchange Control Panel Error Access Control entry not resolved

When ever you login to Exchange Control Panel ,  you will get a error on Delegation Tab

The Object user has been corrupted or isn’t compatible with Microsoft Support Requirement and it’s in an inconsistent state. The Following validation errors happened

Warning
The object azure365pro.com/user/test has been corrupted or isn’t compatible with Microsoft support requirements, and it’s in an inconsistent state. The following validation errors happened:
The access control entry defines the ObjectType ‘d819615a-3b9b-4738-b47e-f1bd8e000ea4’ that can’t be resolved..
The access control entry defines the ObjectType ‘e2d6986b-2c7f-4cda-9851-d50003fb6706’ that can’t be resolved..

image

Get-AdPermission "DC=Azure365pro,DC=com"

image

image

Warning
The object azure365pro.com/user/test has been corrupted or isn’t compatible with Microsoft support requirements, and it’s in an inconsistent state. The following validation errors happened

The access control entry defines the ObjectType ‘d819615a-3b9b-4738-b47e-f1bd8e000ea4’ that can’t be resolved..

Get the corrupted Access Control Entry object value place in below command and run it.

Get-ACl "AD:\DC=Azure365pro,DC=com" | Select Access -ExpandProperty Access | Where-Object {$_.ObjectType -eq "e2d6986b-4505059851-d5b5f3fb6706"} 

Now Its points to a null reference which is a SID value. if you see a valid object. action only on that object. in my case its inheriting from the root domain.

image

Open Active Directory users and computers

Make sure Advanced Features is checked – Right Click on the root domain properties

imageimage

Check list –

  • No connectivity problems between domain controllers
  • Windows will show “Account Unknown” if it can’t connect to a Active Directory Server
  • if you have multiple domains or trust relation ships it might take a few moments or connectivity between them domains may cause account showing unknown
  • Have a good system state backup . Whatsoever permissions cannot be reverted backup unless you use tools like icacls.exe to backup permissions. Still it can’t be applied back as these objects doesn’t exist.

Most of the Old SID may show because of account being removed and permission was not able to remove by active directory.

Example –

Account Unknown (S-1-5-21-#########-#########-#########-1835)
Account Unknown (S-1-5-21-#########-#########-#########-1835)

Once you confirm above 100 % . Permissions are the most risky part in active directory. take extreme care when you touch permissions on the root domain.

Security – Advanced –

Removed the objects listed in identity reference In my case first identity reference was listed 5 times and second reference was listed 3 times.

Removed them safely.

Click on Apply.

Prompt Appears on Changing 80 to 90 permissions _ Clicked Yes.

image

It resolved the delegation error on Exchange Control Panel

Your device won’t be able to synchronize with the server via Exchange ActiveSync because of an access policy defined on the server

Exchange ActiveSync is enabled by default when you install … Exchange ActiveSync is an Exchange synchronization protocol.

image

iOS device – The Connection to the server Failed.

image

Get-CASMailbox -Identity MailboxName| fl

image

Set-CASMailbox MailboxName -ActiveSyncBlockedDeviceIDs $null

image

Now the device will be allowed to the Exchange server.

Root Cause – I suspect we had active sync policy pushed from Airwatch (Mobile device management solution which applied incorrectly. Not 100 % sure .

Exchange Server 2016 CU9 Outlook Web Access ArgumentException

Outlook Web Access broken – The Message Can’t be sent right now. Please Try again later.

image

image

🙁
Something went wrong
You don’t have permission to open this mailbox.
X-ClientId: AD61DCBD537D45E6991582E6F29AD481
request-id 968f5f95-67b7-4f20-9e1a-260e882e1788
X-OWA-Error Microsoft.Exchange.Clients.Owa2.Server.Core.OwaExplicitLogonException
X-OWA-Version 15.1.1466.3
X-FEServer EXCH2
X-BEServer EXCH1
Date:5/13/2018 11:16:52 AM
InnerException: Microsoft.Exchange.Data.Storage.ConnectionFailedTransientException

X-ClientId: 622956311E914C1C8F1068C0A4652E4D
request-id 60d75a20-a662-4528-9e71-e9c4d4b68d20
X-OWA-Error System.ArgumentException
X-OWA-Version 15.1.1466.3
X-FEServer EXCH1
X-BEServer SVEXCH4
Date:5/13/2018 3:04:44 PM
Fewer details…

Events Generated –

Log Name:      Application
Source:        MSExchange Common
Date:          5/13/2018 7:28:37 PM
Event ID:      4999
Task Category: Generalyo
Level:         Error
Description:
Watson report about to be sent for process id: 27852, with parameters: E12IIS, c-RTL-AMD64, 15.01.1466.003, w3wp#MSExchangeOWAAppPool, mscorlib, S.RuntimeType.TryChangeType, System.ArgumentException, cbb1-dumptidset, 04.07.2558.000.
ErrorReportingEnabled: True

Log Name:      Application
Source:        MSExchange Common
Date:          5/13/2018 10:44:34 PM
Event ID:      4999
Task Category: General
Level:         Error
Description:
Watson report about to be sent for process id: 17128, with parameters: E12IIS, c-RTL-AMD64, 15.01.1466.003, w3wp#MSExchangeOWAAppPool, mscorlib, S.RuntimeType.TryChangeType, System.ArgumentException, cbb1-dumptidset, 04.07.2634.000.
ErrorReportingEnabled: True

Solution –

In my case. We have a third party software – Dell Change Auditor which added a line in Web.config file of Outlook Web Access.

After Removing the entry of the Dell Change Auditor Entry from the Owa web.config file and did iisreset. Outlook web Access Started functioning without any issues.

C:\Program Files\Microsoft\Exchange Server\V15\ClientAccess\owa

image

 

Default Web.config File of Exchange Server 2016 CU9 for Reference –


<?xml version="1.0" encoding="utf-8"?>
<configuration>
<system.diagnostics>
<sources>
<source name="System.Runtime.Serialization" switchValue="Warning, Error, Critical">
<listeners>
<add name="System.Runtime.Serialization" type="System.Diagnostics.EventLogTraceListener" initializeData="System.Runtime.Serialization" />
</listeners>
</source>
</sources>
</system.diagnostics>
<location inheritInChildApplications="false">
<system.net>
<defaultProxy>
<proxy usesystemdefault="true" bypassonlocal="true" />
<bypasslist>
<add address=".*" />
</bypasslist>
</defaultProxy>
</system.net>
<system.webServer>
<!-- allows the server to data stream immediately from client-->
<serverRuntime uploadReadAheadSize="0" />
<httpErrors errorMode="Custom">
<remove statusCode="500" subStatusCode="-1" />
<remove statusCode="503" subStatusCode="-1" />
<remove statusCode="404" subStatusCode="-1" />
<error statusCode="404" path="/owa/auth/errorFE.aspx?httpCode=404" responseMode="ExecuteURL" />
<error statusCode="500" path="/owa/auth/errorFE.aspx?httpCode=500" responseMode="ExecuteURL" />
<error statusCode="503" path="/owa/auth/errorFE.aspx?httpCode=503" responseMode="ExecuteURL" />
</httpErrors>
<httpProtocol>
<customHeaders>
<add name="X-DiagInfo" value="ABEX16" />
<add name="X-BEServer" value="ABEX16" />
<add name="X-UA-Compatible" value="IE=EmulateIE7" />
</customHeaders>
</httpProtocol>
<!-- OWA HTTP Modules -->
<modules>
<!-- CasHealthModule must always be the first one in the list -->
<add name="CasHealthModule" type="Microsoft.Exchange.Common.ExWebHealthModule,Microsoft.Exchange.Common, Version=15.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" />
<add name="RoutingUpdateModule" type="Microsoft.Exchange.HttpProxy.Routing.RoutingUpdateModule, Microsoft.Exchange.HttpProxy.Routing, Version=15.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" />
<add type="Microsoft.Exchange.Security.OAuth.OAuthHttpModule" name="OAuthAuthModule" />
<add type="Microsoft.Exchange.Security.Authentication.BackendRehydrationModule" name="BackendRehydrationModule" />
<add name="ClientsCommonModule" type="Microsoft.Exchange.Clients.Common.ClientsCommonModule" />
<add type="Microsoft.Exchange.Clients.Owa2.Server.Core.OwaModule, Microsoft.Exchange.Clients.Owa2.Server" name="Owa2Module" />
<add type="Microsoft.Exchange.Clients.Owa.Core.OwaModule, Microsoft.Exchange.Clients.Owa" name="OwaModule" />
<add name="exppw" />
</modules>
<handlers>
<add verb="POST,GET" path="*.svc" type="Microsoft.Exchange.Clients.Owa2.Server.Core.OwaServiceHttpHandlerFactory, Microsoft.Exchange.Clients.Owa2.Server" name="OwaServiceHandler" preCondition="managedHandler" />
<add verb="POST,GET" path="*.owa2" type="Microsoft.Exchange.Clients.Owa2.Server.Core.OwaEventHandlerFactory, Microsoft.Exchange.Clients.Owa2.Server" name="OwaEventHandler2" preCondition="managedHandler" />
<add verb="GET" path="ev.owa" type="Microsoft.Exchange.Clients.Owa.Core.OwaEventHandlerFactory, Microsoft.Exchange.Clients.Owa" name="OwaEventHandler" preCondition="managedHandler" />
<add verb="POST,GET" path="wopi/*" type="Microsoft.Exchange.Clients.Owa2.Server.Core.WacRequestHandler, Microsoft.Exchange.Clients.Owa2.Server" name="WacRequestHandler" preCondition="managedHandler" />
<add verb="POST,GET" path="authenticatedwopi/*" type="Microsoft.Exchange.Clients.Owa2.Server.Core.AuthenticatedWopiRequestHandler, Microsoft.Exchange.Clients.Owa2.Server" name="AuthenticatedWopiRequestHandler" preCondition="managedHandler" />
<add verb="GET,HEAD" path="attachment.ashx" type="Microsoft.Exchange.Clients.Owa.Core.AttachmentHandler, Microsoft.Exchange.Clients.Owa" name="AttachmentHandler" preCondition="managedHandler" />
<add verb="POST" path="sessiondata.ashx" type="Microsoft.Exchange.Clients.Owa2.Server.Web.SessionDataHandler, Microsoft.Exchange.Clients.Owa2.Server" name="SessionDataHandler" preCondition="managedHandler" />
<add verb="POST" path="preloadsessiondata.ashx" type="Microsoft.Exchange.Clients.Owa2.Server.Web.PreloadSessionDataHandler, Microsoft.Exchange.Clients.Owa2.Server" name="PreloadSessionDataHandler" preCondition="managedHandler" />
<add verb="POST" path="remotenotification.ashx" type="Microsoft.Exchange.Clients.Owa2.Server.Web.RemoteNotificationHandler, Microsoft.Exchange.Clients.Owa2.Server" name="RemoteNotificationHandler" preCondition="managedHandler" />
<add verb="POST,GET" path="Plt1.ashx" type="Microsoft.Exchange.Clients.Owa2.Server.Web.Plt1WebHandler, Microsoft.Exchange.Clients.Owa2.Server" name="Plt1WebHandler" preCondition="managedHandler" />
<add verb="POST" path="speech.reco" type="Microsoft.Exchange.Clients.Owa2.Server.Core.SpeechRecognitionHandler, Microsoft.Exchange.Clients.Owa2.Server" name="SpeechRecognitionHandler" preCondition="managedHandler" />
<add verb="GET,HEAD" path="*.ics" type="Microsoft.Exchange.Clients.Owa.Core.HttpHandlerICal, Microsoft.Exchange.Clients.Owa" name="ICalHttpHandler" preCondition="managedHandler" />
<add verb="GET" path="appCacheManifestHandler.ashx" type="Microsoft.Exchange.Clients.Owa2.Server.Web.AppCacheManifestHandler, Microsoft.Exchange.Clients.Owa2.Server" name="AppCacheManifestHandler" preCondition="managedHandler" />
<add verb="GET" path="userspecificresourceinjector.ashx" type="Microsoft.Exchange.Clients.Owa2.Server.Web.UserSpecificResourceInjector, Microsoft.Exchange.Clients.Owa2.Server" name="UserSpecificResourceInjector" preCondition="managedHandler" />
<add verb="GET" path="mowapendingget.ashx" type="Microsoft.Exchange.Clients.Owa2.Server.Core.MowaPendingGetRequestHandler, Microsoft.Exchange.Clients.Owa2.Server" name="MowaPendingGetRequestHandler" preCondition="managedHandler" />
<add verb="GET" path="groupsubscription.ashx" type="Microsoft.Exchange.Clients.Owa2.Server.Web.GroupSubscriptionHandler, Microsoft.Exchange.Clients.Owa2.Server" name="GroupSubscriptionHandler" preCondition="managedHandler" />
<add verb="GET" path="processInvitation.aspx" type="Microsoft.Exchange.Clients.Owa2.Server.Web.ProcessCalendarInvitationHandler, Microsoft.Exchange.Clients.Owa2.Server" name="ProcessInvitationHandler" preCondition="managedHandler" />
<add verb="GET" path="serviceWorkerHandler.ashx" type="Microsoft.Exchange.Clients.Owa2.Server.Web.ServiceWorkerHandler, Microsoft.Exchange.Clients.Owa2.Server" name="ServiceWorkerHandler" preCondition="managedHandler" />
<add verb="POST,GET" path="*.owa" type="Microsoft.Exchange.Clients.Owa2.Server.Core.OwaRequestHttpHandler, Microsoft.Exchange.Clients.Owa2.Server" name="OwaRequestHttpHandler" preCondition="managedHandler" />
<add verb="POST,GET" path="userbootsettings.ashx" type="Microsoft.Exchange.Clients.Owa2.Server.Web.UserBootSettingsHandler, Microsoft.Exchange.Clients.Owa2.Server" name="UserBootSettingsHandler" preCondition="managedHandler" />
<add verb="GET" path="MeetingPollHandler.ashx" type="Microsoft.Exchange.Clients.Owa2.Server.Web.MeetingPollHandler, Microsoft.Exchange.Clients.Owa2.Server" name="MeetingPollHandler" preCondition="managedHandler" />
</handlers>
<security>
<requestFiltering>
<requestLimits maxAllowedContentLength="35000000" />
</requestFiltering>
</security>
<staticContent>
<remove fileExtension=".manifest" />
<mimeMap fileExtension=".manifest" mimeType="text/cache-manifest" />
<remove fileExtension=".crx" />
<mimeMap fileExtension=".crx" mimeType="application/x-chrome-extension" />
<remove fileExtension=".woff" />
<mimeMap fileExtension=".woff" mimeType="application/x-font-woff" />
</staticContent>
<caching>
<profiles>
<add extension=".manifest" policy="DisableCache" kernelCachePolicy="DontCache" />
<add extension=".crx" policy="DisableCache" kernelCachePolicy="DontCache" />
</profiles>
</caching>
</system.webServer>
<system.web>
<!-- OM:1818779 Disable file change notification for OWA -->
<httpRuntime maxUrlLength="500" maxRequestLength="35000" requestValidationMode="2.0" enableVersionHeader="false" fcnMode="Disabled" relaxedUrlToFileSystemMapping="true" />
<authentication mode="Windows" />
<sessionState mode="Off" />
<globalization requestEncoding="utf-8" responseEncoding="utf-8" />
<customErrors defaultRedirect="auth/errorFE.aspx" mode="On">
<error statusCode="500" redirect="auth/errorFE.aspx?httpCode=500" />
<error statusCode="503" redirect="auth/errorFE.aspx?httpCode=503" />
<error statusCode="404" redirect="auth/errorFE.aspx?httpCode=404" />
</customErrors>
<trace enabled="false" requestLimit="10" pageOutput="false" traceMode="SortByTime" localOnly="true" />
<pages enableSessionState="false" enableViewState="false" enableViewStateMac="true" autoEventWireup="false" smartNavigation="false" validateRequest="false" />
<compilation defaultLanguage="c#" debug="false">
<assemblies>
<!-- Any assembly not in the GAC or the owa\bin folder that is referenced from an aspx page needs to be added here.  An assembly can be referenced by an aspx page through a namespace import or through usage of a method or property that returns a type from that assembly.  aspx page compilation is similar to regular c# compilation where any assembly that is referenced in the code needs to be provided to the compiler at compile time.  These entries are our means of providing additional assembly references to the compiler.  All assemblies in the GAC and owa\bin are referenced automatically. -->
<add assembly="AntiXSSLibrary,&#xD;&#xA;                    Version=4.2.0.0, &#xD;&#xA;                    Culture=neutral, &#xD;&#xA;                    PublicKeyToken=d127efab8a9c114f" />
<add assembly="Microsoft.Exchange.Data.Directory,&#xD;&#xA;                    Version=15.0.0.0, &#xD;&#xA;                    Culture=neutral, &#xD;&#xA;                    PublicKeyToken=31bf3856ad364e35" />
<add assembly="Microsoft.Exchange.Clients.Common,&#xD;&#xA;                    Version=15.0.0.0,&#xD;&#xA;                    Culture=neutral,&#xD;&#xA;                    publicKeyToken=31bf3856ad364e35" />
<add assembly="Microsoft.Exchange.Clients.Security,&#xD;&#xA;                    Version=15.0.0.0,&#xD;&#xA;                    Culture=neutral,&#xD;&#xA;                    publicKeyToken=31bf3856ad364e35" />
<add assembly="Microsoft.Exchange.Data,&#xD;&#xA;                    Version=15.0.0.0,&#xD;&#xA;                    Culture=neutral,&#xD;&#xA;                    publicKeyToken=31bf3856ad364e35" />
<add assembly="Microsoft.Exchange.Data.Storage,&#xD;&#xA;                    Version=15.0.0.0,&#xD;&#xA;                    Culture=neutral,&#xD;&#xA;                    publicKeyToken=31bf3856ad364e35" />
<add assembly="Microsoft.Exchange.Inference.SafetyLibrary,&#xD;&#xA;                    Version=15.0.0.0,&#xD;&#xA;                    Culture=neutral,&#xD;&#xA;                    publicKeyToken=31bf3856ad364e35" />
<add assembly="Microsoft.Exchange.Data.ImageAnalysis,&#xD;&#xA;                   Version=15.0.0.0,&#xD;&#xA;                   Culture=neutral,&#xD;&#xA;                   publicKeyToken=31bf3856ad364e35" />
<add assembly="Microsoft.Exchange.Data.HA,&#xD;&#xA;                    Version=15.0.0.0,&#xD;&#xA;                    Culture=neutral,&#xD;&#xA;                    publicKeyToken=31bf3856ad364e35" />
<add assembly="Microsoft.Exchange.Data.ApplicationLogic,&#xD;&#xA;                    Version=15.0.0.0,&#xD;&#xA;                    Culture=neutral,&#xD;&#xA;                    publicKeyToken=31bf3856ad364e35" />
<add assembly="Microsoft.Exchange.Data.GroupMailboxAccessLayer,&#xD;&#xA;                    Version=15.0.0.0,&#xD;&#xA;                    Culture=neutral,&#xD;&#xA;                    publicKeyToken=31bf3856ad364e35" />
<add assembly="Microsoft.Exchange.Net,&#xD;&#xA;                    Version=15.0.0.0,&#xD;&#xA;                    Culture=neutral,&#xD;&#xA;                    publicKeyToken=31bf3856ad364e35" />
<add assembly="Microsoft.Exchange.Diagnostics,&#xD;&#xA;                    Version=15.0.0.0,&#xD;&#xA;                    Culture=neutral,&#xD;&#xA;                    publicKeyToken=31bf3856ad364e35" />
<add assembly="Microsoft.Exchange.Security,&#xD;&#xA;                    Version=15.0.0.0,&#xD;&#xA;                    Culture=neutral,&#xD;&#xA;                    publicKeyToken=31bf3856ad364e35" />
<add assembly="Microsoft.DKM.Proxy,&#xD;&#xA;                    Version=15.0.0.0,&#xD;&#xA;                    Culture=neutral,&#xD;&#xA;                    publicKeyToken=31bf3856ad364e35" />
<add assembly="Microsoft.Exchange.Compliance,&#xD;&#xA;                    Version=15.0.0.0,&#xD;&#xA;                    Culture=neutral,&#xD;&#xA;                    publicKeyToken=31bf3856ad364e35" />
<add assembly="Microsoft.RightsManagementServices.Core,&#xD;&#xA;                    Version=6.1.0.0,&#xD;&#xA;                    Culture=neutral,&#xD;&#xA;                    publicKeyToken=31bf3856ad364e35" />
<!-- Send As Reference To Subscription Manager -->
<add assembly="Microsoft.Exchange.Transport.Sync.Common,&#xD;&#xA;                      Version=15.0.0.0,&#xD;&#xA;                      Culture=neutral,&#xD;&#xA;                      publicKeyToken=31bf3856ad364e35" />
<add assembly="Microsoft.Exchange.VariantConfiguration,&#xD;&#xA;                      Version=15.0.0.0,&#xD;&#xA;                      Culture=neutral,&#xD;&#xA;                      publicKeyToken=31bf3856ad364e35" />
<add assembly="Microsoft.Exchange.SharePointSignalStore,&#xD;&#xA;                      Version=15.0.0.0,&#xD;&#xA;                      Culture=neutral,&#xD;&#xA;                      publicKeyToken=31bf3856ad364e35" />
<add assembly="Microsoft.Search.Platform.Parallax,Version=3.3.0.0,Culture=neutral,publicKeyToken=31bf3856ad364e35" />
<add assembly="Microsoft.Exchange.VariantConfiguration.Core,Version=15.0.0.0,Culture=neutral,publicKeyToken=31bf3856ad364e35" />
<add assembly="Microsoft.Exchange.Clients.Owa2.ServerVariantConfiguration,Version=15.0.0.0,Culture=neutral,publicKeyToken=31bf3856ad364e35" />
<add assembly="Microsoft.Exchange.VariantConfiguration.ExCore,Version=15.0.0.0,Culture=neutral,publicKeyToken=31bf3856ad364e35" />
</assemblies>
</compilation>
</system.web>
</location>
<system.serviceModel>
<!-- This section specifies the configuration for invoking the Microsoft Online (BPOS) shell web service. The "???" values are specified at deployment time, as implemented in: sources/dev/Management/src/Management/Deployment/Components/DatacenterClientAccessComponent.xml -->
<bindings>
<wsHttpBinding>
<binding name="MsOnlineShellService_BindingConfiguration">
<security mode="Transport">
<transport clientCredentialType="Certificate" />
</security>
<readerQuotas maxStringContentLength="102400" />
</binding>
</wsHttpBinding>
<webHttpBinding>
<binding name="httpsBinding" maxReceivedMessageSize="35000000">
<readerQuotas maxDepth="32" maxStringContentLength="35000000" maxArrayLength="1048576" maxBytesPerRead="4096" maxNameTableCharCount="16384" />
<security mode="Transport">
<transport clientCredentialType="None" />
</security>
</binding>
<binding name="httpBinding" maxReceivedMessageSize="35000000">
<readerQuotas maxDepth="32" maxStringContentLength="35000000" maxArrayLength="1048576" maxBytesPerRead="4096" maxNameTableCharCount="16384" />
<security mode="None">
<transport clientCredentialType="None" />
</security>
</binding>
</webHttpBinding>
</bindings>
<client>
<endpoint name="MsOnlineShellService_EndPointConfiguration" address="???" binding="wsHttpBinding" bindingConfiguration="MsOnlineShellService_BindingConfiguration" contract="IShellService" behaviorConfiguration="MsOnlineShellService_EndPointBehavior">
<identity>
<dns value="localhost" />
</identity>
</endpoint>
</client>
<services />
<behaviors>
<endpointBehaviors>
<behavior name="MsOnlineShellService_EndPointBehavior">
<clientCredentials>
<serviceCertificate>
<authentication certificateValidationMode="ChainTrust" revocationMode="NoCheck" />
</serviceCertificate>
</clientCredentials>
</behavior>
</endpointBehaviors>
<serviceBehaviors>
<behavior>
<dataContractSerializer maxItemsInObjectGraph="2147483647" />
</behavior>
</serviceBehaviors>
</behaviors>
<serviceHostingEnvironment aspNetCompatibilityEnabled="true" minFreeMemoryPercentageToActivateService="0" />
</system.serviceModel>
<appSettings>
<add key="OAuthHttpModule.RunningAtBackend" value="true" />
<!-- PSDirectInvoke settings -->
<add key="PSDirectInvokeEnabledModules" value="Logging,LatencyTracker" />
<!-- Specifies the type of protocol that RUM should register itself as. -->
<add key="RoutingUpdateModule.ProtocolType" value="OWA" />
<add key="owin:AutomaticAppStartup" value="true" />
</appSettings>
<!-- The following entries allow fusion to load our dependent assemblies from locations outside of our application root, which in our case is our virtual directory root folder. The correct install path is filled in during setup. -->
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
<linkedConfiguration href="file://C:\Program Files\Microsoft\Exchange Server\V15\ClientAccess\SharedWebConfig.config" />
</assemblyBinding>
<runtime>
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
<!-- Required to allow UCWeb.dll, built against E14, to work with E15's InstantMessaging.dll -->
<dependentAssembly>
<assemblyIdentity name="Microsoft.Exchange.InstantMessaging" publicKeyToken="31bf3856ad364e35" />
<bindingRedirect oldVersion="14.0.0.0-14.1.0.0" newVersion="15.0.0.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Spatial" publicKeyToken="31bf3856ad364e35" culture="neutral" />
<codeBase version="5.6.5.0" href="file:///C:\Program Files\Microsoft\Exchange Server\V15\bin\System.Spatial.dll" />
<bindingRedirect oldVersion="5.2.0.0" newVersion="5.6.5.0" />
<bindingRedirect oldVersion="5.3.0.0" newVersion="5.6.5.0" />
<bindingRedirect oldVersion="5.6.0.0" newVersion="5.6.5.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="Microsoft.Data.Edm" publicKeyToken="31bf3856ad364e35" culture="neutral" />
<codeBase version="5.6.5.0" href="file:///C:\Program Files\Microsoft\Exchange Server\V15\bin\Microsoft.Data.Edm.dll" />
<bindingRedirect oldVersion="5.2.0.0" newVersion="5.6.5.0" />
<bindingRedirect oldVersion="5.3.0.0" newVersion="5.6.5.0" />
<bindingRedirect oldVersion="5.6.0.0" newVersion="5.6.5.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="Microsoft.Data.OData" publicKeyToken="31bf3856ad364e35" culture="neutral" />
<codeBase version="5.6.5.0" href="file:///C:\Program Files\Microsoft\Exchange Server\V15\bin\Microsoft.Data.OData.dll" />
<bindingRedirect oldVersion="5.2.0.0" newVersion="5.6.5.0" />
<bindingRedirect oldVersion="5.3.0.0" newVersion="5.6.5.0" />
<bindingRedirect oldVersion="5.6.0.0" newVersion="5.6.5.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="Microsoft.Data.Services.Client" publicKeyToken="31bf3856ad364e35" culture="neutral" />
<codeBase version="5.6.5.0" href="file:///C:\Program Files\Microsoft\Exchange Server\V15\bin\Microsoft.Data.Services.Client.dll" />
<bindingRedirect oldVersion="5.2.0.0" newVersion="5.6.5.0" />
<bindingRedirect oldVersion="5.3.0.0" newVersion="5.6.5.0" />
<bindingRedirect oldVersion="5.6.0.0" newVersion="5.6.5.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="Newtonsoft.Json" publicKeyToken="30ad4fe6b2a6aeed" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-6.0.0.0" newVersion="6.0.0.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="Microsoft.Owin" publicKeyToken="31bf3856ad364e35" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-2.1.0.0" newVersion="3.0.1.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="Microsoft.Owin.Security" publicKeyToken="31bf3856ad364e35" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-2.1.0.0" newVersion="3.0.1.0" />
</dependentAssembly>
</assemblyBinding>
</runtime>
</configuration>

Upgrading the Dell Auditing Agent _ Resolved the issue later.

Configuring IMAP in Exchange Server 2016

Enable and configure IMAP4 on an Exchange server … POP3 and IMAP4 functionality in Exchange 2016

Start the IMAP Services and to Automatic.

Using PowerShell –

Start-Service MSExchangeIMAP4; Start-Service MSExchangeIMAP4BE
Set-Service MSExchangeIMAP4 -StartupType Automatic; Set-Service MSExchangeIMAP4BE -StartupType Automatic

image

Using GUI –

open Services.msc – Set IMAP to automatic and start it

image

To be Run on all Mailbox Servers

Set-ImapSettings -ExternalConnectionSettings "mail.azure365pro.com:993:SSL","mail.azure365pro.com:143:TLS" -X509CertificateName mail.azure365pro.com
Test-ImapConnectivity –ClientAccessServer Servername -Lightmode -MailboxCredential (Get-Credential)

Also Run

image

Restart Pop and IMAP services to Take effect.

Restart-Service MSExchangeIMAP4; Restart-Service MSExchangeIMAP4BE

 

Outlook 2016 Client Settings for IMAP to work.

image

image

image

× How can I help you?