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

[玩转系统] 了解 Exchange 共享邮箱权限

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

了解 Exchange 共享邮箱权限


用户邮箱和共享邮箱

Exchange Server 支持用户邮箱和共享邮箱。用户邮箱供登录其邮箱的人员用来发送和接收电子邮件。共享邮箱没有活动用户帐户,但代表部门、组或服务。共享邮箱的示例包括销售、营销、人力资源、服务台等部门使用的邮箱。共享邮箱具有已禁用的 Active Directory 帐户,并且不需要 Exchange 客户端访问许可证或 Exchange Online 许可证。

必须授予用户与共享邮箱交互的权限。授予权限允许用户:

  • 访问共享邮箱并使用共享邮箱中的项目。
  • 模拟共享邮箱并作为该邮箱发送电子邮件。
  • 代表共享邮箱发送电子邮件。

Access 在纯 Exchange 2019 环境中正常运行,但在 Exchange 混合环境中,情况可能会有所不同,并且无法按您的预期运行。在本文中,我讨论在 Exchange 2019 和 Exchange 混合环境中使用共享邮箱时的权限。

Exchange 2019 中的共享邮箱权限

Exchange Server 有两种方法向共享邮箱授予权限:

  1. 直接向用户邮箱授予权限。此选项的优点是它启用了称为自动映射的功能。通过自动映射,Outlook 会自动检测用户具有完全访问权限的共享邮箱,并相应地配置其配置文件以在其资源列表中显示邮箱。
  2. 向 Active Directory 中的组授予权限并向该组添加用户。此选项的优点是更容易管理。将用户添加到 Active Directory 中的正确组即可。不幸的是,自动映射在这种情况下不起作用。

授予完全访问权限

要向用户或组授予对共享邮箱的完全访问权限,请打开 Exchange 管理中心并导航到“收件人”,然后转到“共享”,然后打开共享邮箱的属性。在属性窗口中,选择邮箱委派并使用 + 图标将用户或组添加到完全访问列表中。要授予用户对共享邮箱的“代理发送”权限,请将用户也添加到“代理发送”列表中。

授予用户访问共享邮箱的权限时,始终可以使用 Exchange 管理中心。但是,Exchange 管理中心只能向启用邮件的组分配完全访问权限。对于未启用邮件的安全组或通讯组,您必须使用 PowerShell 授予组对共享邮箱的完全访问权限。

下面的 PowerShell 示例展示了如何授予用户对名为“Sales”的共享邮箱的完全访问权限:

Add-MailboxPermission -Identity Sales -User D.Jones -AccessRights FullAccess

如果您不想启用自动映射功能,请在添加邮箱权限时指定-Automapping选项。例如:

Add-MailboxPermission -Identity Sales -User D.Jones -AccessRights FullAccess -Automapping $False

授予对名为 Sales_FullAccess 的组的完全访问权限的代码非常相似:

Add-MailboxPermission -Identity Sales -User Sales_FullAcess -AccessRights FullAcess

您可以使用 Exchange 管理中心检查哪些邮箱对共享邮箱具有完全访问权限,但我更喜欢使用 Get-MailboxPermission cmdlet。默认情况下,SELF 和 SYSTEM 用户对邮箱具有完全访问权限,因此必须将其过滤掉。要检查谁拥有共享邮箱的完全访问权限,请使用如下代码:

Get-Mailbox -Identity Sales | Get-MailboxPermission | where-object {$_.User.ToString() -ne "NT AUTHORITY\SELF" -and $_.IsInherited -eq $False}

NT AUTHORITY\SELF 表示“拥有”该邮箱的用户。系统帐户具有邮箱数据库级别的权限,并且邮箱继承这些权限,因此输出中包含 -IsInherited -eq $False 选项。

授予“发送为”权限

“发送为”权限不是邮箱权限。相反,它是 Active Directory 权限。要向用户 D.Jones 授予对名为“Sales”的共享邮箱的“发送为”权限,请运行以下代码:

Add-ADPermission -Identity Sales -User D.Jones -AccessRights ExtendedRight -ExtendedRights "Send As"

同样,要向名为 Sales_SendAs 的组授予对同一共享邮箱的“代理发送”权限,请运行以下代码:

Add-ADPermission -Identity Sales -User Sales_SendAs -AccessRights ExtendedRight -ExtendedRights "Send As"

您可以使用 Exchange 管理中心检查哪些帐户对共享邮箱具有“代理发送”权限,但我更喜欢使用 PowerShell。要检查哪些帐户对名为“Sales”的共享邮箱具有“代理发送”权限,您可以使用以下示例:

Get-Mailbox -Identity Sales | Get-ADPermission | ? {$_.User.ToString() -ne "NT AUTHORITY\SELF" -And $_.ExtendedRights -like "*send*" } | FT -auto User,AccessRights

代表发送权限

Exchange 2019 不支持通过 Exchange 管理中心向用户或组授予“代表发送”权限,但可以使用 PowerShell 来完成。使用以下示例向用户 B.Brown 授予对名为“sales”的共享邮箱的“代表发送”权限:

Set-Mailbox -Identity [email protected] -GrantSendOnBehalfTo B.Brown

代表发送是邮箱属性,因此很容易找出谁拥有邮箱的此权限。以下 PowerShell 命令用于检查谁对名为“Sales”的共享邮箱具有代表发送权限:

Get-Mailbox -Identity Sales | Select Name,GrantSendOnBehalfTo

Exchange 2019 混合环境中的共享邮箱权限

在 Exchange 混合部署中,情况有所不同。对象及其属性在本地进行管理,Entra Connect 服务器将对象从 Active Directory 复制到 Entra ID 和 Exchange Online。

在 Exchange 混合环境中,邮箱存在于 Exchange 2019 和 Exchange Online 中。当涉及到跨界使用共享邮箱时,这可能会带来一些挑战和挫折。为了使权限在 Exchange 混合环境中正常工作,有几个先决条件:

  • Entra Connect 所需的最低版本是 1.1.553.0。由于 Entra Connect 版本 1.x 自 2023 年 10 月 1 日起不再受支持,因此您应该使用版本 2.x。强烈建议使用最新的 2.x 版本的 Entra Connect(在此处下载软件)。
  • 必须在 Exchange Server 的组织配置中启用 ACLable 对象同步,方法是设置 ACLableSyncedObjectEnabled 属性,以在移动到 Exchange Online 的邮箱上启用访问控制列表 (ACL)。在 Exchange 命令行管理程序中使用以下命令来启用此功能:
Set-OrganizationConfig -ACLableSyncedObjectEnabled $True
  • 必须在 Entra Connect 中配置 Exchange 混合,如图 1 所示。这将同步启用混合邮箱权限的属性。

[玩转系统] 了解 Exchange 共享邮箱权限

如果您已将邮箱从 Exchange 2019 移动到 Exchange Online,但未启用 ACLable 对象同步,则可以在之前移动的各个邮箱上启用它。

要在名为“marketing”的远程邮箱上启用该设置,请在 Exchange 2019 上使用以下 PowerShell 命令:

Set-RemoteMailbox -Identity marketing -ACLableSyncedObjectEnabled

根据 Microsoft 文章 Exchange 混合部署中的权限,Exchange 混合部署完全支持完全访问权限和代表发送权限。 Exchange 混合部署中不支持“代理发送”权限,但如果在两个环境中手动配置“代理发送”权限,则在大多数情况下该权限都可以使用。

通常,在迁移项目中,我会测试哪些功能有效,哪些功能无效。结果是一个功能矩阵,使(项目)管理层更容易了解正在发生的事情。图 2 显示了我最新的迁移项目中的一个示例,其中客户端位于 Citrix 和 Microsoft Intune 管理的笔记本电脑中。

[玩转系统] 了解 Exchange 共享邮箱权限

检查 Exchange Online 中的权限

当邮箱迁移到 Exchange Online 时,权限也会迁移。要检查这一点,请打开 Exchange Online 管理中心并导航到收件人 à 邮箱。选择共享邮箱的属性,然后选择委派选项卡。 “发送为”和“读取和管理(完全访问)”必须与迁移前的权限相同。

要使用 PowerShell 检查邮箱权限,请使用以下示例:

Get-Mailbox -Identity Shared | Get-MailboxPermission | where-object {$_.User.ToString() -ne "NT AUTHORITY\SELF"}

使用此命令检查“发送为”权限:

Get-Mailbox -Identity Shared | Get-RecipientPermission | where-object {$_.Trustee.ToString() -ne "NT AUTHORITY\SELF"}

请注意与在 Exchange 2019 中检查的区别,其中使用 Get-ADPermissions cmdlet 检查“发送为”权限。

在 Exchange Online 中,代表发送是使用 GrantSendOnBehalfTo 邮箱属性分配的。请求此属性时,PowerShell 返回受托者的 GUID。要返回受托人的显示名称,请使用以下示例:

(Get-Mailbox -Identity CloudManager).GrantSendOnBehalfTo | % {Get-Recipient $_ | select-object DisplayName}

在 Exchange Online 中授予权限

要设置 Exchange Online 共享邮箱的权限,请打开 Exchange 管理中心并导航到“收件人”,然后导航到“邮箱”。打开邮箱的属性并选择委派选项卡。您可以在此处设置“完全访问”和“代理发送”权限。单击“编辑”,然后单击“+添加成员”将受托人添加到邮箱。请注意,无法使用 Exchange 管理中心授予“代表发送”权限。

当然,也可以使用Exchange Online中的PowerShell来授予共享邮箱的权限。使用以下示例向名为 CloudAssistant 的用户授予对 CloudShared 邮箱的完全访问权限:

Get-Mailbox CloudShared | Add-MailboxPermission -User CloudAssistant -AccessRights FullAccess

下一个示例向同一邮箱上的同一用户授予“代理发送”权限。请注意,在 Exchange 2019 中使用的是 Add-RecipientPermission 命令而不是 Add-ADPermission 命令:

Add-RecipientPermission -Identity CloudShared -Trustee cloudassistant -AccessRights SendAs

如前所述,代表发送是邮箱的一个属性,因此要向 CloudShared 邮箱上名为 d.jones 的用户授予代表发送权限,请使用以下命令:

Set-Mailbox -Identity CloudShared -GrantSendOnBehalfTo d.jones

笔记。在 Exchange 2019 中,您可以使用未启用邮件的全局组来授予对共享邮箱的权限。当使用 Entra ID Connect 同步这些组时,此功能将不起作用。为此,该组必须在 Exchange 2019 中启用邮件,然后使用 Entra ID Connect 进行同步。

概括

共享邮箱在Exchange中被广泛使用。在 Exchange 本地环境中设置和管理共享邮箱的权限相对简单。但是,在 Exchange 混合环境中,邮箱可能位于 Exchange 2019 或 Exchange Online 中,事情很快就会变得复杂。当满足所有先决条件时,混合环境中完全支持“完全访问”权限和“代表发送”权限,但不支持“代理发送”权限。但是,据微软称,它适用于大多数情况。这也是我的个人经验,但在某些情况下,事情并不会按预期进行。

制作一个包含可能场景的矩阵,并写下哪些场景适用于您的环境,哪些场景不适用。

为了防止混合环境中出现权限问题,最好将邮箱和代理人保留在同一平台上,以防止需要跨界共享邮箱。发现邮箱委托的详细信息并确保迁移后一切正常可能是迁移到 Exchange Online 过程中最困难的部分。

Microsoft 平台迁移规划和整合

简化迁移规划,克服迁移挑战,更快地完成项目,同时最大限度地降低成本、风险和对用户的干扰。

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

取消回复欢迎 发表评论:

关灯