Windows 中密码更改协议的说明

本文介绍在 Windows 中更改密码的机制。

原始 KB 编号: 264480

总结

Windows 使用许多不同的机制来更改密码。 本文介绍这些机制。

详细信息

支持的密码更改协议包括:

  1. NetUserChangePassword 协议
  2. NetUserSetInfo 协议
  3. Kerberos 更改密码协议 (IETF Internet Draft Draft-ietf-cat-kerb-chg-password-02.txt) [端口 464]
  4. Kerberos set-password protocol (IETF Internet Draft Draft-ietf-cat-kerberos-set-passwd-00.txt) [port 464]
  5. 轻型目录访问协议(LDAP)写入密码属性(如果使用 128 位安全套接字层 [SSL] )
  6. 用于预Microsoft Windows NT(LAN 管理器)兼容性的 XACT-SMB

更改密码操作要求在允许更改之前知道用户的当前密码。 设置密码操作没有此要求,但由帐户上的“重置密码”权限控制。

使用 LDAP(方法 5)时,域控制器和客户端都必须能够使用 128 位 SSL 来保护连接。 如果未为 SSL 配置域控制器,或者如果没有适当的长密钥,则拒绝密码更改写入。

Active Directory 域控制器侦听所有这些协议上的更改密码请求。

如本文前面所述,不同情况下使用不同的协议。 例如:

  • 可互操作 Kerberos 客户端使用 Kerberos 协议。 基于 UNIX 的系统(MIT Kerberos 版本 5 1.1.1)可以使用 Kerberos 更改密码协议(方法 3)在基于 Windows 的域中更改用户密码。
  • 当用户通过按 Ctrl+Alt+DELETE 并单击“更改密码”来更改自己的密码时,如果目标为域,将使用高达 Windows 2003 的 Windows NT NetUserChangePassword 机制(方法 1)。 从 Windows Vista 开始,Kerberos 更改密码协议用于域帐户。 如果目标是 Kerberos 领域,则使用 Kerberos 更改密码协议(方法 3)。
  • 从运行Microsoft Windows 95/Microsoft Windows 98 的计算机更改密码的请求使用 XACT-SMB(方法 6)。
  • 在 Active Directory 服务接口 (ADSI) IaDSUser 接口上使用 ChangePassword 方法的程序首先尝试使用 LDAP(方法 5)更改密码,然后使用 NetUserChangePassword 协议(方法 1)。
  • 在 ADSI IaDSUser 接口上使用 SetPassword 方法的程序首先尝试使用 LDAP(方法 5)、Kerberos set-password 协议(方法 4)和 NetUserSetInfo 协议(方法 2)来更改密码。
  • Active Directory 用户和计算机管理单元使用 ADSI 操作设置用户密码。