none
批量导出AD中所有组成员 RRS feed

  • 问题

  • Hi 工程师,

    我们需要将AD中所有组成员导出来,使用的命令如下,但是导出来之后发现每个组用户很乱而且一次只能导出一个组的,能否帮忙修改下可以批量导出组用户并以Group-Object进行排序?

    Get-ADGroup -Filter * -SearchBase "OU=Group,DC=gawcap,DC=com,DC=cn" | Get-ADGroupMember

    2018年1月24日 3:35

答案

  • 您好,

    根据我的研究,建议可以尝试看看下面的脚本是否满足您的需要:
    Get-ADGroup -Filter * -SearchBase 'OU=Group,DC=gawcap,DC=com,DC=cn' | 
        ForEach-Object {
            $groupName = $_.Name
            Get-ADGroupMember -Identity $groupName | 
                Select-Object @{Name = 'GroupName'; Expression = {$groupName}}, Name |
                    Group-Object GroupName |
                        Select-Object @{Name = 'GroupName'; Expression = {$_.Name}}, 
                        @{Name = 'Members'; Expression = {($_.Group.Name | Out-String).Trim()}}
    } |
    Export-Csv -Path C:\membership.csv -NoTypeInformation

    输出的CSV文件如下图:


    如果需要修改脚本,请随时通知我。

    此致
    Albert

    Please remember to mark the replies as an answers if they help.
    If you have feedback for TechNet Subscriber Support, contact tnmff@microsoft.com

    • 已标记为答案 Barry Zhou 2018年1月24日 4:48
    2018年1月24日 4:38

全部回复

  • 您好,

    根据我的研究,建议可以尝试看看下面的脚本是否满足您的需要:
    Get-ADGroup -Filter * -SearchBase 'OU=Group,DC=gawcap,DC=com,DC=cn' | 
        ForEach-Object {
            $groupName = $_.Name
            Get-ADGroupMember -Identity $groupName | 
                Select-Object @{Name = 'GroupName'; Expression = {$groupName}}, Name |
                    Group-Object GroupName |
                        Select-Object @{Name = 'GroupName'; Expression = {$_.Name}}, 
                        @{Name = 'Members'; Expression = {($_.Group.Name | Out-String).Trim()}}
    } |
    Export-Csv -Path C:\membership.csv -NoTypeInformation

    输出的CSV文件如下图:


    如果需要修改脚本,请随时通知我。

    此致
    Albert

    Please remember to mark the replies as an answers if they help.
    If you have feedback for TechNet Subscriber Support, contact tnmff@microsoft.com

    • 已标记为答案 Barry Zhou 2018年1月24日 4:48
    2018年1月24日 4:38
  • 测试可用,导出来的内容正是我们需要实现的,感谢您的支持。
    2018年1月24日 4:48
  • 你好,我想问一下,这个脚本不支持中文名称、带空格的邮件组名称,这个该怎么解决呢?
    望回复,谢谢!
    2018年4月20日 8:11
  • 您好,

    要支持中文的话需要在Export-Csv命令中添加-Encoding Unicode参数。

    此致
    Albert

    Please remember to mark the replies as an answers if they help.
    If you have feedback for TechNet Subscriber Support, contact tnmff@microsoft.com

    2018年4月23日 5:47
  • Albert,

     我弄不清楚为什么可以这样分类?get-adgroupmember导出数据的时候是没有组名的,你是如何通过组名分组的呢?

    另外,我使用的以上脚本时,members一列是空的?

    2018年4月27日 3:16
  • 您好!

    脚本导出域中的所有组及组成员,但在ADWinServer 2012R2 std)运行时报错,

    麻烦帮忙看下。

    2019年4月15日 8:02