Get-DistributionGroup 输出 ManagedBy samaccountname

Get-DistributionGroup 输出 ManagedBy samaccountname

我正在尝试导出所有 DL 的列表,并且我需要能够有一个包含 ManagedBy 值的 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

如果我能得到与在控制台中运行此命令时相同的字符串,我就可以使用它:

Get-DistributionGroup | Select-Object Name, ManagedBy

输出

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

答案1

尝试以下命令:

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

它将显示如下内容: 在此处输入图片描述

相关内容