Nothing in Event Logs (ran multiple times with all auditing turned on). Investigating MDAC Setup. :(
16 Nov 2004 14:21:07 -0700, Steven Manross wrote > Works for 2k3 here... > > Sounds like something's screwy on the 2k3 server. Did you check the > event log on the 2k3 server? > > Steven > > -----Original Message----- > From: [EMAIL PROTECTED] > [mailto:[EMAIL PROTECTED] On Behalf > Of jason Sent: Tuesday, November 16, 2004 9:46 AM To: perl-win32- [EMAIL PROTECTED] > Subject: OLE/ADO Error with Active Directory > > I get the following error when I attempt to query Active Directory > on a Windows 2003 Server with my script (server is running MDAC 2.8): > > Win32::OLE(0.1403) error 0x800401f9: "Error in the DLL" in > METHOD/PROPERTYGET "Properties" at C:\testad.pl line 17 > Can't use an undefined value as a HASH reference at C:\testad.pl line > 17. > > The script (below) works fine on Windows 2000 Server and Windows XP. > > ###BEGIN SCRIPT### > > #!/usr/bin/perl -w > use strict; > use Data::Dumper; > use Win32::OLE; > > sub enumerateServers { > my $ad_conn = Win32::OLE->new("ADODB.Connection"); > my $ad_recs = Win32::OLE->new('ADODB.Recordset'); > my $rootDSE = Win32::OLE->GetObject("LDAP://rootDSE"); > my $strADsPath = [EMAIL PROTECTED] || > $rootDSE->Get("DefaultNamingContext"); > my $query = "LDAP://$strADsPath"; > my @computer_list; > my $userid = "domain\\account"; #Change account name to match a > user > account on your domain > my $passwd = "password"; #Change account password to > match a > user account on your domain > $ad_conn->{Provider} = ("ADsDSOObject"); > $ad_conn->{ConnectionString} = "Active Directory Provider"; > $ad_conn->Properties('User ID')->{Value} = $userid; > $ad_conn->Properties('Password')->{Value} = $passwd; > $ad_conn->Open; > $ad_recs = $ad_conn->Execute(" > SELECT Name, userAccountControl > FROM '$query' > WHERE objectClass='computer' > "); > while (! $ad_recs->EOF) { > if ( ($ad_recs->Fields("userAccountControl")->Value & 2) != > 2 ) { > #if bit 2 is on in userAccountControl, then the account > is > disabled. > #We only want enabled accounts. > push @computer_list, > uc($ad_recs->Fields("Name")->Value); > } > $ad_recs->MoveNext; > } > @computer_list; > } > > print Dumper &enumerateServers(); > > ###END SCRIPT### > > -- > Jason R. Cetina > [EMAIL PROTECTED] > > _______________________________________________ > Perl-Win32-Users mailing list > [EMAIL PROTECTED] > To unsubscribe: http://listserv.ActiveState.com/mailman/mysubs -- Jason R. Cetina [EMAIL PROTECTED] _______________________________________________ Perl-Win32-Users mailing list [EMAIL PROTECTED] To unsubscribe: http://listserv.ActiveState.com/mailman/mysubs
