我已经设置了 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,但还是发生了同样的事情。
然后我将客户端从外部网络移出,并将其放在我们的内部网络中。现在它给了我同样的消息“允许此网站配置[电子邮件保护]服务器设置?”但使用新的 Exchange 服务器的本地名称,其 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;谢谢你的回复。我把它们留空了,没有做任何更改。我检查了所有三台服务器上的客户端访问服务器的 InternalURI,它们是相同的。自动发现测试从一开始就顺利完成。重新配置用户 Outlook 可使 Outlook 再次工作(自动发现的新数据)。目前所有流量都通过 2016 服务器(据我所知),并且代理可以正常连接到 2010 服务器。没有人提到任何问题。在迁移到 2016 后,如果不重新创建配置文件并运行新的自动发现,Outlook 就无法正常工作。
第四次编辑: 今天我上班的时候,我自己的笔记本电脑(昨天/周日无法使用)和我用来测试的笔记本电脑(周六无法使用)都运行正常。可能是某种延迟同步导致这种情况?我目前正在设置另一个测试,看看它是否以相同的方式运行 - 以及是否有可能以某种方式计时。任何指示都将不胜感激。
答案1
让我们从简单的部分开始。自动发现虚拟目录应该是空白的。这是正常的,您不应该更改它们。
接下来,同一 AD 站点中的所有服务器都应具有相同的内部自动发现 URL 信息。此外,该 URL 应指向新服务器,并且应为受信任 SSL 证书上的名称。因此:
get-clientaccessserver | set-clientaccessserver -AutodiscoverServiceInternalURI https://mail.example.com/Autodiscover/Autodiscover.xml
完成此操作后,在 Outlook 中运行自动发现测试。按住 CTRL 并右键单击系统托盘中的图标。选择测试电子邮件自动配置。取消选择第二和第三个选项。运行测试 - 查看返回到客户端的内容。
接下来,检查 Outlook Anywhere 的配置。同样,所有服务器的配置应该相同,因为它可以代理。检查内部和外部 URL。
邮箱应该自动重定向 - 无法自动重定向可能表明域复制不佳。但是,这也取决于您在将邮箱移动到新服务器后尝试使用邮箱的速度。同样,您必须等待一段时间,让域复制更改,以便 Outlook 能够接收它。
答案2
经过几个小时的尝试,在同事的帮助下,我们成功实现了预期的工作。
我首先在两台新服务器上重新安装 Exchange 2016,然后从头开始设置它们。第二次我们做了一些事情,使这一切顺利进行。
我们首先检查了以下所有信息:
Get-OutlookAnywhere | fl
将 -InternalClientsRequireSsl 设置为 false;因为我们决定由于网络的设计以及我们的证书不包含我们服务器的内部名称,所以内部不需要它。
我们还将身份验证设置为使用 NTLM 进行所有服务器的外部和内部身份验证。我们还将 Windows 身份验证的优先级(将 NTLM 置于 IIS 中 RPC 的首位)更改为最高优先级。运行 IIS 重置后,一切似乎都按预期运行。我不确定我们是否在第一次尝试时错过了 IIS 重置或重启,但至少它现在正在运行!
答案3
我认为您必须考虑两个部分。首先查看内部 Outlook 2010 或 2013 的 MAPI 配置
验证您的服务器设置 mapi 身份验证应选择 windows 身份验证 ntlm 和 windows 身份验证协商。
根据 Microsoft 文档,一些客户端仍然可以作为 Rpc/http 连接,并且可以正常工作
答案4
我认为这是 Microsoft 的一个已知问题,对我来说,只需从 IIS 控制台回收MSExchangeAutodicoverAppPool
或使用以下命令
Restart-WebAppPool MSExchangeAutodiscoverAppPool
在等待更新时,您可以AppPool
在 IIS 中配置自动回收,您可以从此链接中阅读