将外部联系人批量导入到Exchange Online

本文适用于管理员。 是否尝试将联系人导入自己的邮箱? 请参阅 将联系人导入 Outlook

贵公司是否有许多要包含在共享通讯簿中的现有业务联系人, (Exchange Online中也称为全局地址列表) ? 是否要将外部联系人添加为通讯组的成员,就像在公司内部使用用户一样? 如果是这样,可以使用 Exchange Online PowerShell 和 CSV (逗号分隔值) 文件将外部联系人批量导入Exchange Online。 这是一个三步过程:

步骤 1:创建包含有关外部联系人信息的 CSV 文件

步骤 2:使用 PowerShell 创建外部联系人

步骤 3:向外部联系人的属性添加信息

完成这些步骤以导入联系人后,可以执行以下附加任务:

提示

如果你不是 E5 客户,请使用为期 90 天的 Microsoft Purview 解决方案试用版来探索其他 Purview 功能如何帮助组织管理数据安全性和合规性需求。 立即从Microsoft Purview 合规门户试用中心开始。 了解有关 注册和试用条款的详细信息。

步骤 1:创建包含有关外部联系人信息的 CSV 文件

第一步是创建一个 CSV 文件,其中包含要导入到Exchange Online的每个外部联系人的相关信息。

  1. 将以下文本复制到记事本中的文本文件,并使用文件名后缀 .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时可以使用的属性。 每个属性名称都用逗号分隔。 标题行下的每一行都表示用于导入单个外部联系人的属性值。

    注意

    此文本包含可删除的示例数据。 但不要删除或更改第一个 (标头) 行。 它包含外部联系人的所有属性。

  2. 在 Microsoft Excel 中打开 CSV 文件以编辑 CSV 文件,因为使用 Excel 编辑 CSV 文件要容易得多。

  3. 为要导入到Exchange Online的每个联系人创建一行。 填充尽可能多的单元格。 此信息将显示在每个联系人的共享通讯簿中。

    重要

    以下属性 (,这些属性是创建外部联系人所需的标题行的前四个项目) ,并且必须在 CSV 文件中填充: ExternalEmailAddressNameFirstNameLastName。 在步骤 2 中运行的 PowerShell 命令将使用这些属性的值来创建联系人。

步骤 2:使用 PowerShell 创建外部联系人

下一步是使用在步骤 1 和 PowerShell 中创建的 CSV 文件批量导入 CSV 文件中列出的外部联系人以Exchange Online。

  1. 将 PowerShell 连接到Exchange Online组织。 有关分步说明,请参阅连接 Exchange Online PowerShell。 连接到 Exchange Online PowerShell 时,请务必使用全局管理员帐户的用户名和密码。

  2. 将 PowerShell 连接到Exchange Online后,转到在步骤 1 中保存 CSV 文件的桌面文件夹,例如 C:\Users\Administrator\desktop

  3. 运行以下命令以创建外部联系人:

    Import-Csv .\ExternalContacts.csv|%{New-MailContact -Name $_.Name -DisplayName $_.Name -ExternalEmailAddress $_.ExternalEmailAddress -FirstName $_.FirstName -LastName $_.LastName}
    

    创建新联系人可能需要一段时间,具体取决于要导入的联系人数。 命令运行完成后,PowerShell 会显示已创建的新联系人的列表。

  4. 若要查看新的外部联系人,请转到 Exchange 管理中心 (EAC) ,然后单击“ 收件人>联系人”。

    提示

    有关连接到 EAC 的说明,请参阅 Exchange Online 中的 Exchange 管理中心

  5. 如有必要,请单击“ 刷新 ”以更新列表并查看导入的外部联系人。

    导入的联系人将显示在 Outlook 中的共享通讯簿中,Outlook 网页版。

    注意

    还可以转到“用户>联系人”,查看Microsoft 365 管理中心中的联系人

步骤 3:向外部联系人的属性添加信息

在步骤 2 中运行命令后,会创建外部联系人,但它们不包含任何联系人或组织信息,即 CSV 文件中大多数单元格中的信息。 这是因为在创建新的外部联系人时,只会填充所需的属性。 如果 CSV 文件中没有填充所有信息,请不要担心。 如果不存在,则不会添加它。

  1. 将 PowerShell 连接到Exchange Online组织。 有关分步说明,请参阅连接 Exchange Online PowerShell

  2. 转到在步骤 1 中保存 CSV 文件的桌面文件夹;例如 。 C:\Users\Administrator\desktop

  3. 运行以下命令,将 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 中导入的联系人数量。

  4. 若要验证是否已将属性添加到联系人中,请执行以下命令:

  5. Exchange 管理中心,转到 “收件人>联系人”。

  6. 单击联系人,然后单击 编辑编辑图标。 以显示联系人的属性。

就是这么简单。 用户可以在通讯簿 Outlook 和 Outlook 网页版 中看到联系人和其他信息。

添加更多外部联系人

可以重复步骤 1 到步骤 3,在Exchange Online添加新的外部联系人。 你或公司中的用户只需在 CSV 文件中为新联系人添加新行即可。 然后,可以运行步骤 2 和步骤 3 中的 PowerShell 命令,以创建新联系人并向其添加信息。

注意

运行命令创建新联系人时,可能会收到错误,指出之前创建的联系人已存在。 但会创建添加到 CSV 文件的任何新联系人。

隐藏共享通讯簿中的外部联系人

某些公司可能仅使用外部联系人,以便可以将其添加为通讯组的成员。 在这种情况下,他们可能希望从共享通讯簿中隐藏外部联系人。 操作步骤如下:

  1. 将 PowerShell 连接到Exchange Online组织。 有关分步说明,请参阅连接 Exchange Online PowerShell

  2. 若要隐藏单个外部联系人,请运行以下命令。

    Set-MailContact <external contact> -HiddenFromAddressListsEnabled $true 
    

    例如,若要在共享通讯簿中隐藏 Pilar Pinilla,请运行以下命令:

    Set-MailContact "Pilar Pinilla" -HiddenFromAddressListsEnabled $true
    
  3. 若要隐藏共享通讯簿中的所有外部联系人,请运行以下命令:

    Get-Contact -ResultSize unlimited -Filter {(RecipientTypeDetails -eq 'MailContact')} | Set-MailContact -HiddenFromAddressListsEnabled $true  
    

隐藏这些联系人后,外部联系人不会显示在共享通讯簿中,但你仍然可以将它们添加为通讯组的成员。