在 Office 365 我想透過 PowerShell 管理信箱大小與配額,該如何做設定?
問題的來龍去脈
在 Office 365 我想透過 PowerShell 管理信箱大小與配額,該如何做設定?
問題的發生原因
PowerShell 包含管理 Exchage Online 相關指令,其中也包含了檢視與設定信箱大小與配額的指令。
問題的解決方法
開啟 PowerShell,參考以下指令將 PowerShell 連結至 Office 365 信箱服務,相關步驟請參考 使用 PowerShell 管理 Office 365。
檢視特定信箱的大小和配額狀態
輸入指令:
Get-MailboxStatistics <Identity> | Format-List StorageLimitStatus,TotalItemSize,TotalDeletedItemSize,ItemCount,DeletedItemCount
將 <Identity> 替換成您要檢視的特定信箱,如果我要檢視 chihhsinou 信箱,則:
Get-MailboxStatistics "chihhsinou" | Format-List StorageLimitStatus,TotalItemSize,TotalDeletedItemSize,ItemCount,DeletedItemCount
在 Office 365 您可以在【信箱使用量】看到相關資訊。
在信箱上設定信箱配額
輸入指令:
Set-Mailbox <Identity> -ProhibitSendReceiveQuota <value> -ProhibitSendQuota <value> -IssueWarningQuota <value>
將 <Identity> 替換成您要設定的信箱,如果我要設定 chihhsinou 信箱,而其中相關參數的意義:
ProhibitSendReceiveQuota 參數指定信箱大小。
ProhibitSendQuota 指定信箱關聯的使用者在超過這個信箱大小之後就不能再傳送郵件。
IssueWarningQuota 指定信箱大小,一旦達到此大小即會傳送警告訊息至使用者。
更多設定請參考 Set-Mailbox,如果要分別設定為 12 GB、10 GB、9 GB,則:
Set-Mailbox "chihhsinou" -ProhibitSendReceiveQuota 12GB -ProhibitSendQuota 10GB -IssueWarningQuota 9GB
取得所有信箱大小與配額
透過以下指令,取得所有信箱大小與配合
Get-Mailbox | Select-Object Displayname,Database,@{Name='TotalItemSize'; Expression={[String]::join(";",((Get-MailboxStatistics -identity $_.identity).TotalItemSize))}},@{Name='ItemCount'; Expression={[String]::join(";",((Get-MailboxStatistics -identity $_.identity).ItemCount))}},IssueWarningQuota, ProhibitSendQuota
如果想要將結果儲存到 csv 檔案的話,請在指令最後加上:
| export-csv -path "D:\檔案名稱.csv"
其中請將 D:\檔案名稱.csv 換成您檔案路徑與名稱。
其他相關資訊
使用 Windows PowerShell 在 Office 365 中設定信箱配額