Exchange ja postkasti statistika

Exchange Server on kogu aeg pakkunud serveri haldurile statistilist infot postkastide suuruse kohta.  Enne Exchange 2007-t oli see koheselt kättesaadav graafilise haldusliidese aknast.  Exchange 2007-st alates ei ole enam ülevaadet paljudest postkastidest korraga.  Selle asemel tuleb kasutada Exchange Management Shell käsku Get-MailboxStatistics.

Probleemiks asja juures on see, et käsule tuleb ette öelda postkast (või toru kaudu postkastid), andmebaas või server. Lisaks on postkasti ja kustutatud kirjade suurus antud vaikimisi baitides. Ja lõpuks on postkastid suvalises järjekorras.  Küll aga annab seda kõike parandada.  võtame näiteks järgmise skripti:

$totaldel = @{name="Deleted(MB)";expression={ $_.TotalDeletedItemSize.Value.ToMB()} }
$totalitem = @{name="TotalSize(MB)";expression={ $_.TotalItemSize.Value.ToMB()} }

Get-Mailbox m* | Get-MailboxStatistics |
    Sort-Object TotalItemSize –Descending |
    Select-Object displayname, itemcount, $totalitem, $totaldel |
    Export-Csv mailboxes.txt -Encoding UTF8

Kaks esimest rida defineerivad kaks uut arvutatud veergu.  Antud juhul arvutatakse postkasti suurus ja kustutatud objektide suurus megabaitideks.  Aga lihtne on kasutatud meetod asendada näiteks ToKB() või ToGB() vastu ning ühikud teisendatakse.  Kogu nimekirja teisendustest saab käsureaga:

( Get-MailboxStatistics keegi).totalitemsize.value | get-member

Exchange 2013 on aga käitumist muutnud ja vaikimisi näidatakse ekraanil suurimat parasjagu sobivat ühikut (pluss sulgudes numbrit baitides).  Seega tuleb seal vahel väärtus baitidesse tagasi teisendada:

$totaldel = @{n="Deleted(Bytes)";e={ $_.TotalDeletedItemSize.Value.ToBytes()} }
$totalitem = @{n="TotalSize(Bytes)";e={ $_.TotalItemSize.Value.ToBytes()} }

Viimane rida teeb ära kogu töö.  Get-Mailbox korjab kokku huvialused postkastid (praeguses näiteks kõik postkastid, mille nimi hakkab tähega m).  Get-MailboxStatistics korjab kokku statistika.  Sort-Object sorteerib postkastid suuruse järgi (suuremad ees).  Select-Object valib välja meid huvitavad veerud (sealhulgas kasutame me kahte eelnevalt defineeritud arvutatud veergu).  Ning viimane käsk (Export-Csv) salvestab tulemuse faili, mida saab näiteks Excelisse importida, et seal edasi toimetada.  Näiteks ümber sorteerida või arvutada keskmist postkasti suurust või joonistada graafik või muud sellist.

Samas, kui eesmärk pole mitte tulemust ilustada, vaid hoopis näiteks suuremate postkastidega midagi ette võtta, siis saaks viimase rea (Export-Csv) asendada näiteks järgmise reaga:

Select-Object –First 20

Tulemus oleks kohe kasutatav näiteks selleks, et suunata see postkastide loend käsku Move-Mailbox (või uuemates Exchangedes New-MoveRequest), millega saab suured postkastid tõsta näiteks eraldi andmebaasi või serverisse.

Advertisements