我正在尝试使用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"
答案 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
行。