预期行为:
当用户首次登录其 Windows 用户配置文件并加载 Outlook 2016 时,Outlook 配置文件设置向导将启动,用户只需单击几次“下一步”即可自动正确地进行设置。
*请注意,此功能在 6 个月或更早之前的办公室更新之前已按预期运行。
错误:
出现的问题是我们的电子邮件服务提供商(1and1)或 Outlook 没有最初除了通过 Outlook 配置文件设置/向导中的 Outlook 2016 自动发现过程传递的登录凭据外。它要求用户至少输入其凭据 3 次或更多次。这适用于首次加载其帐户/配置文件的用户。
环境和信息:
我有域连接的 Windows 10 客户端计算机,用户帐户存储在 Active Directory 服务器上,并且已部署 MS Outlook 2016 MSI 安装。电子邮件域/帐户不是与 AD FQDN 相同,也不是一个 Office365 帐户。这是 1and1 的标准电子邮件服务。我在 AD 上有用户信息和电子邮件地址。当用户首次打开 Outlook 时,配置文件设置向导将运行。在用户完成设置时,向导会预填 AD 中的电子邮件地址,然后自动发现过程将按预期开始。在第三步“登录服务器”中,会弹出 1and1 帐户的登录提示。用户提供密码(电子邮件地址已填写)并提交。但是,提示不断出现。我已经测试过,如果您选择“保存密码”,它会总共询问 3 次,直到它接受并保存。
据我了解,自动发现过程将从 autdiscover.xml 文件中提取连接设置,然后像以前一样传递用户的 Windows 帐户凭据。查看日志时,它似乎从 1and1 服务器中找到了 autodiscover.xml 文件并加载了设置,但身份验证失败。有人知道发生了什么吗?有没有解决方法或方法可以强制用户/密码使用特定的身份验证协议?
我尝试在组策略中进行一些身份验证过程设置,但看起来这些设置仅适用于 Exchange/Office365。
任何有助于找到解决方案的帮助或指导都将不胜感激。
--------2017 年 8 月 17 日更新---------
我尝试按照 Magnus 的建议执行下面的答案,但如果用户加载 Outlook 时不存在 Outlook 配置文件,则此对话框不可用。但是,我为网络中的特定用户/计算机设置了一个测试 GPO,并进行了以下设置:
用户配置 > 管理模板 > MS Outlook 2016 > 帐户设置 > Exchange > 使用 Exchange 服务器的身份验证设置为 NTLM
用户配置 > 管理模板 > MS Outlook 2016 > 帐户设置 > Exchange > RPC 代理身份验证设置设置为 NTLM
设置完这些后,仍然无法运行。它再次提示用户输入登录凭据 3 次。我确实在某处读过一篇文章(在谷歌上找不到),其中说,对于当前更新的 Outlook 2016 版本,它很大程度上取决于自动发现中设置的内容。我假设它正在寻找自动发现中的协议(如果存在),而不管我在测试 GPO 中设置了什么。
话虽如此,我还是将 Outlook 中的“测试自动配置工具”的日志和结果数据包括在内。请参考以下内容,如果有人有任何建议,请告诉我。我想我可能必须以某种方式创建自己的 xml 响应。
<?xml version="1.0" encoding="utf-8"?>
<Autodiscover
xmlns="http://schemas.microsoft.com/exchange/autodiscover/responseschema/2006">
<Response
xmlns="http://schemas.microsoft.com/exchange/autodiscover/outlook/responseschema/2006a">
<User>
<DisplayName>FirstName LastName ([email protected])</DisplayName>
<AutoDiscoverSMTPAddress>[email protected]</AutoDiscoverSMTPAddress>
</User>
<Account>
<AccountType>email</AccountType>
<Action>settings</Action>
<Protocol>
<Type>IMAP</Type>
<LoginName>[email protected]</LoginName>
<Encryption>SSL</Encryption>
<Port>993</Port>
<Server>imap.1and1.com</Server>
<SPA>off</SPA>
<TTL>0</TTL>
</Protocol>
<Protocol>
<Type>POP</Type>
<LoginName>[email protected]</LoginName>
<AuthRequired>on</AuthRequired>
<Encryption>SSL</Encryption>
<Port>995</Port>
<Server>pop.1and1.com</Server>
<SPA>off</SPA>
<TTL>0</TTL>
</Protocol>
<Protocol>
<Type>SMTP</Type>
<LoginName>[email protected]</LoginName>
<Encryption>Auto</Encryption>
<Port>587</Port>
<Server>smtp.1and1.com</Server>
<SPA>off</SPA>
<UsePOPAuth>on</UsePOPAuth>
<TTL>0</TTL>
</Protocol>
</Account>
</Response>
</Autodiscover>
答案1
Outlook 可能会尝试使用Negotiate
Kerberos 方法进行身份验证。您可以查看要尝试的操作列表这里。
Outlook Anywhere 未配置为使用 NTLM 身份验证
当您在组织防火墙外工作时,Outlook Anywhere 功能可让您从 Internet 远程访问您的 Exchange 帐户。
当使用 Outlook Anywhere 连接到 Exchange 服务器时,我们需要在基本身份验证、NTLM 身份验证和协商身份验证中选择身份验证方法。它们之间的区别在于连接到服务器时发送密码的方式。使用基本身份验证,密码以明文形式发送。使用 NTLM 身份验证可以显著减少密码提示的次数。
若要检查身份验证设置,请转到文件 > 帐户设置 > 帐户设置,选择 Exchange 帐户,然后单击改变。 在里面更改帐户向导,单击更多设置,然后点击联系选项卡。单击 Exchange 代理设置按钮,现在,您可以看到下面的设置代理身份验证设置. 尝试将身份验证更改为 NTLM 身份验证,然后再次检查问题。