Используя ext / ldap, я пытаюсь добавить записи в Active Directory. Пока я использую только один структурный objectClass, все работает как положено, но как только я пытаюсь добавить запись со вторым вспомогательным objectClass, сервер сообщает об ошибке:
Сервер не хочет выполнять; 00002040: SvcErr: DSID-030F0AA0,
задача 5003 (WILL_NOT_PERFORM), данные
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,
задача 5003 (WILL_NOT_PERFORM), данные
0
Поскольку все другие операции обновления и добавления работают, я думаю, что проблема должна быть связана с атрибутом objectClass.
Поскольку мне не хватает опыта работы с Active Directory (я привык к OpenLDAP):
Есть ли известные проблемы с объектными классами в Active Directory? Я что-то здесь упускаю? Существуют ли ограничения, запрещающие добавление, например, domainRelatedObject
до organizationalUnit
? Какого черта здесь происходит; -)?
На всякий случай, если вам интересно: domainRelatedObject
присутствует в схеме Active Directory.