我已经设置了一个与 Exchange 2010 和 Exchange 2016 共存的环境。
目前邮件流似乎没有任何问题,我已经将两个测试用户从 2010 年迁移到 2016 年。
SMTP 流量和 HTTPS 是从新的 Exchange 2016 安装代理的 - 并且适用于后面的 2010 用户。
我的问题是,当用户迁移时,outlook 2016 在连接到新服务器时出现问题。
当我打开 Outlook 时,它仍然对旧服务器使用 RPC/HTTP。
如果我删除旧的配置文件,并使用自动发现重新创建它,它工作正常。
然后我看到 MAPI 流量,它按预期访问了新服务器。
如果我必须手动为我们公司的所有用户重新创建配置文件,这将导致问题..
有没有人有任何指示?
编辑了更多信息:
我迁移了自己的用户,并打开了 Outlook。我收到消息说我的盒子已迁移,我需要重新启动 Outlook;所以我做到了!我的手机和 OWA 工作正常,只是我的 Outlook 客户出现了问题。它发生在我连接到同一邮箱和同一用户(家庭和办公室计算机)的两台计算机上。
打开我的 Outlook 客户端时,我收到带有旧服务器内部名称名称的证书警告消息(例如:Exch2010.domain.local),并且正在使用的证书用于我们的 FQDN,即 mail.company.com。
第二次编辑:
我刚刚从 2010 年迁移了一个测试用户,关闭了 Outlook,并尝试从外部网络连接。它问我是否要允许https://mail.company.com/autodiscover/autodiscover.xml编辑我的设置。我点击了“允许”,什么也没发生。邮箱保持断开状态,连接状态有一个连接状态为“已建立”。该连接是通过 mail.company.com 和 Exch2010.company.local 代理的。我重新启动了Outlook,同样的事情发生了。
然后我把客户端从外网移到了我们的内网。现在它给了我同样的信息“允许这个网站配置[email protected]服务器设置?” 但使用 URL 格式的新交换服务器的本地名称,例如“ https://exch2016.company.local/autodiscover/autodiscover.xml ”。我允许并接受了证书警告(因为它说它再次使用本地名称 - exch216.company.local; 这与 SSL 证书不匹配)。
Outlook 仍然无法运行并且处于“断开连接”状态。我自己的邮箱已“建立”但没有更新。
出于好奇,我通过运行以下命令检查了服务器:
Get-AutodiscoverVirtualDirectory | fl
这三个的 InternalURL 和 ExternalURL 都是空白的。我没有足够的经验来判断这是否正确。
出于某种原因,服务器似乎在内部宣布它们的本地名称,而不是正确的“mail.company.com”。
我还通过运行检查了服务器:
Get-ClientAccessServer -Identity SERVER | fl
他们都将 AutoDiscoverServiceInternalUri 设置为“ https://mail.company.com/autodiscover/autodiscover.xml ”。
所有这些的 FQDN 都设置为它们的本地主机名 (servername.company.local)。
我不知道接下来要尝试什么..
编辑三号;作为对@Sembee 的回复: 你好@Sembee;感谢您的回复。我把它们留空,没有做任何改变。我检查了所有三台服务器上 clientaccessserver 的 InternalURI,它们是相同的。自动发现测试完全没有问题,并且从一开始就这样做了。重新配置用户 Outlook 使 Outlook 再次工作(来自自动发现的新数据)。目前所有流量都通过 2016 服务器(afaik),并且代理 OK 到 2010 服务器。没有人提到任何问题。迁移到 2016 后,Outlook 无法正常工作,而无需重新创建配置文件并运行新的自动发现。
第四次编辑: 当我今天上班时,我自己的笔记本电脑(昨天/星期天不工作)和我用来测试的笔记本电脑(星期六不工作)都工作得很好。可能是某种延迟同步对我这样做?我目前正在设置另一个测试,看看它是否以相同的方式运行 - 以及是否有可能以某种方式计时。任何指针将不胜感激。
让我们从简单的开始。自动发现虚拟目录应该是空白的。这是正常的,你不应该改变这些。
接下来,同一 AD 站点中的所有服务器都应该具有相同的内部自动发现 URL 信息。此外,它应该指向新服务器并且是受信任的 SSL 证书上的名称。因此:
get-clientaccessserver | set-clientaccessserver -AutodiscoverServiceInternalURI https://mail.example.com/Autodiscover/Autodiscover.xml
完成后,在 Outlook 中运行自动发现测试。按住 CTRL 的同时右键单击系统托盘中的图标。选择测试电子邮件自动配置。取消选择第二个和第三个选项。运行测试 - 查看返回给客户端的内容。
接下来,检查 Outlook Anywhere 的配置。同样,这在所有服务器上应该是相同的,因为它可以代理它。检查内部和外部 URL。
邮箱应该自动重定向 - 不这样做可能表明域复制不佳。但是,这也取决于您在将邮箱移动到新服务器后尝试使用邮箱的速度。同样,您必须等待一段时间,域才能复制更改,以便 Outlook 将其接收。
经过几个小时的尝试,在同事的帮助下;我们设法让这项工作按预期工作。
我开始在两台新服务器上重新安装 Exchange 2016,然后从头开始设置它们。我们第二次做的一些事情使它起作用。
我们开始检查所有信息:
将 -InternalClientsRequireSsl 设置为 false;因为我们认为由于网络的设计以及我们的证书不包含我们服务器的内部名称这一事实,内部不需要它。
我们还将身份验证设置为使用 NTLM 对所有服务器进行外部和内部身份验证。我们还更改了 IIS 中 RPC 的 Windows 身份验证优先级(将 NTLM 放在首位)。运行 IIS 重置后;一切似乎都按预期工作。我不确定我们是否在第一次尝试中错过了 IIS 重置或重新启动,但至少它现在可以工作了!
我认为你必须考虑作为两个部分。首先查看您的 MAPI 配置以了解 2010 年或 2013 年的内部展望
验证您的服务器设置 mapi 身份验证应该选择 windows 身份验证 ntlm 和 windows 身份验证协商。
根据 Microsoft 文档,一些客户端仍然可以作为 Rpc/http 连接,并且可以正常工作
我们有同样的问题。迁移后 Outlook 客户端无法连接。发现 mapi 虚拟目录不断删除身份验证。一旦放回去,它就会连接。如果您更改网址,则它会清除身份验证。
我认为这是微软的一个已知问题,对我来说只需
MSExchangeAutodicoverAppPool
从 IIS 控制台回收或使用以下命令在等待更新时,您可以
AppPool
在 IIS 中配置自动回收,您可以从此链接阅读https://support.microsoft.com/en-us/help/3097392/outlook-logon-fails-after-mailbox-moves-from-exchange-2010-to-exchange-2013-or-exchange-2016