本文介绍域根目录、用户对象和 Active Directory 中的 Builtin 容器中所需的访问权限和权限。 它还讨论了以下各项:
- 所需的域组策略
- 如何标识Microsoft Entra Connect 使用的 Active Directory 域服务 (AD DS) 连接器帐户
- 如何检查该帐户的现有权限
- 如何避免复制问题
此信息可以帮助你解决涉及密码写回的特定问题。
标识 AD DS 连接器帐户
在检查密码写回权限之前,请在 Microsoft Entra Connect 中验证当前的 AD DS 连接器帐户(也称为 MSOL_ 帐户)。 验证此帐户有助于避免在密码写回故障排除过程中执行错误步骤。
若要标识 AD DS 连接器帐户,请执行以下操作:
打开“同步服务管理器”。 为此,请选择“开始”,输入Microsoft Entra Connect,在搜索结果中选择Microsoft Entra Connect,然后选择“同步服务”。
选择“连接器”选项卡,然后选择适用的 Active Directory 连接器。 在“操作”窗格中,选择“属性”以打开“属性”对话框。
在“属性”窗口的左窗格中,选择“连接到 Active Directory 林”,然后复制显示为“用户名”的帐户名称。
检查 AD DS 连接器帐户的现有权限
若要为密码写回设置正确的 Active Directory 权限, 请使用内置的 ADSyncConfig PowerShell 模块。 ADSyncConfig 模块包含一种使用 Set-ADSyncPasswordWritebackPermissions cmdlet 设置密码写回权限的方法。
若要检查 AD DS 连接器帐户(即 MSOL_ 帐户)是否具有特定用户的正确权限,请使用以下工具之一:
- Microsoft管理控制台(MMC)上的Active Directory 用户和计算机管理单元
- 命令提示符
- PowerShell
Active Directory 用户和计算机管理单元
使用 MMC 管理单元进行Active Directory 用户和计算机。 执行以下步骤:
选择“开始”,输入 dsa.msc,然后选择搜索结果中的Active Directory 用户和计算机管理单元。
选择“查看>高级功能”。
在控制台树中,找到并选择要检查其权限的用户帐户。 然后选择“属性”图标。
在帐户的 “属性 ”对话框中,选择“ 安全 ”选项卡,然后选择“ 高级 ”按钮。
在 帐户的“高级安全设置” 对话框中,选择“ 有效权限 ”选项卡。然后,在 “组”或“用户名 ”部分中,选择“ 选择 ”按钮。
在“选择用户、计算机或组”对话框中,选择“高级>查找现在”以显示选择列表。 在 “搜索结果 ”框中,选择 MSOL_ 帐户名称。
选择“确定”两次,返回到“高级安全设置”对话框中的“有效权限”选项卡。 现在,可以查看分配给用户帐户的 MSOL_ 帐户的有效权限列表。 本文中“用户对象”部分的“必需权限”中显示了密码写回所需的默认权限列表。
命令提示符
使用 dsacls 命令显示 AD DS 连接器帐户的访问控制列表(ACL 或权限)。 以下命令将命令输出存储在文本文件中,不过你可以对其进行修改以在控制台上显示输出:
dsacls "CN=User01,OU=Sync,DC=Contoso,DC=com" > dsaclsDomainContoso.txt
可以使用此方法分析任何 Active Directory 对象的权限。 但是,比较对象之间的权限并不有用,因为文本输出未排序。
PowerShell
使用 Get-Acl cmdlet 获取 AD DS 连接器帐户权限,然后使用 Export-Clixml cmdlet 将输出存储为 XML 文件,如下所示:
Set-Location AD:
Get-Acl "DC=Contoso,DC=com" | Export-Clixml aclDomainContoso.xml
PowerShell 方法可用于脱机分析。 它允许使用 Import-Clixml cmdlet 导入文件。 它还保留 ACL 的原始结构及其属性。 可以使用此方法分析任何 Active Directory 对象的权限。
修复权限时避免复制问题
修复 Active Directory 权限时,对 Active Directory 所做的更改可能不会立即生效。 Active Directory 权限还受到林中的复制,其方式与 Active Directory 对象相同。 如何缓解 Active Directory 复制问题或延迟? 在 Microsoft Entra Connect 中设置首选域控制器,并仅在该域控制器上进行任何更改。 使用Active Directory 用户和计算机管理单元时,右键单击控制台树中的域根目录,选择“更改域控制器”菜单项,然后选择相同的首选域控制器。
若要在 Active Directory 中快速进行健全性检查,请使用 dcdiag 命令运行域控制器诊断。 然后,运行 repadmin /replsummary 命令以查看复制问题的摘要。 以下命令将命令输出存储在文本文件中,不过你可以修改它们以显示控制台上的输出:
dcdiag > dcdiag.txt
repadmin /replsum > replsum.txt
Active Directory 域根的必需权限
本部分介绍 Active Directory 域根目录上密码写回的预期 Active Directory 权限。 不要将此根目录与 Active Directory 林的根混淆。 林可以有多个 Active Directory 域。 每个域必须在其自己的根目录中设置正确的权限,以便密码写回可用于该域中的用户。
可以在域根的安全属性中查看现有的 Active Directory 权限。 执行以下步骤:
打开“Active Directory 用户和计算机”管理单元。
在控制台树中,找到并选择 Active Directory 域根目录,然后选择“ 属性” 图标。
在帐户的 “属性 ”对话框中,选择“ 安全 ”选项卡。
以下每个子节都包含一个域根默认权限表。 此表显示子节标题中组或用户名所需的权限条目。 若要查看和修改当前权限条目以匹配每个组或用户名的要求,请针对每个子节执行以下步骤:
在 “安全 ”选项卡上,选择“ 高级 ”按钮以查看 “高级安全设置” 对话框。 “ 权限 ”选项卡显示每个 Active Directory 标识(主体)的域根权限的当前列表。
将当前权限列表与每个 Active Directory 标识(主体)的默认权限列表进行比较。
如有必要,请选择“ 添加” 以添加当前列表中缺少的必需权限条目。 或者,选择权限条目,然后选择“ 编辑” 以修改该条目以满足要求。 重复此步骤,直到当前权限项与子节表匹配。
选择“确定”以接受“高级安全设置”对话框中的更改,然后返回到“属性”对话框。
注意
Active Directory 域根权限不会继承自任何父容器。
AD DS 连接器帐户的根默认权限(允许)
权限 | 应用于 |
---|---|
重置密码 | 后代用户对象 |
(空白) | 子代 msDS-Device 对象 |
复制目录更改 | 仅此对象 |
复制所有目录更改 | 仅此对象 |
读取所有属性 | 子代 publicFolder 对象 |
读取/写入所有属性 | 后代 InetOrgPerson 对象 |
读取/写入所有属性 | 后代组对象 |
读取/写入所有属性 | 后代用户对象 |
读取/写入所有属性 | 后代联系人对象 |
经过身份验证的用户的根默认权限(允许)
权限 | 应用于 |
---|---|
启用每个用户可逆加密的密码 | 仅此对象 |
未过期密码 | 仅此对象 |
更新密码不需要位 | 仅此对象 |
特殊 | 仅此对象 |
(空白) | 此对象和所有后代对象 |
每个人的根默认权限(拒绝 + 允许)
类型 | 权限 | 应用于 |
---|---|---|
拒绝 | 删除所有子对象 | 仅此对象 |
允许 | 读取所有属性 | 仅此对象 |
预 Windows 2000 兼容访问的根默认权限(允许)
权限 | 应用于 |
---|---|
特殊 | 后代 InetOrgPerson 对象 |
特殊 | 后代组对象 |
特殊 | 后代用户对象 |
特殊 | 仅此对象 |
列出内容 | 此对象和所有后代对象 |
SELF 的根默认权限(允许)
权限 | 应用于 |
---|---|
(空白) | 此对象和所有后代对象 |
特殊 | 所有后代对象 |
验证写入计算机属性 | 后代计算机对象 |
(空白) | 后代计算机对象 |
用户对象所需的权限
本部分介绍必须更新密码的目标用户对象上密码写回的预期 Active Directory 权限。 若要查看现有安全权限,请按照以下步骤显示用户对象的安全属性:
返回到Active Directory 用户和计算机管理单元。
使用控制台树或“操作>查找”菜单项选择目标用户对象,然后选择“属性”图标。
在帐户的 “属性 ”对话框中,选择“ 安全 ”选项卡。
以下每个子节都包含一个用户默认权限表。 此表显示子节标题中组或用户名所需的权限条目。 若要查看和修改当前权限条目以匹配每个组或用户名的要求,请针对每个子节执行以下步骤:
在 “安全 ”选项卡上,选择“ 高级 ”按钮以查看 “高级安全设置” 对话框。
确保 对话框底部附近显示“禁用继承 ”按钮。 如果改为显示“启用继承”按钮,请选择该按钮。 启用继承功能允许此对象继承来自父容器和组织单位的所有权限。 此更改可解决此问题。
在“权限”选项卡上,将当前权限列表与每个 Active Directory 标识(主体)的默认权限列表进行比较。 “ 权限 ”选项卡显示每个 Active Directory 标识(主体)的用户权限的当前列表。
如有必要,请选择“ 添加” 以添加当前列表中缺少的必需权限条目。 或者,选择权限条目,然后选择“ 编辑” 以修改该条目以满足要求。 重复此步骤,直到当前权限项与子节表匹配。
选择“确定”以接受“高级安全设置”对话框中的更改,然后返回到“属性”对话框。
注意
与 Active Directory 域根不同,用户对象的所需权限通常继承自域根目录或父容器或组织单位。 直接在对象上设置的权限将指示来自 None 的继承。 只要类型、主体、访问和应用于权限的列的值相同,访问控制项(ACE)的继承并不重要。 但是,某些权限只能在域根目录中设置。 这些实体列在子节表中。
AD DS 连接器帐户的用户默认权限(允许)
权限 | 继承自 | 应用于 |
---|---|---|
重置密码 | <域根> | 后代用户对象 |
(空白) | <域根> | 子代 msDS-Device 对象 |
读取所有属性 | <域根> | 子代 publicFolder 对象 |
读取/写入所有属性 | <域根> | 后代 InetOrgPerson 对象 |
读取/写入所有属性 | <域根> | 后代组对象 |
读取/写入所有属性 | <域根> | 后代用户对象 |
读取/写入所有属性 | <域根> | 后代联系人对象 |
经过身份验证的用户的用户默认权限(允许)
权限 | 继承自 | 应用于 |
---|---|---|
阅读常规信息 | 无 | 仅此对象 |
读取公共信息 | 无 | 仅此对象 |
读取个人信息 | 无 | 仅此对象 |
读取 Web 信息 | 无 | 仅此对象 |
读取权限 | 无 | 仅此对象 |
读取 Exchange 信息 | <域根> | 此对象和所有后代对象 |
每个人的用户默认权限(允许)
权限 | 继承自 | 应用于 |
---|---|---|
更改密码 | 无 | 仅此对象 |
预 Windows 2000 兼容访问的用户默认权限(允许)
此表中的特殊权限包括列表内容、读取所有属性和读取权限。
权限 | 继承自 | 应用于 |
---|---|---|
特殊 | <域根> | 后代 InetOrgPerson 对象 |
特殊 | <域根> | 后代组对象 |
特殊 | <域根> | 后代用户对象 |
列出内容 | <域根> | 此对象和所有后代对象 |
SELF 的用户默认权限(允许)
此表中的特殊权限仅包括读取/写入专用信息权限。
权限 | 继承自 | 应用于 |
---|---|---|
更改密码 | 无 | 仅此对象 |
发送为 | 无 | 仅此对象 |
接收为 | 无 | 仅此对象 |
读取/写入个人信息 | 无 | 仅此对象 |
读/写电话和邮件选项 | 无 | 仅此对象 |
读取/写入 Web 信息 | 无 | 仅此对象 |
特殊 | 无 | 仅此对象 |
验证写入计算机属性 | <域根> | 后代计算机对象 |
(空白) | <域根> | 后代计算机对象 |
(空白) | <域根> | 此对象和所有后代对象 |
特殊 | <域根> | 此对象和所有后代对象 |
SAM 服务器对象上所需的权限
本部分介绍安全帐户管理器(SAM)服务器对象(CN=Server,CN=System,DC=Contoso,DC=com)上密码写回的预期 Active Directory 权限。 若要查找 SAM 服务器对象(samServer)的安全属性,请执行以下步骤:
返回到Active Directory 用户和计算机管理单元。
在控制台树中,找到并选择 系统 容器。
找到并选择 服务器 (samServer 对象),然后选择“ 属性” 图标。
在 对象的“属性 ”对话框中,选择“ 安全 ”选项卡。
选择“高级安全设置”对话框。 “ 权限 ”选项卡显示每个 Active Directory 标识(主体)的 samServer 对象权限的当前列表。
验证 samServer 对象的访问控制条目中是否至少列出了以下主体之一。 如果仅 列出了预 Windows 2000 兼容访问 ,请确保 经过身份验证的用户 是此内置组的成员。
预 Windows 2000 兼容访问的权限(允许)
特殊 权限必须包括 列表内容、 读取所有属性和 读取权限 。
经过身份验证的用户的权限(允许)
特殊 权限必须包括 列表内容、 读取所有属性和 读取权限 。
对 Builtin 容器的必需权限
本部分介绍内置容器上密码写回的预期 Active Directory 权限。 若要查看现有安全权限,请按照以下步骤访问内置对象的安全属性:
打开Active Directory 用户和计算机管理单元。
在控制台树中,找到并选择 Builtin 容器,然后选择 “属性” 图标。
在帐户的 “属性 ”对话框中,选择“ 安全 ”选项卡。
选择 “高级 ”按钮以查看 “高级安全设置 ”对话框。 “ 权限 ”选项卡显示每个 Active Directory 标识(主体)的内置容器权限的当前列表。
将此当前权限列表与MSOL_帐户所需的允许权限列表进行比较,如下所示。
权限 继承自 应用于 读取/写入所有属性 <域根> 后代 InetOrgPerson 对象 读取/写入所有属性 <域根> 后代组对象 读取/写入所有属性 <域根> 后代用户对象 读取/写入所有属性 <域根> 后代联系人对象 如有必要,请选择“ 添加” 以添加当前列表中缺少的必需权限条目。 或者,选择权限条目,然后选择“ 编辑” 以修改该条目以满足要求。 重复此步骤,直到当前权限项与子节表匹配。
选择“确定”退出“高级安全设置”对话框,然后返回到“属性”对话框。
其他必需的 Active Directory 权限
在 预 Windows 2000 兼容访问 组属性中,转到 “成员 ”选项卡,并确保 经过身份验证的用户 是此组的成员。 否则,可能会遇到影响 Microsoft Entra Connect 和 Active Directory 上密码写回的问题(尤其是较旧版本)。
所需的域组策略
若要确保具有正确的域组策略,请执行以下步骤:
选择“开始”,输入 secpol.msc,然后在搜索结果中选择“本地安全策略”。
在控制台树中的“安全设置”下,展开“本地策略”,然后选择“用户权限分配”。
在策略列表中,选择身份验证后模拟客户端,然后选择“属性”图标。
在“属性”对话框中,确保“本地安全设置”选项卡上列出了以下组:
- 管理员
- LOCAL SERVICE
- 网络服务
- SERVICE
有关详细信息,请参阅身份验证策略后模拟客户端的默认值。
联系我们寻求帮助
如果你有任何疑问或需要帮助,请创建支持请求或联系 Azure 社区支持。 你还可以将产品反馈提交到 Azure 反馈社区。