Вот такая ситуация:
У нас есть список из около 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)"}