我需要找出来自ldap的禁用用户

问题描述:

我想知道用户是否在ldap中使用ldapsearch实用程序被禁用,但目前为止我一直没有成功。这是我到目前为止我需要找出来自ldap的禁用用户

ldapsearch -h hostname -D 'Service Account' -b 'basedn' sAMAccountName='disabled user' -w 'password' 
# extended LDIF 
# 
# LDAPv3 
# base <basedn> with scope subtree 
# filter: sAMAccountName=disabled user 
# requesting: ALL 
# 

# search result 
search: 2 
result: 0 Success 

# numResponses: 1 

我甚至尝试使用-LLL nsaccountlock它没有给我任何东西。它与用户的随机字符串一样。 我需要找出用户,我指定是否它的活跃或禁用用户或根本不是用户。难道我做错了什么?有另一种工具,我可以用它来确定用户是否被禁用

+0

用户 - 帐户 - 控制值你需要的所有用户指定包含锁定信息的属性,无论它是什么。它不是默认返回的。 – EJP

+0

我试过-LLL fcAccountStatus,但它不工作 – user2631587

您可以使用this filter

(&(objectCategory=person)(objectClass=user)(userAccountControl:1.2.840.113556.1.4.803:=2)) 

要找到的0x00000002

+0

我试过ldapsearch -h主机名-D'服务帐户'-b'basedn'sAMAccountName ='禁用用户'-w'密码'(&(objectCategory = person)(objectClass =用户)(userAccountControl:1.2.840.113556.1.4.803:= 2)),但它给了我一个错误-bash:语法错误附近的意想不到的令牌'(' – user2631587

+0

这是关于bash转义的事情。 ('(objectClass = user)(objectClass = user)(userAccountContr ol:1.2))。 .840.113556.1. 4.803:= 2))' – jwilleke

+0

确定单引号确实工作,谢谢,但我得到的是这个信息 #扩展LDIF # #LDAPv3 #base 与范围子树 #filter:sAMAccountName = disabled用户 #要求:(&(objectCategory = person)( objectClass的=用户)(userAccountCont [R OL:1.2.840.113556 .1. 4.803:= 2)) # #搜索结果 搜索:2 结果:0成功 – user2631587