我正在尝试获取特定 OU 中所有不活跃成员的列表,该 OU 名为不活跃使用以下查询:
(&(objectCategory=person)(objectClass=user)(OU=inactive,OU=Users,OU=Administration,DC=companyname,DC=com)(userAccountControl:1.2.840.113556.1.4.803:=2))
(&(objectCategory=CN=Organizational-Unit,CN=Schema,CN=Configuration,DC=companyname,DC=com)(objectClass=organizationalUnit)(memberOf=OU=inactive,OU=Users,OU=Administration,DC=companyname,DC=com)(userAccountControl:1.2.840.113556.1.4.803:=2))
(&(objectCategory=CN=Organizational-Unit,CN=Schema,CN=Configuration,DC=companyname,DC=com)(objectClass=organizationalUnit)(userAccountControl:1.2.840.113556.1.4.803:= OU=inactive,OU=Users,OU=Administration,DC=companyname,DC=com))
(&(objectCategory=CN=Organizational-Unit,CN=Schema,CN=Configuration,DC=companyname,DC=com)(objectClass=user)(userAccountControl:1.2.840.113556.1.4.803:= OU=inactive,OU=Users,OU=Administration,DC=companyname,DC=com))
但搜索没有返回任何记录。
非活动 OU 的 CN 是inactive/USERS/Administration/Companyname
。
每当我为非活动 OU 提供此路径时,它都不会返回任何结果。
请告诉我如何才能获得所需的结果。当我尝试从 AD 控制台搜索时,它显示结果如下1350用户不活跃,但我正尝试将其合并到脚本中。
答案1
那么,您是否想检索 AD 中被禁用的成员?
该 ou 中已禁用的用户:
Get-ADUser -Searchbase "OU=inactive,OU=Users,OU=Administration,DC=companyname,DC=com" -LDAPFilter "(!userAccountControl:1.2.840.113556.1.4.803:=2)"
该 ou 中未被禁用的用户:
Get-ADUser -Searchbase "OU=inactive,OU=Users,OU=Administration,DC=companyname,DC=com" -LDAPFilter "(userAccountControl:1.2.840.113556.1.4.803:=2)"
编辑:即使您不使用 ActiveDirectory 模块,.Net 方法也支持 .searchRoot 形式的 .searchBase,但您可能需要 LDAPfilter:
"(&(objectClass=user)(userAccountControl:1.2.840.113556.1.4.803:=2))"