Forum Discussion

Boe Dillard's avatar
Boe Dillard
Iron Contributor
May 14, 2020
Solved

Does someone have a script already written that outputs 365 mailbox sizes and archive sizes in GB as

Hello, If anyone has the time to help I would appreciate your help for something that is beyond my skill set.   I spent hours on this with no luck I can output mailbox sizes in GB with this script ...
  • VasilMichev's avatar
    VasilMichev
    May 14, 2020

    You seem to have inserted a new line there. Try this:

     

    Write-Host "Gathering Stats, Please Wait.."
    
    $Mailboxes = Get-Mailbox -ResultSize Unlimited | Select UserPrincipalName, identity, ArchiveStatus
    
    $MailboxSizes = @()
    
    foreach ($Mailbox in $Mailboxes) {
    
    $ObjProperties = New-Object PSObject
    
    $MailboxStats = Get-MailboxStatistics $Mailbox.UserPrincipalname | Select LastLogonTime, TotalItemSize, ItemCount
    
    Add-Member -InputObject $ObjProperties -MemberType NoteProperty -Name "UserPrincipalName" -Value $Mailbox.UserPrincipalName
    Add-Member -InputObject $ObjProperties -MemberType NoteProperty -Name "Last Logged In" -Value $MailboxStats.LastLogonTime
    Add-Member -InputObject $ObjProperties -MemberType NoteProperty -Name "Mailbox Size" -Value ([math]::Round(($MailboxStats.TotalItemSize.ToString().Split("(")[1].Split(" ")[0].Replace(",","")/1GB),2))
    Add-Member -InputObject $ObjProperties -MemberType NoteProperty -Name "Mailbox Item Count" -Value $MailboxStats.ItemCount
    
    if ($Mailbox.ArchiveStatus -eq "Active") {
    
    $ArchiveStats = Get-MailboxStatistics $Mailbox.UserPrincipalname -Archive | Select TotalItemSize, ItemCount
    
    Add-Member -InputObject $ObjProperties -MemberType NoteProperty -Name "Archive Size" -Value ([math]::Round(($ArchiveStats.TotalItemSize.ToString().Split("(")[1].Split(" ")[0].Replace(",","")/1GB),2))
    Add-Member -InputObject $ObjProperties -MemberType NoteProperty -Name "Archive Item Count" -Value $ArchiveStats.ItemCount
    
    }
    else {
    
    Add-Member -InputObject $ObjProperties -MemberType NoteProperty -Name "Archive Size" -Value "No Archive"
    Add-Member -InputObject $ObjProperties -MemberType NoteProperty -Name "Archive Item Count" -Value "No Archive"
    
    }
    
    $MailboxSizes += $ObjProperties
    
    }
    
    $MailboxSizes | Export-csv "C:\inboxsizes.csv" -NoTypeInformation