Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- use Win32::OLE 'in';
- use Win32::OLE::Const 'Active DS Type Library';
- $Win32::OLE::Warn = 3;
- $RootObj = bind_object("RootDSE");
- $SchemaClasses = bind_object($RootObj->get("schemaNamingContext"));
- $AbstractClasses = bind_object("schema");
- $con = Win32::OLE->new("ADODB.Connection");
- $con->{Provider} = "ADsDSOObject";
- $con->{Properties}->{"User ID"} = "Interim A";
- $con->{Properties}->{"Password"} = "Interim A";
- $con->{Properties}->{"Encrypt Password"} = True;
- $con->Open();
- $command = Win32::OLE->new("ADODB.Command");
- $command->{ActiveConnection} = $con;
- $command->{Properties}->{"Page Size"} = 20;
- $sBase = $SchemaClasses->{adspath};
- $sFilter = "(|(auxiliaryClass=*)(systemAuxiliaryClass=*))";
- $sAttr = "ldapdisplayname,cn,auxiliaryClass,systemAuxiliaryClass";
- $sScope = "Subtree";
- $command->{CommandText} = "<$sBase>;$sFilter;$sAttr;$sScope";
- $rs = $command->Execute();
- until($rs->{EOF}){
- $aantal = 0;
- $aantal+= scalar @{$rs->Fields("auxiliaryClass")->{Value}};
- $aantal+= scalar @{$rs->Fields("systemAuxiliaryClass")->{Value}};
- print $rs->Fields('ldapdisplayname')->{Value}, " heeft $aantal aux classes\n";
- print "\t";
- print join "\n\t", @{$rs->Fields("auxiliaryClass")->{Value}}, "\n\t";
- print join "\n\t", @{$rs->Fields("systemAuxiliaryClass")->{Value}};
- print "\n";
- $rs->MoveNext();
- }
- $rs->Close();
- $con->Close();
- sub bind_object{
- $parameter=shift;
- $ip = "satan.hogent.be";
- $moniker = ( (substr( uc($parameter), 0, 7) ) eq "LDAP://" ? "" : "LDAP://$ip/" ) . $parameter;
- # print $moniker,"\n";
- $dso = Win32::OLE->GetObject("LDAP:");
- $user = "Interim A";
- return $dso->OpenDSObject($moniker, $user, $user, ADS_SECURE_AUTHENTICATION);
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement