当前位置:网站首页 > 更多 > 玩电脑 > 正文

[玩转系统] 使用 PowerShell 将联系人批量导入到 Exchange Online (Office 365) |第 1 部分#2

作者:精品下载站 日期:2024-12-14 20:40:05 浏览:13 分类:玩电脑

使用 PowerShell 将联系人批量导入到 Exchange Online (Office 365) |第 1 部分#2


在基于 Exchange 的环境中,术语“外部联系人”或简称“联系人”描述了一个 Exchange 收件人对象,其电子邮件地址是外部电子邮件地址(非组织电子邮件地址)。

例如——供应商、业务合作伙伴、客户等。

默认情况下,“外部联系人”与“标准”组织收件人一起显示为 GAL(全局地址列表)的一部分,例如具有邮箱、通讯组等的 Exchange 组织收件人。

使用 PowerShell 脚本将联系人批量导入到 Exchange Online (Office 365) |系列文章

  • 使用 PowerShell 将联系人批量导入到 Exchange Online (Office 365) |第 1#2 部分(本文)
  • 使用 PowerShell 脚本将联系人批量导入到 Exchange Online (Office 365) |第 2 部分#2

将邮件联系人传输到 Exchange Online

在我们从非 Exchange 邮件基础架构迁移的场景中,最常见的要求之一是将所有“邮件联系人收件人”转移到新的邮件基础架构(即 Exchange Online)。

将邮件联系人“传输”到 Exchange Online 的选项可以通过以下选项之一实现:

1.手动在 Exchange Online 中创建每个邮件联系人。

如果我们正在讨论大量的邮件联系人,那么我们在 Exchange Online 中手动创建此联系人的“手动”选项并不是理想的选择。这项任务被认为是一项费力的工作,可能会出现人为错误(拼写错误等)等问题。

2.使用第三方导入工具。

如果您使用第三方工具来实现从现有邮件基础结构到 Exchange Online 的邮件迁移,则大多数“邮件迁移应用程序”都包含可帮助您将现有联系人列表导入到 Exchange Online GAL 的模型。

3. Exchange Online - 使用 PowerShell 命令。

Exchange在线环境为我们提供了导入“联系人”对象的内置解决方案。

第一阶段通过将当前邮件基础设施中的信息导出到 CSV 文件来实现。

第二阶段是使用 PowerShell 命令执行,该命令将有关联系人的信息从 CSV 文件导入到我们的 Exchange Online 服务器。

本篇文章和下一篇文章主要介绍我们使用PowerShell实现批量联系人导入任务的“Exchange Online方法”。

我们面临的挑战

1. 目前,Exchange Online 不包含图形界面,使我们能够从 CSV 文件导入所需的联系信息。

唯一可用的选项是使用“PowerShell 命令集”,它将实现“导入联系人任务”。对于新的 PowerShell 用户来说,我们用于这项工作的 PowerShell 命令可以被认为是复杂的,而不是那么简单。”

2. CSV文件中的联系信息应以特定的数据结构格式存储。例如,Exchange Online 规定了一项强制性要求,其中每个联系人都应该有一个电子邮件地址和一个“姓名”(其他标准术语包括 - 显示名称全名 )。

我们面临的挑战的解决方案

1.在本文中,我们将回顾:

如何使用所需的 PowerShell 命令语法从联系人 CSV 文件导入信息并讨论此 PowerShell 命令的逻辑和结构

在下一篇文章中,我们将回顾如何使用我创建的 PowerShell 脚本,该脚本可以简化使用复杂 PowerShell 命令的任务。

2.在本文中,我们将回顾 CSV 文件所需的数据结构,我们需要为“导入阶段”做好准备。

在下一篇文章中,我们将回顾一些管理和操作联系人 CSV 文件中的数据的技巧。

使用 CSV 文件实现批量联系人导入

“批量导入”选项使我们能够快速有效地将数百甚至数千个邮件联系人的信息从以前的邮件基础设施迁移到 Exchange Online。

我们从“以前的邮件基础设施”导出信息的方式取决于我们使用的适当的邮件基础设施。

关于“导出数据”,我们应该了解的重要一点是,数据应该使用 CSV 格式导出。

术语 CSV 代表 - 逗号分隔值。 CSV 格式,定义了类似于表概念的数据结构。

在下面的屏幕截图中,我们可以看到 CSV 文件的示例

[玩转系统] 使用 PowerShell 将联系人批量导入到 Exchange Online (Office 365) |第 1 部分#2

该信息包括“列标题”(A)和“数据行”(B)。

例如 - 以下值是“列标题”:

外部电子邮件地址姓名名字姓氏

显示在“列标题”部分下方的值是填充不同列的值。

例如,以下字符串 - [email protected]Darren ParkerDarrenParker 将是“翻译”如下:

ExternalEmailAddress

[email protected]

Name

达伦·帕克

FirstName

达伦

LastName

派克

在下面的屏幕截图中,当我们使用 Excel 编辑文件时,我们可以看到相同的 CSV 文件。

很容易注意到,当使用 Excel 编辑 CSV 文件时,信息以更易于理解的格式呈现。

[玩转系统] 使用 PowerShell 将联系人批量导入到 Exchange Online (Office 365) |第 1 部分#2

Exchange Online 外部联系人对象和必填数据字段

基于 Exchange 的环境中的“外部联系人对象”可以包含许多属性
例如 - 姓名、电子邮件地址、电话号码、办公地址等等。

我想强调的重要一点是,基于 Exchange Online 的环境中的“外部联系对象”必须具有三个强制数据字段:

  1. *显示名称:
  2. *别名:
  3. *外部电子邮件地址:

在下面的屏幕截图中,我们可以看到这些带有星号字符的必填数据字段,“告诉我们”这些是必填数据字段。

[玩转系统] 使用 PowerShell 将联系人批量导入到 Exchange Online (Office 365) |第 1 部分#2

关键是,当我们从我们使用的现有邮件基础设施中导出联系人数据时,我们必须确保导出的数据包含此“数据字段”。

从技术上讲,导出的数据不需要包含“别名”字段,但必须包含以下数据字段:

  • 外部电子邮件地址(在我们的 CSV 文件中,此字段使用列标题
    名称显示 - 外部电子邮件地址)。
  • 显示名称(在我们的 CSV 文件中,此字段使用列标题名称显示 - 名称)。

[玩转系统] 使用 PowerShell 将联系人批量导入到 Exchange Online (Office 365) |第 1 部分#2

如果您想知道附加的强制数据字段 - “别名”,答案是,如果导出的数据(CSV 文件)不包含此字段,则 Exchange Online 的导入过程“知道”如何自动生成“别名”字段。

CSV 文件的导入过程将采用存储在 CSV 字段“名称中的值>”,并使用该值作为“别名”值。

如果我们想要更准确,导入过程将从姓名字段中取出两个分开的单词(私人姓名和姓氏),删除这两个单词之间存在的空格,并创建一个“新值” - “别名”。

在下面的屏幕截图中,我们可以看到在 CSV 文件中存储的数据与 Exchange Online“外部联系人对象”之间实现的“映射逻辑”示例。

请注意:

  • CSV 文件中显示的字段名称(行标题)与 Exchange Online 外部联系人字段名称不同。
  • CSV 文件不包含“别名”字段。如果我们在“Name”字段中提供值,导入过程将自动生成此字段。

[玩转系统] 使用 PowerShell 将联系人批量导入到 Exchange Online (Office 365) |第 1 部分#2

使用 PowerShell 将外部联系人信息导入 Exchange Online 流程逻辑

我们将外部联系信息从 CSV 文件导入 Exchange Online 的过程由两个不同的阶段组成:

阶段 1 - 在此阶段,我们使用 PowerShell 实现的导入过程,在 Exchange Online 中创建所需的外部联系人“对象”。

在此阶段,导入过程仅涉及提到的必填字段以及附加列 - 名为 FirstName

您需要 登录账户 后才能发表评论

取消回复欢迎 发表评论:

关灯