powershellactive-directoryadgroup

Get all members for groups and subgroups


good day to all. I've been trying to get information about groups and subgroups in Active Directory I've tried many variants like the one below,

What I essentially need is, to get a CSV of all the groups in AD that contain "infolink" in their name, and the columns I need are:

But no matter how I put it I only get some of the things I need. Does someone already have a bit of code that could make my life a bit easier? If so, I'd be immensely grateful.

    Import-Module ActiveDirectory

    $Groups = (Get-AdGroup -filter * | Where {$_.name -like "*Infolink*"} |         select name -ExpandProperty name)

    $Table = @()

    $Record = @{
      "Group Name" = ""
      "Name" = ""
      "Username" = ""
      "mail" = ""
    }


    Foreach ($Group in $Groups) {

      $Arrayofmembers = Get-ADGroupMember -identity $Group -recursive |         select name,samaccountname

      foreach ($Member in $Arrayofmembers) {
        $Record."Group Name" = $Group
        $Record."Name" = $Member.name
        $Record."UserName" = $Member.samaccountname
        $objRecord = New-Object PSObject -property $Record
        $Table += $objrecord

      }
    }

    $Table | export-csv "D:\Infolink.csv" -NoTypeInformation

Solution

  • Try this,

    Import-Module ActiveDirectory
    $groups = Get-ADGroup -Filter "name -like '*Infolink*'" -Properties ManagedBy
    $table = foreach ($group in $groups) {
        $Arrayofmembers = Get-ADGroupMember -Identity $group -Recursive
        $ArrayofmembersUsers = $Arrayofmembers | Get-ADUser -Properties Mail
        $ArrayofmembersUsers | Add-Member -Name GroupInfoLinkName -MemberType NoteProperty -Value $group.Name -Force
        $ArrayofmembersUsers | Add-Member -Name GroupInfoLinkManageBy -MemberType NoteProperty -Value $group.ManagedBy -Force
        $ArrayofmembersUsers
    }
    $table | Select-Object -Property GivenName, SurName, SamAccountName, Mail, GroupInfoLinkName, GroupInfoLinkManageBy | Export-Csv "D:\Infolink.csv" -NoTypeInformation
    

    Some Pointers..