Потребовалось импортировать большую базу клиентов на сервер для распределения по группам рассылок для Департамента маркетинга.
Подготавливаем csv-файлик с header-ом:
DisplayName,OrganizationalUnit,EmailAddress
|
Пример файла:
DisplayName,OrganizationalUnit,EmailAddress
bc-0000000000000007,domain.local/Service Accounts/Marketing/BonusCards/ALL,bc-0000000000000019@mail.ru
bc-0000000000000006,domain.local/Service Accounts/Marketing/BonusCards/ALL,bc-0000000000000006@mail.ru
bc-0000000000000005,domain.local/Service Accounts/Marketing/BonusCards/ALL,bc-0000000000000005@mail.ru
|
Проверить файл можно вот так:
import-csv "c:DB_BC_CSVbc.csv" | select DisplayName,OrganizationalUnit,EmailAddress
|
[PS] C:Windowssystem32>import-csv "c:DB_BC_CSVbc1.csv" | select DisplayName,OrganizationalUnit,EmailAddress
DisplayName OrganizationalUnit EmailAddress
----------- ------------------ ------------
bc-0000000000000007 domain.local/Service Accounts/Marketing... bc-0000000000000019@mail.ru
bc-0000000000000006 domain.local/Service Accounts/Marketing... bc-0000000000000006@mail.ru
bc-0000000000000005 domain.local/Service Accounts/Marketing... bc-0000000000000005@mail.ru
|
Если все хорошо идем дальше, проблема может быть в кодировке файла должен быть Unicode
Делаем импорт
[PS] C:Windowssystem32>Import-csv c:DB_BC_CSVbc1.csv | ForEach-Object {New-MailContact -Name $_.DisplayName
-ExternalEmailAddress $_.EmailAddress -OrganizationalUnit $_.OrganizationalUnit | Set-MailContact -HiddenFromAddressListsEnabled $true}
Name Alias RecipientType
---- ----- -------------
bc-0000000000000007 bc-0000000000000007 MailContact
bc-0000000000000006 bc-0000000000000006 MailContact
bc-0000000000000005 bc-0000000000000005 MailContact
|
upd.
Import-csv c:dbbc.csv | ForEach-Object {
$mailcontact=Get-MailContact -Identity $_.Name |select First 1
if ($mailcontact count -eq 0) {
New-MailContact -Name $_.Name -ExternalEmailAddress
$_.EmailAddress -OrganizationalUnit $_.OrganizationalUnit
else { Set-MailContact -Identity $_.Name -PrimarySmtpAddress $_.EmailAddress }
}
|