LDAP pwdlastset无法更改而不显示错误

mic*_*mic 2 ldap active-directory

我有一个问题,我需要一些帮助.

我使用LDAP和PHP来验证用户,我还检查用户密码是否标记为已过期.如果用户的密码未过期或者管理员已勾选该框以强制重置密码,则一切正常.但是,当密码通过组策略到期时,我遇到问题.

为了使我能够在密码被标记为过期时对用户进行身份验证,我需要将pwdlastset值更改为-1,然后再将其更改为第一个位置.但是只要密码过期而不是更改pwdlastset值,这只会抛出异常.

例外:

0x50 (Other (e.g., implementation specific) error; 00000057: SysErr: DSID-031A1202, problem 22 (Invalid argument), data 0 ): updating: CN=Steve,OU=Developer Groups,DC=external,DC=domain,DC=local in
Run Code Online (Sandbox Code Playgroud)

任何人都可以确认我是否正确认为一旦密码通过政策过期我无法更改此值?

如果我无法更改此值,是否有解决方法?

谢谢

JPB*_*anc 9

只有系统可以将pwdLastSet属性修改为0或-1以外的任何值.如果指定0,则密码立即过期.然后,当用户更改其密码时,系统会将当前日期/时间分配给pwdLastSet属性.

值-1对应于64位属性中允许的最大整数,2 ^ 63-1.该值与0相反.它使密码不过期.当用户下次登录时,系统会将pwdLastSet属性设置为与当前日期/时间对应的值.