Below you can find script which will return all mailboxes where LastLogonTime is older than 90 days ago.
You can easly set this date in variable $days.
Function New-Array {,$args} $Report = New-Array $days = "90" $date_last = (Get-Date).AddDays(-$days) $mailboxes = Get-Mailbox -server mxmbx01 -ResultSize unlimited foreach($mailbox in $mailboxes) { $mbx_DN = $mailbox.DistinguishedName $email = $mailbox.PrimarySmtpAddress.toString() $Stat = Get-MailboxStatistics -Identity $mbx_DN | Where-Object {$_.lastLogonTime -lt $date_last} | Select-Object DisplayName, totalitemsize,LastLogonTime if ($Stat){ $tmp = New-Object System.Object $tmp | Add-Member -type NoteProperty -name DisplayName -value $($stat.DisplayName) $tmp | Add-Member -type NoteProperty -name Email -value $email $tmp | Add-Member -type NoteProperty -name TotalSize_MB -value $($stat.TotalitemSize.value.ToMB()) $tmp | Add-Member -type NoteProperty -name LastLogon -value $($stat.LastLogonTime) $Report += $tmp } } $Report | Export-Csv D:\Scripts\lastlogon_report.csv
As a result of this script, you will get .csv file, with informations DisplayName, email address, size of mailbox in MB, and last logon time.