Want to protect your cyber security and still get fast solutions? Ask a secure question today.Go Premium

  • Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 665
  • Last Modified:

Get-MailboxStatistics and Get-Mailbox

Hi there,

Hope you can help :)

I have a powershell script that runs daily to capture any mailboxes on Exchange 2007 that have the UseDatabaseQuotaDefaults field unticked in their mailbox properties. Command is below and works fine

Get-Mailbox -Server "Mail01" -ResultSize unlimited |Where{($_.UseDatabaseQuotaDefaults -eq $false)} | Sort-Object Name | Select-Object name,Database,ProhibitSendQuota,@{n="Actual Mailbox Size(MB)";e = {$MBXstat = Get-MailboxStatistics $_.name; $MBXstat.totalItemsize.value.toMB()}

What i'd like to run is only show mailboxes that are below 500MB AND have the UseDatabaseQuotaDefaults box unticked ($false).

Thanks so much for your help
  • 2
2 Solutions
Something like this should work for you:

Get-Mailbox -Server "Mail01" -ResultSize unlimited  |  Where{($_.UseDatabaseQuotaDefaults -eq $false)} | Get-MailboxStatistics Where {$_.totalItemsize.value.toMB() -lt 500MB}

Open in new window

Rajitha ChimmaniCommented:
Correction in the above line of code. The method tomb() will convert the value to integer. So, you need to compare with an integer to get correct results

Get-Mailbox -Server "Mail01" -ResultSize unlimited  |  Where{($_.UseDatabaseQuotaDefaults -eq $false)} | Get-MailboxStatistics | Where {$_.totalItemsize.value.toMB() -lt 500}

Open in new window

Yup  I missed removing the MB since it would be an integer comparison thanks :~)
TerellionAuthor Commented:
Absolutely awesome thanks so much!!! :)

Featured Post

Independent Software Vendors: We Want Your Opinion

We value your feedback.

Take our survey and automatically be enter to win anyone of the following:
Yeti Cooler, Amazon eGift Card, and Movie eGift Card!

  • 2
Tackle projects and never again get stuck behind a technical roadblock.
Join Now