Poniżej prezentujemy krótki skrypt, który zwróci listę skrzynek na które dawno nikt się nie logował.
Datę dla której chcecie znaleźć skrzynki możecie określić za pomocą zmiennej $Days.
Domyślnie jest to 90 dni, czyli zwrócone zostaną wszystkie skrzynki na których ostatnie logowanie nastąpiło dawniej niż 90 dni temu.
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
Jako wynik działania skryptu otrzymacie plik .csv z wpisanymi DisplayName, adres email, TotalSize w MB, oraz czas ostatniego logowania do skrzynki.

 English
                     
                                        English                     polski
                     
                                        polski