首页 > 解决方案 > ADGroups 和 ADusers

问题描述

我需要将以下内容放入 CSV:

具有字段的组:组名称、组 SID、组电子邮件地址、组类型

然后对于上述每个组,我需要具有以下字段的成员用户:组名(我知道这是重复的)、用户 ID、用户名字、用户姓氏、用户电子邮件。

如果有人对此有解决方案,我将永远感激不尽。解决方案将是我可以学习和学习的东西,再次感谢。

我分别有两件,但当时卡住了

Get-ADGroup -Filter * -Properties Member |
    select Name, DistinguishedName, sid, GroupCategory, GroupScope,
        @{Name="Members";Expression={($_.Members | Measure-Object).Count}} |
    Out-GridView
    #Export-Csv c:\rmm-mgmt\test.csv

我不明白为什么不能同时添加用户详细信息。对于我正在使用的用户:

Get-ADUser -Filter * -Properties * |
    Select-Object name, surname, givenname, displayname, emailaddress |
    Out-GridView

Out-GridView用于在开始导出之前检查结果)

如您所见,这是我可以获得但无法将它们放在一起的两条信息。一个例子是我无法获取组中的成员列表。

标签: powershellactive-directoryexport-to-excel

解决方案


您必须使用ForEach-Object该组并将其分配给一个命名变量,以便您可以在格式化每个成员的位置访问它。然后管道$_.Member进入Get-ADUser

Get-ADGroup -Filter * -Properties Member | ForEach-Object {
    $group = $_
    $_.Member | Get-ADUser -Properties Surname,GivenName,DisplayName,EmailAddress |
        Select @{N = "Group Name";E = {$group.Name}}, Surname, GivenName, DisplayName, EmailAddress
} | Out-GridView

推荐阅读