代码之家  ›  专栏  ›  技术社区  ›  Stefan Gehrig

通过ext/LDAP将LDAP条目添加到Active Directory

  •  1
  • Stefan Gehrig  · 技术社区  · 16 年前

    我试图使用ext/ldap将条目添加到Active Directory。只要我只使用一个单一的结构化objectClass,一切都会按预期工作,但只要我尝试添加带有第二个辅助objectClass的条目,服务器就会报告一个错误:

    问题5003(不会执行),数据 0

    ldap_add($ldap, 'OU=Test,OU=Test,DC=domain,DC=example,DC=local', array(
        'ou' => 'Test',
        'objectClass' => 'organizationalUnit',
        'l' => 'location'
    ));
    

    这并不是:

    ldap_add($ldap, 'OU=Test,OU=Test,DC=domain,DC=example,DC=local', array(
        'ou' => 'Test',
        'associatedDomain' => 'domain',
        'objectClass' => array('organizationalUnit', 'domainRelatedObject'),
        'l' => 'location'
    ));
    

    如果我尝试将辅助objectClass添加到现有条目中,也会发生同样的情况:

    ldap_mod_add($ldap, 'OU=Test,OU=Test,DC=domain,DC=example,DC=local', array(
        'associatedDomain' => 'domain',
        'objectClass' => 'domainRelatedObject'
    ));
    

    相应的错误消息基本相同

    00002040:SvcErr:DSID-030508F8,

    正如所有其他更新和添加操作一样,我认为问题一定与objectClass属性有关。

    由于我对活动目录没有足够的经验(我习惯于OpenLDAP): domainRelatedObject organizationalUnit

    以防万一,你会想:这个 域相关对象 存在于Active Directory架构中。

    2 回复  |  直到 16 年前
        1
  •  2
  •   Martin v. Löwis    16 年前

    我刚刚发现,为了添加动态(每个实例)aux类 forest functional level of the domain must be 2003

        2
  •  0
  •   Martin v. Löwis    16 年前

    ADSI Edit . 如果不能,请先修复权限(检查“安全设置”高级视图中的“属性”选项卡)

    我现在可以将这个特定的类作为域管理员附加到organizationalUnit对象上;所以原则上,这是可能的。