Search code examples
powershellactive-directorywindows-server

add exported data from console to csv file


I have script to export users and groups name from active directory to powershell console. Data is exported and it is ok, but Now, I need to add them from console to csv file with columns: Group Name and Users.

Please check below code:

$groups = "first_group","second_group"
 ForEach ($Group in $Groups) {
     Get-ADGroupMember -identity $group | 
         Get-ADUser -properties displayName | 
             Select-Object SamAccountName, displayName, @{name="group";expression={$group}}
 }

Please assist to solve it.


Solution

  • **try this **

    $groups = "first_group","second_group"
    $Table = @() 
    $Record = @{
      "Group Name" = ""
      "Name"       = ""
      "Username"   = ""
    }
    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
    $Table | export-csv "C:\Temp\Group.csv" -NoTypeInformation
    

    ` this is the update for distinguishedname

        $Record = @{
      "Group Name" = ""
      "Name"       = ""
      "Username"   = ""
      "Group distinguishedName"=""
    }
    Foreach ($Group in $Groups) {
      $Arrayofmembers = Get-ADGroupMember -identity $Group -recursive | select name, samaccountname
        
      foreach ($Member in $Arrayofmembers) {
        $Record."Group Name" = $Group
        $Record."Group distinguishedName" = (Get-ADGroup -Identity $group).DistinguishedName 
        $Record."Name" = $Member.name
        $Record."UserName" = $Member.samaccountname
        $objRecord = New-Object PSObject -property $Record
        $Table += $objrecord
      }
    }