我正在我的环境中构建一些新的 Exchange 2019 服务器,并且不希望客户端立即使用在安装期间在 Active Directory 中创建的 AutoDiscover 服务连接点 (SCP)。我们应该能够更新默认的 InternalUrl/ExternalUrl 值并在这些值变为活动状态之前进行测试。在我准备好使用它们之前,隐藏、阻止或禁用默认 SCP 的最佳方法是什么?
我们的选择似乎是:
- 安装完成后尽快更新 URL 值。
或者运行一个循环脚本,在安装期间查找 SCP 的创建,并立即执行操作,例如:
- 当发现“域用户”读取权限时删除它(或者添加“拒绝”,但“拒绝”ACE...)。
AutoDiscoverSiteScope
安装完成后,尽快将属性设置为不存在的 AD 站点,以便新的站点不被视为 AD 站点的权威。- 将属性设置
IsOutOfService
为$真。
或者有什么其他方法可以让它们一开始就处于“禁用”或“停止服务”状态?
答案1
查看 Exchange 团队博客 (Exchange Active Directory 部署站点),Microsoft 建议在 Active Directory 中创建部署站点。
基本上,当 Outlook 在 AD 中搜索 SCP 列表时,它会查看每个 SCP 的关键字属性;具体来说,“Site=MySite”的优先级为 1,“Site=”值不存在的优先级为 2,“Site=OtherSite”的优先级为 3。(我使用 MySite 和 OtherSite 作为实际站点名称的占位符。)
因此,只要您有一个与客户站点匹配的现有 SCP(优先级 1),您就可以为其他站点添加新的 SCP(优先级 3),Outlook 会忽略它。这样,您就有时间在最终用户实际连接到新 Exchange 服务器之前配置它,因此他们不会收到证书警告等。
因此,您可以设置一个小型子网(使用 AD 站点和服务)并将新的 Exchange 服务器临时放入其中。但是,请注意,您需要在该站点中有一个域控制器。如果这不切实际,唯一的其他选择就是 joyceshen 建议的,即在非工作时间执行此操作并尝试尽快更新 URI,但这会造成一些中断。
将新的 Exchange 服务器移动到真实站点后,您将需要更新客户端访问服务的 AutoDiscoverSiteScope 属性:
Set-ClientAccessService -Identity "MyServer" -AutoDiscoverSiteScope "foobar"
答案2
请注意 SCP 只适用于内部访问。如果客户端搜索 SCP 失败,则它将尝试这两个 URL 尝试连接到 Autodiscover 服务等(http 重定向、SRV……)。您可以参考此处的官方文档,其中详细介绍了 Autodiscover:Exchange Server 中的自动发现服务
因此,如果您不希望 Outlook 客户端使用 SCP,您可以尝试将 AutoDiscoverServiceInternalUri 设置为 $null。此外,我们不能直接设置 IsOutOfService。命令和参数如下:设置客户端访问服务
我们还可以尝试使用 Windows 注册表来满足禁用自动发现 SCP 查找的需求。然后使用 GPO 使其在域中的所有客户端上生效。
[HKEY_CURRENT_USER\SOFTWARE\Microsoft\Office<Office 版本>\Outlook\AutoDiscover]
右键单击右窗格中的空白处,选择“DWord 值”。将新的 Dword 命名为 ExcludeScpLookup,然后双击新创建的 DWord 以编辑其值,将值设置为 1,然后单击“确定”。
以下链接提供了分步指南:使用 Windows 注册表禁用自动发现 SCP 查找 (注:微软不建议修改ADSIEdit)