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

Импорт csv-списка контактов в глобальный список адресов Exchange 2007 и создание группы рассылки

Вот такая ситуация:

У нас есть список из около 1000 контактов (юристов в районе, обслуживаемом нашим судом) с именем и адресом электронной почты. Меня попросили создать список рассылки электронной почты, который можно использовать для отправки электронных писем всем внешним пользователям в этом списке. Я видел различные статьи, использующие командную консоль Exchange и команду Import-csv, передаваемую через ForEach-Object в New-MailContact для настройки контактов.

Однако оболочка Exchange Management Shell бесполезна и не работает.

Я считаю, что мне нужно сделать следующее:

1) Настройте новую группу рассылки с помощью консоли управления Exchange. Скажем, эта новая группа рассылки (которая отображается в списке групп рассылки в разделе «Конфигурация получателя») называется «FloridaBar».

2) Убедитесь, что у меня есть файл csv с информацией, которую я хочу импортировать.

3) Откройте оболочку Exchange Management Shell и введите следующую команду:

Import-csv C:\filename.csv | ForEach-Object { New-MailContact -Name 

$. "NameColumnName" -ExternalEmailAddress $. "EmailAddressColumn" -org FloridaBar

Теперь создание более 1000 контактов в активном каталоге - я полагаю, это не должно быть проблемой.

Я ошибаюсь в параметре "-org"? Нужно ли мне указывать полное название организационной единицы (my.domain.name/Users/FloridaBar)?

Есть ли лучший способ сделать это?

заранее спасибо

Кен

Переключатель -org - это организационная единица, в которую будет помещен новый контакт, а не имя группы.

Вам понадобится что-то вроде следующего (введите все в одну строку - я разделил это исключительно для удобства чтения).

Import-CSV -Path D:\contacts.csv | 
ForEach-Object { 
New-MailContact -Name $_.Name -ExternalEmailAddress $_.ExternalEmailAddress 
-OrganizationalUnit "cn=Users,dc=Adatum,dc=com"; 
Add-DistributionGroupMember -Identity "FloridaBar" -Member $_.Name }

В этом случае в моем файле contacts.csv есть два столбца - Name и ExternalEmailAddress.

Перед импортом необходимо создать группу рассылки FloridaBar.

Примечание. Если бы это использовалось более одного раза, я бы приложил некоторые усилия для обработки ошибок; возможно, написав скрипт ps1, который перебирает коллекцию и записывает ошибочные данные (например, имена, которые уже существуют в AD) в файл errors.csv.

Я только что нашел кое-что, что, вероятно, помогло бы вам отсюда.

Сценарий: создание группы рассылки и добавление почтовых ящиков, указанных в CSV-файле, в группу рассылки.

Оболочка однострочная:

Ниже однострочник создает группу рассылки для всех членов команды на основе файла Avalanche.csv, который содержит информацию о составе команды NHL Avalanche, включая следующие столбцы: Pos, No, Player, Age, Ht, Wt, Born, Exp, Birth City.

new-distributiongroup -alias avalanche -name "Avalanche Team" -type distribution -org users -SamAccountName AvalancheTeam import-csv Avalanche.csv | foreach {add-distributiongroupmember avalanche -member "avalanche$($_.No)"}