Hi, On Thursday, 28. September 2006 19:34, Giuoco, Aaron wrote: > I am trying to add groups to a user account on a Windows 2003 Active > Directory server. Every time I run my code, I get the following error > message: > > ERROR: 0000209A: SvcErr: DSID-031A0DD5, problem 5003 (WILL_NOT_PERFORM), > data 0 > > Below is the code that triggers this message: > > ----Begin Code---- > my $message = $ldap->modify($entry->dn(), add => { memberOf => > $groupsArray }); > if ($message->is_error()) { > return "ERROR: " . $message->error() . "\n"; > } else { > return 1; > } > ----End Code---- > > The $ldap object is valid and the user object ($entry) is also valid. I > tested both of them earlier in the script. $groupsArray is a reference > to an array containing the DNs of the groups I am trying to add to this > user account. > > Just to test, I also created a foreach() and tried to add each group DN > one at a time. It fails when trying to add the first group. It looks > like it won't let me modify the memberOf property for some reason, but > that doesn't make since to me as I am connecting as a Domain Admin. > > Any idea as to what I'm doing wrong? Thanks in advance.
You did nothing wrong. AFAICT the code is OK and perl-ldap is working O.K. as well. It is just that AD does not support this operation. IIRC ADS keeps referential integrity. I.e. if you add a user to a group, the user's memberOf attribute will be updated accordingly. Try it the other way 'round: add the user's DN to the member attribute of the groups and check the memberOf attribute afterwards. Regards PEter