這裏是我的問題:我需要枚舉我們的Active Directory中的某些組的成員。複雜性在於組的'membersOf'屬性中的對象的DN不包含我需要的標識符。具體來說,用戶對象的CN
對我來說沒用,只有用戶對象的屬性(userID
)很有用。c#LDAP的成員資格枚舉
所以三種方法浮現在腦海:
我可以先枚舉組的組中獲得的
DN
的列表,然後執行每個用戶DN,找出自己的userID
查找我可以列舉AD中的每個用戶,抓住他們的&
membersOf
集合,然後檢查他們是否具有正確的成員資格。我可以通過他們的
CN
和userID
來獲取所有用戶的列表,然後枚舉這些組以獲得成員CN。然後,我可以加入原始列表中的列表以獲取我的成員名單userID
的。
幾個問題立刻出現 - 選項1)將產生極其大量的子查詢和擁塞的網絡流量(不希望的),以及選項2)拉動從AD數據的量巨大(類似30MB)。選項3)在道路中間 - 但它仍然拉取相當多的數據並有多個查詢。如何做到這一點沒有這些問題,還有其他選擇嗎?
我在c#中使用System.DirectoryServices
工具。
預先感謝您的時間和考慮。