2017-09-08 142 views
0

我正在使用.net核心的Novell.Directory.Ldap庫來搜索活動目錄。總的來說,這個庫運行得非常好,我已經成功地將它用於許多目錄。Novell.Directory.Ldap分頁的搜索結果

但是,我遇到了一個問題,搜索限制被限制爲1,000條記錄 - 我遇到了一個更像10,000條目的AD。

我知道我可以設置限制來增加Novell庫中的軟限制,然後使用DC的搜索限制,從默認情況下我可以看到這個限制爲5,000。

如果我使用完整的框架,我可以使用具有分頁搜索選項的System.DirectoryServices,這將允許我使用較小的頁面大小進行搜索,但最終會獲得所有結果。

有什麼辦法可以在Novell.Directory.Ldap庫中執行等效的分頁搜索操作嗎?

+0

僅僅因爲DIT有10,000個條目,並不是您需要> 1000個搜索結果的原因。如果你使用了那麼多,你真的做錯了。但是如果Novell代碼不支持分頁搜索結果控制,我會感到驚訝。他們幾年前進入這個領域。 – EJP

+0

@EJP我正在做一個審計,我需要所有的人 - 只是不在一批。 Novell代碼支持似乎被標記爲垂直窗口列表的東西(儘管我認爲它是一個錯字,應該是虛擬窗口列表) - 這可能是關鍵。今天早上我會看看。 –

+0

您可以在不超出搜索結果限制的情況下執行審計。您可以遞歸列出任何子樹的內容。 – EJP

回答

2

Simple Paged Results Control可以設置爲一個窗口,用於從Microsoft Active Directory檢索所有條目。

Active Directory servers have a default server-side limit of 1000 entries作爲在單個請求中返回的結果的最大數量。如果查詢結果超出此限制,則使用分頁結果控件,頁面大小等於或小於服務器端限制,以便檢索查詢的所有結果。

所以,你應該能夠做,只要頁面大小小於1000

不知道的實現,但I did find a sample in Github這一點。

+0

非常感謝 - 這真的很好。對於任何想在將來使用此庫進行此操作的人,請注意,Nuget(Novell.Directory.LDAP.netstandard)上的版本不適用於這些附加控件,因爲該版本似乎爲每個搜索都創建了一個新連接,導致AD服務器發生異常) - 而是從GitHub鏈接克隆回購(記住採用coreclr分支)並使用它。 –