我正在做一个需要查询活动目录的应用程序,我一直在使用ldap查询。
我的问题是我真的无法使用ou=People,dc=pisoftware,dc=com
,因为人员节点名称不断变化,因为我的部门名称最近发生了很大变化。因此,为了避免每次名称更改时都必须更改代码的问题,那么我想知道是否有任何方法可以通过某种文件夹ID进行查询?
例如,也许我可以ouid=123456,dc=pisoftware,dc=com
答案 0 :(得分:3)
为什么不能执行ldap查询,该查询应用过滤器仅返回objectCategory = person。然后,您可以在搜索基础DN上定位该查询,这样即使重命名/更改了ou / People节点,它仍然可以返回您想要的内容。有一个非常好的指南,向您展示如何完成所有这些以及查询如何在这里工作:http://www.rlmueller.net/ADOSearchTips.htm
答案 1 :(得分:0)
您可以做的另一件事是将搜索向上移动到目录层次结构足够远的地方,以包含用户所在的位置和操作:
myDirectorySearcher.SearchScope = SearchScope.SubTree;
然后在AD中进行递归子树搜索。