将联系人的 csv 列表导​​入 Exchange 2007 GAL 并创建通讯组

将联系人的 csv 列表导​​入 Exchange 2007 GAL 并创建通讯组

情况如下:

我们有一份包含大约 1,000 名联系人(我们法院服务地区的律师)的名单,其中包含姓名和电子邮件地址。有人要求我创建一个电子邮件分发列表,该列表可用于向该列表中的所有外部用户发送电子邮件。我看过很多文章,其中使用 Exchange 管理 Shell 和 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 

$“名称列名称”-外部电子邮件地址 $“电子邮件地址列”-org FloridaBar

现在,在活动目录中创建 1,000 多个联系人 - 我认为这应该不是问题。

我的“-org”参数是否错误?我需要拼出完整的组织单位名称 (my.domain.name/Users/FloridaBar) 吗?

有没有更好的方法呢?

提前致谢

答案1

-org 开关是放置新联系人的组织单位 (OrganizationalUnit),而不是组的名称。

您需要类似以下内容(将其全部输入在一行中 - 我将其拆分仅仅是为了易于阅读)。

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 文件。

答案2

我刚刚发现一些可能对你有帮助的东西从这里

场景:创建通讯组并将 CSV 文件指定的邮箱添加到通讯组

Shell 单行命令:

下面的一行代码根据 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)"}

相关内容