【问题标题】:I need to find out disabled users from ldap我需要从 ldap 中找出禁用的用户
【发布时间】:2018-03-16 10:46:03
【问题描述】:

我正在尝试使用 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 它什么也没给我。它也与用户的随机字符串相同。 我需要找出我指定的用户是活动用户还是禁用用户,或者根本不是用户。难道我做错了什么?是否有其他实用程序可以用来确定用户是否被禁用

【问题讨论】:

  • 您需要指定包含锁定信息的属性,无论它是什么。默认不返回。
  • 我试过 -LLL fcAccountStatus 但它也不起作用

标签: active-directory ldap openldap


【解决方案1】:

你可以使用this filter:

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

查找 User-Account-Control 值为 0x00000002 的所有用户

【讨论】:

  • 我试过 ldapsearch -h hostname -D 'Service Account' -b 'basedn' sAMAccountName='disabled user' -w 'password' (&(objectCategory=person)(objectClass=user)(userAccountControl :1.2.840.113556.1.4.803:=2)) 但它给了我一个错误 -bash: syntax error near unexpected token `('
  • 这与 bash 转义有关。尝试使用引号(或双引号),例如 ldapsearch -h hostname -D 'Service Account' -b 'basedn' sAMAccountName='disabled user' -w 'password' '(&(objectCategory=person)(objectClass=user)( userAccountContr‌​ol:1.2.840.113556.1.‌​4.803:=2))'
  • ok 单引号确实有效,谢谢,但我得到的只是这些信息 #extended LDIF # # LDAPv3 # base with scope subtree # filter: sAMAccountName=disabled user # requesting: (&(objectCategory=person)(objectClass=user)(userAccountCont‌​r‌​ol:1.2.840.113556‌​.1.‌​4.803 :=2)) # # 搜索结果 search: 2 result: 0 Success
猜你喜欢
  • 2018-02-05
  • 2016-10-05
  • 1970-01-01
  • 1970-01-01
  • 2014-10-20
  • 2016-07-26
  • 2020-07-01
  • 1970-01-01
相关资源
最近更新 更多