Поиск Python LDAP не возвращает атрибуты ActiveDirectory - PullRequest
0 голосов
/ 09 мая 2018

При запуске поиска ldap для пользователя ActiveDirectory я получаю только подмножество атрибутов (проверено просмотром того же пользователя в Active Directory Explorer).

Есть ли способ просмотреть эти отсутствующие атрибуты, или это ограничение модуля ldap?

pp = pprint.PrettyPrinter(indent=2)
search_filter = '(cn=foouser)'
base_dn = 'DC=foo,DC=bar,DC=net'

ldap_connection.protocol_version = ldap.VERSION3
ldap_connection.simple_bind_s(bind_dn, bind_password)

try: 
  result = ldap_connection.search_s(base_dn, ldap.SCOPE_SUBTREE, search_filter)
  pp.pprint(result)
except ldap.LDAPError, e:
  print e
finally:
  ldap_connection.unbind_s()

1 Ответ

0 голосов
/ 09 мая 2018

Если вы не укажете, какие атрибуты возвращать, он вернет все неструктурированные атрибуты, которые имеют значения. Таким образом, вы должны получить все.

Построены такие атрибуты, как canonicalName, msDS-PrincipalName и другие. Если вы хотите получить их из поиска, вам нужно указать их в параметре attrlist search_s. Но как только вы укажете что-нибудь в attrlist, вам нужно будет указать каждый атрибут, который вы хотите увидеть.

Обратите внимание, что независимо от того, что вы укажете, вы никогда не увидите атрибуты, которые не имеют значений. Вы не увидите его с нулевым значением, вы просто не увидите его вообще.

...