ADSI Edit 是 Windows Server 自带的低级别 LDAP 编辑工具,用于查看和修改常规管理界面不可见的隐藏属性(如 unicodePwd、adminCount),需通过加密连接并具备高权限,日常运维应优先使用 PowerShell 或 GUI 工具。
active directory 中没有叫“属性编辑器”的独立工具,你实际想用的,是 adsi edit(active directory 服务接口编辑器)——它是 windows server 自带的低级别 ldap 编辑工具,专用于查看和修改常规管理界面(如 ad 用户和计算机、ad 管理中心)中不可见或被隐藏的属性,比如 unicodepwd、msds-allowedtodelegateto、admincount、dsheuristics 等。
这类字段通常不显示在图形界面里,不是因为“被刻意隐藏”,而是设计上就不支持通过标准 UI 修改(出于安全或架构限制),必须通过 LDAP 协议直接操作,而 ADSI Edit 正是为此场景提供的官方工具。
✅ 如何用 ADSI Edit 修改隐藏属性
1. 启动 ADSI Edit 并连接到正确上下文
- 按
Win + R,输入adsiedit.msc,回车。 - 右键“ADSI 编辑” → “连接到…”
- 在“命名上下文”下拉菜单中,选择:
-
Default naming context(对应域 DN,如dc=contoso,dc=com)→ 修改用户/组等对象 -
Configuration→ 修改林/域功能级别、站点、服务配置等 -
Schema→ 修改类定义(需先启用架构管理权限,慎用)
-
- 点击“确定”完成连接。
⚠️ 注意:默认连接的是当前登录用户的域控制器,若需指定 DC,请在“服务器”栏手动填写主机名或 IP,并勾选“连接到特定服务器”。
2. 定位目标对象
- 展开左侧树形结构,逐级导航到你要修改的对象(例如:
CN=John Doe,CN=Users,DC=contoso,DC=com)。 - 右键该对象 → “属性”。
3. 查看并编辑隐藏属性
- 在属性窗口中,默认只显示“常用属性”。
- 勾选右下角 “过滤器” → 取消勾选“只显示可编辑属性”和“只显示已值属性”。
- 在搜索框输入属性名(如
adminCount、userAccountControl、msDS-AllowedToDelegateTo),或滚动浏览完整列表。 - 找到后双击该属性 → 弹出编辑对话框:
- 若是单值(如
adminCount),直接输入数值(如1); - 若是多值(如
proxyAddresses),点击“编辑”→“添加”逐条录入; - 若是二进制或特殊语法(如
unicodePwd),需按 LDAP 规范编码(见下文说明)。
- 若是单值(如
4. 保存修改
- 点击“确定”提交更改。
- 若提示“操作成功”,即生效;若报错(如
0x57 参数错误或0x523 无效帐户名),请核对属性语法、权限和连接加密要求。
⚠️ 关键注意事项(容易出错)
- 权限要求高:修改多数隐藏属性需具备“写入”权限(如 Domain Admins、Enterprise Admins),普通域用户无法操作。
-
加密连接强制要求:修改敏感属性(如
unicodePwd)时,ADSI Edit 必须通过 LDAPS(端口 636)或 STARTTLS(端口 389) 连接,否则会拒绝写入。检查连接时是否显示锁形图标 ✅。 -
unicodePwd特别规则:- 值必须是 UTF-16LE 编码的字符串,前后加英文双引号,再 BER 编码为字节数组;
- 不能直接输入明文密码;
- 推荐使用 PowerShell 的
Set-ADAccountPassword或专用工具(如 LDP.exe 配合 TLS)操作,比 ADSI Edit 更可靠。
- Schema 修改风险极高:在 Schema 容器中修改类或属性可能破坏整个林,必须提前备份,并仅由经过认证的架构管理员执行。
? 替代方案(更安全/易用)
| 场景 | 推荐方式 |
|---|---|
| 修改用户密码 |
Set-ADAccountPassword(PowerShell)或重置界面(需权限) |
| 设置委派(如约束委派) | 使用 Active Directory 用户和计算机 → 用户属性 → “委派”选项卡(图形化) |
批量修改属性(如 description、department) |
Set-ADUser 或 Import-Csv \| Set-ADUser
|
| 查看但不修改隐藏属性 | 使用 Get-ADObject -Properties *(PowerShell) |
ADSI Edit 是“能用”,但不是“该首选”。日常运维中,优先使用带验证逻辑的高级工具(如 PowerShell cmdlet 或 GUI),仅当它们不支持某项底层操作时,再切入 ADSI Edit。
不复杂但容易忽略细节。


















