Re: Group Management
- From: Jerold Schulman <Jerry@xxxxxxxxxx>
- Date: Thu, 07 Apr 2005 14:08:29 -0400
On Thu, 7 Apr 2005 08:03:06 -0700, Tim <Tim@xxxxxxxxxxxxxxxxxxxxxxxxx> wrote:
>Hi,
>I'm in a situation where I need to review all the user accounts and their
>respective group memberships (security & distribution) with a view of
>reducing the number of groups.
>
>Does anyone know of any tools that will help automate this process?
>From any Windows XP domain member or from a Windows Server 2003 domain member or DC, open a CMD.EXE window.
Type:
GroupMembers CSVFile.csv
Where CSVFile.CSV is the path to the CSV file that will contain:
"Group","YorN","Member","UorG"
where YorN is a Y if the group is a security group or N if it is a distribution group
UorG is a U of "Member" is a User or G if "Member" is a nested group.
@echo off
if {%1}=={} @echo Syntax GroupMembers CSVFile&goto :EOF
setlocal ENABLEDELAYEDEXPANSION
set report=%1
if exist %report% del /q %report%
for /f "Tokens=*" %%g in ('dsquery group domainroot -name * -LIMIT 0') do (
for /f "Tokens=*" %%d in ('dsget group %%g -secgrp -L^|find /i "secgrp: "') do (
for /f "Tokens=*" %%m in ('dsget group %%g -members') do (
set mbr=%%m
set mbr=!mbr:"=!
for /f "Tokens=*" %%t in ('dsquery * domainroot -filter "(&(distinguishedName=!mbr!))" -attr objectClass -L^|Findstr /I /L "user group"') do (
set grp=%%d
set grp=!grp:secgrp: =!
set grp=!grp:yes=Y!
set grp=!grp:no=N!
set ug=%%t
set ug=!ug:user=U!
set ug=!ug:group=G!
@echo %%g,"!grp!",%%m,"!ug!">>%report%
)
)
)
)
endlocal
Jerold Schulman
Windows Server MVP
JSI, Inc.
http://www.jsiinc.com
.
- Follow-Ups:
- Re: Group Management
- From: Tim
- Re: Group Management
- References:
- Group Management
- From: Tim
- Group Management
- Prev by Date: Storing Active Directory Passwords in SQL
- Next by Date: Re: Storing Active Directory Passwords in SQL
- Previous by thread: Group Management
- Next by thread: Re: Group Management
- Index(es):
Relevant Pages
|