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


English
polski