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.