1

ext/ldap を使用して、Active Directory にエントリを追加しようとしています。単一の構造的 objectClass のみを使用する限り、すべてが期待どおりに機能しますが、2 番目の補助 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 の objectClasses に関する既知の問題はありますか? ここで何か不足していますか?domainRelatedObjectへの追加などを禁止する制限はありorganizationalUnitますか? ここで一体何が起こっているのですか ;-)?

ご参考までに、domainRelatedObjectは Active Directory スキーマに存在します。

4