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

AD中unicodePwd属性工作原理及修改报错问题咨询

AD unicodePwd属性工作机制相关问题解答

问题1:已设置密码的用户unicodePwd属性显示为「未设置」,密码是否存储在该属性中?

unicodePwd是AD设计的特殊构造属性,仅用于密码写入操作,AD出于安全设计禁止所有主体(包括域管理员)通过常规属性读取接口读取该属性的值,因此所有工具查看该属性都会显示「未设置」,属于正常现象。
用户密码的哈希值确实是通过unicodePwd的写入操作最终持久化存储在AD目录数据库(NTDS.dit)的非公开加密存储区,不会通过常规属性接口暴露。

问题2:直接更新unicodePwd属性报错WILL_NOT_PERFORM的原因及解决方案

报错提示如下:

Operation Failed. Error code: 0x1f
SvcErr: DSID-031A1236, problem 5003 (WILL_NOT_PERFORM), data 0

报错截图:
报错截图

报错原因

该报错通常是操作不符合unicodePwd的写入限制导致,常见触发条件如下:

  • 未使用加密连接操作:AD禁止通过明文LDAP连接修改密码类属性,必须使用LDAPS(SSL加密的LDAP)或SASL加密的LDAP连接
  • 密码编码格式不符合要求:写入的十六进制值对应的明文必须先用英文双引号包裹,再编码为UTF-16LE(小端Unicode)格式,编码错误、未加双引号都会触发报错
  • 操作逻辑不符合要求:如果是普通用户修改自身密码,必须在同一个修改事务中同时提交旧密码删除、新密码添加两个操作,不能单独提交新密码;只有拥有重置密码权限的管理员可以单独提交新密码完成重置
  • 密码不符合域策略:提交的新密码不符合域的复杂度、长度、密码历史复用等限制也会触发相同报错

解决方案

按照以下步骤排查修复即可:

  • 调整连接配置:使用ADSI编辑器操作时,连接选项勾选「使用SSL加密」,确保走LDAPS协议和域控通信
  • 确认密码编码正确:比如密码为Test@2024,需要先处理为"Test@2024"(前后添加英文双引号),再转成UTF-16LE编码的字节流,最终转十六进制值提交
  • 匹配操作逻辑:普通用户修改自身密码需将删除旧unicodePwd、添加新unicodePwd两个操作放在同一个事务中提交;管理员操作需确认账号持有目标用户的「重置密码」权限
  • 验证密码合规:提前确认提交的新密码符合当前域的密码策略要求

内容的提问来源于stack exchange,提问作者criderkevin

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.06 06:06:02