【问题标题】:how to get Groupmembership of ADUser in csv如何在 csv 中获取 ADUser 的 Groupmembership
【发布时间】:2018-07-17 05:29:55
【问题描述】:

我构建了这个脚本来获取我的 csv 中所有用户的组。(我导入的 csv 文件只有用户的 sAM)

    $ImportPath =  Import-CSV "c:\temp\users.csv" -Encoding:UTF8
    $ImportPath | %{
    Get-ADPrincipalGroupMembership $_.sAMAccountName | Select-Object sAMAccountName
    } | Export-csv 'c:\temp\groupmembership.csv' -NoType

现在 export-csv 充满了组,但我不知道哪些组属于哪个用户。

【问题讨论】:

  • 但是您只选择了sAMAccountName 导出到csv。你确定你也得到组名吗?还是那个AD组的sAMAccountName
  • 是的,它是组的 SAM。但是现在我不知道哪个组属于哪个用户

标签: powershell csv active-directory


【解决方案1】:

请记住,用户将成为多个 AD 组的成员。我不知道您打算如何将该信息放入 CSV 中。但这应该可以为您提供所需的信息。

$ImportPath | ForEach-Object {get-aduser $_.sAMAccountName -properties MemberOf | Select-Object -Property SamAccountName, GivenName, MemberOf} | Export-Csv 'c:\temp\groupmembership.csv' -NoTypeInformation

【讨论】:

  • 组的输出是它们的 DistinguishedName。我只想要组的名称(组 sAMAccountName)。但是非常感谢
【解决方案2】:

我是这样做的:

    $ImportPath | % {
    $groups = (Get-ADPrincipalGroupMembership -Identity $_.sAMAccountName | 
    Select-Object -ExpandProperty name) -join ','
    get-aduser $_.sAMAccountName -properties memberof,samaccountname | 
    select samaccountname, @{name="Groups";expression={$Groups}} 
    }| export-csv $ouputPath -Delimiter ";" -NoTypeInformation -Encoding UTF8

输出 csv 看起来像这样

  A           B
User1      group1, group2,group3
user2      group2,group3, anotherGroup

因此,单元格 B 包含您所证明的用户的 所有 组,该用户位于单元格 A 中。 是否可以帮助遇到同样问题的人。

【讨论】:

    猜你喜欢
    • 2020-02-27
    • 2015-12-17
    • 2020-06-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-09-02
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多