Saída Get-DistributionGroup ManagedBy samaccountname

1

Estou tentando exportar uma lista de todos os DLs e preciso poder ter uma coluna com o samaccountname do valor ManagedBy (primeira entrada, se for múltipla).

Get-DistributionGroup | Select-Object Name, ManagedBy | Export-Csv C:\out.txt

Sem surpresa, isso me dá algo assim:

"Name","ManagedBy"
"DL-SOMETHING-SOMETHING","Microsoft.Exchange.Data.Directory.ADMultiValuedProperty'1[Microsoft.Exchange.Data.Directory.ADObjectId]"

Se não fosse um one-liner, eu poderia percorrer os valores de ManagedBy, usar GET-AdUser e extrair o que eu preciso.

Mas posso fazer isso de uma só vez, se eu me importar apenas com o primeiro ManagedBy?

Algo como ...

Get-DistributionGroup | Select-Object Name, ManagedBy[0].Samaccountname | Export-Csv C:\out.txt

Se eu conseguisse até mesmo a mesma string que recebo quando executar isso no console, poderia trabalhar com isso:

Get-DistributionGroup | Select-Object Name, ManagedBy

Saída

DL-SOMETHING-SOMETHING, {somedomain.com/Accounts/SomeAccount}
    
por Kjensen 10.11.2017 / 12:07

1 resposta

3

Experimente o comando abaixo:

Get-DistributionGroup | Select-object Name,@{label="ManagedBy";expression={[string]($_.managedby | foreach {$_.tostring().split("/")[-1]})}} | Export-Csv

Ele será exibido como abaixo:

    
por 14.11.2017 / 03:43