2015-11-02 2 views
0

Я пытаюсь экспортировать список CSV всех почтовых ящиков в группе рассылки:Экспорт список всех почтовых ящиков в группе распределения

Get-DistributionGroupMember -Identity "GroupA" 

, который даст мне список имя каждого. Однако мне также нужен их PrimarySmtpAddress. Проблема заключается в том, когда я бегу сценарий:

$Users = Get-DistributionGroupMember -Identity "GroupA" 

foreach ($User in $Users) { 
    Get-Mailbox -Identity $User | Select-Object DisplayName, PrimarySmtpAddress 
} 

Я получаю следующее сообщение об ошибке:

Cannot process argument transformation on parameter 'Identity'. Cannot convert the "@Name{Bob Smith}" value of the type "Deserialized.Selected.Microsoft.Exchange.Data.Directory.Management.ReducedRecipient" to type "Microsoft.Exchange.Configuration.tasks.MailboxIDParameter".

ответ

0

Я понял это. Изменив добавление .name на $User, он передал правильную информацию в Get-Mailbox.

Он передал информацию правильно через и я смог тогда сделать это

$List foreach ($User in $Users) { 
    Get-Mailbox -Identity $User.name | 
    Select-Object DisplayName, PrimarySmtpAddress 
} 

$List | Export-Csv C:\ExportedList.txt 

я должен был переместить Export-CSV к вне цикла foreach. Добавив все результаты foreach в $List, мне удалось экспортировать весь список. Если Export-Csv находился внутри цикла foreach, он экспортирует только один результат. Вышеупомянутый способ был для меня более простым способом.

+0

Вы также могли бы сделать это: '$ Пользователи = Get-DistributionMember -Identity" GroupA "| Select-Object -Expand Name' –

+0

Ну ладно. Спасибо. Я был уверен, что есть способ сделать это проще, но я как бы работал над тем, чтобы понять, как заставить это работать. – Spastek

+0

О, я думаю, вы имели в виду 'Get-DistributionGroupMember', а не' Get-DistributionMember' – Spastek

Смежные вопросы