LDAP 查询不会返回具有特定登录名的所有帐户

LDAP 查询不会返回具有特定登录名的所有帐户

我有一个 Windows 2008 域,我正在通过 ldapsearch 进行查询,如果我使用域管理员帐户,我会得到我期望的所有用户,但如果我使用为此目的创建的服务帐户,我会错过随机对象。

例如:

#> ldapsearch -LLL -H ldap://domain-controller.my-domain.com:389 -b 'dc=MY-DOMAIN,dc=COM' -D 'MY-DOMAIN\administrator' -W '(&(objectClass=Person)(sAMAccountName=*)(memberof=cn=StashTeam,ou=MyTeams,ou=MyDomainUsers,dc=MY-DOMAIN,dc=COM)(!(userAccountControl=514)))' | grep cn:

我得到一份清单:

cn: Homer Simpson
cn: Marge Simpson
cn: Bart Simpson
cn: Lisa Simpson
cn: Maggie Simpson

但是如果我运行(使用我的服务帐户):

#> ldapsearch -LLL -H ldap://domain-controller.my-domain.com:389 -b 'dc=MY-DOMAIN,dc=COM' -D 'MY-DOMAIN\ServiceUser' -W '(&(objectClass=Person)(sAMAccountName=*)(memberof=cn=StashTeam,ou=MyTeams,ou=MyDomainUsers,dc=MY-DOMAIN,dc=COM)(!(userAccountControl=514)))' | grep cn:

我得到如下列表:

cn: Homer Simpson
cn: Lisa Simpson
cn: Maggie Simpson

答案1

这可能是一个隐藏的权限问题,因为 AD 可以在奇怪的地方存储帐户,如果您不小心,权限可能会被夺走。

我要做的第一个故障排除步骤是查看帐户中是否存在遗漏的位置关联。这可能指向权限略有不同的位置。

如果它们与特定位置不相关,下一步就是查看各个对象的权限,以确定是否存在可能造成阻碍的差异。

相关内容