This post is also available in: angielski
Jak wiadomo wraz z pojawianiem się nowych wersji Microsoft Exchange zmieniają się też limity ilości elementów w pojedynczym folderze skrzynki pocztowej.
Dla poszczególnych wersji Exchange, Microsoft rekomenduje nie przekraczanie poniższych wartości liczby elementów w folderze:
Exchange 200/2003 5 000
Exchange 2007 20 000
Exchange 2010 100 000
Ilość elementów zawartych w folderach decyduje o wydajności samego serwera oraz połączeń do danej skrzynki, może również powodować problemy z używaniem klientów pocztowych.
Jeżeli chcemy monitorować ilość elementów w skrzynce lub w folderach, możemy do tego celu wykorzystać skrypty napisane PowerShell, uruchamiane co jakiś czas.
Poniższy skrypt sprawdza wszystkie skrzynki znajdujące się na serwerze, i jeżeli ilość wszystkich elementów w skrzynce przekracza wartość określoną w $Items_max wówczas skrzynka taka zostanie zaraportowana.
$data = $((get-date).ToString('dd.MM.yyyy')) Function New-Array {,$args} $Report = New-Array $Items_max = 500 $mbxs = get-mailbox -resultsize unlimited foreach ($mbx in $mbxs){ $mbxstat = get-mailboxstatistics $mbx.SAMAccountName if ($mbxstat.ItemCount -gt $Items_max){ $report_tmp = New-Object System.Object $report_tmp | Add-Member -type NoteProperty -name DisplayName -value $mbx.DisplayName $report_tmp | Add-Member -type NoteProperty -name ItemCount -value $mbxstat.ItemCount $Report += $report_tmp } } $Report | ft -auto | Out-String -Width 4096 > d:\scripts\report_itemscount_$data.txt Send-MailMessage -To youremail@domain.com -From youremail@domain.com -Subject "Mailbox items count $data" -SmtpServer youremailserver -Attachments d:\scripts\report_itemscount_$data.txt
Na stronach TechNet dostępny jest również rozbudowany skrypt HighItemFolders.ps1, sprawdzający ilość elementów w poszczególnych folderach i w przypadku przekroczenia rekomendowanego limitu raport zapisywany jest do pliku .csv lub jest wyświetlany na ekranie.
Skrypt możemy wywoływać z następującymi parametrami:
- -CriticalFoldersOnly – użycie powoduje sprawdzenie tylko folderów Kalendarz, Kontakty, Skrzynka odbiorcza, Elementy wysłane. Jeżeli nie użyjemy tego parametru wówczas sprawdzane są wszystkie foldery
- -Database – określenie bazy w której mają być sprawdzane skrzynki
- -DomainController – wybranie określonego kontrolera domeny
- -FormatList – określa czy wynik ma być wyświetlony/zapisany w formie listy czy tabeli
- -ItemCount – użycie powoduje zignorowanie rekomendowanych przez Microsoft wartości limitów i użycie podanych
- -OutputFile – plik .csv który ma być utworzony
- -ResultSize – ilość skrzynek które mają być sprawdzone, nie określenie parametru powoduje sprawdzenie wszystkich skrzynek
- -Server – określenie serwera na którym znajdują się skrzynki
Przykłady wywołania skryptu:
Sprawdzenie wszystkich folderów we wszystkich skrzynkach
c:\> .\HighItemFolders.ps1
Sprawdzenie określonej bazy i krytycznych folderów oraz określenie gdzie ma zostać zapisany wynik
C:\>.\HighItemFolders.ps1 -Database "MBXServer\MailboxDatabase" -CriticalFoldersOnly $false -OutputFile d:\scripts\output.csv