#!/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; foreach $i (0 .. $#{ $groups_with_users{$item} } ) { print USERGROUP "$item, $groups_with_users{$item}[$i]\n"; } } close USERGROUP;