Gimme the codes!
poderes, ativar!
$Groups = Get-ADGroup -Properties * -Filter * -SearchBase "OU=Groups,DC=corp,DC=ourcompany,DC=Com"
Foreach($G In $Groups)
{
Write-Host $G.Name
Write-Host "-------------"
$G.Members
}
O ponto é que, tome o seu tempo e divida-o em etapas. Sei que é divertido tentar fazer com que tudo e a pia da cozinha se encaixem em uma linha com o Powershell, mas isso não é de forma alguma necessário.
Algumas notas:
Você não precisa fazer isso Get-ADGroupMember
se coletar a propriedade Members no Get-ADGroup
Cmdlet inicial . O bom disso é que ele reduz pela metade a quantidade de chamadas que você deve fazer para o AD, o que deve acelerar o script e diminuir a carga do controlador de domínio.
$ G.Members exibirá todos os membros do grupo $ G ... no Powershell 3. No Powershell 2, você ainda precisará colocar outro Foreach dentro do Foreach para enumerar os membros do grupo. ( Yo dawg, eu ouvi você como loops ... )
Eu uso Write-Host
aqui, que é nojento. Você nunca deve realmente usar Write-Host
. Em vez disso, você deve criar e produzir objetos, não texto, mas esse foi um outro tópico e fiquei com preguiça de fazer isso para esta resposta.
% { "GroupName: $($_.Name)"; "==========" ; Get-ADGroupMember $_ } | ft name
, também pode obter o que deseja. A resposta de Ryan ainda é melhor, mas essa é uma linha única, se você quiser.