我有Active Directory用戶Guid的列表,我需要爲特定報告加載這些用戶的一組屬性。要做到這一點,如果我們爲每個Guid綁定,那麼這將是一個昂貴的。無論使用DirectorySearcher,我們是否可以提供多個Guid(例如1000)作爲過濾器並加載屬性?DirectorySearcher多個Guid
1
A
回答
0
目前我不知道如何以編程方式在C#中執行此操作,但是如果您要編寫原始LDAP查詢,則可以決定是否通過AND或OR組合多個參數。要做到這一點,你必須打開一個組(使用一個正常的大括號"("
),並定義組內的所有元素是否應該與之匹配"&"
或ORed "|"
。
下面是一個例子:
(|(msExchMailboxGuid=\AD\26\05\EA\5D\C9LD\696\11\40\21\9BSM)
(msExchMailboxGuid=i8\162\97\39\B0G\BA\ABR\34\AD\1F\AB\9C)
(msExchMailboxGuid=\A3\99\AC\3A\2B\E8\82F\AB\19\FF\29h2W\0E))
0
你應該將您的GUID,以字節串,然後將其插入到LDAP過濾器,像這樣:
Guid guid = new Guid(); // your guid value
byte[] byteGuid = guid.ToByteArray();
string octetStr = byteGuid.Aggregate("", (current, b) => current + (@"\" + b.ToString("x2")));
string query = "(&(edsaapoguid=" + octetStr + ")(objectClass=user))";
string path = "LDAP://" + yourDomain.com + "/" + "OU=rootOU,DC=yourDomain,DC=com";
DirectoryEntry searchRoot = new DirectoryEntry(path, yourDomain + @"\" adminName, password);
DirectorySearcher searcher = new DirectorySearcher(searchRoot, query)
{
SearchScope = SearchScope.Subtree
};
SearchResultCollection results = searcher.FindAll();
相關問題
- 1. 使用的DirectorySearcher查詢多個OU
- 2. 異步DirectorySearcher(LDAP)
- 3. 的DirectorySearcher過濾
- 4. DirectorySearcher返回ERROR_MORE_DATA
- 5. C#DirectorySearcher篩選器
- 6. VB.NET的DirectorySearcher尋呼
- 7. 使用LDAP DirectorySearcher MVC3
- 8. DirectoryServices.Protocols.SearchRequest爲GUID返回多個結果
- 9. 多個Guid的Lambda表達式
- 10. 如何驗證GUID是一個GUID
- 11. 與DirectorySearcher的不同結果
- 12. DirectorySearcher空過濾器比較
- 13. VB.Net DirectorySearcher更改爲使用多個線程後返回0結果
- 14. 我可以從ASP.NET中的DirectorySearcher獲得1000多條記錄嗎?
- 15. Cypher在Neo4j IN ['GUID','GUID']
- 16. GUID但不是真GUID
- 17. 打印一個GUID變量
- 18. System.ArgumentNullException創建一個GUID
- 19. 使用DirectorySearcher時要退出密碼嗎?
- 20. 使用DirectorySearcher的奇怪結果
- 21. 用於Office 365 Active Directory的LDAP DirectorySearcher
- 22. 如何確定使用DirectorySearcher時的ClientTimeout
- 23. Dispose在DirectorySearcher中按預期工作
- 24. DirectorySearcher和PrincipalSearcher的Active Directory不同結果
- 25. 檢查DirectoryEntry在DirectorySearcher中是否有效
- 26. LDAP的DirectorySearcher用的memberOf屬性
- 27. DirectorySearcher FindOne()初始執行延遲
- 28. 廣告DirectorySearcher限制爲1k行
- 29. 比較一個GUID,所以我可以通過GUID
- 30. 初始化一個常量GUID *(GUID指針)
只是好奇,你可以使用別的除了唯一標識用戶的GUID? (例如'SAMAccountName','distinguishedName') – X3074861X
@ X3074861X目前我只有Guid來識別用戶。 – prabna