#!/usr/bin/perl -w
use Win32::AdminMisc;
use Win32::NetAdmin qw (GroupGetMembers);
use strict;
my $dc;
my @groups;
$dc = Win32::AdminMisc::GetDC();
Win32::AdminMisc::GetGroups($dc, GROUP_TYPE_ALL, \\@groups);
my $item;
my %groups_with_users;
foreach $item(@groups) {
my @tmp_user_list;
GroupGetMembers($dc, $item, \\@tmp_user_list);
$groups_with_users{$item} = [@tmp_user_list];
}
my $group;
open USERGROUP, ">usergroup.csv" || die "Can't open file for writing:$!";
print USERGROUP "Group, User\\n";
foreach $item(keys %groups_with_users) {
my $i;
print "Group: $item\\nUsers: ";
foreach $i (0 .. $#{ $groups_with_users{$item} } ) {
print "$groups_with_users{$item}[$i] ";
}
print "\\n";
}
close USERGROUP;
Enjoi.