将外部联系人批量导入到Exchange Online
本文适用于管理员。 是否尝试将联系人导入自己的邮箱? 请参阅 将联系人导入 Outlook
贵公司是否有许多要包含在共享通讯簿中的现有业务联系人, (Exchange Online中也称为全局地址列表) ? 是否要将外部联系人添加为通讯组的成员,就像在公司内部使用用户一样? 如果是这样,可以使用 Exchange Online PowerShell 和 CSV (逗号分隔值) 文件将外部联系人批量导入Exchange Online。 这是一个三步过程:
完成这些步骤以导入联系人后,可以执行以下附加任务:
提示
如果你不是 E5 客户,请使用为期 90 天的 Microsoft Purview 解决方案试用版来探索其他 Purview 功能如何帮助组织管理数据安全性和合规性需求。 立即从Microsoft Purview 合规门户试用中心开始。 了解有关 注册和试用条款的详细信息。
步骤 1:创建包含有关外部联系人信息的 CSV 文件
第一步是创建一个 CSV 文件,其中包含要导入到Exchange Online的每个外部联系人的相关信息。
将以下文本复制到记事本中的文本文件,并使用文件名后缀.csv将其另存为 CSV 文件在桌面上;例如,ExternalContacts.csv。
提示
如果语言包含特殊字符 ((如 å、 ä 和 ö ),则) 在记事本中保存文件时使用 UTF-8 或其他 Unicode 编码保存 CSV 文件。
ExternalEmailAddress,Name,FirstName,LastName,StreetAddress,City,StateorProvince,PostalCode,Phone,MobilePhone,Pager,HomePhone,Company,Title,OtherTelephone,Department,CountryOrRegion,Fax,Initials,Notes,Office,Manager danp@fabrikam.com,Dan Park,Dan,Park,1234 23rd Ave,Golden,CO,80215,206-111-1234,303-900-1234,555-1212,123-456-7890,Fabrikam,Shipping clerk,555-5555,Shipping,US,123-4567,R.,Good worker,31/1663,Dan Park pilar@contoso.com,Pilar Pinilla,Pilar,Pinilla,1234 Main St.,Seattle,WA,98017,206-555-0100,206-555-0101,206-555-0102,206-555-1234,Contoso,HR Manager,206-555-0104,Executive,US,206-555-0105,P.,Technical decision maker,31/1000,Dan Park
CSV 文件的第一行(或标题行)列出了在将联系人导入Exchange Online时可以使用的属性。 每个属性名称都用逗号分隔。 标题行下的每一行都表示用于导入单个外部联系人的属性值。
注意
此文本包含可删除的示例数据。 但不要删除或更改第一个 (标头) 行。 它包含外部联系人的所有属性。
在 Microsoft Excel 中打开 CSV 文件以编辑 CSV 文件,因为使用 Excel 编辑 CSV 文件要容易得多。
为要导入到Exchange Online的每个联系人创建一行。 填充尽可能多的单元格。 此信息将显示在每个联系人的共享通讯簿中。
重要
以下属性 (,它们是) 页眉行的前四个项目,必须填充在 CSV 文件中: ExternalEmailAddress、 Name、 FirstName、 LastName。 在步骤 2 中运行的 PowerShell 命令将使用这些属性的值来创建联系人。
步骤 2:使用 PowerShell 创建外部联系人
下一步是使用在步骤 1 和 PowerShell 中创建的 CSV 文件批量导入 CSV 文件中列出的外部联系人以Exchange Online。
将 PowerShell 连接到Exchange Online组织。 有关分步说明,请参阅连接 Exchange Online PowerShell。 连接到 Exchange Online PowerShell 时,请务必使用全局管理员帐户的用户名和密码。
将 PowerShell 连接到Exchange Online后,转到步骤 1 中保存 CSV 文件的桌面文件夹,例如
C:\Users\Administrator\desktop
。运行以下命令以创建外部联系人:
Import-Csv .\ExternalContacts.csv|%{New-MailContact -Name $_.Name -DisplayName $_.Name -ExternalEmailAddress $_.ExternalEmailAddress -FirstName $_.FirstName -LastName $_.LastName}
创建新联系人可能需要一段时间,具体取决于要导入的联系人数。 命令运行完成后,PowerShell 会显示已创建的新联系人的列表。
若要查看新的外部联系人,请转到 Exchange 管理中心 (EAC) ,然后单击“ 收件人>联系人”。
提示
有关连接到 EAC 的说明,请参阅 Exchange Online 中的 Exchange 管理中心。
如有必要,请单击“ 刷新 ”以更新列表并查看导入的外部联系人。
导入的联系人将显示在 Outlook 中的共享通讯簿中,Outlook 网页版。
注意
还可以转到“用户>联系人”,查看Microsoft 365 管理中心中的联系人。
步骤 3:向外部联系人的属性添加信息
在步骤 2 中运行命令后,会创建外部联系人,但它们不包含任何联系人或组织信息,即 CSV 文件中大多数单元格中的信息。 这是因为在创建新的外部联系人时,只会填充所需的属性。 如果 CSV 文件中没有填充所有信息,请不要担心。 如果不存在,则不会添加它。
将 PowerShell 连接到Exchange Online组织。 有关分步说明,请参阅连接 Exchange Online PowerShell。
转到在步骤 1 中保存 CSV 文件的桌面文件夹;例如 。
C:\Users\Administrator\desktop
运行以下命令,将 CSV 文件中的其他属性添加到在步骤 2 中创建的外部联系人。
Import-Csv .\ExternalContacts.csv|%{Set-Contact -Identity $_.Name -StreetAddress $_.StreetAddress -City $_.City -StateorProvince $_.StateorProvince -PostalCode $_.PostalCode -Phone $_.Phone -MobilePhone $_.MobilePhone -Pager $_.Pager -HomePhone $_.HomePhone -Company $_.Company -Title $_.Title -OtherTelephone $_.OtherTelephone -Department $_.Department -Fax $_.Fax -Initials $_.Initials -Notes $_.Notes -Office $_.Office -Manager $_.Manager}
注意
Manager 参数可能存在问题。 如果单元格在 CSV 文件中为空,将收到错误,并且不会向联系人添加任何属性信息。 如果不需要指定管理器,只需从以前的 PowerShell 命令中删除
-Manager $_.Manager
即可。同样,更新联系人可能需要一段时间,具体取决于在步骤 1 中导入的联系人数量。
若要验证是否已将属性添加到联系人中,请执行以下命令:
在 Exchange 管理中心,转到 “收件人>联系人”。
单击联系人,然后单击 编辑
以显示联系人的属性。
就是这么简单。 用户可以在通讯簿 Outlook 和 Outlook 网页版中看到联系人和其他信息。
添加更多外部联系人
可以重复步骤 1 到步骤 3,在Exchange Online添加新的外部联系人。 你或公司中的用户只需在 CSV 文件中为新联系人添加新行即可。 然后,可以运行步骤 2 和步骤 3 中的 PowerShell 命令,以创建新联系人并向其添加信息。
注意
运行命令创建新联系人时,可能会收到错误,指出之前创建的联系人已存在。 但会创建添加到 CSV 文件的任何新联系人。
隐藏共享通讯簿中的外部联系人
某些公司可能仅使用外部联系人,以便可以将其添加为通讯组的成员。 在这种情况下,他们可能希望从共享通讯簿中隐藏外部联系人。 操作步骤如下:
将 PowerShell 连接到Exchange Online组织。 有关分步说明,请参阅连接 Exchange Online PowerShell。
若要隐藏单个外部联系人,请运行以下命令。
Set-MailContact <external contact> -HiddenFromAddressListsEnabled $true
例如,若要在共享通讯簿中隐藏 Pilar Pinilla,请运行以下命令:
Set-MailContact "Pilar Pinilla" -HiddenFromAddressListsEnabled $true
若要隐藏共享通讯簿中的所有外部联系人,请运行以下命令:
Get-Contact -ResultSize unlimited -Filter {(RecipientTypeDetails -eq 'MailContact')} | Set-MailContact -HiddenFromAddressListsEnabled $true
隐藏这些联系人后,外部联系人不会显示在共享通讯簿中,但你仍然可以将它们添加为通讯组的成员。