Export all group members of one or more particular groups in Active Directory Domain
You can Use this for Group Audit
Dear All,
I'll give you two different ways to export Domain Group members.
1. Simple way
Code:
csvde -f c:\Groups.csv -r "(sAMAccountName=CSRM-Web)" -l member2. With powershell script,batch file
script will have three files groupaudit.bat ,groupaudit.ini and groupaudit.ps1 and all are on the same folder.
groupaudit.bat
Code:
@echo off
powershell .\groupaudit.ps1groupaudit.ini
Code:
CN=GROUPNAME,OU=Groups,OU=Corp,DC=ChildDomainName,DC=EgyEng,DC=comgroupaudit.ps1
Code:
function Get-Members
    {
        param ($groupDN)
        
        $nested = @()
        $nesting = "false"
        $nl = [Environment]::NewLine
        $group = [ADSI] "LDAP://$groupDN"
        
        $retval = "Members of group: " + $group.cn + " (" + $group.distinguishedName + ")"
        
        foreach ($member in $group.member)
            {
                $user = new-object directoryservices.directoryentry("LDAP://$member")
                if ($user.objectclass -contains "group")
                    {
                        $retval = $retval + $nl + "+" + $user.cn
                        $nesting = "true"
                        $nested += $user.distinguishedname
                    }
                else
                    {
                        $retval = $retval + $nl + $user.SAMAccountName
                    }
            }
        
        if ($nesting -contains "true")
            {
                $retval = $retval + $nl + $nl + "Nested Group Members:"
                foreach ($g in $nested)
                    {
                        $retval += $nl
                        $retval += Get-Members($g)
                        $retval += $nl
                    }
            }
        return $retval
    }
foreach ($line in Get-Content ".\groupaudit.ini")
    {
        $output = ""
        $groupDN = $line
        $group = [ADSI] "LDAP://$groupDN"
        $groupName = $group.cn
        $runDate = Get-Date -format "yyyyMMdd-HHmmss"
        $outfile = ".\" + $groupName + "_" + $runDate + ".txt"
        
        Get-Members($groupDN) | Out-File -FilePath $outfile
    }Code:
$retval = $retval + $nl + $user.SAMAccountNameAlso you can export a .csv file instead of .txt by change the line
Code:
$outfile = ".\" + $groupName + "_" + $runDate + ".txt"i uploaded the full folder in the below link.
http://www.4shared.com/rar/rOOQBZEd/groupaudit.html
Comments
Post a Comment