djohnjohn
djohnjohn

Reputation: 65

PowerShell ADGroup details

How can I output the ADGroup name and the email address members of ADGroups with name of group starting with 'MY-GROUP*' I manage to export all the desired groups but I'm struggling to get only the email.

> $adgroups = Get-ADGroup -Filter {Name -like 'MY-GROUP*'} | sort
> name
> 
> $data = foreach ($adgroup in $adgroups) {
>     $members = $adgroup | get-adgroupmember | sort name
>     foreach ($member in $members) {
>         [PSCustomObject]@{
>             Group   = $adgroup.name
>             Members = $member
>         }
>     } } $data | select Group, Members

The desired output would something like this :

| GroupName    | mail            |
| ---------    | --------------- |
| MY-GROUP-1   | [email protected]|
| MY-GROUP-1   | [email protected]|
| MY-GROUP-1   | [email protected]|
| MY-GROUP-2   | [email protected]|
| MY-GROUP-2   | [email protected]|
| MY-GROUP-2   | [email protected]|
| MY-GROUP-3   | [email protected]|
| MY-GROUP-3   | [email protected]|

Upvotes: 0

Views: 250

Answers (1)

djohnjohn
djohnjohn

Reputation: 65

This did the trick for me :

$adgroups = Get-ADGroup -Filter {Name -like 'MY-GROUP-*'} | sort name

$data = foreach ($adgroup in $adgroups) {
    $members = $adgroup | get-adgroupmember | get-aduser -Properties mail | select mail
    foreach ($member in $members) {
        [PSCustomObject]@{
            Group   = $adgroup.name
            Members = $member
        }
    }
}
$data | select Group, Members

Upvotes: 0

Related Questions