source/02_ExchangeOnline/Get-ExchangeActiveMailboxCount.ps1

Function Get-ExchangeActiveMailboxCount {
    [CmdletBinding()]
    param (
        [Parameter()]
        [ValidateSet(7, 30, 90, 180)]
        [int]
        $ReportPeriod = 7
    )
    $ProgressPreference = 'SilentlyContinue'

    try {
        $uri = "https://graph.microsoft.com/beta/reports/getMailboxUsageMailboxCounts(period='D$($ReportPeriod)')"
        $outFile = Get-OutputFileName $uri -ErrorAction Stop
        Invoke-MgGraphRequest -Method Get -Uri $uri -ContentType 'application/json' -ErrorAction Stop -OutputFilePath $outFile
        $result = Get-Content $outFile | ConvertFrom-Csv
        $result | Add-Member -Name 'Inactive' -MemberType ScriptProperty -Value { ([int]($this.Total) - [int]($this.Active)) }
        return $result
    }
    catch {
        SayError $_.Exception.Message
        return $null
    }
}