0

WinXP/Win7/WinServer2003 環境の VS2008 で C# を使用しています。

LDAP を使用せずに Active Directory を検索する方法はありますか?

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 属性をデフォルトのゼロから上げてみてください。

dirSearcher.PageSize = 9000;

PageSize にゼロ以外の値を指定すると、ページングが発生するため、すべての結果を (PageSize に等しいバッチで) 受け取ります。

検索をさらにフィルタリングすることもできます (たとえば、非アクティブなユーザーを除外するなど)。

また、ディレクトリ サーバーがLDAP クエリに応答して返す結果の数には上限があります。この制限は、ドメインの管理者によって制御および設定されます。デフォルトは1000だと思います。

于 2012-06-05T19:47:37.227 に答える