如何使用Python在Windows中修改密码到期?

对于使用Python的本地用户,如何在Windows XP上将密码过期修改为“never”?我有PyWIN和WMI模块,但没有解决方案.我设法通过WMI(基于Win32_UserAccount类)查询当前设置,但是如何修改它?

解决方法:

如果您使用ActvePython针对Active Directory运行python脚本,那么您可以使用以下内容:

import win32com.client
ads = win32com.client.Dispatch('ADsNameSpaces')
user = ads.getObject("", "WinNT://DOMAIN/username,user")
user.Getinfo()
user.Put('userAccountControl', 65536 | user.Get('userAccountControl'))
user.Setinfo()

但是如果你的python在unix下运行,你需要两件事来与Active Directory对话:Kerberos和LDAP.获得与Active Directory服务器的SASL(GSSAPI(KRB5))经过身份验证的LDAP连接后,即可访问目标用户的“userAccountControl”属性.

userAccountControl是一个整数属性,被视为位字段,您必须在其上设置DONT EXPIRE PASSWORD位.有关位值,请参见this KB article.

上一篇:java – MD5每个密码的字母值得吗?


下一篇:第3章 开发前的准备