如何输出组名以"MY-group*"开头的ADGroups的ADGroup名称和电子邮件地址成员我设法导出了所有想要的组,但我很难只得到电子邮件。
> $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
想要的输出是这样的:
| GroupName | mail |
| --------- | --------------- |
| MY-GROUP-1 | memberA@mail.com|
| MY-GROUP-1 | memberB@mail.com|
| MY-GROUP-1 | memberC@mail.com|
| MY-GROUP-2 | memberA@mail.com|
| MY-GROUP-2 | memberD@mail.com|
| MY-GROUP-2 | memberF@mail.com|
| MY-GROUP-3 | memberI@mail.com|
| MY-GROUP-3 | memberJ@mail.com|
这对我来说很有用:
$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