Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/python-3.x/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何强制用户在下次使用ldap3 python模块登录时更改密码?_Python_Python 3.x_Scripting_Active Directory_Ldap3 - Fatal编程技术网

如何强制用户在下次使用ldap3 python模块登录时更改密码?

如何强制用户在下次使用ldap3 python模块登录时更改密码?,python,python-3.x,scripting,active-directory,ldap3,Python,Python 3.x,Scripting,Active Directory,Ldap3,我正在使用ldap3使用python脚本在Active Directory(Win 2012R2)中创建一个用户帐户。我唯一不能设置的属性是“用户下次登录时必须更改密码”。您能建议一种在使用创建后立即标记此复选框的方法吗?我试图更改UserAccountControl和pwdLastSet属性,但没有成功( -1是唯一有效的参数 password_expire = {"pwdLastSet": (MODIFY_REPLACE, [-1])} connect.modify(dn=user_dn,

我正在使用ldap3使用python脚本在Active Directory(Win 2012R2)中创建一个用户帐户。我唯一不能设置的属性是“用户下次登录时必须更改密码”。您能建议一种在使用创建后立即标记此复选框的方法吗?我试图更改UserAccountControl和pwdLastSet属性,但没有成功(

-1是唯一有效的参数

password_expire = {"pwdLastSet": (MODIFY_REPLACE, [-1])}
connect.modify(dn=user_dn, changes=password_expire)
密码已过期0x800000 8388608

password_expire = {"UserAccountControl": (MODIFY_REPLACE, [8388608])}
connect.modify(dn=user_dn, changes=password_expire)

注意:下面给出的解决方案可能只在即将发布的LDAP3库版本(v2.5)之后才起作用。目前,我还不知道为OP提供所需解决方案的变通方法

检查此处列出的列表:

对于v2.5版,AD中的pwdLAstSet对0和-1有效

---现在还没有发布,只是发表了评论(感谢安东·贝洛夫的通知)


如果
pwdLastSet
的值设置为0,并且UAC属性不包含标志
UF\u DONT\u EXPIRE\u PASSWD
,则会要求用户在下次登录时更改密码。有关详细信息,请查看

按照上述建议修改代码将在用户帐户的复选框中显示用于更改密码的勾号

仅使用第一个代码,并将值设置为0,如下所述

password_expire = {"pwdLastSet": (MODIFY_REPLACE, [-1])}  # // use 0 instead of -1.
connect.modify(dn=user_dn, changes=password_expire)
# // you don't need to play with UserAccountControl further...

答复的Thx,但它以“0”值失败。“-1”目前只有一个有效值。请参阅模块@AntonBelov的更改日志-从未使用过
LDAP v3纯Python客户端库
;因此我不知道这是不可能的,因为它在C#,powershell中工作。我也不知道有任何解决方法。对不起。@AntonBelov-你有什么建议-我应该删除这个答案吗?尽管我已经做了修改这样一来,未来的访问者可能会得到一些帮助,但是,我不喜欢这个答案!没关系。不管怎样,这些信息都是有用的。无论你我发布它。