获取不在父组中的所有AD用户

我有一个小组,我使用命名的工作人员。 它是一些嵌套组的父母。 我需要对该组进行审计,以列出不属于该组的一部分的用户或其中的任何嵌套子组。 我find了脚本,这些脚本会给我不属于工作人员组的用户,但不包括任何子组,因此用户可以是子组的一部分,但仍然被列为不在父母组。 我不想为父母的每个孩子组编写脚本。

有没有办法列出所有不属于一个团体的账户,而且还包括所有的子女?

您可以使用所谓的LDAP_MATCHING_RULE_IN_CHAIN运算符来运行单个LDAP查询。 该运算符的数字OID是1.2.840.113556.1.4.1941 。 通过在属性和要search的值(attribute:OID:=DN)之间放置数字OID,您可以在LDAPsearch中请求这种types的选项。 您可以像这样使用PowerShell cmdLet运行LDAP查询:

 get-adobject -ldapfilter "(&(objectcategory=person)(objectclass=user)(!memberof:1.2.840.113556.1.4.1941:=CN=some,CN=group,DC=yourco,DC=com))" 

此查询还使用not(!)运算符,因为您正在查找不是该组的嵌套成员的用户。 您也可以通过select“自定义search”和“高级”选项卡,通过ADUC / DSA运行LDAP查询。 gui搜索

两篇关于LDAPsearch语法的MS文章以及一些其他的细节使得这成为可能: