Get-MailboxStatistics cmdlet gives TotalItemSize which is the mailbox size. But the TotalItemSize doesn’t contain the mailbox size in numbers, it’s a PowerShell deserialized object.
This command displays the mailbox size from the value property:
(Get-MailboxStatistics -Identity username).TotalItemSize.Value
Example output: 10.43 GB (11,202,063,583 bytes)
But how to make it usable in creating reporting or other purpose. Convert that value to a string, split at ‘(‘ and take the first item in the split array. Here is the command that gives you usable mailbox size.
(Get-MailboxStatistics -Identity username).TotalItemSize.Value.ToString().Split(“(“)[0]
Example output: 10.43 GB
If you want in all in bytes, use this cmdlet:
(Get-MailboxStatistics -Identity username).TotalItemSize.Value.ToString().Split(“(“)[1].Split(” “)[0].Replace(“,”,””)
Example output: 11202063583
Hope it is helpful for you.