如何使用LDAP请求启用或禁用AD用户帐户?

时间:2012-04-07 09:20:34

标签: active-directory ldap ldap-query

到目前为止,我能够在LDAP中找到用户,但我不知道如何启用或禁用它们。

作为第二个问题,如果我的帐户具有域管理员权限,我是否可以启用或禁用LDAP帐户?

注意:这是关于在Windows 2003上运行的Microsoft Active Directory。

我知道我可以使用

检查有效用途
(!(useraccountcontrol:1.2.840.113556.1.4.803:=2))

残疾人使用:

(useraccountcontrol:1.2.840.113556.1.4.803:=2)

问题是如何设置属性,使其不会丢失其他二进制标志。

1 个答案:

答案 0 :(得分:4)

你需要在这里使用一些逻辑。因此,要禁用用户,请设置禁用位(2)。所以:

const long ADS_UF_ACCOUNTDISABLE = 0x00000002;
long userAccountControl = //currentUacValue
long newUserAccountControl = (userAccountControl | ADS_UF_ACCOUNTDISABLE);

要启用帐户,我们需要清除禁用位:

long userAccountControl = //currentUacValue
long newUserAccountControl = (userAccountControl & ~ADS_UF_ACCOUNTDISABLE)