Obter membros do grupo AD usando powershell
estou a tentar exportar os grupos e os seus membros no seguinte formato usando o powershell. alguém me pode ajudar?
Formato em CSV:
Nome Do Grupo | Membros
G1 M1
G1 M2
G2 M1
G2 M2
G3 M1
eu tenho saída no formato CSV, mas eu não sou capaz de dividi-lo corretamente.
primeira linha == DN,member,sAMAccountName
2ª linha ==
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
a partir da segunda linha preciso de identificação de membro e nome de grupo I. e "M123456" e "M123458" and group name "DSO_ALL - _ * _AMER_Member_P_17700"
1 answers
Get-ADGroup | Get-ADGroupMember
é um bom começo, no entanto, {[[2]} não devolve a identidade do grupo, que você precisa muito aqui. Então, você precisa de um pouco de pré-processamento e pós-processamento.
$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
Depois analisas o teu CSV devidamente preparado. No caso de necessitar de outros atributos, adicione uma respectiva linha de $obj | add-member -type noteproperty
.