本地 Exchange 2016、Outlook 2013/2019
当用户在网络内/使用 VPN 时,一切都正常。
当用户将笔记本电脑带出我们的网络时:Outlook 会弹出窗口,要求他们登录邮箱。
如果他们输入域凭据,弹出窗口会消失并立即重新出现。
如果他们忽略弹出窗口,他们仍然可以发送和接收邮件!
Outlook 状态栏的右下角显示“需要密码”。如果您单击该按钮,它会切换到“已连接到:Microsoft Exchange”,直到几分钟后再次弹出。Outlook
的连接状态窗口显示连接已建立。
在安全模式下打开 Outlook 也无济于事。
我在 EMS 中运行了 Get-OutlookAnywhere:
RunspaceId : #####
ServerName : #####
SSLOffloading : True
ExternalHostname : #####.#####.###
InternalHostname : #####.#####.###
ExternalClientAuthenticationMethod : Basic
InternalClientAuthenticationMethod : Ntlm
IISAuthenticationMethods : {Ntlm, Negotiate}
XropUrl :
ExternalClientsRequireSsl : True
InternalClientsRequireSsl : False
MetabasePath : IIS://#####.#####.###/W3SVC/1/ROOT/Rpc
Path : C:\Program Files\Microsoft\Exchange Server\V15\FrontEnd\HttpProxy\rpc
ExtendedProtectionTokenChecking : None
ExtendedProtectionFlags : {}
ExtendedProtectionSPNList : {}
AdminDisplayVersion : Version 15.1 (Build 845.34)
Server : #####
AdminDisplayName :
ExchangeVersion : 0.20 (15.0.0.0)
Name : Rpc (Default Web Site)
DistinguishedName : CN=Rpc (Default Web Site),CN=HTTP,CN=Protocols,CN=#####,CN=#####,CN=Exchange Administrative Group,CN=Administrative Groups,CN=#####,CN=Microsoft Exchange,CN=Services,CN=Configuration,DC=#####,DC=###
Identity : #####\Rpc (Default Web Site)
Guid : #####
ObjectCategory : #####.###/Configuration/Schema/ms-Exch-Rpc-Http-Virtual-Directory
ObjectClass : {top, msExchVirtualDirectory, msExchRpcHttpVirtualDirectory}
这在网络内部起作用的原因显然是由于 Basic/NTLM 身份验证,但我不明白为什么 Basic 会导致我们在外部遇到的问题。
我发现许多论坛帖子都建议采用一些解决方案,例如更改安全选项卡中的 Outlook 配置文件选项(登录网络安全、Exchange 代理设置、http 等)。
这些配置文件选项在 Outlook 2013/2019 中要么不存在,要么呈灰色。我认为它们可能是由 Exchange 决定的,但我不确定具体是如何决定的。
奇怪的是,一位 2019 用户没有收到标准的 Outlook 用户名/密码弹出窗口。她收到一个弹出窗口,要求输入她的“工作或学校帐户”。当她输入工作电子邮件地址时,出现错误,提示“此组织不支持加入 Azure AD”。
我们公司不使用 Azure。这个弹出窗口在计算机之间跟着她。这种行为让我很困惑。
我不确定该问题何时发生或为何发生,但我确信问题出在 Outlook Anywhere 上。
这是 Outlook Anywhere 错误配置吗?
这是身份验证问题吗?
这是 SSL 问题吗?
任何建议都值得感激。
谢谢!
答案1
Exchange 2016 默认使用 MAPI over HTTP 协议。Outlook Anywhere 是一种后备方法,用于客户端不支持 MAPI over HTTP 的情况。单击服务器选项卡。双击列表中的服务器。单击页面上的 Outlook Anywhere。
您应该使用 Negotiate 而不是 Basic 身份验证,因为 Basic 会以明文形式发送用户名和密码,而 NTLM 是 Windows 身份验证。将 ExternalClientAuthenticationMethod 设置为 Negotiate,将 InternalClientAuthenticationMethod 设置为 NTLM,将 IISAuthenticationMethods 设置为 Basic、NTLM、Negotiate。还请打开 SSLOffloading。
答案2
搞清楚了。这是 DNS 或防火墙问题(取决于您更愿意在哪里实施修复)。
我们的服务器配置为为每个用户提供两个邮件域。一个是当前的,一个是旧的。
我们的托管公司更改了我们的公共 IP 地址,防火墙也进行了相应更新。
当前 DNS 记录已更新为新 IP。旧版 DNS 没有更新。旧版记录仍然将所有 CNAME 条目(autodiscover.legacy.com、mail. 等)指向旧 IP。
如果防火墙设置为接受并相应地路由流量,旧 IP 就可以正常工作。我选择更新旧 DNS 记录。
谢谢你的建议,@Kelvin_D!