Get-DistributionGroup输出ManagedBy samaccountname

我试图导出所有DL的列表,我需要能够有一个列的pipe理dBy值(第一个条目,如果多个)samaccountname。

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

毫不奇怪,这给了我这样的东西:

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

如果这不是一行代码,我可以通过ManagedBy值循环,使用GET-AdUser并提取我需要的东西。

但是,如果我只关心第一个ManagedBy,我可以做到这一点吗?

就像是…

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

如果我甚至可以得到相同的string,当我在控制台中运行时,我可以使用它:

 Get-DistributionGroup | Select-Object Name, ManagedBy 

产量

 DL-SOMETHING-SOMETHING, {somedomain.com/Accounts/SomeAccount} 

尝试下面的命令:

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

它将显示如下: 在这里输入图像说明