[玩转系统] 如何分配完全访问邮箱权限
作者:精品下载站 日期:2024-12-14 05:50:28 浏览:14 分类:玩电脑
如何分配完全访问邮箱权限
您可以将用户完全访问权限分配给另一个邮箱。可以将邮箱权限分配给单个、多个或批量所有许可用户邮箱、共享邮箱或组。在本文中,您将了解如何在 Exchange 管理中心和使用 PowerShell 分配完全访问邮箱权限。
Exchange Online 权限类型
Exchange Online 中存在三种不同的权限类型:
在本文中,我们将仅关注完全访问权限。
注意:您只能向许可邮箱分配“完全访问”权限。
在 Exchange 管理中心分配完全访问邮箱权限
您可以向用户邮箱分配完全访问权限。这意味着您将授予用户与用户邮箱所有者相同的权限。
在我们的示例中,我们希望为名为 David 的用户分配对 Amanda 邮箱的完全访问权限。
提供所需的权限后,我们需要验证 David 是否可以使用 Outlook 应用或 Outlook 网页版 (OWA) 查看 Amanda 的邮箱。
如何分配用户完全访问邮箱权限
按照以下步骤在 EAC 中分配完全访问权限:
- 登录 Exchange Online 管理中心
- 单击收件人 > 邮箱
- 点击您想要为其分配邮箱完全访问权限的特定收件人
在我们的示例中,将与其他用户共享其邮箱的收件人是Amanda Hansen。
- 单击委托选项卡
- 转到阅读和管理(完全访问权限)
- 点击编辑
- 点击添加成员
- 搜索用户
- 选择邮箱([email protected])
- 点击保存
- 点击确认
- 邮箱权限已添加到这些邮箱
验证完全访问邮箱权限
在我们为用户邮箱分配完全访问权限后,我们希望在 Outlook 中访问该邮箱。完全访问权限允许用户打开另一个用户的邮箱并充当所有者。缺点是它不会在 Outlook 网页版 (OWA) 中添加邮箱文件夹,因此您必须手动执行此操作。
在 Outlook 中检查邮箱
转到具有完全访问邮箱权限的用户的 Outlook 应用程序。
在我们的示例中,我们将打开 David's Outlook。如下所示,它会自动添加一个包含目标邮箱(Amanda Hansen)的文件夹。
在 Outlook 网页版 (OWA) 中,您必须添加目标邮箱,我们将在下一步中向您展示。
在 Outlook 网页版 (OWA) 中检查邮箱
如果用户对其他用户的邮箱具有完全访问权限,您将不会在 OWA 的左侧面板中看到该邮箱。在我们的示例中,我们希望了解 Amanda 如何在 Outlook 网页版 (OWA) 中访问 David 邮箱。
如何在OWA中添加完全访问权限邮箱:
- 登录 Outlook 网页版
- 右键单击文件夹
- 选择添加共享文件夹或邮箱
- 输入您拥有完全访问权限的邮箱的名称或电子邮件地址
- 添加用户([email protected])
- 附加邮箱(Amanda Hansen)已添加到David OWA。
您已成功为用户邮箱分配“完全访问”权限,并将该邮箱添加到 Outlook 网页版 (OWA) 中。
连接交换在线
为了能够运行 PowerShell 命令,您必须连接到 Exchange Online PowerShell。以管理员身份打开 Windows PowerShell,运行以下 cmdlet,然后使用管理员凭据登录。
Connect-ExchangeOnline
使用PowerShell参数添加邮箱权限
我们将向您展示为其他用户的邮箱分配权限时必须使用的 PowerShell 命令。然后,您可以添加不同的参数来设置其他设置。
添加权限的基本 PowerShell 语法。
Add-MailboxPermission -Identity "Identity" -User "Identity" -AccessRight FullAccess
注意:您只能向许可用户分配“完全访问”邮箱权限。共享邮箱不需要它。
我们将解释可与上述 cmdlet 一起使用的 PowerShell 参数。
添加-Automapping参数
自动映射是一项自动将邮箱文件夹添加到具有“完全访问”权限的用户的 Outlook 配置文件中的功能。
当我们提供完全访问邮箱权限时,PowerShell 命令默认使用自动映射功能。 -AutoMapping 参数值设置为 $true。
自动映射的目的是避免让用户手动将邮箱文件夹添加到其 Outlook 配置文件中。
在我们的示例中,我们希望向 [email protected] 邮箱提供 [email protected] 完全访问 权限。默认情况下,它会自动将附加邮箱(自动映射)添加到 Brenda Outlook 邮件配置文件中。
运行以下 PowerShell 命令以使用默认 AutoMapping 分配完全访问权限。
Add-MailboxPermission -Identity "[email protected]" -User "[email protected]" -AccessRight FullAccess
PowerShell 输出结果。
Identity User AccessRights IsInherited Deny
-------- ---- ------------ ----------- ----
eec2668a-0773-494... S-1-5-21-70143928... {FullAccess} False False
如果您想禁用自动映射,可以通过将该值设置为 $false 来避免此默认功能。
运行以下 PowerShell 命令以分配“完全访问”权限,无需 AutoMapping。
Add-MailboxPermission -Identity "[email protected]" -User "[email protected]" -AccessRight FullAccess -AutoMapping $false
注意:要对已向用户分配完全访问权限的邮箱禁用自动映射,您必须使用 Remove-MailboxPermission cmdlet 删除用户的完全访问权限。然后,使用值为 $false 的 AutoMapping 参数重新分配用户对邮箱的完全访问权限。
添加-InheritanceType All参数
默认情况下,具有完全访问权限的用户(Brenda)只能访问用户邮箱(David)中存在的当前邮箱文件夹。每当用户邮箱(David)添加另一个文件夹时,拥有完全访问权限的用户(Brenda)将无法访问此新文件夹。
为了避免这种情况,请将 -InheritanceType All 参数添加到 PowerShell 命令中。它将允许具有完全访问权限的用户 (Brenda) 访问用户 (David) 可能添加的所有其他新文件夹。
使用以下 PowerShell 命令通过参数 -Automapping 和 -InheritanceType All 分配“完全访问”权限。
Add-MailboxPermission -Identity "[email protected]" -User "[email protected]" -AccessRight FullAccess -AutoMapping $false -InheritanceType All
1. 为用户邮箱分配完全访问权限
您可以将用户(Brenda)的完全访问权限分配给另一个用户邮箱(David)。
如前所述,我们建议将 -InheritanceType All 参数添加到 PowerShell 命令中,以使 Brenda 能够访问 David 将来可以创建的新邮件文件夹。
我们不需要添加-AutoMapping参数,因为该选项默认启用。因此,当您运行以下 PowerShell 命令时,它会自动将 David 的邮箱添加到 Brenda 的 Outlook 邮件配置文件中。
Powershell命令语法:
Add-MailboxPermission -Identity "Identity" -User "Identity" -AccessRight FullAccess -InheritanceType All
PowerShell 命令示例:
Add-MailboxPermission -Identity "[email protected]" -User "[email protected]" -AccessRight FullAccess -InheritanceType All
2. 为用户分配所有邮箱的完全访问权限
您还可以批量为所有用户邮箱分配用户邮箱权限。 PowerShell 命令将由以下部分组成:
- 在第一部分中,我们想要获取所有 Exchange Online 邮箱的列表。默认 PowerShell Get-Mailbox 仅显示前 1,000 个邮箱。我们需要使用Get-Mailbox -ResultSize Unlimited命令来获取所有现有邮箱的列表。第一部分的输出通过管道传输到 PowerShell 命令的第二部分。
- 在第二部分中,我们要为所有邮箱分配 Brenda 完全访问 邮箱权限。我们从 PowerShell 命令的第一部分获取的邮箱列表。
- 添加-InheritanceType All参数以访问用户将来可能添加的任何新文件夹。
- 对于最后一部分,我们需要使用 -AutoMapping 参数并将值设置为 $false 以避免将数百个邮箱添加到 Brenda 的 Outlook 配置文件中。
在我们的示例中,我们将向所有没有 AutoMapping 的邮箱授予 Brenda 完全访问邮箱权限。
运行以下 PowerShell 命令示例。
Get-Mailbox -ResultSize Unlimited | Add-MailboxPermission -User "[email protected]" -AccessRights FullAccess -InheritanceType All -AutoMapping $false
PowerShell输出结果如下所示。
Identity User AccessRights IsInherited Deny
-------- ---- ------------ ----------- ----
0de964ae-f09a-4e6... S-1-5-21-70143928... {FullAccess} False False
ed01f464-daf9-42a... S-1-5-21-70143928... {FullAccess} False False
d23f1e98-02db-429... S-1-5-21-70143928... {FullAccess} False False
41377e9c-dc47-46c... S-1-5-21-70143928... {FullAccess} False False
7bfec79d-7806-484... S-1-5-21-70143928... {FullAccess} False False
f034e5cd-4abb-47c... S-1-5-21-70143928... {FullAccess} False False
5cae3874-442b-459... S-1-5-21-70143928... {FullAccess} False False
6ec79c8e-5a84-499... S-1-5-21-70143928... {FullAccess} False False
5f4d37cd-383c-413... S-1-5-21-70143928... {FullAccess} False False
d912b0fc-6f7e-4ec... S-1-5-21-70143928... {FullAccess} False False
091c4453-82be-47c... S-1-5-21-70143928... {FullAccess} False False
7acf56e8-6d86-4e2... S-1-5-21-70143928... {FullAccess} False False
Catch All S-1-5-21-70143928... {FullAccess} False False
WARNING: The appropriate access control entry is already present on the object "CN=
Catch All,OU=ms365info.onmicrosoft.com,OU=Microsoft Exchange Hosted Organizations,D
C=EURPR02A011,DC=PROD,DC=OUTLOOK,DC=COM" for account "S-1-5-21-701439281-3420630407
-1831248095-12986084".
在我们的示例中,如果 Brenda Smith 已拥有特定邮箱的完全访问权限,它还会显示警告。
3、为过滤邮箱分配用户邮箱权限
我们想要展示对所有已过滤的许可用户邮箱分配用户邮箱权限的示例。
为所有用户邮箱分配完全访问权限
在 Exchange Online 中,我们有用户邮箱、房间邮箱、共享邮箱和设备邮箱。您可以根据需要过滤这些邮箱。在我们的示例中,我们希望向 Brenda 授予对已过滤的用户邮箱列表的完全访问邮箱权限。
我们需要使用-Automapping参数并将值设置为$false。否则,它会自动将数百个邮箱添加到 Brenda 的 Outlook 配置文件中。
运行以下 PowerShell 命令示例。
Get-Mailbox -ResultSize Unlimited -Filter { (RecipientTypeDetails -eq 'UserMailbox') } | Add-MailboxPermission -User "[email protected]" -AccessRights FullAccess -InheritanceType All -AutoMapping $false
PowerShell 输出结果显示它为 Exchange Online 中的每个用户邮箱添加了邮箱权限。如果用户已经拥有特定邮箱的完全访问权限,它还会显示警告。
Identity User AccessRights IsInherited Deny
-------- ---- ------------ ----------- ----
0de964ae-f09a-4e6... S-1-5-21-70143928... {FullAccess} False False
ed01f464-daf9-42a... S-1-5-21-70143928... {FullAccess} False False
41377e9c-dc47-46c... S-1-5-21-70143928... {FullAccess} False False
7bfec79d-7806-484... S-1-5-21-70143928... {FullAccess} False False
f034e5cd-4abb-47c... S-1-5-21-70143928... {FullAccess} False False
6ec79c8e-5a84-499... S-1-5-21-70143928... {FullAccess} False False
5f4d37cd-383c-413... S-1-5-21-70143928... {FullAccess} False False
091c4453-82be-47c... S-1-5-21-70143928... {FullAccess} False False
为具有特殊电子邮件地址的邮箱分配完全访问权限
我们希望授予用户对其电子邮件地址中具有特定域后缀的所有邮箱的“完全访问”邮箱权限。在我们的示例中,我们希望仅授予 Brenda 访问具有 a-d.site 域名后缀的邮箱的权限。
我们使用的 PowerShell 脚本由以下部分组成:
- 首先,我们想要获取所有现有邮箱的列表。
- 然后,我们使用-Filter参数来获取具有您提供的域名后缀的邮箱列表(a-d.site)。
- 我们使用管道 (|) 将结果从 PowerShell 命令的第一部分传输到第二部分。
- 我们将 Brenda 完全访问 邮箱权限分配给已过滤的邮箱列表。
请参阅 PowerShell 命令语法。
Get-Mailbox -ResultSize Unlimited -Filter { (EmailAddresses -like "*Mail address suffix*") } | Add-MailboxPermission -User "Identity" -AccessRights FullAccess -InheritanceType All -AutoMapping $false
运行以下 PowerShell 命令示例。
Get-Mailbox -ResultSize Unlimited -Filter { (EmailAddresses -like "*a-d.site*") } | Add-MailboxPermission -User "[email protected]" -AccessRights FullAccess -InheritanceType All -AutoMapping $false
PowerShell 输出显示它向具有您提供的域的所有邮箱分配完全访问权限。
Identity User AccessRights IsInherited Deny
-------- ---- ------------ ----------- ----
0de964ae-f09a-4e6... S-1-5-21-70143928... {FullAccess} False False
ed01f464-daf9-42a... S-1-5-21-70143928... {FullAccess} False False
d23f1e98-02db-429... S-1-5-21-70143928... {FullAccess} False False
41377e9c-dc47-46c... S-1-5-21-70143928... {FullAccess} False False
7bfec79d-7806-484... S-1-5-21-70143928... {FullAccess} False False
f034e5cd-4abb-47c... S-1-5-21-70143928... {FullAccess} False False
5cae3874-442b-459... S-1-5-21-70143928... {FullAccess} False False
6ec79c8e-5a84-499... S-1-5-21-70143928... {FullAccess} False False
5f4d37cd-383c-413... S-1-5-21-70143928... {FullAccess} False False
d912b0fc-6f7e-4ec... S-1-5-21-70143928... {FullAccess} False False
091c4453-82be-47c... S-1-5-21-70143928... {FullAccess} False False
7acf56e8-6d86-4e2... S-1-5-21-70143928... {FullAccess} False False
Catch All S-1-5-21-70143928... {FullAccess} False False
WARNING: The appropriate access control entry is already present on the object "CN=
Catch All,OU=ms365info.onmicrosoft.com,OU=Microsoft Exchange Hosted Organizations,D
C=EURPR02A011,DC=PROD,DC=OUTLOOK,DC=COM" for account "S-1-5-21-701439281-3420630407
-1831248095-12986084".
在我们的示例中,如果 Brenda Smith 已拥有邮箱的完全访问权限,则会显示警告。
为特定部门的邮箱分配完全访问权限
我们想要为在特定部门工作的所有用户分配用户邮箱权限。因此,我们需要过滤部门,指定一个部门。
在我们的示例中,我们希望将 Brenda 邮箱权限分配给销售部门内的所有许可用户邮箱。如果销售部门内还有其他用户没有邮箱许可证,则不会向他们分配权限。
我们必须使用 Get-User cmdlet 来获取有关 Exchange Online 中的 Microsoft 365 用户邮箱的信息。
请参阅下面的 PowerShell 命令语法。
Get-User -RecipientTypeDetails UserMailbox -Filter { (Department -eq "Sales") } -ResultSize Unlimited | Add-MailboxPermission -User "Identity" -AccessRights FullAccess -InheritanceType All -AutoMapping $false
运行 PowerShell 命令示例。
Get-User -RecipientTypeDetails UserMailbox -Filter { (Department -eq "Sales") } -ResultSize Unlimited | Add-MailboxPermission -User "[email protected]" -AccessRights FullAccess -InheritanceType All -AutoMapping $false
PowerShell输出结果如下所示。
Identity User AccessRights IsInherited Deny
-------- ---- ------------ ----------- ----
52a6c1c7-77d2-4109-… S-1-5-21-701439281-… {FullAccess} False False
82cd0d62-e974-4892-… S-1-5-21-701439281-… {FullAccess} False False
b602b148-2fcf-435a-… S-1-5-21-701439281-… {FullAccess} False False
它仅向您提供的部门(销售)内的许可用户邮箱分配“完全访问”权限。如果用户已对所提供部门内的邮箱拥有完全访问权限,则会显示警告。
为两个部门的用户分配完全访问权限
我们希望向来自两个不同部门的用户提供用户完全访问邮箱权限。
在我们的示例中,我们希望向 Brenda 邮箱授予对销售部门和营销部门的许可用户邮箱的权限。为了能够找到两个部门的用户,我们将使用逻辑运算符-or。
请参阅下面的 PowerShell 命令语法。
Get-User -RecipientTypeDetails UserMailbox -Filter { (Department -eq "Sales") -or (Department -eq "Marketing") } -ResultSize Unlimited | Add-MailboxPermission -User "Identity" -AccessRights FullAccess -InheritanceType All -AutoMapping $false
运行 PowerShell 命令示例。
Get-User -RecipientTypeDetails UserMailbox -Filter { (Department -eq "Sales") -or (Department -eq "Marketing") } -ResultSize Unlimited | Add-MailboxPermission -User "[email protected]" -AccessRights FullAccess -InheritanceType All -AutoMapping $false
PowerShell 输出结果仅向您提供的部门内的许可用户邮箱分配“完全访问”权限。
Identity User AccessRights IsInherited Deny
-------- ---- ------------ ----------- ----
b602b148-2fcf-435a-… S-1-5-21-701439281-… {FullAccess} False False
41377e9c-dc47-46c0-… S-1-5-21-701439281-… {FullAccess} False False
5cae3874-442b-459c-… S-1-5-21-701439281-… {FullAccess} False False
82cd0d62-e974-4892-… S-1-5-21-701439281-… {FullAccess} False False
52a6c1c7-77d2-4109-… S-1-5-21-701439281-… {FullAccess} False False
如果用户已拥有这些部门内邮箱的完全访问权限,则会显示警告。
使用逻辑运算符 -or -and 分配完全访问权限
我们希望向以下位置的所有经理分配 Brenda 完全访问邮箱权限:
- 销售部门
- 营销部门
现在,我们将使用逻辑运算符的组合。我们使用了逻辑运算符-or,但现在我们需要添加逻辑运算符-and。
请参阅下面的 PowerShell 命令语法。
Get-User -RecipientTypeDetails UserMailbox -Filter { ((Department -eq "Department") -or (Department -eq "Department")) -and (Title -eq "Title") } -ResultSize Unlimited | Add-MailboxPermission -User "Identity" -AccessRights FullAccess -InheritanceType All -AutoMapping $false
运行 PowerShell 命令示例。
Get-User -RecipientTypeDetails UserMailbox -Filter { ((Department -eq "Sales") -or (Department -eq "Marketing")) -and (Title -eq "Manager") } -ResultSize Unlimited | Add-MailboxPermission -User "[email protected]" -AccessRights FullAccess -InheritanceType All -AutoMapping $false
PowerShell 输出结果仅向您的提供的部门和经理头衔内的许可用户邮箱分配完全访问权限。
Name RecipientType
---- -------------
b602b148-2fcf-435a-9d34-ce72c3a8c748 UserMailbox
82cd0d62-e974-4892-aca6-e0387abc62be UserMailbox
52a6c1c7-77d2-4109-99b9-a4076167b6e2 UserMailbox
4. 为启用邮件的安全组分配完全访问权限
如果您需要向多个用户提供对特定用户邮箱的完全访问权限,您可以创建安全组。然后,您可以将用户添加到安全组并分配权限。管理包含用户的组比管理单独的用户更容易。
PowerShell 中没有用于获取有关安全组特定成员的信息的选项。输出将仅显示安全组名称,而不显示每个成员的邮箱权限。
您始终可以通过将新用户添加到安全组来添加对特定用户邮箱具有“完全访问”权限的新用户。新用户将自动继承分配给安全组的权限。当您需要删除特定用户的邮箱权限时,这同样适用。您可以将该成员从安全组中删除,该成员的权限也会被删除。
注意:当我们将邮箱权限分配给安全组时,不会为每个组成员启用自动映射功能。因为当我们给某个安全组分配邮箱权限时,权限是直接分配给该组的,而不是分配给组成员的。
为安全组分配用户邮箱的完全访问权限
我们想向您展示如何向安全组提供对用户邮箱的完全访问权限。
用于向用户或安全组分配邮箱权限的 PowerShell 命令语法是相同的。当我们向安全组分配权限时,我们不需要您使用任何特殊参数。我们需要做的就是在 -User 参数后面使用启用邮件的安全组的名称。
在以下示例中,我们希望将安全组(Finance USA) 的完全访问权限分配给特定用户邮箱(Brenda)。
请参阅 PowerShell 命令语法。
Add-MailboxPermission -Identity "Identity" -User "Identity" -AccessRights FullAccess -InheritanceType All
运行以下 PowerShell 命令示例。
Add-MailboxPermission "[email protected]" -User "[email protected]" -AccessRights FullAccess -InheritanceType All
PowerShell 输出结果显示用户邮箱(Brenda) 的对象 ID,该邮箱共享完全访问 权限。
Identity User AccessRights IsInherited Deny
-------- ---- ------------ ----------- ----
d912b0fc-6f7e-4ec... S-1-5-21-70143928... {FullAccess} False False
它会自动添加安全组作为用户邮箱的邮箱委托。启用邮件的安全组的成员对 Brenda 的邮箱具有完全访问权限。
使用 AutoMapping 分配安全组完全访问权限用户邮箱
授予邮箱权限时的主要区别之一是它们是分配给安全组还是用户邮箱。当权限分配给安全组时,它无法为每个组成员实现自动映射选项。这是因为权限分配是通过引用组对象而不是安全组成员来实现的。
注意:PowerShell 不会在 Outlook 中为组成员添加邮箱文件夹(自动映射)。您需要使用 -AutoMapping 参数启用该功能,并将值设置为 $true。
我们将向您展示如何在 PowerShell 中为安全组成员启用自动映射选项。我们将首先提取组成员名称列表,而不是直接向安全组分配权限。然后,我们将使用 ForEach PowerShell cmdlet 为每个组成员提供所需的邮箱权限。
请参阅下面的 PowerShell 脚本示例。
- 在第 1 行中键入安全组的主 SMTP 地址
- 在第 3 行中键入用户邮箱的UserPrincipalName
$SecurityGroup = Get-DistributionGroupMember -Id "Primary SMTP address"
ForEach ($Member in $SecurityGroup) {
Add-MailboxPermission "UserPrincipalName" -User $Member.Name -AccessRights FullAccess -InheritanceType All -AutoMapping $true
}
使用 AutoMapping 运行 PowerShell 脚本。
$SecurityGroup = Get-DistributionGroupMember -Id "[email protected]"
ForEach ($Member in $SecurityGroup) {
Add-MailboxPermission "[email protected]" -User $Member.Name -AccessRights FullAccess -InheritanceType All -AutoMapping $true
}
PowerShell输出结果显示安全组的所有成员。
Identity User AccessRights IsInherited Deny
-------- ---- ------------ ----------- ----
41377e9c-dc47-46c... S-1-5-21-70143928... {FullAccess} False False
它将把用户邮箱(Brenda)的邮箱文件夹添加到安全组(Finance USA)的每个成员。
为安全组分配所有用户邮箱的完全访问权限
我们希望向安全组提供对经过筛选的用户邮箱列表的完全访问权限。这意味着启用邮件的安全组的所有成员都可以打开组织中的所有用户邮箱并充当邮箱所有者。
在我们的示例中,我们希望将邮箱权限分配给名为(Finance USA)的安全组以批量用户邮箱。
请参阅 PowerShell 命令语法。
Get-Mailbox -ResultSize Unlimited -RecipientTypeDetails UserMailbox | Add-MailboxPermission -User "Identity" -AccessRights FullAccess -InheritanceType All
运行 PowerShell 命令示例。
Get-Mailbox -ResultSize Unlimited -RecipientTypeDetails UserMailbox | Add-MailboxPermission -User "[email protected]" -AccessRights FullAccess -InheritanceType All
PowerShell 输出结果如下所示。
Identity User AccessRights IsInherited Deny
-------- ---- ------------ ----------- ----
0de964ae-f09a-4e6... S-1-5-21-70143928... {FullAccess} False False
ed01f464-daf9-42a... S-1-5-21-70143928... {FullAccess} False False
41377e9c-dc47-46c... S-1-5-21-70143928... {FullAccess} False False
7bfec79d-7806-484... S-1-5-21-70143928... {FullAccess} False False
f034e5cd-4abb-47c... S-1-5-21-70143928... {FullAccess} False False
6ec79c8e-5a84-499... S-1-5-21-70143928... {FullAccess} False False
5f4d37cd-383c-413... S-1-5-21-70143928... {FullAccess} False False
091c4453-82be-47c... S-1-5-21-70143928... {FullAccess} False False
WARNING: The appropriate access control entry is already present on the object "CN=
091c4453-82be-47c2-a9e4-854ed27a511a,OU=ms365info.onmicrosoft.com,OU=Microsoft Exch
ange Hosted Organizations,DC=EURPR02A011,DC=PROD,DC=OUTLOOK,DC=COM" for account "S-
1-5-21-701439281-3420630407-1831248095-16740258".
我们的示例显示安全组Finance USA 已拥有用户邮箱的完全访问 权限。
5.为用户邮箱分配通讯组权限
默认情况下,我们无法向通讯组提供其他对象(例如 Exchange Online 邮箱)的权限,因为通讯组不是启用安全的对象。
当您尝试向通讯组分配完全访问邮箱权限时,PowerShell 将显示以下错误。
User or group "Sales UK" wasn’t found. Please make sure you've typed it correctly.
PowerShell 错误不正确且不清楚,因为该消息指定通讯组不存在,即使它存在。您之所以收到此消息,是因为 Sales UK 是一个通讯组,并且它不允许您向该通讯组分配邮箱权限。
我们将使用 PowerShell 绕过此限制,并将完全访问权限分配给用户邮箱上的特定通讯组。
PowerShell 脚本将提取所有通讯组成员并将此信息存储在变量中。我们将使用 ForEach PowerShell cmdlet 将邮箱权限分配给目标邮箱上的组成员。它将自动为每个通讯组成员启用自动映射功能。
在我们的示例中,我们将为通讯组的成员(英国销售)分配对用户邮箱(布伦达·史密斯)的完全访问权限。
请参阅 PowerShell 命令语法。
- 在第 1 行中键入通讯组的主 SMTP 地址
- 在第 3 行中键入用户邮箱的UserPrincipalName
$DistributionGroupName = Get-DistributionGroupMember "Primary SMTP Address"
ForEach ($Member in $DistributionGroupName) {
Add-MailboxPermission -Identity "UserPrincipalName" -User $Member.name -AccessRights 'FullAccess' -InheritanceType All
}
运行以下 PowerShell 示例。
$DistributionGroupName = Get-DistributionGroupMember "[email protected]"
ForEach ($Member in $DistributionGroupName) {
Add-MailboxPermission -Identity "[email protected]" -User $Member.name -AccessRights 'FullAccess' -InheritanceType all
}
PowerShell 输出结果。
Identity User AccessRights IsInherited Deny
-------- ---- ------------ ----------- ----
eec2668a-0773-494... S-1-5-21-70143928... {FullAccess} False False
eec2668a-0773-494... S-1-5-21-70143928... {FullAccess} False False
通讯组(英国销售)的所有成员都将拥有对 Brenda 邮箱的完全访问权限。它还会在 Outlook 中为每个通讯组成员添加一个邮箱文件夹(Brenda)。
6.为所有用户邮箱分配通讯组权限
我们希望向通讯组中的成员提供所有已筛选用户邮箱的“完全访问”邮箱权限。
由于我们无法直接向通讯组分配“完全访问”邮箱权限,因此我们将使用两个 ForEach 循环。
- 为了引用每个组成员,我们将创建一个名为 $Members 的变量,它将用作包含通讯组(Sales UK)的所有成员的数组。
- 引用 Exchange Online 邮箱。为了引用所有用户邮箱,我们将创建一个名为 $Mailboxes 的附加变量,它将用作所有用户邮箱的容器。
- 第一个 ForEach 部分为每个邮箱单独运行命令。
- 下一个 ForEach 部分(嵌套 ForEach)将为每个组成员运行该命令。
- 想要共享其邮箱的用户由变量$Mailbox.Name 表示。
- 描述有权访问用户邮箱的用户的部分由变量$Member.Name 表示。
请参阅下面的 PowerShell 命令语法。
- 在第 1 行中键入通讯组的身份(主 SMTP 地址)
$Members = Get-DistributionGroupMember -Id "Identity"
$Mailboxes = Get-Mailbox -ResultSize Unlimited -RecipientTypeDetails UserMailbox
ForEach ($mailbox in $Mailboxes) {
ForEach ($member in $Members) {
Add-MailboxPermission $mailbox.Name -AccessRights FullAccess -user $Member.Name -InheritanceType All -AutoMapping $false
}
}
运行 PowerShell 命令示例。
$Members = Get-DistributionGroupMember -Id "[email protected]"
$Mailboxes = Get-Mailbox -ResultSize Unlimited -RecipientTypeDetails UserMailbox
ForEach ($mailbox in $Mailboxes) {
ForEach ($member in $Members) {
Add-MailboxPermission $mailbox.Name -AccessRights FullAccess -user $Member.Name -InheritanceType All -AutoMapping $false
}
}
PowerShell 输出将添加通讯组的成员以批量处理所有用户邮箱。
在我们的示例中,通讯组 Sales UK 由三名成员组成。因此,它会将这三个成员添加到每个用户邮箱中。
Identity User AccessRights IsInherited Deny
-------- ---- ------------ ----------- ----
0de964ae-f09a-4e6... S-1-5-21-70143928... {FullAccess} False False
0de964ae-f09a-4e6... S-1-5-21-70143928... {FullAccess} False False
0de964ae-f09a-4e6... S-1-5-21-70143928... {FullAccess} False False
ed01f464-daf9-42a... S-1-5-21-70143928... {FullAccess} False False
ed01f464-daf9-42a... S-1-5-21-70143928... {FullAccess} False False
ed01f464-daf9-42a... S-1-5-21-70143928... {FullAccess} False False
5f4d37cd-383c-413... S-1-5-21-70143928... {FullAccess} False False
5f4d37cd-383c-413... S-1-5-21-70143928... {FullAccess} False False
5f4d37cd-383c-413... S-1-5-21-70143928... {FullAccess} False False
091c4453-82be-47c... S-1-5-21-70143928... {FullAccess} False False
091c4453-82be-47c... S-1-5-21-70143928... {FullAccess} False False
091c4453-82be-47c... S-1-5-21-70143928... {FullAccess} False False
41377e9c-dc47-46c... S-1-5-21-70143928... {FullAccess} False False
41377e9c-dc47-46c... S-1-5-21-70143928... {FullAccess} False False
41377e9c-dc47-46c... S-1-5-21-70143928... {FullAccess} False False
6ec79c8e-5a84-499... S-1-5-21-70143928... {FullAccess} False False
6ec79c8e-5a84-499... S-1-5-21-70143928... {FullAccess} False False
6ec79c8e-5a84-499... S-1-5-21-70143928... {FullAccess} False False
f034e5cd-4abb-47c... S-1-5-21-70143928... {FullAccess} False False
f034e5cd-4abb-47c... S-1-5-21-70143928... {FullAccess} False False
f034e5cd-4abb-47c... S-1-5-21-70143928... {FullAccess} False False
7bfec79d-7806-484... S-1-5-21-70143928... {FullAccess} False False
7bfec79d-7806-484... S-1-5-21-70143928... {FullAccess} False False
7bfec79d-7806-484... S-1-5-21-70143928... {FullAccess} False False
7. 将用户权限分配给 CSV 文件中的用户列表
我们希望向多个用户(收件人)提供一个用户邮箱权限。不同之处在于您将以 CSV(逗号分隔值)文件格式创建用户列表。
使用文件作为信息源有几个优点,因为您可以使用 Excel 等应用程序轻松编辑数据。
分配用户列表对用户邮箱的完全访问权限
我们希望提供对单个用户邮箱具有完全访问邮箱权限的用户列表。用户列表将在 CSV 文件中创建。
创建包含用户列表的 CSV 文件:
- 在第一列标题中输入用户
- 在第一列中列出用户名
- 将文件命名为用户
- 在(C:)驱动器中创建temp文件夹
- 将其另存为 CSV 文件
要从 CSV 文件导入列表,我们将使用 PowerShell cmdlet Import-Csv 并提供路径和文件名。
Import-Csv "C:\temp\Users.csv"
我们将使用 ForEach 循环分别为每个用户分配所需的权限。
我们可以将 CSV 文件中的用户列表定义为数组。为了使 PowerShell 能够与每个用户相关,我们使用 $_。用户。其含义是,ForEach 循环将查看名为 Users 的表列,并为表列下出现的每个用户运行邮箱权限命令。
运行 PowerShell 命令示例。
Import-Csv "C:\temp\Users.csv" | ForEach { Add-MailboxPermission "[email protected]" -User $_.users -AccessRights FullAccess -InheritanceType All }
PowerShell 输出显示结果。
Identity User AccessRights IsInherited Deny
-------- ---- ------------ ----------- ----
d912b0fc-6f7e-4ec... S-1-5-21-70143928... {FullAccess} False False
d912b0fc-6f7e-4ec... S-1-5-21-70143928... {FullAccess} False False
d912b0fc-6f7e-4ec... S-1-5-21-70143928... {FullAccess} False False
列表中的用户获得此用户邮箱(布伦达)的完全访问权限。它还会在 Outlook 中为列表中的每个用户添加邮箱文件夹(Brenda)。
将用户完全访问权限分配给 CSV 中的用户列表
我们希望为单个用户提供对用户邮箱列表的完全访问邮箱权限。
创建包含用户列表的 CSV 文件:
- 在第一列标题中输入用户
- 在第一列中列出用户名
- 将文件命名为用户
- 在(C:)驱动器中创建temp文件夹
- 将其另存为 CSV 文件
请参阅 PowerShell 语法示例。
- 在第 1 行中输入路径和文件名
- 在第 3 行中输入用户邮箱
- 运行以下 PowerShell 脚本
$Mailboxes = Import-Csv "C:\temp\User.csv"
ForEach ($Mailbox in $Mailboxes) {
Add-MailboxPermission $Mailbox.user -User "[email protected]" -AccessRight FullAccess -InheritanceType All
}
PowerShell 输出将列出 CSV 文件中的用户。
Identity User AccessRights IsInherited Deny
-------- ---- ------------ ----------- ----
7bfec79d-7806-484... S-1-5-21-70143928... {FullAccess} False False
f034e5cd-4abb-47c... S-1-5-21-70143928... {FullAccess} False False
1d9fc432-6a9f-44c... S-1-5-21-70143928... {FullAccess} False False
我们已从 CSV 文件中向用户授予用户邮箱 (Brenda) 的完全访问权限。它还会将每个用户的邮箱文件夹(自动映射)添加到 Brenda 的 Outlook 中。
使用 CSV 文件分配邮箱权限
我们希望将一个用户邮箱的完全访问权限批量分配给另一个用户邮箱。我们可以使用包含两个用户列表的单个 CSV 文件。
创建 CSV 文件来分配邮箱权限:
- 在第一列中输入List1
- 列出将共享完全访问权限的用户名
- 在第二列中输入List2
- 列出将获得完全访问权限的用户名
- 将文件命名为UserLists
- 在(C:)驱动器中创建temp文件夹
- 将其另存为 CSV 文件
在我们的示例中,用户 Adam Mackay 将获得 Andrea 邮箱的完全访问权限。
运行 PowerShell 命令示例。
Import-Csv "C:\temp\UserLists.csv" | ForEach { Add-MailboxPermission $_.List1 -User $_.List2 -AccessRights FullAccess -InheritanceType All }
PowerShell 输出显示共享“完全访问”权限的用户列表。
Identity User AccessRights IsInherited Deny
-------- ---- ------------ ----------- ----
7bfec79d-7806-484... S-1-5-21-70143928... {FullAccess} False False
f034e5cd-4abb-47c... S-1-5-21-70143928... {FullAccess} False False
1d9fc432-6a9f-44c... S-1-5-21-70143928... {FullAccess} False False
这意味着第二列的用户对上述用户邮箱具有完全访问权限。它会自动为 Outlook 中的每个用户添加一个邮箱文件夹。
8. 为用户邮箱分配过滤成员列表完全访问邮箱权限
我们想要提供用户邮箱权限的过滤列表。在我们的示例中,我们希望向用户提供以经理为标题的对 Brenda 邮箱的完全访问权限。
PowerShell 命令脚本将由以下部分组成:
- 首先,我们需要获取标题为经理的用户列表。我们需要使用 PowerShell cmdlet Get-User。如前所述,Title 属性是用户对象,而不是邮箱对象。邮箱永远不可能是管理员,而只能是用户。
- 我们将创建一个名为 $Members 的变量,它将存储或包含 Title 为 manager 的用户列表。
- 我们使用-Filter参数来获取仅包含条件Title是经理的用户的过滤列表。
- 在下一节中,我们使用 ForEach 循环,使我们能够遍历 Title 为经理的所有用户中的每个成员。
- 在最后一部分中,我们将“完全访问”邮箱权限分配给用户邮箱 (Brenda) 上的每个成员。为了引用每个经理邮箱,我们创建一个名为 $Member 的变量并添加标识符 Name。
请参阅 PowerShell 命令语法。
- 在第 3 行中输入用户邮箱的身份 (UPN)
$Members = Get-User -ResultSize Unlimited -Filter { (RecipientType -eq 'UserMailbox') -and (Title -like '*Title*') }
ForEach ($Member in $Members) {
Add-MailboxPermission "Identity" -AccessRights FullAccess -User $Member.Name -InheritanceType All
}
运行以下 PowerShell 命令。
$Members = Get-User -ResultSize Unlimited -Filter { (RecipientType -eq 'UserMailbox') -and (Title -like '*manager*') }
ForEach ($Member in $Members) {
Add-MailboxPermission "[email protected]" -AccessRights FullAccess -User $Member.Name -InheritanceType All
}
PowerShell 输出列出了职位名称为“经理”的用户,并为他们分配了对 Brenda 用户邮箱的“完全访问”权限。
Identity User AccessRights IsInherited Deny
-------- ---- ------------ ----------- ----
d912b0fc-6f7e-4ec... S-1-5-21-70143928... {FullAccess} False False
d912b0fc-6f7e-4ec... S-1-5-21-70143928... {FullAccess} False False
d912b0fc-6f7e-4ec... S-1-5-21-70143928... {FullAccess} False False
它将自动将 Brenda 的邮箱文件夹添加到 Outlook 中的每个管理器中。
9. 将启用邮件的安全组完全访问邮箱权限分配给其他组成员
从技术上讲,您无法将权限从安全组直接提供给另一个组(安全组或通讯组)。
因此,我们需要将安全组或通讯组的组成员提取为单个用户。然后,我们可以向安全组提供每个单独组成员所需的权限。
在我们的示例中,我们将为名为 Sales USA 的通讯组的每个组成员分配名为 Finance USA 的安全组的完全访问权限>。
- 在 PowerShell 脚本的第一部分中,我们创建一个名为 $Member 的变量,它将存储或包含目标组的成员。 Get-DistributionGroupMember PowerShell cmdlet 用于获取通讯组和启用邮件的安全组。
- 在下一节中,我们将使用 ForEach 循环来遍历通讯组中的每个成员并对其执行操作。
- 在最后一部分中,我们将完全访问邮箱权限分配给启用邮件的安全组(Finance USA)。要单独引用通讯组中的每个成员(美国销售),我们使用名为 $Member 的变量并添加属性 name 来获取每个用户的身份。
请参阅 PowerShell 命令语法。
- 在第 1 行中键入通讯组的身份
- 在第 3 行中输入安全组的身份
$Members = Get-DistributionGroupMember -Id "Distribution Group Identity"
ForEach ($Member in $Members) {
Add-MailboxPermission $Member.Name -AccessRights FullAccess -User "Security group Identity" -InheritanceType All
}
注意:它不会自动将 AutoMapping 添加到安全组的每个成员,因为您需要启用它。
运行以下 PowerShell 命令示例。
$Members = Get-DistributionGroupMember -Id "[email protected]"
ForEach ($Member in $Members) {
Add-MailboxPermission $Member.Name -AccessRights FullAccess -User "[email protected]" -InheritanceType all
}
PowerShell 输出显示将共享其邮箱的通讯组成员的列表。
Identity User AccessRights IsInherited Deny
-------- ---- ------------ ----------- ----
d912b0fc-6f7e-4ec... S-1-5-21-70143928... {FullAccess} False False
b602b148-2fcf-435... S-1-5-21-70143928... {FullAccess} False False
7bfec79d-7806-484... S-1-5-21-70143928... {FullAccess} False False
它会自动将安全组(Finance USA)分配为对上述每个邮箱具有完全访问权限的代表。这里没有自动映射。
10.将群组成员Full Access邮箱权限分配给其他群组成员
我们将向您展示如何将邮箱权限从一个通讯组分配给另一个通讯组,反之亦然。
在我们的示例中,我们有两个通讯组:
- 助理的群组名称是 Sales UK(4 名成员)
- 经理的群组名称是 Sales USA(3 名成员)
每个经理都需要每个助理邮箱的完全访问邮箱权限,反之亦然。这意味着每个助理都需要对每个经理的邮箱具有完全访问邮箱权限。
运行 PowerShell 命令脚本。
- 在第 2 行中键入第一个通讯组
- 在第 5 行中键入第二个通讯组
# Get all members of the distribution group and filter out only the user mailboxes
$GroupA = Get-DistributionGroupMember -Identity "[email protected]" -ResultSize Unlimited | Where-Object { $_.RecipientType -eq "UserMailbox" }
# Get all members of the distribution group and filter out only the user mailboxes
$GroupB = Get-DistributionGroupMember -Identity "[email protected]" -ResultSize Unlimited | Where-Object { $_.RecipientType -eq "UserMailbox" }
# Iterate over each member in groupA
ForEach ($MemberA in $GroupA) {
# Iterate over each member in groupB
ForEach ($MemberB in $GroupB) {
# Add full mailbox permissions to each member in groupA for all members in groupB
Add-MailboxPermission -Identity $MemberB.Identity -User $MemberA.Identity -AccessRights FullAccess -AutoMapping:$false -InheritanceType All
# Add full mailbox permissions to each member in groupB for all members in groupA
Add-MailboxPermission -Identity $MemberA.Identity -User $MemberB.Identity -AccessRights FullAccess -AutoMapping:$false -InheritanceType All
}
}
PowerShell 输出列出了两个组的所有成员。它会自动向两种方式分配完全访问权限。
Identity User AccessRights IsInherited Deny
-------- ---- ------------ ----------- ----
d912b0fc-6f7e-4ec... S-1-5-21-70143928... {FullAccess} False False
eec2668a-0773-494... S-1-5-21-70143928... {FullAccess} False False
b602b148-2fcf-435... S-1-5-21-70143928... {FullAccess} False False
eec2668a-0773-494... S-1-5-21-70143928... {FullAccess} False False
7bfec79d-7806-484... S-1-5-21-70143928... {FullAccess} False False
eec2668a-0773-494... S-1-5-21-70143928... {FullAccess} False False
d912b0fc-6f7e-4ec... S-1-5-21-70143928... {FullAccess} False False
fa956d8c-87df-4cd... S-1-5-21-70143928... {FullAccess} False False
b602b148-2fcf-435... S-1-5-21-70143928... {FullAccess} False False
fa956d8c-87df-4cd... S-1-5-21-70143928... {FullAccess} False False
7bfec79d-7806-484... S-1-5-21-70143928... {FullAccess} False False
fa956d8c-87df-4cd... S-1-5-21-70143928... {FullAccess} False False
d912b0fc-6f7e-4ec... S-1-5-21-70143928... {FullAccess} False False
12eefbb2-e5f4-4ee... S-1-5-21-70143928... {FullAccess} False False
b602b148-2fcf-435... S-1-5-21-70143928... {FullAccess} False False
12eefbb2-e5f4-4ee... S-1-5-21-70143928... {FullAccess} False False
7bfec79d-7806-484... S-1-5-21-70143928... {FullAccess} False False
12eefbb2-e5f4-4ee... S-1-5-21-70143928... {FullAccess} False False
d912b0fc-6f7e-4ec... S-1-5-21-70143928... {FullAccess} False False
0de964ae-f09a-4e6... S-1-5-21-70143928... {FullAccess} False False
b602b148-2fcf-435... S-1-5-21-70143928... {FullAccess} False False
0de964ae-f09a-4e6... S-1-5-21-70143928... {FullAccess} False False
7bfec79d-7806-484... S-1-5-21-70143928... {FullAccess} False False
0de964ae-f09a-4e6... S-1-5-21-70143928... {FullAccess} False False
在我们的示例中,Sales UK (4) 的所有成员将与 Sales USA (3) 的所有成员共享其邮箱,反之亦然。因此,PowerShell 输出将列出(4 个用户 x 3 个用户 x 2 个通讯组)24 个用户邮箱。
就是这样!
了解更多:将用户邮箱转换为共享邮箱 »
结论
您了解了如何使用 Exchange Online PowerShell 和 Exchange 管理中心分配完全访问邮箱权限。使用 PowerShell,可以有多种过滤和分配权限的最终选择。当您向单个、多个或批量所有邮箱授予邮箱权限时,请使用 CSV 文件或筛选用户。
您喜欢这篇文章吗?您可能还喜欢使用 PowerShell 批量创建共享邮箱。不要忘记关注我们并分享这篇文章。
猜你还喜欢
- 03-30 [玩转系统] 如何用批处理实现关机,注销,重启和锁定计算机
- 02-14 [系统故障] Win10下报错:该文件没有与之关联的应用来执行该操作
- 01-07 [系统问题] Win10--解决锁屏后会断网的问题
- 01-02 [系统技巧] Windows系统如何关闭防火墙保姆式教程,超详细
- 12-15 [玩转系统] 如何在 Windows 10 和 11 上允许多个 RDP 会话
- 12-15 [玩转系统] 查找 Exchange/Microsoft 365 中不活动(未使用)的通讯组列表
- 12-15 [玩转系统] 如何在 Windows 上安装远程服务器管理工具 (RSAT)
- 12-15 [玩转系统] 如何在 Windows 上重置组策略设置
- 12-15 [玩转系统] 如何获取计算机上的本地管理员列表?
- 12-15 [玩转系统] 在 Visual Studio Code 中连接到 MS SQL Server 数据库
- 12-15 [玩转系统] 如何降级 Windows Server 版本或许可证
- 12-15 [玩转系统] 如何允许非管理员用户在 Windows 中启动/停止服务
取消回复欢迎 你 发表评论:
- 精品推荐!
-
- 最新文章
- 热门文章
- 热评文章
[影视] 黑道中人 Alto Knights(2025)剧情 犯罪 历史 电影
[古装剧] [七侠五义][全75集][WEB-MP4/76G][国语无字][1080P][焦恩俊经典]
[实用软件] 虚拟手机号 电话 验证码 注册
[电视剧] 安眠书店/你 第五季 You Season 5 (2025) 【全10集】
[电视剧] 棋士(2025) 4K 1080P【全22集】悬疑 犯罪 王宝强 陈明昊
[软件合集] 25年6月5日 精选软件22个
[软件合集] 25年6月4日 精选软件36个
[短剧] 2025年06月04日 精选+付费短剧推荐33部
[短剧] 2025年06月03日 精选+付费短剧推荐25部
[软件合集] 25年6月3日 精选软件44个
[剧集] [央视][笑傲江湖][2001][DVD-RMVB][高清][40集全]李亚鹏、许晴、苗乙乙
[电视剧] 欢乐颂.5部全 (2016-2024)
[电视剧] [突围] [45集全] [WEB-MP4/每集1.5GB] [国语/内嵌中文字幕] [4K-2160P] [无水印]
[影视] 【稀有资源】香港老片 艺坛照妖镜之96应召名册 (1996)
[剧集] 神经风云(2023)(完结).4K
[剧集] [BT] [TVB] [黑夜彩虹(2003)] [全21集] [粤语中字] [TV-RMVB]
[实用软件] 虚拟手机号 电话 验证码 注册
[资源] B站充电视频合集,包含多位重量级up主,全是大佬真金白银买来的~【99GB】
[影视] 内地绝版高清录像带 [mpg]
[书籍] 古今奇书禁书三教九流资料大合集 猎奇必备珍藏资源PDF版 1.14G
[电视剧] [突围] [45集全] [WEB-MP4/每集1.5GB] [国语/内嵌中文字幕] [4K-2160P] [无水印]
[剧集] [央视][笑傲江湖][2001][DVD-RMVB][高清][40集全]李亚鹏、许晴、苗乙乙
[电影] 美国队长4 4K原盘REMUX 杜比视界 内封简繁英双语字幕 49G
[电影] 死神来了(1-6)大合集!
[软件合集] 25年05月13日 精选软件16个
[精品软件] 25年05月15日 精选软件18个
[绝版资源] 南与北 第1-2季 合集 North and South (1985) /美国/豆瓣: 8.8[1080P][中文字幕]
[软件] 25年05月14日 精选软件57个
[短剧] 2025年05月14日 精选+付费短剧推荐39部
[短剧] 2025年05月15日 精选+付费短剧推荐36部
- 最新评论
-
- 热门tag