易宝典文章——体验O365中的EXO PS V2 之七 通过Exchange Online PowerShell V2获取邮箱权限信息

 

clip_image002

在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

clip_image004

2、获取指定用户邮箱的权限分配信息

Get-EXOMailboxPermission [email protected]

clip_image006

3、获取指定安全主体对指定邮箱的权限

对于已授权了非Exchange Online系统默认账户权限的邮箱,可以直接通过User参数指定该非Exchange Online系统默认账户,从而获取其对邮箱的权限状况。

Get-EXOMailboxPermission [email protected] -User [email protected]

Get-EXOMailboxPermission help -User [email protected]

clip_image008

但是,如果要获取Exchange Online系统默认账户对邮箱的权限状况,则不支持使用User参数来进行筛选。一个变通的方法是,可以通过PowerShell的Where-Object进行对象条件筛选来实现。

Get-EXOMailboxPermission [email protected] | Where-Object {$_.User -eq “CHNPR01\Administrator”} | fl

clip_image010

4、获取指定邮箱的所有者信息

对于各类邮箱,包括用户邮箱、共享邮箱、资源邮箱、会议室邮箱获取其所有者信息。默认情况下,这些邮箱的所有者均为NT AUTHORITY\SELF。

Get-EXOMailboxPermission [email protected] -Owner

Get-EXOMailboxPermission help -Owner

Get-EXOMailboxPermission printer -Owner

Get-EXOMailboxPermission meetingroom -Owner

clip_image012