Назад | Перейти на главную страницу

Выходные данные Get-DistributionGroup ManagedBy samaccountname

Я пытаюсь экспортировать список всех DL, и мне нужно иметь столбец с samaccountname значения ManagedBy (первая запись, если несколько).

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}

Попробуйте команду ниже:

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

Он будет выглядеть, как показано ниже: