我有一个 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
这可能是一个隐藏的权限问题,因为 AD 可以将帐户存储在奇怪的地方,如果您不小心,权限可能会被夺走。
我要做的第一个故障排除步骤是查看丢失的帐户中的位置是否存在任何相关性。这可能指向权利略有不同的地方。
如果它们与特定位置不相关,下一步是查看各个对象的权限,以确定是否存在可能妨碍的差异。