Skip to main content

Export all group members of one or more particular groups in Active Directory Domain

 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 member

2. 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.ps1

groupaudit.ini
Code:
CN=GROUPNAME,OU=Groups,OU=Corp,DC=ChildDomainName,DC=EgyEng,DC=com
You list the groups you want to export their members each in one line with syntax above.

groupaudit.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
    }
You have the option to change the line of
Code:
$retval = $retval + $nl + $user.SAMAccountName
instead of $user.SAMAccountName to $user.DisplayName to have a friendly name instead of login ID

Also you can export a .csv file instead of .txt by change the line
Code:
$outfile = ".\" + $groupName + "_" + $runDate + ".txt"
Change ".txt" to ".csv".

i uploaded the full folder in the below link.
http://www.4shared.com/rar/rOOQBZEd/groupaudit.html

Comments

Popular posts from this blog

Calculate how much data can be transferred in 24 hours based on link speed in data center

  In case you are planning for migration via DIA or IPVPN link and as example you have 200Mb stable speed so you could calculate using the below formula. (( 200Mb /8)x60x60x24) /1024/1024 = 2TB /per day In case you have different speed you could replace the 200Mb by any rate to calculate as example below. (( 5 00Mb /8)x60x60x24) /1024/1024 =  5.15TB  /per day So approximate each 100Mb would allow around 1TB per day.

Integration with vCloud Director failing after NSXT upgrade to 4.1.2.0 certificate expired

  Issue Clarification: after upgrade from 3.1.3 to 4.1.2.0 observed certificate to be expired related to various internal services.   Issue Verification: after Upgrade from 3.1.3 to 4.1.2.0 observed certificate to be expired related to various internal services.   Root Cause Identification: >>we confirmed the issue to be related to the below KB NSX alarms indicating certificates have expired or are expiring (94898)   Root Cause Justification:   There are two main factors that can contribute to this behaviour: NSX Managers have many certificates for internal services. In version NSX 3.2.1, Cluster Boot Manager (CBM) service certificates were incorrectly given a validity period of 825 days instead of 100 years. This was corrected to 100 years in NSX 3.2.3. However any environment originally installed on NSX 3.2.1 will have the internal CBM Corfu certs expire after 825 regardless of upgrade to the fixed version or not. On NSX-T 3.2.x interna...

Recreating a missing VMFS datastore partition in VMware vSphere 5.x and 6.x

    Symptoms A datastore has become inaccessible. A VMFS partition table is missing.   Purpose The partition table is required only during a rescan. This means that the datastore may become inaccessible on a host during a rescan if the VMFS partition was deleted after the last rescan. The partition table is physically located on the LUN, so all vSphere hosts that have access to this LUN can see the change has taken place. However, only the hosts that do a rescan will be affected.   This article provides information on: Determining whether this is the same problem Resolving the problem   Cause This issue occurs because the VMFS partition can be deleted by deleting the datastore from the vSphere Client. This is prevented by the software, if the datastore is in use. It can also happen if a physical server has access to the LUN on the SAN and does an install, for example.   Resolution To resolve this issue: Run the  partedUtil  command on the host wit...