在Exchange Online的管理中,常常需要查看和诊断邮箱的权限分配状态。包括用户个人邮箱、共享邮箱、会议室邮箱和资源邮箱等。Exchange Online PowerShell V2是怎样提供关于邮箱权限的分配信息的呢?接下来将进行体验。
一、Get-EXOMailboxPermission命令
在Exchange Online PowerShell V2模块中获取邮箱的权限分配信息,可以通过Get-EXOMailboxPermission(或EXOMailboxPermission)命令来实现。
该命令的作用类似于旧版Exchange Online PowerShell的Get-MailboxPermission命令的功能,但根据微软的介绍,提高了返回输出效率和扩展了功能。
默认返回指定邮箱的权限分配情况。每组权限分配包括如下六部分信息:
- 标识(Identity):被查看权限的邮箱的标识信息;
- 用户(User):对被查看权限的邮箱具有权限安全主体。包括用户、安全组、Exchange管理角色组等。
- 访问权限(AccessRights):用户对被查看权限的邮箱具有的权限。包括更改邮箱所有者(ChangeOwner)、更改邮箱权限(ChangePermission)、删除邮箱(DeleteItem)、指示账户不在同一域中(ExternalAccount)、完全查看(FullAccess)和读取邮箱权限(ReadPermission)等。
- 是继承的(IsInherited):权限是从父级继承的,还是直接分配给被查看权限的邮箱的。通常从邮箱数据库或活动目录继承的权限,会被直接分配的权限所替代掉。
- 拒绝(Deny):显式拒绝标识。此处如果为True则标识被查看权限的邮箱显示拒绝该权限,因此即使还存储相关的允许授权也将会被拒绝。
- 继承类型(InheritanceType):被查看权限的邮箱从父级继承权限的类型,如全部继承(All)。
1、完整语法
EXOMailboxPermission
[-ExternalDirectoryObjectId <Guid>]
[-Identity <String>]
[-Owner]
[-ResultSize <Unlimited>]
[-SoftDeletedMailbox]
[-User <String>]
[-UserPrincipalName <String>]
[<CommonParameters>]
2、参数说明
ExternalDirectoryObjectId:
指定Azure Active Directory中邮箱的ObjectId标识来检索查找显示要查看的邮箱。
具体参考Get-EXOCsaMailbox的ExternalDirectoryObjectId参数。
Identity:
指定要查看的邮箱,可以是邮箱的任何唯一标识值。
具体参考Get-EXOCsaMailbox的Identity参数。
根据当前的预览版体验来看,该参数为必填参数。
ResultSize:
指定要返回的最大查询条目数。
具体参考Get-EXOCsaMailbox的ResultSize参数。
SoftDeletedMailbox:
指定在返回结果中是否包含被软删除的邮箱。
具体参考Get-EXOMailbox的SoftDeletedMailbox参数。
User:
指定基于某用户或安全组进行筛选邮箱的权限。其参数为用户或安全组等安全主体。其参数值可以是:
- Name
- Distinguished Name(DN)
- Ganonical DN
- GUID
但不能为Alias等。
其默认值为None
Owner:
指定是否获取目标邮箱的所有者信息。要执行该参数,必须要为组织管理员角色,或角色管理员角色。
其默认值为None。
UserPrincipalName:
指定要查看邮箱的UPN。其默认值为None。
二、体验Get-EXOMailboxPermission
1、连接到Office 365的Exchange Online组织
Connect-ExchangeOnline -UserPrincipalName [email protected] -ExchangeEnvironmentName O365China
2、获取指定用户邮箱的权限分配信息
Get-EXOMailboxPermission [email protected]
3、获取指定安全主体对指定邮箱的权限
对于已授权了非Exchange Online系统默认账户权限的邮箱,可以直接通过User参数指定该非Exchange Online系统默认账户,从而获取其对邮箱的权限状况。
Get-EXOMailboxPermission [email protected] -User [email protected]
Get-EXOMailboxPermission help -User [email protected]
但是,如果要获取Exchange Online系统默认账户对邮箱的权限状况,则不支持使用User参数来进行筛选。一个变通的方法是,可以通过PowerShell的Where-Object进行对象条件筛选来实现。
Get-EXOMailboxPermission [email protected] | Where-Object {$_.User -eq “CHNPR01\Administrator”} | fl
4、获取指定邮箱的所有者信息
对于各类邮箱,包括用户邮箱、共享邮箱、资源邮箱、会议室邮箱获取其所有者信息。默认情况下,这些邮箱的所有者均为NT AUTHORITY\SELF。
Get-EXOMailboxPermission [email protected] -Owner
Get-EXOMailboxPermission help -Owner
Get-EXOMailboxPermission printer -Owner
Get-EXOMailboxPermission meetingroom -Owner