Thanks for the help. I am running my script on a Windows2003 server in a mixed-mode Active Directory domain. Following your advice, it looks like the DC gets slammed and starts rejecting LDAP request. I added the following piece of code but with no luck.
while ( ! ($dnParent = Win32::OLE -> GetObject("LDAP://$DCONTROLLERS[$DC_ELE]/$STUDENTDN")) ) { print "$DCONTROLLERS[$DC_ELE] failed!\n"; $DC_ELE++; } I set $Win32::OLE::Warn = 1, which I bieleve will cause any errors to return undef. Does anybody know of a better way to handle this? Thanks, David -----Original Message----- From: Steven Manross [mailto:[EMAIL PROTECTED] Sent: Thursday, September 08, 2005 4:29 PM To: David Nickel; perl-win32-admin@listserv.ActiveState.com Subject: RE: [OLE] Server not reponding If it's NT4, ADSI 2.5 in NT4 was always a bit flaky I moved away from ADSI on NT4 years ago... Moving the script to a W2K box would be your best bet (but I'm guessing that you aren't running it on NT4, so we'll move on). Is there any way that you're hitting it at heavy load periods (or creating heavy loads?)? I've seen Perl bring a DC to it's knees (but that was with repetitive LanManager calls, but similar in number to the amount of calls you are doing. The 0x8007203a truly means it can't connect via LDAP. Whether the ADSI provider is freaking out, or you've killed the server with the amount of requests, or just pushed it over the edge because it was already at high load.. The result is still the same. No LDAP queries are successful because it's not responding correctly. For lack of a better analogy.. It's like a SQL Server connection timeout... "It didn't respond in the specified time, so I think it's not there." I'd probably start by running performance monitor on the server, to capture network interface, CPU and memory counters. That would, at least, give you a yay or nay on my thoughts. Another way to get around this.. Or at least to distribute your load more evenly, would be to touch your DCs in a round-robin approach.. In each repetitive call. user1=dc1,user2=dc2,user3=dc3,user4=dc1,user5=dc2,user6=dc3, etc. Or, if you get an 8007203a error while trying to touch one user, you could code it so that it goes to the next server in the list, and try the failed getobject with another DC to see if this is a client issue, or just that DC. Anyway, that's how I would troubleshoot/work-around it. Steven -----Original Message----- From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of David Nickel Sent: Thursday, September 08, 2005 9:20 AM To: perl-win32-admin@listserv.ActiveState.com Subject: [OLE] Server not reponding I have an account creation script that parses through a text file (755KB and 6336 lines of user information). The script enables users that are currently disabled in our AD Domain and creates new users account for users that do not exist. The script will run fine sometimes and other times I get the following error when entering the subroutine to create new user: Win32::OLE(0.1701) error 0x8007203a: "The server is not operational" after character 0 in "LDAP://DC/ou=Users,ou=Domain Users,dc=foo,dc=com" at C:\Scripts\Addenable\addenable.pl line 214 eval {...} called at C:\Scripts\Addenable\addenable.pl line 214 main::createJagNet('SCALAR(0x1ae138c)', 'SCALAR(0x1ae13a4) ae13bc)', 'SCALAR(0x1ae13d4)', 'SCALAR(0x1ae13ec)', 'SCALAR(0x1afa (0x1afa9c0)') called at C:\Scripts\Addenable\addenable.pl line 76 It seems to be caused by the following piece of code. my $dnParent = Win32::OLE -> GetObject("LDAP://$DCONTROLLER/$STUDENTDN"); Any help or advice would be much appreciated. Thanks, David _______________________________________________ Perl-Win32-Admin mailing list Perl-Win32-Admin@listserv.ActiveState.com To unsubscribe: http://listserv.ActiveState.com/mailman/mysubs _______________________________________________ Perl-Win32-Admin mailing list Perl-Win32-Admin@listserv.ActiveState.com To unsubscribe: http://listserv.ActiveState.com/mailman/mysubs