将邮箱从2010年移至2016年后的凭据popup式窗口

情况:

从2010年到2016年移动邮箱时,会发生以下情况:

对于Outlook 2010用户:

  • 用户得到一个popup窗口说pipe理员已经做了一个改变,Outlook需要重新启动

  • 用户重新启动Outlook(有时再次获取相同的popup窗口,然后重新启动Outlook)

  • 用户获得凭证popup。 如果您点击取消,会出现另一个popup窗口:

“允许这个网站[email protected]服务器设置?”

autodiscover.domain.com/autodiscover/autodiscover.xml

如您所见,Outlook 2010正在寻找autodiscover.domain.com,这可能是因为SCP查找失败。

如果我做一个Outlook自动configurationtesting,它会失败。 SCP查找不断给出302redirect。

这似乎是这里描述的问题:

https://support.microsoft.com/en-us/help/3097392/outlook-logon-fails-after-mailbox-moves-from-exchange-2010-to-exchange-2013-or-exchange-2016

我可以做这些AppPools的回收,然后它似乎适用于某些Outlook 2010客户端,但公司中的几乎所有其他Outlook 2010客户端(即使还没有移动的人)将popup一个pipe理员已经做出更改和Outlook需要重新启动。

然后,对于Outlook 2013客户端,回收AppPool根本不起作用。 他们不断获得凭证popup。 我可以为他们创build一个新的configuration文件,然后Outlook连接,但是如果我再次重新启动Outlook,则会再次popup凭据。

此外,testing电子邮件自动configuration适用于他们。

对于那些Outlook 2013用户,我尝试添加以下registry项“MapiHttpDisabled”,然后旧的和他们的新Outlookconfiguration文件工作,没有任何popup窗口! 但是,当我检查连接状态时,它仍然显示协议的HTTP,这意味着我仍然使用MAPI over HTTP协议,对不对?

此外,当我检查IIS日志时,我只能看到MAPI协议上的调用,即使是那些添加了registry项的用户:

2017-06-08 09:27:25 10.132.33.12 POST / mapi / emsmdb /

现在,我们正在为2013年所有用户添加registry项,因为它似乎是一个解决方法,但它不觉得是一个好的解决scheme:

  • MapiHttp是未来的协议,所以我不想禁用它

  • registry似乎并没有完全禁用它,因为用户似乎仍然通过MapiHttp连接(根据连接状态和IIS日志)? 这个键还有别的吗?

  • 它不能解决为2010用户重新启动AppPools的问题。

以下是我已经试过的东西:

  • 检查数据库上的OAB设置:它们已正确configuration

  • 在IIS中将自动发现,EWS和OAB虚拟目录的Windows身份validation提供程序更改为仅NTLM(我也简单地尝试将NTLM移动到顶部并保留协商)。 我在两台服务器上都试过

  • 我在Windows身份validation的自动发现虚拟目录上启用了内核模式身份validation

  • 我在Exchange 2016上添加了Negotiate:Kerberos提供程序到mapi虚拟目录

  • 我将自动发现和networking邮件URL添加到Internet Explorer中的受信任网站

  • 没有启用代理服务器

这些似乎没有任何区别。 有时候,更改这些设置给用户没有问题的popup窗口。

还有其他build议吗?

针对Outlook 2013的上述问题:

  1. 确保MAPI虚拟目录的身份validation方法是NTLM。 您可以通过运行Get-MAPIVirtualDirectory来检查它,或通过在Exchange 2016服务器上运行Set-MAPIVirtualDirectory来对其进行更改。

  2. 根据我的经验,如果用户的UPN和PrimarySMTPAddress不匹配,Outlook 2013/2016会在通过MAPI \ HTTP启动连接时提示input凭证。 您可以通过运行Get-Mailbox userA |来检查它 fl UserPrincipalName,PrimarySMTPAddress 。 或者通过运行Set-Mailbox UserA -UserPrincipalName xxx来更改它。

此外,Exchange 2016仅支持MAPI \ HTTP和RPC \ HTTP,并且MAPI \ HTTP是默认的连接方法。 在禁用MAPI \ HTTP之后,Outlook将通过RPC \ HTTP连接到Exchange,因此您仍将在Outlook连接状态中看到HTTP。

我想我现在解决了。 MAPI / HTTP已为less数用户启用,并且不再显示popup窗口。

怎么样?

我安装了Connectivity Analyzer客户端,它告诉我MAPI通讯簿端点失败:

Error from Connectivity Analyzer: Testing the address book "Check Name" operation for user xxx against server xxx. An error occurred while attempting to resolve the name. Additional Details Additional Details: A protocol layer error occured. HttpStatusCode: 401 FailureLID: 47372 FailureInfo: ###### REQUEST [2016-09-14T05:06:35.2485121Z] ###### POST /mapi/nspi/?mailboxId=1ad81e37-e4a2-44d9-a465-a7565716b59f@xxx HTTP/1.1 Content-Type: application/octet-stream User-Agent: MapiHttpClient X-RequestId: 89b62b49-2d57-4ee2-ba4c-d675bc301556:1 X-ClientInfo: 8d6dea85-a922-4fb3-b454-bc89f733b8c1:1 X-RequestType: Bind X-ClientApplication: MapiHttpClient/15.01.0106.000 Authorization: Negotiate [truncated] Host: xxx Content-Length: 45 --- REQUEST BODY [+0.003] --- ..[BODY SIZE: 45] --- REQUEST SENT [+0.003] --- ###### RESPONSE [+0.014] ###### HTTP/1.1 401 Unauthorized request-id: 1d47e4b9-9933-45c5-96bf-2e4d660a9fd3 X-FailureContext: FrontEnd;401;VW5hdXRob3JpemVk;;;; Server: Microsoft-IIS/8.5 WWW-Authenticate: Negotiate [truncated] X-Powered-By: ASP.NET X-FEServer: MELP-EXCH01 Date: Wed, 14 Sep 2016 05:06:35 GMT Content-Length: 0 --- RESPONSE BODY [+0.014] --- --- RESPONSE DONE [+0.014] --- ###### EXCEPTION THROWN [+0.014] ###### HTTP Response Headers: request-id: 1d47e4b9-9933-45c5-96bf-2e4d660a9fd3 X-FailureContext: FrontEnd;401;VW5hdXRob3JpemVk;;;; Server: Microsoft-IIS/8.5 WWW-Authenticate: Negotiate oXgwdqADCgEBom8EbWBrBgkqhkiG9xIBAgIDAH5cMFqgAwIBBaEDAgEepBEYDzIwMTYwOTE0MDUwNjM1WqUEAgIWjKYDAgEpqRUbE0dSSUZGSVRISEFDSy5DT00uQVWqGTAXoAMCAQGhEDAOGwxtZWxwLWV4Y2gwMSQ=,NTLM X-Powered-By: ASP.NET X-FEServer: MELP-EXCH01 Date: Wed, 14 Sep 2016 05:06:35 GMT Content-Length: 0 HttpStatusCode: 401 Unauthorized Elapsed Milliseconds: 15 

我一直在尝试许多不同的修复,现在我不确定哪一个是解决scheme。 这些是我所做的(全部在IIS中):

  • 在“Exchange后端\ mapi \ emssmdb”和“Exchange后端\ mapi \ nspi”上,将NTLM置于Windows身份validation的顶层(而不是协商)

  • 删除“需要SSL”的“Exchange后端\ mapi \ nspi”

  • 在“D:\ Program Files \ Microsoft \ Exchange Server \ V15 \ ClientAccess”上提供Exchange计算机帐户和NETWORK SERVICE完全访问权限

  • 从MAPI虚拟目录的Windows身份validation提供程序(默认第一个网站)中移除协商

  • IISRESET

现在连通性分析器使用NTLM进行连接,并且不会再出现任何错误。 我不知道为什么这样,因为我认为默认设置应该工作,或者至less客户端应该只有通过“Set-MapiVirtualdirectory -IISAuthenticationmethods NTLM”命令指定NTLM才能使用NTLM。