密码哈希同步是用于实现混合标识的登录方法之一。 Microsoft Entra Connect 将用户密码的哈希从本地 Active Directory 实例同步到基于云的 Microsoft Entra 实例。 默认情况下,设置完成后,密码哈希同步会在所有正在同步的用户上进行。
如果要排除一部分用户,使其密码哈希不同步到 Microsoft Entra ID,可以按照本文中的指导步骤配置选择性密码哈希同步。
重要说明
Microsoft 不支持在正式记录的配置或操作之外修改或操作 Microsoft Entra Connect 同步。 这些配置或操作中的任何一项都可能导致 Microsoft Entra Connect 同步处于不一致或不受支持的状态。因此,Microsoft 无法保证能够为此类部署提供有效的技术支持。
考虑实现
为了降低配置管理工作量,你首先应该考虑要从密码哈希同步中排除的用户对象的数量。 验证以下互斥的场景是否符合你的要求,以便为你选择适当的配置选项。
重要说明
无论选择哪种配置选项,下一个同步周期都会自动执行应用更改所需的初始同步(完全同步)。
重要说明
配置选择性密码哈希同步会直接影响密码写回。 仅当用户在密码哈希同步范围内时,在 Microsoft Entra ID 中发起的密码更改或密码重置才会写回本地 Active Directory。
重要说明
Microsoft Entra Connect 1.6.2.4 或更高版本支持选择性密码哈希同步。 如果使用的版本低于该版本,请升级到最新版本。
AdminDescription 属性
这两种方案都依赖于将用户的 adminDescription 特性设置为特定值。 这样将应用规则,也将导致选择性 PHS 生效。
应用场景 | adminDescription 值 |
---|---|
排除的用户少于包含的用户 | PHSFiltered |
排除的用户多于包含的用户 | PHSIncluded |
可通过以下方式设置此特性:
- 使用 Active Directory 用户和计算机 UI
- 使用
Set-ADUser
PowerShell cmdlet。 有关详细信息,请参阅 Set-ADUser。
禁用同步计划程序:
在启动任一方案之前,在对同步规则进行更改时必须禁用同步计划程序。
启动 Windows PowerShell 并输入。
Set-ADSyncScheduler -SyncCycleEnabled $false
运行以下 cmdlet,确认是否已禁用计划程序:
Get-ADSyncScheduler
有关计划程序的详细信息,请参阅 Microsoft Entra Connect 同步计划程序。
排除的用户少于包含的用户
以下部分介绍当要排除的用户数少于要包含的用户数时,如何启用选择性密码哈希同步。
重要说明
在继续操作之前,请确保禁用同步计划程序,如前文所述。
- 创建 In from AD – User AccountEnabled 的可编辑副本,取消选中启用密码哈希同步的选项,并定义其范围筛选器
- 创建默认 In from AD – User AccountEnabled 的另一个可编辑副本,选中启用密码哈希同步的选项,并定义其范围筛选器
- 重新启用同步计划程序
- 在 Active Directory 中设置特性值,该特性值定义为要在密码哈希同步中允许的用户的范围特性。
重要说明
为配置选择性密码哈希同步而提供的步骤仅影响在 Active Directory 中使用值 PHSFiltered 填充属性 adminDescription 的用户对象。 如果未填充此属性,或者其值不是 PHSFiltered,则这些规则不会应用于用户对象。
配置必要的同步规则:
- 启动“同步规则编辑器”,并将筛选器“密码同步”设置为“开”,将“规则类型”设置为“标准”。
- 为要将选择性密码哈希同步设置为“开”的 Active Directory 林 Connector 选择规则“In from AD - User AccountEnabled”,并选择“编辑”。 在下一个对话框中选择“是”,以创建原始规则的可编辑副本。
- 第一个规则会禁用密码哈希同步。为新的自定义规则提供以下名称:In from AD - User AccountEnabled - Filter Users from PHS。
将优先级值更改为小于 100 的数字(例如 90 或环境中可用的最小值)。
请确保未选中“启用密码同步”和“已禁用”复选框。
选择“下一步”。
- 在“范围筛选器”中,选择“添加子句”。
在特性列中选择“adminDescription”,在“运算符”列中选择“EQUAL”,并输入 PHSFiltered 作为值。
- 不需要进行其他更改。 “联接规则”和“转换”应保留默认的复制设置,因此你可以立即选择“保存”。
在警告对话框中选择“确定”,该警告通知在连接器的下一个同步周期运行完全同步。
- 接下来,创建启用了密码哈希同步的另一个自定义规则。 为要将选择性密码哈希同步设置为“开”的 Active Directory 林再次选择默认规则“In from AD - User AccountEnabled”,并选择“编辑”。 在下一个对话框中选择“是”,以创建原始规则的可编辑副本。
- 为新的自定义规则提供以下名称:In from AD - User AccountEnabled - Users included for PHS。
将优先级值更改为一个小于之前创建的规则的数字(在此示例中为 89)。
确保选中“启用密码同步”复选框,且未选中“已禁用”复选框。
选择“下一步”。
- 在“范围筛选器”中,选择“添加子句”。
在特性列中选择“adminDescription”,在“运算符”列中选择“NOTEQUAL”,并输入 PHSFiltered 作为值。
- 不需要进行其他更改。 “联接规则”和“转换”应保留默认的复制设置,因此你可以立即选择“保存”。
在警告对话框中选择“确定”,该警告通知在连接器的下一个同步周期运行完全同步。
- 确认创建规则。 删除筛选器密码同步开和规则类型标准。 你会看到刚创建的两个新规则。
重新启用同步计划程序:
完成配置所需同步规则的步骤后,请执行以下步骤重新启用同步计划程序:
在 Windows PowerShell 中,运行:
set-adsyncscheduler -synccycleenabled:$true
然后运行以下内容,确认它已成功启用:
get-adsyncscheduler
有关计划程序的详细信息,请参阅 Microsoft Entra Connect 同步计划程序。
编辑用户 adminDescription 特性:
完成所有配置后,需要在 Active Directory 中为要在密码哈希同步中排除的所有用户编辑属性 adminDescription,并添加在范围筛选器中使用的字符串:PHSFiltered。
还可使用以下 PowerShell 命令来编辑用户的 adminDescription 属性:
set-adusermyuser-replace@{adminDescription="PHSFiltered"}
排除的用户多于包含的用户
以下部分介绍当要排除的用户数多于要包含的用户数时,如何启用选择性密码哈希同步。
重要说明
在继续操作之前,请确保禁用同步计划程序,如上文所述。
以下是要执行的操作摘要:
- 创建 In from AD – User AccountEnabled 的可编辑副本,取消选中启用密码哈希同步的选项,并定义其范围筛选器
- 创建默认 In from AD – User AccountEnabled 的另一个可编辑副本,选中启用密码哈希同步的选项,并定义其范围筛选器
- 重新启用同步计划程序
- 在 Active Directory 中设置特性值,该特性值定义为要在密码哈希同步中允许的用户的范围特性。
重要说明
为配置选择性密码哈希同步而提供的步骤仅影响 Active Directory 中使用值 PHSIncluded 填充属性 adminDescription 的用户对象。 如果未填充此属性,或者其值不是 PHSIncluded,则这些规则不会应用于用户对象。
配置必要的同步规则:
- 启动“同步规则编辑器”,并将筛选器设置为密码同步开,将设置为规则类型标准。
- 为要将选择性密码哈希同步设置为“开”的 Active Directory 林选择规则“In from AD - User AccountEnabled”,并选择“编辑”。 在下一个对话框中选择“是”,以创建原始规则的可编辑副本。
- 第一个规则会禁用密码哈希同步。为新的自定义规则提供以下名称:In from AD - User AccountEnabled - Filter Users from PHS。
将优先级值更改为小于 100 的数字(例如 90 或环境中可用的最小值)。
请确保未选中“启用密码同步”和“已禁用”复选框。
选择“下一步”。
- 在“范围筛选器”中,选择“添加子句”。
在特性列中选择“adminDescription”,在“运算符”列中选择“NOTEQUAL”,并输入 PHSIncluded 作为值。
- 不需要进行其他更改。 “联接规则”和“转换”应保留默认的复制设置,因此你可以立即选择“保存”。
在警告对话框中选择“确定”,该警告通知在连接器的下一个同步周期运行完全同步。
- 接下来,创建启用了密码哈希同步的另一个自定义规则。 为要将选择性密码哈希同步设置为“开”的 Active Directory 林再次选择默认规则“In from AD - User AccountEnabled”,并选择“编辑”。 在下一个对话框中选择“是”,以创建原始规则的可编辑副本。
- 为新的自定义规则提供以下名称:In from AD - User AccountEnabled - Users included for PHS。
将优先级值更改为一个小于之前创建的规则的数字(在此示例中为 89)。
确保选中“启用密码同步”复选框,且未选中“已禁用”复选框。
选择“下一步”。
- 在“范围筛选器”中,选择“添加子句”。
在特性列中选择“adminDescription”,在“运算符”列中选择“EQUAL”,并输入 PHSIncluded 作为值。
- 不需要进行其他更改。 “联接规则”和“转换”应保留默认的复制设置,因此你可以立即选择“保存”。
在警告对话框中选择“确定”,该警告通知在连接器的下一个同步周期运行完全同步。
- 确认创建规则。 删除筛选器密码同步开和规则类型标准。 你会看到刚创建的两个新规则。
重新启用同步计划程序:
完成配置所需同步规则的步骤后,请执行以下步骤重新启用同步计划程序:
在 Windows PowerShell 中,运行:
set-adsyncscheduler-synccycleenabled$true
然后运行以下内容,确认它已成功启用:
get-adsyncscheduler
有关计划程序的详细信息,请参阅 Microsoft Entra Connect 同步计划程序。
编辑用户 adminDescription 特性:
完成所有配置后,需要在 Active Directory 中为要在密码哈希同步中包含的所有用户编辑特性 adminDescription,并添加在范围筛选器中使用的字符串:PHSIncluded。
还可使用以下 PowerShell 命令来编辑用户的 adminDescription 属性:
Set-ADUser myuser -Replace @{adminDescription="PHSIncluded"}