script do powershell get-ADGroup e get-ADGroupmember

2

Eu tenho um problema ao tentar "consertar" um script PS que recebi de um colega para obter informações de um cliente AD. Estou tentando obter uma lista de todas as caixas de correio de distrobution e membros delas. Mas o roteiro que ele me deu não funciona, eu tentei mudar alguns, mas como eu ainda estou aprendendo o PowerShell, estou me vendo preso e realmente não entendo o que o script dele está tentando fazer.

Groups = Get-ADGroup -Filter * -SearchBase OU=costumer,OU=companies,DC=domene,DC=oss"

$Results = foreach( $Group in $Groups ){

Get-ADGroupMember -Identity $Group | foreach {

[pscustomobject]@{

        GroupName = $Group.Name

        Name = $_.Name

        }

    }

}
$Results| Export-Csv -Path c:\data\groups.csv -NoTypeInformation? -Encoding 
unicode

Quando executo este script, recebo um erro desde o início, por causa de "Grupos=", em que os Grupos não são reconhecidos.

Então eu mudei o começo para:

Get-ADGroup -filter * -Searchbase "OU = Distribuição, OU = Grupos, OU = Cliente, OU = Empresas, DC = domene, DC = oss"

Este é o caminho completo para os objetos AD que eu quero, e eu testei esse comando e obtenha a lista completa. Mas eu não recebo as informações sobre os membros dos grupos. Eu tentei mudar na parte inferior do script, mas recebo um erro retornado em "-identidade" o tempo todo, não importa o que eu escrevo depois.

Alguém pode ajudar com um código melhor para obter as informações de que preciso? E talvez explique o que este script está tentando fazer?

Muito obrigado pela sua ajuda.

EDIT 1

Obrigado pela ajuda! Agora obtenho o script para executar e recebo o arquivo .cvs. Mas eu estou querendo saber se eu tenho algo errado. Deve devolver os grupos no AD e nos membros dos grupos, mas o resultado que obtenho não é este. Anexei screenshots de quando abro isso no excel.

Hámaisalgumacoisafaltandonomeuscriptparaobterasinformações?

Solução

Euencontreiumamaneirademudaroscriptparaconseguiroqueeuprecisava,efuncionou.Podeserumpoucomaisdoqueapenasobterasinformaçõesdequepreciso,masobtiveoresultadodequeprecisava.:)Obrigada!

$GruppeMedlemmer=@()$Groups=Get-ADGroup-Filter*-properties*-SearchBase"ou=felles,OU=Groups,OU=costumer,OU=Companies,DC=domene,DC=oss"

foreach ($g in $Groups) {
$members = $g | Get-ADGroupMember 
     foreach ($m in $members) {
       $Info = New-Object psObject 
       $Info | add-member -MemberType NoteProperty -Name "GroupName" -Value $g.Name
       $Info | add-member -MemberType NoteProperty -Name "Description" -Value $g.description
       $Info | add-member -MemberType NoteProperty -Name "Member of" -Value $g.MemberOf
       $Info | Add-Member -MemberType NoteProperty -Name "Member" -Value $m.name
       $GruppeMedlemmer+= $Info
     }
  }

$GruppeMedlemmer | Sort-Object GroupName | Export-CSV C:\temp\groupdist.csv -notype -Encoding unicode  
    
por Hege Jacobsen 14.06.2018 / 13:19

1 resposta

1

Isso deve funcionar:

$Groups = Get-ADGroup -Filter * -SearchBase "OU=dummy1,OU=dummy2,DC=dummy3,DC=dummy4"

$Results = foreach( $Group in $Groups ){

    Get-ADGroupMember -Identity $Group | foreach {

    [pscustomobject]@{
            GroupName = $Group.Name
            Name = $_.Name
            }
    }
 }
$Results| Export-Csv -Path c:\data\groups.csv -NoTypeInformation -Encoding unicode
  • falta de $ na linha 1
  • Ausente "na linha 1
  • Errado? na linha 13
  • 'unicode' precisa estar na mesma linha que Codificação

Verifique se o diretório C:\data existe

    
por 14.06.2018 / 19:36