Используя LDAP3, найдите значение атрибута в одном словаре, соответствующее значению атрибута в другом - PullRequest
0 голосов
/ 18 апреля 2019

Используя LDAP3 в Python 3.x, я могу успешно установить соединение с Active Directory и получить только нужную коллекцию атрибутов и пользователей. Я могу использовать счетчик для пошагового прохождения каждого пользователя / словаря по очереди, получая значения, необходимые для создания строки, которую я напишу в файл позже. Вот где я зацикливаюсь, и, может быть, дело в том, что я недостаточно хорошо разбираюсь в логике.

У меня есть счетчик, который я использую, чтобы заставить мой код проходить через каждого пользователя / словарь, чтобы ...

i = 0
while i < len(c.entries[i]
     aduser = c.entris[i]

Что мне нужно сделать, это создать метод, который будет принимать значение поля (назовите его Manager) в aduser, искать это значение в другом атрибуте среди всех пользователей / словарей, получать соответствующий пользователь / словарь и вернуть значение другого атрибута из этого совпадения (имя учетной записи).

Я подумал, что мне нужно будет передать методу как значение, которое я ищу (aduser.Manager.value), так и местоположение записей для поиска (c.entries) при вызове метода.

Я пробовал что-то подобное, но безрезультатно. Кажется, так как LDAP3 участвует, я должен сделать это по-другому?

def MIDSearch(MIDSearchCriteria, EntriesList):
        for line in EntriesList():
            if line == MIDSearchCriteria:
                return aduser.samaccountname.value

Я полностью сбит с толку, и никакая документация, которую я прочитал или ответы, которую я прочитал, ни здесь, ни где-либо еще, не помогла. Я работаю над этим уже несколько дней, и любая помощь будет принята с благодарностью.

...