I cut off the last line of the errors, which says this, which might be
an additional clue:
ntUserDomainId: value #0 invalid per syntax
This makes me think somewhere an array is being used instead of a string.
Prentice Bisbal wrote:
> Okay guys, I need another pair of eyes to try find an error in my code.
> Can any of you see anything wrong with this bit of code?
>
> $mesg = $entry->add('objectClass' => 'ntUser',
> 'ntUserDomainId' => $ntUserDomainId,
> 'ntUserHomeDir' => "\\\\host.tld\\home\\$ntUserDomainId"
> );
>
> .
>
> When I run my program, I get this error:
>
> Use of uninitialized value in concatenation (.) or string at
> ./add_nt_attribs.pl line 120, <STDIN> line 1.
> Use of uninitialized value in length at
> /usr/local/perl-5.8/lib/site_perl/5.8.8/Convert/ASN1/_encode.pm line
> 143, <STDIN> line 1.
> Use of uninitialized value in concatenation (.) or string at
> /usr/local/perl-5.8/lib/site_perl/5.8.8/Convert/ASN1/_encode.pm line
> 144, <STDIN> line 1.
> ntUserDomainId: value #0 invalid per syntax at
> /usr/local/perl-5.8/lib/site_perl/5.8.8/Net/LDAP/Entry.pm line 268
>
> $entry already exists in LDAP, and I'm just trying to add this new
> objectClass and related attributes to the entry. Am I doing this the
> wrong way?
>
> Should I be using a function other than entry->add(), like $ldap->modify()?
>
--
Prentice Bisbal
Linux Software Support Specialist/System Administrator
School of Natural Sciences
Institute for Advanced Study
Princeton, NJ