본문 바로가기
ICT

[PowerShell]Checking User EmailBox Storage Status

by NeoSailer 2023. 3. 30.

[Senario]

An user set a flag that he cannot receive a meeting reschedule notification althogh other mails come to the mailbox without issue. The error message is as below.

"The recipient's mailbox is full and can't accept messages now. Please try resending your message later, or contact the recipient directly."

 

[Objective]

Figure out the root cause of the issue and let the user receive meeting rescedule notification email

 


 

As a starter, connect to Microsoft Exchange Online.

PS C:\Users\jaehui.yoon> Connect-ExchangeOnline -UserPrincipalName adminom.jyoon@rotork.onmicrosoft.com

It will pop up a credential window. Input password for log in as an administrator.

Now declare a variable and save the user email address.

$user="jaehui.yoon@rotork.com"

Then check user emailbox storate status with a command "Get-MailboxStastics"

Get-MailboxStatistics (ExchangePowerShell) | Microsoft Learn

 

Get-MailboxStatistics (ExchangePowerShell)

On Mailbox servers only, you can use the Get-MailboxStatistics cmdlet without parameters. In this case, the cmdlet returns the statistics for all mailboxes on all databases on the local server. The Get-MailboxStatistics cmdlet requires at least one of the

learn.microsoft.com

 

 

Get-MailboxStatistics $user | Format-List StorageLimitStatus,TotalItemSize,TotalDeletedItemSize,ItemCount,DeletedItemCount


StorageLimitStatus   : 
TotalItemSize        : 23.82 GB (25,579,861,438 bytes)
TotalDeletedItemSize : 2.851 GB (3,060,844,450 bytes)
ItemCount            : 221190
DeletedItemCount     : 72763

 

It looks ok but still the account suffers from the error message, mailbox is full.

In case that the error is caused by full email box then emailbox storage can be expanded by "Set-Mailbox" command.

Set-Mailbox (ExchangePowerShell) | Microsoft Learn

 

Set-Mailbox (ExchangePowerShell)

You can use this cmdlet for one mailbox at a time. To perform bulk management, you can pipeline the output of various Get- cmdlets (for example, the Get-Mailbox or Get-User cmdlets) and configure several mailboxes in a single-line command. You can also use

learn.microsoft.com

Set-Mailbox -Identity $user -IssueWarningQuota 500gb -ProhibitSendQuota 500gb -ProhibitSendReceiveQuota 500gb -UseDatabaseQuotaDefaults $false

 

To remediate the issue, exanding achive function needs to be set with "Enable-Mailbox" command.

Enable-Mailbox (ExchangePowerShell) | Microsoft Learn

 

Enable-Mailbox (ExchangePowerShell)

The Enable-Mailbox cmdlet mailbox-enables existing users, public folders, or InetOrgPerson objects by adding the mailbox attributes that are required by Exchange. When the user logs on to the mailbox or receives email messages, the mailbox object is actual

learn.microsoft.com

 

Enable-Mailbox $user -AutoExpandingArchive

 

After the configuration user can receive meeting reschedule notification emails.

반응형

댓글