【问题标题】:How to set and get multiple values(array values) to Single attribute in Active Directory using C++ win32 API?如何使用 C++ win32 API 为 Active Directory 中的单个属性设置和获取多个值(数组值)?
【发布时间】:2012-11-06 14:38:02
【问题描述】:

我正在使用 C++ Win32 API。

我已经使用 ldap 函数连接 AD 并创建了一个属性。

我已经完成了从 AD 设置和获取属性的单个值。

现在,我想在我自己的属性中设置多个值。属性名称是 "UsrAttrib"。

如何将值数组设置到该属性中?

我已经尝试使用下面的代码获取“objectClass”属性值。

usrValue = ldap_get_values(
                          pLdapConnection,  // Session Handle
                          pEntry,           // Current entry
                          "ObjectClass");

属性实际值为top;person;organizationalPerson;user

usrValue 只给出top

我使用ldap_count_values 进行检查,结果为4

如何从该属性中获取所有值?

【问题讨论】:

    标签: c++ windows winapi ldap adsi


    【解决方案1】:

    要获取特定属性的所有值,请在搜索该属性的结果上使用ldap_count_valuesldap_get_values。请参阅Searching a Directory 示例。

    要为特定属性设置多个值,您可以将它们全部列在ldapmod 结构的mod_values 成员中,或者您可以创建多个LDAP_MOD_ADD 结构。

    【讨论】:

    • @SanjuMonu usrValue 只给出“顶部”是什么意思?这是一个数组,所以usrValue[0] 应该是“top”,usrValue[1] 应该是“person”等等。
    猜你喜欢
    • 1970-01-01
    • 2018-04-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多