use Win32::OLE;
use constant ADS_GROUP_TYPE_UNIVERSAL_GROUP => 0x8;
use constant ADS_GROUP_TYPE_SECURITY_ENABLED => 0x80000000;
my $RootDSE = Win32::OLE->GetObject("LDAP://RootDSE");
if (Win32::OLE->LastError() != 0) {
print "Error getting ROOTDse: ".Win32::OLE->LastError();
exit 0;
}
my $NC = $RootDSE->Get("defaultNamingContext");
if (Win32::OLE->LastError() != 0) {
print "Error getting configurationNamingContext:
".Win32::OLE->LastError();
exit 0;
}
my $Conn = Win32::OLE->new("ADODB.Connection");
$Conn->{'Provider'} = "ADsDSOObject";
$Conn->Win32::OLE::Open("ADs Provider");
my $path = "<LDAP://$NC>;(grouptype=*);cn,grouptype;subtree";
my $RS = $Conn->Win32::OLE::Execute($path);
if (Win32::OLE::LastError() != 0) {
print "Error executing path: $path\n";
exit 0;
}
if ($RS->{RecordCount} > 0) {
while ($search_val == 0) {
$x++;
if ($RS->Fields(grouptype)->value & ADS_GROUP_TYPE_UNIVERSAL_GROUP
&& $RS->Fields(grouptype)->value & ADS_GROUP_TYPE_SECURITY_ENABLED) {
print $RS->Fields(cn)->value."\n";
}
$RS->MoveNext;
if ($RS->EOF) {
$search_val = "-1";
}
}
}
-----Original Message-----
From: [EMAIL PROTECTED]
[mailto:[EMAIL PROTECTED] On Behalf Of
Steven Manross
Sent: Thursday, November 13, 2003 1:49 PM
To: DePriest, Jason R.; [EMAIL PROTECTED]
Subject: RE: Can Win32::AdminMisc::GetGroups list UNIVERSAL groups?
Well, I am grateful that I realized my own mistake before anyone else
did.
I'm using the WinNT provider instead of the LDAP provider.
I'll post an LDAP version here soon.
-----Original Message-----
From: [EMAIL PROTECTED]
[mailto:[EMAIL PROTECTED] On Behalf Of
DePriest, Jason R.
Sent: Thursday, November 13, 2003 11:44 AM
To: [EMAIL PROTECTED]
Subject: RE: Can Win32::AdminMisc::GetGroups list UNIVERSAL groups?
Using the sample code from the provided link, I can get a list of
groups. However, the Universal groups are being listed as Global groups.
Is there some other attribute besides groupType that would be useful?
-Jason
> -----Original Message-----
> From: Steven Manross [mailto:[EMAIL PROTECTED]
> Sent: Thursday, November 13, 2003 11:13 AM
> To: DePriest, Jason R.; [EMAIL PROTECTED]
> Subject: RE: Can Win32::AdminMisc::GetGroups list UNIVERSAL groups?
>
>
> The quick answer is NO.
>
> The longer answer is that Win32::OLE can be used to query active
> directory for groups as well from the WinNT or LDAP interfaces.
>
> The list archives have some good example code (searching on Universal
> group should reveal a few matches). Hey, look it's something I wrote..
> :)
>
> http://aspn.activestate.com/ASPN/Mail/Message/1521485
>
> Steven
>
> -----Original Message-----
> From: [EMAIL PROTECTED]
> [mailto:[EMAIL PROTECTED] On Behalf Of
> DePriest, Jason R.
> Sent: Thursday, November 13, 2003 9:52 AM
> To: [EMAIL PROTECTED]
> Subject: Can Win32::AdminMisc::GetGroups list UNIVERSAL groups?
>
>
> Hello,
>
> I have a perl script that queries a primary domain controller for
> local and global groups. However, it also has the new-and-improved AD
> universal groups.
>
> Can Win32::AdminMisc::GetGroups get those, as well?
>
> Using this
> Win32::AdminMisc::GetGroups($pdc,GROUP_TYPE_UNIVERSAL,[EMAIL PROTECTED]
> salGroupLi
> st)
> Generates the following error:
> Argument "GROUP_TYPE_UNIVERSAL" isn't numeric in subroutine entry at
> regroup.pl line 83.
>
> I have tried replacing GROUP_TYPE_UNIVERSAL with numbers and come up
> with this analogy 0 -> error 1 -> GROUP_TYPE_LOCAL 2 ->
> GROUP_TYPE_GLOBAL 3 -> GROUP_TYPE_ALL 4 -> error 5 -> mildly
> unprintable characters with 'NetAdmin::' stuck at the end 6 -> mildly
> unprintable characters with 'NetAdmin::' stuck at the end 7 -> mildly
> unprintable characters with 'NetAdmin::' stuck at the end I stopped at
> that point.
>
> If it doesn't know about universal groups, can that be added?
>
> Thank you!
>
> Jason DePriest, GSEC, GCFW
> Systems and Applications Security Analyst
> E-Business Security Team
> ph. (901) 523-5975
> fax (901) 523-5714
> email jrdepriest at ftb dot com
>
> -----
> "There is no patch for stupidity."
>
> _
> ASCII ribbon campaign ( )
> - against HTML email X
> & vCards / \
>
> _______________________________________________
> Perl-Win32-Admin mailing list
> [EMAIL PROTECTED]
> To unsubscribe: http://listserv.ActiveState.com/mailman/mysubs
>
_______________________________________________
Perl-Win32-Admin mailing list [EMAIL PROTECTED]
To unsubscribe: http://listserv.ActiveState.com/mailman/mysubs
_______________________________________________
Perl-Win32-Admin mailing list [EMAIL PROTECTED]
To unsubscribe: http://listserv.ActiveState.com/mailman/mysubs
_______________________________________________
Perl-Win32-Admin mailing list
[EMAIL PROTECTED]
To unsubscribe: http://listserv.ActiveState.com/mailman/mysubs