Steven/Roger,
 
Thanks for the advice. It looks like the 
$NewUser->PutEx("userAccountControl",512); 
line was the culprit. It was causing the error. I followed your advice and added a 
print "result ".Win32::OLE->LastError()."\n";
line to capture the output of each step, and it turned out to be that line. I read 
somewhere that line was needed so that the ID's don't get created in a "disabled" 
state, which is how it's working now. Is 512 the right value? Or should use another? 
 
Again, thanks for your advice.
 
-Henry

        -----Original Message----- 
        From: Steven Manross [mailto:[EMAIL PROTECTED]] 
        Sent: Fri 2/14/2003 4:26 PM 
        To: henry isham; [EMAIL PROTECTED]; 
[EMAIL PROTECTED] 
        Cc: 
        Subject: RE: Adding Users to AD with OLE
        
The best way to start troubleshooting this is to put a SetInfo after each PutEx and an 
error check of.. 

If (Win32::OLE->LastError != 0) { 
  print "objuser (or whatever): ".Win32::OLE->LastError(); 
} 

After each SetInfo. 

As well, I think a simple Put (instead of PutEx) will work. 

Steven 

-----Original Message----- 
From: henry isham [mailto:[EMAIL PROTECTED]] 
Sent: Friday, February 14, 2003 2:12 PM 
To: [EMAIL PROTECTED]; 
[EMAIL PROTECTED] 
Subject: Adding Users to AD with OLE 


All, 
  
I'm trying to execute the script below but it's returning this error: 
  
Win32::OLE operating in debugging mode: _Unique => 1 
Win32::OLE(0.1502) error 0x8007202f: "A constraint violation occurred" 
    in METHOD/PROPERTYGET "SetInfo" 
  
The really bizzare thing here is that this script's VBSCRIPT equivalent works fine. 
So, I'm totally stumped! 
  
Begin Script 
------------ 
 use Win32::OLE; 
 my $Name = "Henry Isham"; 
 my $ID = "hisham"; 
  
 my $Container = Win32::OLE->GetObject("LDAP://ou=sitename,dc=corp,dc=net";); 
 my $NewUser = $Container->Create("user","cn=" .$Name);  
$NewUser->PutEx("SamAccountName",$ID); 
 $NewUser->PutEx("objectClass","user"); 
 $NewUser->PutEx("scriptPath","sitename.vbs"); 
 $NewUser->PutEx("userAccountControl",512); 
 $NewUser->SetInfo; 
 print Win32::OLE->LastError(); 


=êåZ)÷ÙK®ÉšŠX§‚X¬´÷«•h§ße,z»%ŠËlz»Àrدy+Zµç(™:.žË›±Êâmèm¶Ÿÿ–+-±êïËb½ä­jל¢oæj)fjæÊË›


Reply via email to