使用Python ldap模块解锁Active Directory中的被锁定用户账户

0 投票
3 回答
7189 浏览
提问于 2025-04-17 01:20

我最近用Python的ldap模块在活动目录(AD)上实现了密码重置。

这个过程涉及到以这种方式传递修改后的属性:

add_pass = [(ldap.MOD_REPLACE, "unicodePwd", )]

之所以这样做是因为在AD中,密码是存储在“unicodePwd”这个属性里的。

现在我想解锁一个被锁定的用户账户,但我找不到需要更改的属性来实现这个目标。

你们能告诉我需要更改哪个属性吗?

3 个回答

-1

在编程中,有时候我们需要让程序在特定的条件下执行某些操作。比如说,当你想要在一个循环里检查某个条件是否成立,如果成立就执行某个代码块,这个时候就可以用到“条件语句”。

条件语句就像是一个判断的开关,只有在条件满足时,程序才会执行你想要的代码。这样可以让程序更加灵活,能够根据不同的情况做出不同的反应。

另外,编程中还有一些常用的工具,比如“循环”和“函数”。循环可以让你重复执行某段代码,而函数则是把一段代码封装起来,方便在需要的时候调用。

总之,理解这些基本概念后,你就能更好地控制程序的行为,让它按照你的想法运行。

def unlock_account_ad(message):
    c.bind()
    unlock_account = c.extend.microsoft.unlock_account(user='cn=' + message + ', 
                                                 ou=%OU%, dc=%domain%, dc=%DC%')
    c.unbind()
0

可以看看 userAccountControl 属性和 ADS_UF_ACCOUNTDISABLE 标志,这些可以用来禁用一个账户。

----编辑------

@Brrian Desmond 说得对,要解锁一个用户,你需要把 lockoutTime 属性设置为 0。

5

要解锁一个用户,你需要把 lockoutTime 这个属性设置为 0。

撰写回答