Mailbox Sizes for Enabled Users in AD

Hi

I want to determine mailbox sizes of users who are enabled in Active Directory. Can't concatenate below two commands which are giving me separate results for mailbox sizes for all users and the second one is giving me users who are active in AD

Get-MailboxStatistics -Server dftsmexmbx01 | Select DisplayName, ItemCount, TotalItemSize | Sort-Object TotalItemSize -Descending | Export-CSV C:\Users\desktop\MBSizes.csv


Get-User -RecipientTypeDetails UserMailbox -ResultSize Unlimited | where {$_.UseraccountControl -notlike *accountdisabled*} | Select-Object DisplayName,WindowsEmailAddress,UserAccountControl

Thanks


August 24th, 2015 2:51pm

Its stuck as you can see in below picture. Meanwhile is it going to extract for enabled users in AD only? because  we have quite a lot disabled users who have active mailboxes in Exchange

Free Windows Admin Tool Kit Click here and download it now
August 24th, 2015 3:13pm

Hi,

Try this:

Import-Module activedirectory

$array = @()
Get-ADUser -Filter * | ? {$_.Enabled -eq $true} | % {

if(Get-Mailbox $_.SamAccountName -ErrorAction SilentlyContinue)
    {

        $array += (Get-Mailbox $_.SamAccountName | Get-MailboxStatistics | select displayname,totalitemsize,@{Name="SizeMB";Expression={$_.totalItemSize.Value.ToMB()}} | sort sizemb -descending)
    }
}


$array | Export-Csv -NoTypeInformation c:\mailboxsizes.csv

Mark Gossa


  • Edited by Mark Gossa Monday, August 24, 2015 9:01 PM
  • Proposed as answer by Mark Gossa Monday, August 24, 2015 9:01 PM
  • Marked as answer by usman siddiqui 12 hours 29 minutes ago
August 24th, 2015 9:00pm

Hi,

I have this command to share with you, you can select the object that you want to export. The mailbox item size is in MB.

Get-Mailbox -ResultSize Unlimited | Select-Object DisplayName,OrganizationUnit,Database,@{label="TotalItemSize(MB)";expression={(Get-MailboxStatistics $_).TotalItemSize.Value.ToMB()}},@{label="ItemCount";expression={(Get-MailboxStatistics $_).ItemCount}},@{label="LastLogonTime";expression={(Get-MailboxStatistics $_).LastLogonTime}} | Export-Csv "C:\UserMailboxSizes.csv"

For you requirement, this command should be what you want.

Get-Mailbox -ResultSize Unlimited |? {$_.RecipientTypeDetails -eq "Usermailbox"} | Select-Object DisplayName,@{label="TotalItemSize(MB)";expression={(Get-MailboxStatistics $_).TotalItemSize.Value.ToMB()}},@{label="WindowsEmailAddress";expression={(Get-User $_).WindowsEmailAddress}},@{label="UserAccountControl";expression={(Get-User $_).UserAccountControl}} | Export-Csv "C:\UserMailboxSizes.csv"

Best Regards.




Free Windows Admin Tool Kit Click here and download it now
August 25th, 2015 5:48am

Its stuck as you can see in below picture. Meanwhile is it going to extract for enabled users in AD only? because  we have quite a lot disabled users who have active mailboxes in Exchange


Close the script block brace at ?{recipienttypedetails -eq "Usermailbox"}
August 25th, 2015 5:50am

This topic is archived. No further replies will be accepted.

Other recent topics Other recent topics