1. 程式人生 > >AD 中 查詢 1000條限制問題

AD 中 查詢 1000條限制問題

catch efault lun amp support return entry then ros

  • MaxPageSize -此值控制的最大獨立的每個返回的對象的大小對單個搜索結果中返回的對象數。要執行的搜索的結果可能超過此數目的對象,客戶端必須指定分頁的搜索控件。這是在不大於MaxPageSize值的組中返回的結果進行分組。總之, MaxPageSize控制在單個搜索結果中返回的對象的數目。

    默認值: 1000

代碼中設置一下 PageSize 即可,

參考代碼:

//得到Ad中所有用戶
public static SearchResultCollection GetAllUsers(string adPath, string adMIN, string adPWD)
{

try
{
DirectoryEntry entry = new DirectoryEntry(adPath, adMIN, adPWD, DefaultAuthenticationType);
// DirectoryEntry entry = new DirectoryEntry(ADPath, ADMIN, AdPWD, DefaultAuthenticationType);
DirectorySearcher directorySearch = new DirectorySearcher(entry);

// LDAP://sensen.com/CN=001216,OU=User,OU=JR,DC=sensen,DC=com
directorySearch.Filter = "(&(objectClass=user))";

// directorySearch.Filter = "(&(objectClass=organizationalUnit)(ou=JR))";
directorySearch.Sort.PropertyName = "cn";
directorySearch.SearchScope = SearchScope.Subtree;

directorySearch.PageSize = 5000;
SearchResultCollection results = directorySearch.FindAll();

if (results != null)
{
return results;
}
else
{
return null;
}
}
catch (Exception ex)
{
return null;
}

}

這個問題在微軟的網站已經給出了解決方案 :http://support.microsoft.com/kb/315071

AD 中 查詢 1000條限制問題