【问题标题】:PowerShell ADGroup detailsPowerShell AD 组详细信息
【发布时间】:2021-01-05 10:44:45
【问题描述】:

如何输出 ADGroup 名称和 ADGroups 成员的电子邮件地址,组名称以“MY-GROUP*”开头 我设法导出了所有需要的组,但我很难只收到电子邮件。

> $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|

【问题讨论】:

标签: powershell


【解决方案1】:

这对我有用:

$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

【讨论】:

  • Get-ADGroupMember 还可以返回除用户之外的其他对象,例如计算机和组。 (您应该在通过 Get-AdUser 之前进行测试)。此外,-Filter 是查询 字符串,而不是脚本块。
猜你喜欢
  • 2022-01-19
  • 2014-06-02
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-02-22
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多