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

sor*_*rin 4 ldap active-directory ldap-query

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

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

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

我知道我可以通过以下方式查看活动用途

(!(useraccountcontrol:1.2.840.113556.1.4.803:=2))
Run Code Online (Sandbox Code Playgroud)

残疾人使用:

(useraccountcontrol:1.2.840.113556.1.4.803:=2)
Run Code Online (Sandbox Code Playgroud)

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

Bri*_*ond 5

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

const long ADS_UF_ACCOUNTDISABLE = 0x00000002;
long userAccountControl = //currentUacValue
long newUserAccountControl = (userAccountControl | ADS_UF_ACCOUNTDISABLE);
Run Code Online (Sandbox Code Playgroud)

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

long userAccountControl = //currentUacValue
long newUserAccountControl = (userAccountControl & ~ADS_UF_ACCOUNTDISABLE)
Run Code Online (Sandbox Code Playgroud)