本文介绍如何使用 Ldifde 工具设置用户的密码。
原始 KB 数: 263991
详细信息
Active Directory 使用的密码属性为“unicodePwd”。 此属性可以在受限条件下写入,但无法读取。 此属性只能修改,不能在创建对象时添加,也不能由搜索读取。
若要修改此属性,客户端必须具有与服务器的 128 位安全套接字层/传输层安全性(SSL/TLS)或 SASL 加密连接。 必须在客户端和服务器上安装高加密包。
注意
如果要使用 SASL 加密,可以使用 LDIFDE 的“/h”参数。 使用 base-64 编码器时,必须确保它支持 Unicode,否则将创建不正确的密码。
有两种方法可以修改 unicodePwd 属性。 第一个类似于典型的用户更改密码操作。 在这种情况下,修改请求必须同时包含删除操作和添加操作。 删除操作必须包含用引号括起来的当前密码,并按 RFC 1521 中所述进行 Base64 编码。 添加操作必须包含用引号括起来的新密码,并且必须进行 Base64 编码。
修改属性的第二种方法类似于管理员重置用户的密码。 为此,客户端必须以管理员身份绑定,该用户具有足够的权限才能修改其他用户的密码。 修改请求应包含一个替换为用引号括起来的新密码的替换操作,并对其进行 Base64 编码。 如果客户端具有足够的权限,则无论旧密码是什么,此密码都将成为新密码。
以下示例 Ldif 文件 (chPwd.ldif) 将密码更改为 newPassword:
dn: CN=TestUser,DC=testdomain,DC=com changetype: modify replace:unicodePwd unicodePwd::IgBuAGUAdwBQAGEAcwBzAHcAbwByAGQAIgA= -
若要导入 chPwd.ldif 文件,请使用以下命令:
- SSL/TLS:
ldifde -i -f chPwd.ldif -t 636 -s \<dcname> -b \<username> \<domain> \<password> - SASL:
ldifde -i -f chPwd.ldif -h -s \<dcname> -b \<username> \<domain> \<password>
如果密码未满足强制密码策略的条件,则会引发错误:
在从第 1 行开始的条目上添加错误:不愿意执行服务器端错误是“附加到系统的设备未正常工作
有关详细信息,请参阅以下文档:
以下 IETF 网站上的 RFC 1521:RFC 1521
Microsoft 会提供第三方联系信息来帮助你查找技术支持。 此联系信息可能会更改,恕不另行通知。 Microsoft 不保证此第三方联系信息的准确性。