C# 如何在从Active Directory获取用户列表时跳过特定的组织单位(OU)
我正在从Active Directory中提取一个用户列表,但是我想跳过一个名为“ServiceAccounts”的特定组织单位。我的理解是,以下行无法解决我的问题,因为通配符不适用于DN:C# 如何在从Active Directory获取用户列表时跳过特定的组织单位(OU),c#,active-directory,ldap,ldap-query,directorysearcher,C#,Active Directory,Ldap,Ldap Query,Directorysearcher,我正在从Active Directory中提取一个用户列表,但是我想跳过一个名为“ServiceAccounts”的特定组织单位。我的理解是,以下行无法解决我的问题,因为通配符不适用于DN: search.Filter = "(&(objectCategory=person)(objectClass=user)(!(distinguishedName=*ServiceAccounts*))(mail=*))"; 此OU包含大约150多个服务帐户的列表,我在生成员工列表时不需要这些帐户。
search.Filter = "(&(objectCategory=person)(objectClass=user)(!(distinguishedName=*ServiceAccounts*))(mail=*))";
此OU包含大约150多个服务帐户的列表,我在生成员工列表时不需要这些帐户。我唯一的问题是,如何不从特定的OU获取记录
谢谢,非常感谢 在LDAP中,通常不允许在DN值内进行子字符串搜索 Microsoft Active Directory 由于微软的Active Directory只是规则,我认为这是不可能的 此外,默认情况下,“ou”值不会填充到用户条目上,或者您可以使用:
(!(ou=ServiceAccounts))
在过滤器内
某些编程环境似乎具有以下语法:
(&(objectClass=user)(!(distinguishedName:=%ServiceAccounts%)))
也许有人可以提供更多关于树结构的信息来解决这个问题