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