У меня есть список руководств пользователей Active Directory, мне нужно загрузить набор свойств этих пользователей для конкретной отчетности. Чтобы сделать это, если мы сделаем привязку для каждого Guid, тогда это будет дорогостоящим. Будь то с DirectorySearcher, можем ли мы предоставить несколько Guid (скажем 1000) в качестве фильтра и загрузить свойства ?.DirectorySearcher for multiple 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. Querying for multiple values
- 2. multiple using for editorforModel
- 3. DirectorySearcher Фильтр
- 4. instanceof use for multiple types
- 5. BlockingQueue Behavior for Multiple Request
- 6. BASH for loop multiple arrays
- 7. django aggregate for multiple days
- 8. Condense Multiple Nested For Loops
- 9. Swift Construct for Multiple Choice
- 10. Regex for Multiple Deny Selection
- 11. xpath for-each multiple conditions
- 12. Python For loop multiple returns
- 13. Backbone.js multiple delegateEvents for view
- 14. Powershell DirectorySearcher Null Output
- 15. GUID vs md5 hash for persistent cookie
- 16. Почему нет == реализация вызова Equals for Guid?
- 17. directorysearcher pagesize confusion
- 18. Разный результат с DirectorySearcher
- 19. DirectorySearcher возвращает ERROR_MORE_DATA
- 20. C# DirectorySearcher filter
- 21. PHP MYSQL Multiple If Statement for Multiple UPDATES
- 22. Curl: callback for Multiple download progress
- 23. Multiple Счетчик Проблема В цикле For Loop
- 24. Fit Bounds for Multiple Polygons google Maps
- 25. Python wait for button press (multiple input)
- 26. jQuery group Validation for multiple textboxes
- 27. python for loop not return multiple dict
- 28. Scaling Cassandra for Multiple vs Single table
- 29. WCF Mex End Points for Multiple Bindings
- 30. batch - echo multiple do in for loop
Просто интересно, вы можете использовать что-нибудь еще кроме GUID, чтобы однозначно идентифицировать пользователей? (Например, 'SAMAccountName',' distinctName') – X3074861X
@ X3074861X В настоящее время у меня есть руководство, чтобы идентифицировать пользователей. – prabna