-1

重複の可能性:
Asp.NetのDirectorySearcherから1000を超えるレコードを取得できますか?
c#Active DirectoryサービスfindAll()は1000エントリのみを返します

ADからすべてのユーザーを読み取ろうとすると問題が発生します。Active Directoryには3000人を超えるユーザーが含まれていますが、読み取ることができるのは1000人だけです。これが私のコードです

public DirectoryEntry directoryEntry = new DirectoryEntry(ldap, userName, password);
public DirectorySearcher directorySearcher = new DirectorySearcher(directoryEntry);

var allUsers = directorySearcher.FindAll();
4

2 に答える 2

3

これはユーザー設定の問題です。このページによると、1000を超える結果を得るには、ページサイズを1000に設定する必要があります。

OmegaMan:奇妙なことに、1000を超えるレコードを取得するには、ページサイズを1000に設定する必要があります。これは、問題を解決する方法のために忘れてはならないトリック/問題です。

于 2013-02-04T13:00:00.620 に答える
2

ページ検索と1000行以上を戻すには、PageSizeプロパティを設定する必要があります。DirectorySearcher

public DirectoryEntry directoryEntry = new DirectoryEntry(ldap, userName, password);

public DirectorySearcher directorySearcher = new DirectorySearcher(directoryEntry);
directorySearcher.PageSize = 500;  // ADD THIS LINE HERE !

var allUsers = directorySearcher.FindAll();
于 2013-02-04T13:07:53.580 に答える