使用powershell

时间:2017-05-24 06:06:20

标签: powershell active-directory

我正在尝试使用PowerShell以下列格式导出组及其成员。 有人可以帮助我。

CSV格式:

  

组名|成员

     

g1 M1

     

g1 M2

     

g2 M1

     

g2 M2

     

g3 M1

我有CSV格式的输出,但我无法将其正确拆分。

第1行== DN,member,sAMAccountName

第二行== CN=DSO_ALL_**_AMER_Member_P_17700,OU=PersonalGroups,DC=**,DC=**,DC=**,DC=**,"CN=M123456,OU=Personal,OU=SG,OU=CS,DC=gbl,DC=**,DC=**,DC=**;CN=M123458,OU=Personal, OU=SG,OU=CS,DC=gbl,DC=**,DC=**,DC=**,DSO_ALL-_**_AMER_Member_P_17700

从第2行开始,我需要会员ID和组名,即" M123456"和" M123458" 和组名" DSO_ALL -_ ** _ AMER_Member_P_17700"

1 个答案:

答案 0 :(得分:0)

Get-ADGroup | Get-ADGroupMember是一个好的开始,但是,Get-ADGroupMember不会返回群组身份,这在此非常需要。因此,您需要进行一些预处理和后处理。

$groups=get-adgroup -filter *
$data=@()
foreach ($group in $groups) {
    $gid=$group.name
    foreach ($member in (get-adgroupmember -id $group)) {
        # now we have both group and member, make an object
        $obj=new-object psobject
        $obj | add-member -type noteproperty -name "Group Name" -value $gid
        $obj | add-member -type noteproperty -name "Member" -value ($member.name)
        $data+=$obj
    }
}
$data | export-csv file.csv -notypeinformation -encoding utf8

然后您解析准备好的CSV。如果您需要其他属性,请添加相应的$obj | add-member -type noteproperty行。