SBS2008 + SBS2011 Exchangepostfachgrößen anzeigen bzw. aufzeichnen

Posted by t.brinkmann

Eine Möglichkeit um das wachsen der verschiedenen Exchangepostfächer über einen längeren Zeitraum nachzuverfolgen kann ein geplanter Task sein, der z.Bsp. wöchentlich oder monatlich ausgeführt wird, und dabei alle Postfächer incl. deren Größe in eine Textdatei schreibt. Folgende Schritte sind dazu notwendig:

Eine Datei %windir%\Mailboxsize.ps1 erstellen. Folgender Inhalt:

1.) $Date = Get-Date -format yyyy-M-d
2.) $Logfile = "MailboxSize_$Date.txt"
3.) Get-MailboxStatistics –server <SERVERNAME SBS-SERVER>| sort-object TotalItemsize | FT DisplayName, @{label="Postfachgröße(MB)"; expression={$_.TotalItemSize.Value.ToMB()}} > $Logfile

<SERVERNAME SBS-SERVER> muss natürlich durch den Computernamen des SBS-Servers ersetzt werden. Der Pfad für $Logfile kann ebenfalls angepasst werden, z.Bsp. $Logfile = “C:\Logs\Mailboxsize_$Date.txt”. Wenn die reine Anzeige der Postfachgröße ausreicht, also ohne Logdatei, können Zeile 1 + Zeile 2 + “> $Logfile” entfernt werden.

Nun  wird noch eine Batchdatei benötigt, welche das oben erstellte Powershellskript startet – Für diese Batchdatei kann später auch eine Aufgabe in der Aufgabenplanungbibliothek erstellt werden.

1.) @echo off
2.) title Postfachvolumen in MB

Für SBS2008 - 3.) powershell.exe -PSConsoleFile "C:\Program Files\Microsoft\Exchange Server\bin\exshell.psc1" –non-interactive -command ". '%windir%\MailboxSize.ps1'"


Für SBS2011 – 3.) powershell.exe –non-interactive -command ". 'C:\Program Files\Microsoft\Exchange Server\V14\bin\RemoteExchange.ps1'; Connect-ExchangeServer –auto ; %windir%\MailboxSize.ps1"

4.) exit

Wenn die Ausgabe einer Logdatei nicht gewünscht ist (also Zeile 1 + Zeile 2 + “> $Logfile” in dem Skript oben entfernt wurden), dann muss “-non-interactive” gegen “-noexit” ersetzt werden. Ggfs. die Skripte “Als Administrator ausführen” auswählen.