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 スキーマに存在します。