0

我在 WinXP/Win7/WinServer2003 环境中的 VS2008 中使用 C#。

有没有办法在不涉及 LDAP 的情况下搜索活动目录?

我在 Active Directory 中创建了用户,但是当我使用它进行搜索时

        DirectorySearcher dirSearcher = new DirectorySearcher(
            new DirectoryEntry("LDAP://DC=kmmnet,DC=com"),
            "(objectClass=user)",
            new string[] { "sAMAccountName", "displayname", "givenname", "sn" });
        foreach (SearchResult s in dirSearcher.FindAll())
        {
            System.DirectoryServices.PropertyCollection p = s.GetDirectoryEntry().Properties;
        }

它无法找到某些用户。

谢谢肖恩

4

1 回答 1

2

尝试将 PageSize 属性从其默认值 0 提高:

dirSearcher.PageSize = 9000;

PageSize 的任何非零值都将导致分页发生,因此您将收到所有结果(批量等于 PageSize)。

您还可以尝试更多地过滤搜索(例如,排除非活动用户等)。

并且,目录服务器响应 LDAP 查询返回的结果数量有上限。此限制由域上的管理员控制和设置。我相信默认值是 1000。

于 2012-06-05T19:47:37.227 回答