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

[玩转系统] 各种类型的 Exchange Online 收件人简介 | PowerShell cmdlet |办公室 365 |第 8 部分#13

作者:精品下载站 日期:2024-12-14 09:06:09 浏览:14 分类:玩电脑

各种类型的 Exchange Online 收件人简介 | PowerShell cmdlet |办公室 365 |第 8 部分#13


在 Exchange Online 和 Azure Active Directory 环境中寻址“收件人对象”以执行诸如查找有关电子邮件地址的信息之类的任务,可能是一项具有挑战性的任务。
在本文中,我们将探讨“深入了解 Exchange Online 和 Azure Active Directory 基础结构的“茂密森林”,并了解 Office 365 环境中的各种类型的“实体”。

为了能够解决 Office 365 环境中的各种“接收实体”问题,我们需要回答以下问题:

问题1:这些“接收实体”存储在哪里?
例如,术语“Office 365”可以翻译成不同的基础设施,例如 - Azure Active Directory、Exchange Online、Share point online、商业网盘等。

确实,大多数时候,我们将术语“收件人”与 Exchange Online 环境相关联,但在 Office 365 环境中,术语“收件人”的定义更为复杂。

例如,Azure Active Directory 存储有关 Exchange Online 收件人的电子邮件地址和 Office 365 登录名(UPN 名称)的信息正在影响 Exchange 本地收件人主电子邮件地址。

另一种场景可能是“绑定”Exchange 本地 Exchange 环境 + Exchange Online 环境的 Exchange 混合环境。
在这种场景中,我们需要了解“收件人”存储在哪里(本地 Exchange 或 Exchange Online) )以及此收件人类型之间的区别是什么。

问题2:我们需要解决的不同收件人和用户对象实体是谁?

例如,Exchange Online 环境包括多种类型的收件人,例如邮箱收件人、联系人收件人、公用文件夹收件人、组收件人等。

问题3:我们在处理不同类型的收件人时使用哪些 PowerShell cmdlet?

例如

为了寻址存储在 Azure Active Directory 中的用户,我们需要使用与 Exchange Online 环境不同的 PowerShell cmdlet。

为了处理不同类型的 Exchange Online 收件人,我们需要为每种类型的收件人使用“专用 PowerShell cmdlet”,或使用“通用”PowerShell cmdlet,例如命令 Get-Recipient

在 Office 365 环境中搜索电子邮件地址的挑战

乍一看,这个任务似乎相当简单。我们的基本假设是 Office 365 端口或 Exchange Online 管理中心界面包含一些“图形界面”,可以帮助我们执行所需的搜索。

事实上,在 Office 365 和 Exchange Online 中查找电子邮件地址的任务可能并不那么简单!

有几个原因导致我将上述任务描述为“不是一个简单的任务”

1. Exchange Online admin - 缺乏集中的电子邮件地址搜索工具

Exchange Online(和 Exchange)有多种类型的“收件人”。我们查找的电子邮件地址可能与任何类型的收件人相关。

Exchange Online 包含一个基于 Web 的界面,使我们能够执行搜索、查找电子邮件地址,但该界面的主要缺点是搜索界面基于“范围”。

例如,“Exchange Online 用户邮箱对象范围”、“Exchange Online 共享邮箱范围”等不同的搜索范围。

换句话说,我们没有可以执行“广泛电子邮件地址搜索”的工具,该搜索是通过查询 Exchange Online 基础结构中存在的所有收件人类型来执行的。

2. 使用电子邮件地址命名约定的多重“身份”

电子邮件地址只是我们用来描述某人身份的命名信念。

电子邮件地址可以描述为一个字符串结构,其中包含描述为别名的左侧部分、“@”符号和“右侧部分”——组织名称(域名后缀)。

[玩转系统] 各种类型的 Exchange Online 收件人简介 | PowerShell cmdlet |办公室 365 |第 8 部分#13

在 Office 365 基础结构中,还有其他身份使用相同的命名
约定作为电子邮件地址。

例如,Office 365的登录名被描述为UPN(用户主体名称),并且UPN具有与电子邮件地址结构相同的结构。

大多数情况下,Office 365 UPN 名称与 Exchange Online 主电子邮件地址相同,但有时它们不同。

另一个例子是SIP(会话发起协议)地址。

每个其许可证包含 Skype 商业版许可证的 Office 365 用户都拥有一个 SIP 地址。
同样,SIP 地址基于与电子邮件地址相同的结构。

当我们说我们查找有关“电子邮件地址”的信息时,重要的是我们要知道我们查找的信息是否确实是电子邮件地址或其他类型的身份(例如 SIP 地址或 Office 365 用户 UPN 名称)。

[玩转系统] 各种类型的 Exchange Online 收件人简介 | PowerShell cmdlet |办公室 365 |第 8 部分#13

3. Office 365作为一个复杂的基础设施

Office 365 是多种类型的服务和基础设施的逻辑容器。

有关特定 Office 365 的信息可以同时“出现”在许多基础设施中。

例如,拥有 Exchange Online 许可证的每个 Office 365 用户同时显示为 Office 365 Azure Active Directory“用户帐户实体”,并在 Exchange Online 基础结构中定义为用户和“邮箱收件人”。

当我们查找有关特定电子邮件地址或特定类型的电子邮件地址的信息时,重要的是要知道我们需要定义一个“搜索范围”,其中包括 Office 365 (Azure Active Directory) 基础设施 + Exchange Online 基础设施。

[玩转系统] 各种类型的 Exchange Online 收件人简介 | PowerShell cmdlet |办公室 365 |第 8 部分#13

解决方案+额外挑战

我们可以用来执行此类“全局搜索”的主要工具是我们亲爱的朋友——PowerShell。

鉴于我们决定使用 PowerShell 作为获取有关电子邮件地址、SIP 地址或 Office 365 UPN 名称信息的工具,我们面临的主要挑战是 - 需要熟悉每种类型的 Exchange Online 收件人和 Office我们需要解决的 365“实体”+我们需要用于解决此收件人或 Office 365 实体的特定 PowerShell cmdlet。

两种常见场景 - 在 Office 365 中查找电子邮件地址

现实生活场景示例

场景 1 - 从 Office 365 租户中删除“注册域名”

在这种情况下,只有当没有现有“实体”使用特定域名时,Office 365才会“允许”我们删除特定的注册域名。 “实体”可以是 Office 365 用户、Exchange Online 收件人等。

此外,我们需要删除的域名可能会显示为 Office 365 UPN 名称、收件人电子邮件地址或其他属性的一部分。

只有当我们找到所有使用该特定域名的实体,并删除该域名或将其替换为其他域名后,才能删除在 Office 365 中注册为租户域的域名。

场景 2 - 搜索“隐藏”电子邮件地址

在这种情况下,我们希望找到使用特定电子邮件地址的现有 Exchange Online 收件人或 Office 365 用户。

在这种情况下,主要的挑战是如何找到可能“属于”各种 Exchange 收件人类型或 Office 365 用户(UPN 用户名)的特定电子邮件地址。

如前所述,目前 Exchange Online 包含一个“搜索界面”,但此搜索选项仅限于特定类型的收件人,例如邮箱收件人、资源收件人等。

Exchange 收件人对象和 Azure Active Directory“收件人对象”

当我们说要查找特定的“电子邮件地址”时,重要的是我们还要“声明”特定的 Exchange“收件人类型”。

我们认为“收件人”是拥有邮箱的用户,但实际情况更为复杂,因为在基于 Exchange 的环境中,存在许多类型的其他收件人,例如邮件联系人、公共文件夹、不同类型的组等等。

更复杂的是,在基于 Office 365 的环境中,“电子邮件地址”主题不仅与 Exchange Online 环境相关,还与管理和存储 Office 365 用户帐户的 Office 365 部分相关 - Azure 活动目录。

例如,Office 365 用户登录名(UPN - 用户主体名称)基于“电子邮件地址”命名约定(别名 + 域名后缀)。

在 Office 365“空间”中“搜索”特定电子邮件地址的任务应包括有关特定“邮件收件人对象”和特定环境(例如 Office 365(Azure Active Directory)或 Exchange Online)的信息。

详细查看每个特定 Exchange Online 收件人类型及其特定字符 + 每个 Office 365 (Azure Active Directory) 对象类型的能力超出了当前文章的范围。

尽管如此,我还是想对以下内容进行高水平的评论:

不同类型的 Exchange Online 收件人、我们用于获取有关特定收件人类型和特定对象的“Exchange Online 分类”信息的 PowerShell cmdlet。

如前所述,Office 365 (Azure Active Directory) 还包含有关使用 UPN 名称(与电子邮件地址相同的结构)的用户帐户的信息,并包含有关组和联系人的信息。

Exchange Online 收件人类型

在下一节中,我将回顾一下我们用来处理各种 Exchange Online 收件人类型和 Azure Active Directory 中的对象的 PowerShell cmdlet。

我们将从基于 Exchange Online 的环境开始,在下一部分中,我们将回顾 Office 365 (Azure Active Directory) 环境。

下表包含所有 Exchange Online 可用收件人类型以及我们用于获取有关每个 Exchange Online 收件人类型信息的 PowerShell cmdlet:

Exchange recipients RecipientGet-Recipient* Remark 1Mailbox recipient MailboxGet-Mailbox* Remark 2User objectUserGet-User* Remark 3Contact recipient ContactGet-Contact* Remark 4Mail ContactGet-MailContact* Remark 4MailUserGet-MailUser* Remark 5Public Folder recipient - Mail enables Public Folder Public FolderGet-MailPublicFolder* Remark 6Group recipient DistributionGroupGet-DistributionGroupDynamic Distribution GroupGet-DynamicDistributionGroupUnified GroupGet-UnifiedGroup* Remark 7

备注1 | PowerShell 命令 Get-Recipient

我们可以将 PowerShell cmdlet Get-Recipient 视为“超级 cmdlet”,我们可以使用它来获取有关任何类型的现有 Exchange Online 收件人的信息。

除了两个例外之外,“所有可用的 Exchange Online 收件人”规则均成立:

  • 被视为软删除的 Exchange 在线邮箱 Get-Mailbox -SoftDeletedMailbox
  • Unified Exchange Online 组 Get-UnifiedGroup

如果我们想要查找特定的电子邮件地址或特定的域名后缀,并且我们想要创建一个“搜索范围”,其中将包括基于 Exchange Online 的环境中所有可用的收件人对象,我们将需要使用三个 PowerShell cmdlet 的组合:

  1. 获取收件人
  2. 获取统一组
  3. 获取邮箱-SoftDeletedMailbox

PowerShell cmdlet Get-Recipient 显示有关下图中显示的所有 Exchange Online 收件人类型的信息。

如前所述,PowerShell cmdlet Get-Recipient 不会显示软删除的 Exchange Online 邮箱,也不会显示有关描述为“统一组”的 Exchange Online 收件人的信息。

[玩转系统] 各种类型的 Exchange Online 收件人简介 | PowerShell cmdlet |办公室 365 |第 8 部分#13

使用 Get-Recipient cmdlet 时查看不同类型的 Exchange Online 收件人

为了能够了解 PowerShell cmdlet
Get-User 为我们获取的 Exchange Online 收件人类型是什么,我们可以使用 PowerShell cmdletGet-Recipient + 参数
参数创建不同类型 Exchange Online 收件人的“分组显示”。

例如:

Get-Recipient | Group RecipientTypeDetails | Select name, count

在结果中,在“名称”列下,我们可以看到 PowerShell cmdlet Get-Recipient“获取”的所有不同类型的 Exchange Online 收件人。

PS C:\> Get-Recipient | Group RecipientTypeDetails | Select name,count

Name                            Count
----                            -----
MailUniversalDistributionGroup  23
UserMailbox                     54
MailContact                     14
MailUniversalSecurityGroup      14
DiscoveryMailbox                1
SharedMailbox                   13
DynamicDistributionGroup        5
MailUser                        13
EquipmentMailbox                1
PublicFolder                    5
RoomMailbox                     7
RoomList                        1

总而言之,我们可以说,如果我们想要在基于 Exchange Online 的环境中查找特定收件人,我们将需要使用以下三个 PowerShell cmdlet 的组合。

[玩转系统] 各种类型的 Exchange Online 收件人简介 | PowerShell cmdlet |办公室 365 |第 8 部分#13

备注2 | Exchange Online PowerShell cmdlet - Get-Mailbox

在 Exchange 环境中,术语“邮箱”涉及与“用户帐户”关联的邮箱。换句话说,“拥有”(邮箱所有者)Exchange 邮箱的Exchange 用户。

PowerShell cmdlet Get-Mailbox 涉及 5 种类型的邮箱:

  • 用户邮箱
  • 共享邮箱
  • 客房邮箱
  • 设备
  • 软删除邮箱

当我们使用 PowerShell 命令 Get-Mailbox 时,我们将获得有关所有不同类型的 Exchange Online 邮箱的信息,除了“软删除”的 Exchange Online 邮箱之外。

为了能够查看软删除的 Exchange Online 邮箱,我们需要向原始 Get-Mailbox cmdlet 添加一个附加参数。

如果我们想要获取有关特定类型的 Exchange Online 邮箱的信息,例如用户邮箱、共享邮箱、房间邮箱等,我们将需要使用
PowerShell 命令Get-Mailbox + 过滤器。

附上我们使用 Get-Mailbox cmdlet + 过滤器(我们通过使用 PowerShell where 语句实现过滤器)来获取有关特定类型“Exchange 邮箱”的信息的示例。

按“类型”划分的 Exchange Online 邮箱

仅显示有关被视为“用户邮箱”的 Exchange Online 邮箱的信息。

PowerShell 命令示例:

Get-Mailbox | Where {$_.RecipientTypeDetails -eq "UserMailbox"}

仅显示有关被视为“会议室邮箱”的 Exchange Online 邮箱的信息。

PowerShell 命令示例:

Get-Mailbox | Where {$_.RecipientTypeDetails -eq "RoomMailbox"}

仅显示有关被视为“共享邮箱”的 Exchange Online 邮箱的信息。

PowerShell 命令示例:

Get-Mailbox | Where {$_.RecipientTypeDetails -eq "SharedMailbox"}

仅显示有关被视为“设备邮箱”的 Exchange Online 邮箱的信息。

PowerShell 命令示例:

Get-Mailbox | Where {$_.RecipientTypeDetails -eq "EquipmentMailbox"}

软删除的 Exchange Online 邮箱

如前所述,PowerShell cmdlet Get-Mailbox 不会显示被视为“已删除邮箱”的 Exchange Online 邮箱。

在 Exchange Online 环境中,“已删除邮箱”有两种类型或两种分类

  1. “标准”软删除 Exchange Online 邮箱
    我们删除的每个 Exchange Online 邮箱均被视为软删除邮箱。
  2. 软删除的邮箱将在 Exchange Online 回收站中保留 30 天。

如果我们想要获取软删除的 Exchange Online 邮箱的列表,我们可以使用以下 PowerShell 语法:

Get-Mailbox -SoftDeletedMailbox

2. 闲置邮箱

这是一种特殊类型的软删除 Exchange Online 邮箱,根据分配给特定 Exchange Online 邮箱的诉讼保留期限,在 Exchange Online 收件人中长期保留。

PowerShell 命令 Get-Mailbox SoftDeletedMailbox 显示有关“标准”软删除 + 非活动 Exchange Online 邮箱的信息。

如果我们只想显示有关被视为“非活动邮箱”的软删除 Exchange Online 邮箱的信息,我们可以使用 PowerShell 命令:

Get-Mailbox -InactiveMailboxOnly

[玩转系统] 各种类型的 Exchange Online 收件人简介 | PowerShell cmdlet |办公室 365 |第 8 部分#13

使用 Get-Mailbox cmdlet 时查看不同类型的 Exchange Online 收件人

为了能够了解 PowerShell cmdlet Get-User 为我们“获取”的 Exchange Online 收件人类型是什么,我们可以使用 PowerShell cmdlet Get-Mailbox +参数

参数创建不同类型 Exchange Online 收件人的“分组显示”。

例如:

Get-Mailbox | Group RecipientTypeDetails | Select name,count

在结果中,在“名称”列下,我们可以看到 PowerShell cmdlet Get-Recipient 获取的所有不同类型的 Exchange Online 收件人。

请注意,“软删除邮箱”没有具体的分类,因为这是一个特殊的类别。每种类型的 Exchange Online 邮箱(例如用户邮箱或共享邮箱)都可以视为软删除邮箱。

PS C:\> Get-Mailbox | Group RecipientTypeDetails | Select name,count

Name               Count
----               -----
UserMailbox        54
DiscoveryMailbox   1
SharedMailbox      13
EquipmentMailbox   1
RoomMailbox        7

备注3 | Exchange Online PowerShell cmdlet - Get-user

在 Exchange Online 环境中,术语“用户”涉及拥有用户帐户的 Exchange 收件人。

例如,Exchange“联系人对象”没有“用户帐户”。

PowerShell 命令Get-User与所有类型的 Exchange Online 收件人相关,这些收件人拥有包含 Exchange Online 邮箱和不包含 Exchange Online 邮箱的用户帐户。

使用 Get-User cmdlet 时查看不同类型的 Exchange Online 收件人

为了能够知道 PowerShell cmdlet Get-User 为我们“获取”的 Exchange Online 收件人类型是什么,我们可以使用 PowerShell cmdlet Get-User + 参数
参数创建不同类型 Exchange Online 收件人的“分组显示”。

例如:

Get-Mailbox | Group RecipientTypeDetails | Select name, count

在结果中,在“名称”列下,我们可以看到 PowerShell cmdlet Get-User“获取”的所有不同类型的 Exchange Online 收件人。

PS C:\> Get-User | Group RecipientTypeDetails | Select name,count

Name               Count
----               -----
User               13
UserMailbox        54
DiscoveryMailbox   1
SharedMailbox      13
MailUser           13
EquipmentMailbox   1
RoomMailbox        7

备注4 | Exchange Online PowerShell cmdlet:Get-Contact 与 Get-MailContact

Exchange Online 联系人或来自本地 Active Directory 的同步联系人。

PowerShell 命令 Get-MailContactGet-Contact 将“获取”相同类型的联系人收件人。

换句话说,将显示的联系人收件人的数量没有区别。

这两个命令之间的区别在于我们为“联系人收件人对象”显示的属性。

[玩转系统] 各种类型的 Exchange Online 收件人简介 | PowerShell cmdlet |办公室 365 |第 8 部分#13

例如,查看使用 PowerShell 命令 Get-MailContact
Get-Contact 的结果,我们可以看到我们获得了相同数量的收件人。

PS C:\> Get-MailContact | Group RecipientTypeDetails | Select name, count

Name          Count
----          -----
MailContact   14

PS C:\> Get-Contact | Group RecipientTypeDetails | Select name, count
Name          Count
----          -----
MailContact   14

备注5 | MailUser (Get-MailUser) Exchange 混合环境

Exchange Online 收件人 MailUser

邮件用户类似于邮件联系人。两者都有外部电子邮件地址,并且都包含有关 Exchange 或 Exchange Online 组织外部人员的信息,这些信息可以显示在共享通讯簿和其他地址列表中。但是,与邮件联系人不同,邮件用户在 Exchange 或 Office 365 组织中拥有登录凭据,并且可以访问资源。

从技术上来说,我们可以在Exchange Online中创建“MailUser收件人”,但这种收件人的使用很少。

在基于 Exchange Online 的环境中,“MailUser 收件人”的最常见用途是在 Exchange 混合环境中实现的。

在 Exchange 混合环境(目录同步环境)中,“MailUser 收件人”代表 - 具有邮箱的 Exchange 本地收件人,例如 - Exchange 本地用户邮箱、共享邮箱、会议室邮箱。

Exchange 本地用户没有“Exchange Online 邮箱”,但 Exchange Online “理解”这些是特殊收件人,已从本地 Active Directory 同步到云,并且该收件人是 Exchange 本地收件人一个邮箱。

[玩转系统] 各种类型的 Exchange Online 收件人简介 | PowerShell cmdlet |办公室 365 |第 8 部分#13

备注6 |公共文件夹收件人 - 邮件启用公共文件夹

默认情况下,Exchange Online 公用文件夹不被视为“收件人对象”。仅当我们将 Exchange 本地公用文件夹配置为“启用邮件”时,Exchange Online 公用文件夹才会被视为“收件人”。

PowerShell 命令Get-Recipient 显示有关启用 Exchange Online 邮件的公用文件夹的信息。

如果我们只想获取有关“启用邮件的公用文件夹收件人”的信息,我们可以使用 PowerShell 命令 Get-MailPublicFolder

备注7 |群组收件人

PowerShell 命令 Get-Group 将显示有关所有类型的 Exchange Online 组的信息,除了一个例外 - “动态分发组”。

使用PowerShell命令Get-Group,我们可以获得有关通讯组、启用邮件的安全组和统一组的信息。

关于启用邮件的安全组的主题,没有特殊的 PowerShell 命令。

为了能够仅获取有关启用邮件的安全组的信息,我们需要使用 PowerShell 命令 Get-DistributionGroup + Filter。

例如:
获取组 |其中 {$_.GroupType -like“安全“}

[玩转系统] 各种类型的 Exchange Online 收件人简介 | PowerShell cmdlet |办公室 365 |第 8 部分#13

Exchange Online 收件人分类和 PowerShell cmdlet

在以下部分中,我们将进一步了解各种 Exchange Online 收件人类型。

这次,我想添加与以下参数相关的附加信息

1. PowerShell cmdlet
我们可以使用哪些 PowerShell cmdlet 来查看有关特定 Exchange Online 收件人类型的信息?

例如,要获取被视为“邮箱用户”的 Exchange Online 收件人(Exchange Online + Exchange Online 邮箱)的信息,我们可以使用以下 PowerShell 命令:

Get-Recipient:PowerShell命令Get-Recipient,获取有关各种类型的Exchange Online收件人的信息,包括Exchange Online邮箱用户,因为Exchange Online邮箱用户实际上是一种类型Exchange Online 收件人。

Get-Mailbox:PowerShell 命令Get-Mailbox,仅获取拥有邮箱的 Exchange Online 收件人的信息。

我们可以说 PowerShell 命令 Get-Mailbox 是 PowerShell 命令 Get-Recipient 的派生

2.收件人类型和收件人类型详细信息

Exchange Online 收件人属性RecipientTypeRecipientTypeDetails 定义邮件收件人的特定分类。

例如,RecipientType共享邮箱为 UserMailbox,因为共享邮箱是作为与 Exchange Online 邮箱关联的用户帐户实现的。
RecipientTypeDetails

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

取消回复欢迎 发表评论:

关灯