Microsoft Entra Connect Sync:配置筛选

使用筛选功能可以控制本地目录中的哪些对象应该出现在 Microsoft Entra ID 中。 默认配置采用配置的林中所有域内的所有对象。 我们一般建议使用这种配置。 使用 Exchange Online 和 Skype for Business 等 Microsoft 365 工作负载的用户将受益于完整的全局地址列表,因为这样可以发送电子邮件和呼叫每个联系人。 使用默认配置时,用户获得的体验与使用 Exchange 或 Lync 的本地实现获得的相同。

但在某些情况下,需要对默认配置进行一些更改。 下面是一些示例:

  • 要试用 Azure 或 Microsoft 365,因此只想在 Microsoft Entra ID 中创建少量的用户。 在进行小规模试用时,无需使用完整全局地址列表即可演示功能。
  • Microsoft Entra ID 中有很多不需要的服务帐户和其他非个人帐户。
  • 因为符合性,所以不能删除任何本地用户帐户, 而只能禁用它们。 但是,在 Microsoft Entra ID 中,只希望存在活动的帐户。

本文介绍如何配置不同的筛选方法。

重要

Microsoft 不支持通过未正式记录的方法修改或操作 Microsoft Entra Connect Sync。 其中的任何操作都可能会导致 Microsoft Entra Connect 同步出现不一致或不受支持状态。因此,Microsoft 无法提供这种部署的技术支持。

基础知识和重要说明

在 Microsoft Entra Connect Sync 中,可以随时启用筛选。 如果从目录同步的默认配置开始并在此后配置了筛选,则筛选出的对象不再同步到 Microsoft Entra ID。 由于这种变化,Microsoft Entra ID 中前面已同步,但之后进行筛选的任何对象会在 Microsoft Entra ID 中进行删除。

在开始更改筛选之前,请确保禁用内置计划,以免意外导出尚未确认是否正确的更改。

由于筛选操作可能会同时删除很多的对象,因此请先确保新的筛选器正确无误,然后再开始将更改导出到 Microsoft Entra ID。 强烈建议,在完成配置步骤后,先执行验证步骤,然后再向 Microsoft Entra ID 导出更改。

为了防止意外删除许多对象,默认情况下已打开防止意外删除功能。 如果由于筛选而删除了许多对象(默认为 500 个),则需要遵循本文中的步骤来允许将删除结果传播到 Microsoft Entra ID。

如果使用 2015 年 11 月 (1.0.9125) 之前的内部版本、更改筛选器配置或使用密码哈希同步,则在完成配置之后,需要触发所有密码的完全同步。 有关如何触发密码完全同步的步骤,请参阅触发所有密码的完全同步。 如果使用内部版本 1.0.9125 或更高版本,则常规的 完全同步 操作也会计算是否应同步密码,因此不再需要执行这个额外的步骤。

如果在 Microsoft Entra ID 中由于筛选错误导致用户对象被无意中删除,可以通过删除筛选配置,在 Microsoft Entra ID 中重新创建用户对象。 然后再次同步目录。 此操作可以从 Microsoft Entra ID 的回收站中还原用户。 但是,无法取消删除其他对象类型。 例如,如果意外删除了某个安全组,而该组用于将资源加入 ACL,则无法恢复该组及其 ACL。

Microsoft Entra Connect 只删除其曾经认为在范围中的对象。 如果 Microsoft Entra ID 中的对象由另一个同步引擎创建且不在范围内,则添加筛选并不会删除这些对象。 例如,如果一开始使用 DirSync 服务器,而该服务器在 Microsoft Entra ID 中创建了整个目录的完整副本,并在从一开始便启用筛选的情况下并行安装了新的 Microsoft Entra Connect 同步服务器,则 Microsoft Entra Connect 不会删除 DirSync 所创建的额外对象。

安装或升级到较新版本的 Microsoft Entra Connect 时,筛选配置会保留。 运行第一个同步周期之前,在升级到较新版本之后验证配置没有被无意中更改,这始终是最佳做法。

如果有多个林,必须将本主题中所述的筛选配置应用到每个林(假设要让所有林使用相同的配置)。

禁用同步计划程序

若要禁用每隔 30 分钟触发同步周期一次的内置计划程序,请遵循以下步骤:

  1. 打开 Windows Powershell,导入 ADSync 模块并使用以下命令禁用计划程序
import-module ADSync
Set-ADSyncScheduler -SyncCycleEnabled $False
  1. 如本文中所述进行更改。 然后,使用以下命令再次重新启用计划程序
Set-ADSyncScheduler -SyncCycleEnabled $True

筛选选项

可将以下筛选配置类型应用到目录同步工具:

  • 基于组:只能在初始安装时使用安装向导配置基于单个组的筛选。
  • 基于域:使用此选项,可以选择要同步到 Microsoft Entra ID 的域。 在安装 Microsoft Entra Connect 同步之后对本地基础结构进行更改时,也可以在同步引擎配置中添加和删除域。
  • 基于组织单位(OU):使用此选项,可以选择要同步到 Microsoft Entra ID 的 OU。 此选项适用于所选 OU 中的所有对象类型。
  • 基于属性:使用此选项,可以根据对象属性值筛选对象。 也可以对不同的对象类型使用不同的筛选器。

可以同时使用多个筛选选项。 例如,可以使用基于 OU 的筛选以便只包含某个 OU 中的对象。 同时,可以使用基于属性的筛选进一步筛选这些对象。 使用多个筛选方法时,筛选器之间使用逻辑“AND”。

基于域的筛选

本部分提供配置域筛选器时需要执行的步骤。 如果安装 Microsoft Entra Connect 之后在林中添加或删除了域,则也必须更新筛选配置。

若要更改基于域的筛选,请运行安装向导:域和 OU 筛选。 使用安装向导可以自动完成本主题中所述的所有任务。

基于组织单位的筛选

若要更改基于 OU 的筛选,请运行安装向导:域和 OU 筛选。 使用安装向导可以自动完成本主题中所述的所有任务。

重要

如果你显式选择一个 OU 进行同步,则 Microsoft Entra Connect 会将该 OU 的 DistinguishedName 添加到域同步范围的包含列表中。 但是,如果以后在 Active Directory 中重命名该 OU,则会更改 OU 的 DistinguishedName,因此,Microsoft Entra Connect 将不会再将该 OU 视为在同步范围内。 这不会立即导致问题,但在执行完整导入步骤后,Microsoft Entra Connect 将重新评估同步范围并删除不在同步范围内的任何(过时的)对象,这可能会导致 Microsoft Entra ID 中的对象发生意外的大规模删除。 为防止此问题,请在重命名 OU 后运行 Microsoft Entra Connect 向导,并重新选择该 OU 以再次将其包括在同步范围中。

基于属性的筛选

为了正常执行这些步骤,请确保使用 2015 年 11 月 (1.0.9125) 或更高版本。

重要

Microsoft 建议不要修改由 Microsoft Entra Connect 创建的默认规则。 如果想要修改规则,请克隆它,然后禁用原始规则。 对克隆的规则进行任何更改。 请注意,这样做(禁用原始规则)会丢失通过该规则启用的任何 bug 修复或功能。

基于属性的筛选是最灵活的对象筛选方式。 将对象同步到 Microsoft Entra ID 时,可以使用声明性预配功能来控制几乎每个方面的问题。

可以应用从 Active Directory 到 Metaverse 的入站筛选,以及从 Metaverse 到 Microsoft Entra ID 的出站筛选。 建议应用入站筛选,因为这样做最容易进行维护。 仅当需要先要从多个林加入对象再进行评估时,才使用出站筛选。

入站筛选

入站筛选使用默认配置,其中,传入 Microsoft Entra ID 的对象必须未将 Metaverse 属性 cloudFiltered 设置为要同步的值。 如果这个属性的值设置为 True,则不会同步对象。 根据设计,此值不应设为 False。 若要确保其他规则能够提供值,这个属性只应具有 True 或 NULL(不存在)值。

请注意,Microsoft Entra Connect 旨在清理它负责在Microsoft Entra ID 中预配的对象。 如果系统过去未在 Microsoft Entra ID 中预配对象,但在导入步骤中获取 Microsoft Entra 对象,则它会正确地假定此对象是由其他系统在 Microsoft Entra ID 中创建的。 Microsoft Entra Connect 不会清除这些类型的 Microsoft Entra 对象,即使 metaverse 属性 cloudFiltered 设置为 True。

在入站筛选中,使用 范围 功能来决定哪些对象要同步或者不同步。 可以在此处根据组织的要求进行调整。 范围模块包含组和子句,决定何时在范围内包含同步规则。 一个组包含一个或多个子句。 多个子句之间使用逻辑“AND”,多个组之间使用逻辑“OR”。

让我们看看以下示例:
A screenshot showing an example of adding scoping filters.
这应该显示为 (department = IT) OR (department = Sales AND c = US)。

以下示例和步骤以用户对象为例,但可以将此示例用于所有对象类型。

在以下示例中,优先顺序值从 50 开始。 这可以是未使用的任何数值,但应小于 100。

负筛选:“不同步这些项目”

在以下示例中,将筛选(不同步)出 extensionAttribute15 的值为 NoSync 的所有用户。

  1. 通过使用属于 ADSyncAdmins 安全组的成员的帐户,登录到正在运行 Microsoft Entra Connect Sync 的服务器。
  2. 从“开始”菜单启动“同步规则编辑器”。
  3. 确保选择了“入站”,然后单击“添加新规则”。
  4. 为规则指定一个描述性名称,如“In from AD – User DoNotSyncFilter”。 依次选择正确的林,选择“用户”作为“CS 对象类型”,选择“人员”作为“MV 对象类型”。 在“链接类型”中选择“联接”。 在“优先顺序”中,键入当前未由其他同步规则使用的值(例如 50),然后单击“下一步”。
    Inbound 1 description
  5. 在“范围筛选器”中,单击“添加组”,然后单击“添加子句”。 在“属性”中选择“ExtensionAttribute15”。 确保“运算符”设置为“等于”,在“值”框中键入值“NoSync”。 单击“下一步”。
    Inbound 2 scope
  6. 将“联接”规则留空,然后单击“下一步”。
  7. 单击“添加转换”,选择“FlowType”作为“Constant”,选择“cloudFiltered”作为“目标属性”。 在“源”文本框中键入“True”。 单击“添加”保存规则。
    Inbound 3 transformation
  8. 若要完成配置,需要运行 完全同步。请继续阅读 应用并检查更改部分。

正筛选:“只同步这些项目”

表达正筛选更加复杂,因为必须同时考虑不是明显需要同步的对象,例如会议室。 还要重写现成规则 In from AD - User Join中的默认筛选器。 创建自定义筛选器时,请确保不包括 Microsoft Entra Connect 的关键系统对象、复制冲突对象、特殊邮箱和服务帐户。

正筛选选项需要两个同步规则。 需要一个或多个包含对象的正确范围的同步规则。 还需要另一个全方位同步规则,用于筛选出尚未标识为属于应同步对象的所有对象。

在以下示例中,只同步部门属性值为 Sales的用户对象。

  1. 通过使用属于 ADSyncAdmins 安全组的成员的帐户,登录到正在运行 Microsoft Entra Connect Sync 的服务器。
  2. 从“开始”菜单启动“同步规则编辑器”。
  3. 确保选择了“入站”,然后单击“添加新规则”。
  4. 为规则指定一个描述性名称,如“In from AD – User Sales sync”。 依次选择正确的林,选择“用户”作为“CS 对象类型”,选择“人员”作为“MV 对象类型”。 在“链接类型”中选择“联接”。 在“优先顺序”中,键入当前未由其他同步规则使用的值(例如 51),然后单击“下一步”。
    Inbound 4 description
  5. 在“范围筛选器”中,单击“添加组”,然后单击“添加子句”。 在“属性”中选择“department”。 确保“运算符”设置为“等于”,在“值”框中键入值“Sales”。 单击“下一步”。
    Inbound 5 scope
  6. 将“联接”规则留空,然后单击“下一步”。
  7. 单击“添加转换”,选择“Constant”作为“FlowType”,选择“cloudFiltered”作为“目标属性”。 在“源”框中键入“False”。 单击“添加”保存规则。
    Inbound 6 transformation
    这是一种特殊情况,在此将 cloudFiltered 显式设置为“False”。
  8. 我们现在必须创建全方位同步规则。 为规则指定一个描述性名称,如“In from AD – User Catch-all filter”。 依次选择正确的林,选择“用户”作为“CS 对象类型”,选择“人员”作为“MV 对象类型”。 在“链接类型”中选择“联接”。 在“优先顺序”中,键入当前未由其他同步规则使用的值(例如 99)。 现在选择的优先顺序值比之前同步规则的值更高(优先性更低)。 但同时也预留了一些空间,以便可以在稍后想要开始同步其他部门时添加其他筛选同步规则。 单击“下一步”。
    Inbound 7 description
  9. 让“范围筛选器”保留空白,然后单击“下一步”。 空白筛选器表示规则将应用到所有对象。
  10. 将“联接”规则留空,然后单击“下一步”。
  11. 单击“添加转换”,选择“Constant”作为“FlowType”,选择“cloudFiltered”作为“目标属性”。 在“源”框中键入“True”。 单击“添加”保存规则。
    Inbound 3 transformation
  12. 若要完成配置,需要运行 完全同步。请继续阅读 应用并检查更改部分。

如果需要,可以创建更多第一种类型的规则,以便在同步中包含更多的对象。

出站筛选

在某些情况下,仅在对象已联接到 metaverse 中之后执行筛选是必要的。 例如,可能需要从资源林中查看邮件属性,并需要从帐户林中查看 userPrincipalName 属性,确定某个对象是否应同步。 在这些情况下,可以基于出站规则创建筛选。

本示例将更改筛选,以便只同步 mail 和 userPrincipalName 均以 @contoso.com 结尾的用户:

  1. 通过使用属于 ADSyncAdmins 安全组的成员的帐户,登录到正在运行 Microsoft Entra Connect Sync 的服务器。
  2. 从“开始”菜单启动“同步规则编辑器”。
  3. 在“规则类型”下,单击“出站”。
  4. 查找名为“出站到 Microsoft Entra ID - 用户加入”或“出站到 Microsoft Entra ID - 用户加入 SOAInAD”的规则(具体视使用的 Connect 版本而定),然后单击“编辑”。
  5. 在弹出窗口中,回答“是”,以创建规则的副本。
  6. 在“说明”页上,将“优先顺序”更改为某个尚未使用的值,例如 50。
  7. 单击左侧导航栏中的“范围筛选器”,然后单击“添加子句”。 在“属性”中选择“mail”。 在“运算符”中选择“ENDSWITH”。 在“值”中键入 @contoso.com,并单击“添加子句”。 在“属性”中选择“userPrincipalName”。 在“运算符”中选择“ENDSWITH”。 在“值”中键入 @contoso.com。
  8. 单击“保存” 。
  9. 若要完成配置,需要运行 完全同步。请继续阅读 应用并检查更改部分。

应用并验证更改

更改配置后,必须将这些更改应用到系统中现有的对象。 也可能需要处理同步引擎中当前不存在的对象,因此同步引擎需要再次读取源系统来验证其内容。

如果使用域或组织单位筛选更改了配置,则需要执行完全导入,然后执行增量同步。

如果使用属性筛选更改了配置,则需要执行完全同步。

执行以下步骤:

  1. 从“开始”菜单启动“同步服务”。
  2. 选择“连接器”。 在“连接器”列表中选择前面进行了配置更改的连接器。 在“操作”中选择“运行”。
    Connector run
  3. 在“运行配置文件”中,选择上一部分中所述的操作。 如果需要运行两项操作,请在完成第一项操作后再运行第二项操作。 (所选连接器的“状态”列为“空闲”)。

同步后,会暂存所有更改以便导出。 在 Microsoft Entra ID 中实际进行更改之前,请验证所有更改是否正确。

  1. 启动命令提示符并转到 %ProgramFiles%\Microsoft Azure AD Sync\bin
  2. 运行 csexport "Name of Connector" %temp%\export.xml /f:x
    在同步服务中可以找到连接器名称。 它的名称类似于 Microsoft Entra ID 的“contoso.com - Microsoft Entra ID”。
  3. 运行 CSExportAnalyzer %temp%\export.xml > %temp%\export.csv
  4. 现在在 %temp% 中已经有名为 export.csv 的文件,可在 Microsoft Excel 中检查。 此文件包含要导出的所有更改。
  5. 对数据或配置进行必要的更改并再次运行这些步骤(导入、同步和验证),直到要导出的更改都按预期进行。

如果满意,请将更改导出到 Microsoft Entra ID。

  1. 选择连接器。 在“连接器”列表中,选择“Microsoft Entra 连接器”。 在“操作”中选择“运行”。
  2. 在“运行配置文件”中选择“导出”。
  3. 如果配置更改会删除许多对象,且数目超过配置的阈值(默认为 500),则在导出时会出现错误。 如果看到此错误,需要暂时禁用“防止意外删除”功能。

现在,需要再次启用计划程序。

  1. 从“开始”菜单启动“任务计划程序” 。
  2. 在“任务计划程序库”正下方找到名为“Azure AD 同步计划程序”的任务,单击右键,然后选择“启用”。

基于组的筛选

首次使用自定义安装设置安装 Microsoft Entra Connect 时,可配置基于组的筛选。 这种筛选专用于只需同步一小组对象的试验部署。 禁用基于组的筛选后,将无法重新启用它。 不支持在自定义配置中使用基于组的筛选。 仅支持使用安装向导配置此功能。 完成试验后,请使用本主题所述的其他某个筛选选项。 将基于 OU 的筛选与基于组的筛选结合使用时,必须包含组及其成员所在的 OU。

同步多个 AD 林时,可以通过为每个 AD 连接器指定不同组来配置基于组的筛选。 如果希望在一个 AD 林中同步某个用户,且同一用户在其他 AD 林中具有一个或多个相应的对象,则必须确保用户对象及其所有相应对象都在基于组的筛选范围内。 例如:

  • 在一个林中有某个用户,此用户在其他林中有一个相应 FSP(外部安全主体)对象。 这两个对象都必须在基于组的筛选范围内。 否则,用户将不会同步到 Microsoft Entra ID。

  • 在一个林中有某个用户,此用户在其他林中有一个相应的资源帐户(例如链接的邮箱)。 此外,已配置 Microsoft Entra Connect,用于链接用户和资源帐户。 这两个对象都必须在基于组的筛选范围内。 否则,用户将不会同步到 Microsoft Entra ID。

  • 在一个林中有某个用户,此用户在其他林中有一个相应的邮件联系人。 此外,已配置 Microsoft Entra Connect,用于链接用户和邮件联系人。 这两个对象都必须在基于组的筛选范围内。 否则,用户将不会同步到 Microsoft Entra ID。

后续步骤