需在架构主机上以schema admins身份启用schmmgmt.dll、添加架构管理单元,创建含唯一oid的自定义属性,并将其添加至user类才能生效。
要在 windows server 中通过 active directory 架构管理器添加自定义用户属性,需先启用架构管理单元、注册必要组件、创建新属性并将其关联到 user 类。整个过程需在架构主机上操作,且操作者必须是 schema admins 组成员。
启用 Active Directory 架构管理单元
架构管理器(Active Directory Schema)默认不显示,需手动注册并加载:
- 以管理员身份运行命令提示符,执行:
regsvr32 schmmgmt.dll - 按 Win + R 输入 mmc,打开空的 Microsoft 管理控制台
- 选择【文件】→【添加/删除管理单元】→【添加】→ 选中【Active Directory 架构】→【添加】→【关闭】→【确定】
- 此时左侧将显示“Active Directory 架构”节点,双击可浏览现有类与属性
创建新的自定义属性
右键点击左侧的【属性】容器 → 【新建】→【属性】,进入属性定义界面。关键字段说明如下:
直播话术巡检系统(Windows版) — 实时语音转写、关键词检测、场景自动切换、告警推送、大屏可视化。支持 Windows VB-Cable 虚拟声卡音频采集,阿里云 ASR 实时识别。一键启动脚本,自动安装环境。
- 公用名(Common-Name):属性显示名称,如 employeeBadgeNumber
- LDAP 显示名(LDAP Display Name):必须小写、无空格、唯一,如 employeebadgenumber(系统会自动转换大小写)
-
唯一的 X500 对象 ID(OID):必须全局唯一,不可重复使用。推荐方式是基于组织私有 OID 分支生成,例如:
1.2.840.113556.1.8000.2554.12345.1001
其中末尾数字由你分配,前缀建议从 Microsoft 分配的根 OID(1.2.840.113556.1.8000)延伸而来 - 语法(Syntax):根据数据类型选择,如字符串用 Unicode String,整数用 Integer,日期用 Generalized-Time
- 是否复制到全局目录(Replicate this attribute to the Global Catalog):如需在 GC 中查询该属性(例如用于登录脚本或 GPO 条件),勾选此项
将属性添加到 user 类
仅定义属性还不够,必须将其加入目标对象类才能被用户对象使用:
- 在架构管理器中展开【类】→ 找到并右键点击 user 类 → 【属性】
- 切换到【属性】选项卡 → 点击【添加】→ 在弹出窗口中找到刚创建的属性名 → 【确定】
- 确认该属性已列在“可能的属性”列表中,并确保其未被设为“仅在创建时设置”(除非业务逻辑确实要求)
- 关闭窗口,系统会提示保存更改;点击【是】提交架构更新
验证与填充属性值
架构变更需等待复制完成(通常几分钟),之后即可在用户对象上使用:
- 打开 adsiedit.msc(非 dsa.msc,因 ADUC 不显示扩展属性)
- 连接到默认命名上下文 → 展开找到某测试用户 → 右键【属性】→ 勾选【只显示可编辑属性】→ 在筛选框输入你的 LDAP 显示名(如 employeebadgenumber)
- 双击该属性 → 输入值 → 【确定】保存
- 也可通过 PowerShell 使用 Set-ADUser -Add @{employeebadgenumber='ABC123'} 设置










