【问题标题】:Adding AD group members to CSV list of AD groups将 AD 组成员添加到 AD 组的 CSV 列表
【发布时间】:2017-05-06 20:38:22
【问题描述】:

我有一个包含在 .csv 文件中的 AD 安全组列表,格式如下:

团体, 组名1, 组名2, 组名3,

我想要做的是将此 .csv 文件提供给 PowerShell 脚本,以便它可以报告 .csv 文件中列出的组的组成员身份(我不关心递归组,因为我不关心'没有)。然后,该脚本应将结果转储到另一个 .csv 文件中。

因此,理想情况下,我希望脚本生成的最终 .csv 输出类似于。

组名1,名称 组名1,名称 组名2,名称 组名2,名称 组名3,名称 组名3,名称

你明白了。

我正在努力进行某种 for 循环,以查看 .csv 中的所有组并输出如上所示的结果(组名,然后是用户)。

$list = Import-Csv -Path C:\temp\ADGroups.csv

foreach ($groups in $list) {
  $ADGroup = $groups.groupname

  Get-ADGroupmember -Identity $ADGroup | Get-ADUser -Property Name
  Export-Csv -Path "c:\temp\dump.csv"
} 

我看到了其他建议(参见示例 here),但这些建议不会从 .csv 文件中读取组。

【问题讨论】:

    标签: powershell csv active-directory


    【解决方案1】:

    您需要将组名添加到输出中。我会用计算的属性来做到这一点。您还需要将Export-Csv 移到循环外或使用-Append。如果不是,这些组每次都会覆盖该文件,并且它只包含最后一组的结果。试试这个:

    Import-Csv -Path C:\temp\ADGroups.csv | Foreach-Object { 
    
        $ADGroup = $_.Groups
    
        Get-ADGroupmember -identity $ADGroup | Select-Objects @{n="Groupname";e={$ADGroup}}, Name
    } | Export-CSV -Path  "c:\temp\dump.csv" -NoTypeInformation
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-03-08
      • 1970-01-01
      相关资源
      最近更新 更多