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"

Author: Ranadip Dutta, 2017-05-24

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.

 0
Author: Vesper, 2017-05-24 07:31:45