在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>]/<guid>
[-Identity <string>]/<string>
[-Owner]
[-ResultSize <unlimited>]/<unlimited>
[-SoftDeletedMailbox]
[-User <string>]/<string>
[-UserPrincipalName <string>]/<string>
[<commonparameters>]/<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組織
<code>Connect-ExchangeOnline -UserPrincipalName [email protected] -ExchangeEnvironmentName O365China/<code>
2、獲取指定用戶郵箱的權限分配信息
<code>Get-EXOMailboxPermission [email protected]/<code>
3、獲取指定安全主體對指定郵箱的權限
對於已授權了非Exchange Online系統默認賬戶權限的郵箱,可以直接通過User參數指定該非Exchange Online系統默認賬戶,從而獲取其對郵箱的權限狀況。
<code>Get-EXOMailboxPermission [email protected] -User [email protected]
Get-EXOMailboxPermission help -User [email protected]/<code>
但是,如果要獲取Exchange Online系統默認賬戶對郵箱的權限狀況,則不支持使用User參數來進行篩選。一個變通的方法是,可以通過PowerShell的Where-Object進行對象條件篩選來實現。
<code>Get-EXOMailboxPermission [email protected] | Where-Object {$_.User -eq "CHNPR01\\Administrator"} | fl/<code>
4、獲取指定郵箱的所有者信息
對於各類郵箱,包括用戶郵箱、共享郵箱、資源郵箱、會議室郵箱獲取其所有者信息。默認情況下,這些郵箱的所有者均為NT AUTHORITY\\SELF。
<code>Get-EXOMailboxPermission [email protected] -Owner
Get-EXOMailboxPermission help -Owner
Get-EXOMailboxPermission printer -Owner
Get-EXOMailboxPermission meetingroom -Owner/<code>
閱讀更多 技術直通車 的文章