You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Active Directory中OU能否置于非OU对象下?技术疑问

Active Directory中OU的层级限制与LDAP搜索问题

我需要通过LDAP搜索Active Directory(AD)中的所有OU以实现同步,但遇到了异常结构问题,示例结构如下:

-[OU] officeA
--[OU] officeA2
--[OU] officeA3

-[OU] officeB
--[G] ZXC
---[OU] officeB3

其中[G] ZXC为随机示例,我想了解何种情况下OU会存在于非OU对象之下。我曾尝试在Active Directory用户和计算机中,将OU添加至用户和组下,但均失败。


2023/08/29 补充提问
OU只能置于OU之下吗?是否存在通过策略将OU改为非OU对象的可能?(我使用GOLANG的func (l *Conn) SearchWithPaging进行搜索)


问题解答

  • 在Active Directory的默认规则里,OU(组织单元)只能被创建在域根或者其他OU之下,无法直接放置在用户、组这类非OU对象下面。你在AD用户和计算机中操作失败是正常的,这是AD固有的对象层级限制。
  • 你看到的OU出现在组下方的异常结构,大概率是LDAP搜索结果的解析或展示逻辑问题,而非AD实际结构如此:
    • 可能是搜索时未过滤对象类型,误将组的成员关联信息解析成了层级结构,但组本身不能作为OU的父容器。
    • 极端情况下,若有人通过ADSI Edit这类底层目录编辑工具强制修改了OU的父对象属性,可能会出现这种异常,但这属于违规操作,会破坏AD架构一致性,微软官方并不支持此类操作。
  • 不存在通过策略将OU改为非OU对象的可能。OU的对象类型是organizationalUnit,这是AD架构中定义的固定类,策略无法修改对象的核心类型属性。
  • 针对Go的SearchWithPaging搜索,建议优化搜索逻辑:
    • 明确设置过滤条件为objectClass=organizationalUnit,只返回OU对象。
    • 通过distinguishedName属性来解析OU的层级关系,而非依赖搜索结果的默认返回顺序或层级展示,避免误判父容器。

内容的提问来源于stack exchange,提问作者R-Ping

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.12 00:37:16