Я пытаюсь получить некоторые пользовательские атрибуты из Active Directry, используя Windows LDAP API. Я использую:
- Версия Active Directory: та, которая поставляется с Windows Server 2012.
- Версия LDAP: 3
- Версия Wldap32.lib: та, которая поставляется с Windows 10 x64.
Eg:
PCHAR myAttributes[4];
myAttributes[0] = "DistinguishedName";
myAttributes[1] = "DisplayName";
myAttributes[2] = "PasswordExpired";
myAttributes[3] = "mail";
ldap_search_s(
myLdapConnection, // Ldap connection
myDomain, // DN to start search
LDAP_SCOPE_SUBTREE, // Scope
myFilter, // Filter
myAttributes, // Retrieve list of attributes
0, // Get both attributes and values
&mySearchResult // [out] Search results
);
Он возвращает атрибуты DistinguishedName
, DisplayName
и mail
, но не возвращает атрибут PasswordExpired
.
Я запросил некоторые другие атрибуты, и похоже, что он не возвращает атрибуты с логическими значениями, а также атрибут EmailAddress
.
- Почему он не возвращает атрибут
PasswordExpired
? - А как насчет
EmailAddress
? - Есть ли разница между
EmailAddress
иmail
?