从 Visual C# 中的 AD 获取具有相同 physicalDeliveryOfficeName 的所有用户的列表

Get List of all users with the same physicalDeliveryOfficeName from AD in Visual C#

我想在我的活动目录中搜索属于特定 physicalDeliveryOfficeName (LDAP) 的所有用户,并将它们存储到 SearchResult 类型的数组中。我可以使用 DirectorySearcher 过滤器执行此操作吗?或者有更好的方法吗?

我正在使用 asp.net,Visual C#。谢谢!

使用 DirectorySeacher class,您的查询可能是

(&(objectClass=user)(physicalDeliveryOfficeName=Kalkutta))

其中 objectClass=user 仅获取用户条目,physicalDeliveryOfficeName=Kalkutta 是您对办公室的查询。

DirectoryEntry entry = new DirectoryEntry("LDAP://...");           
DirectorySearcher search = new DirectorySearcher(entry)
    {
         SearchScope = SearchScope.Subtree,
         Filter = "(&(objectClass=user)(physicalDeliveryOfficeName=Kalkutta))"
    };
search.PropertiesToLoad.Add("cn");
SearchResultCollection result = search.FindAll();
foreach (SearchResult r in result)
     Response.Write(r.Properties["cn"][0]);