在 AD 过滤器和 LDAP 过滤器的帮助下,使用 powershell 查询特定 OU 中的非活动用户

在 AD 过滤器和 LDAP 过滤器的帮助下,使用 powershell 查询特定 OU 中的非活动用户

我正在尝试获取特定 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))"

相关内容