30. Mai 2023

Get-Mailbox Praxisbeispiele

Das Commandlet Get-Mailbox dürfte mit Sicherheit einer der ersten Befehle sein, mit dem man in der Exchange Management Shell anfing. Der Befehl ist stets ein treuer Begleiter bei der Arbeit mit Exchange. Er liefert Informationen bzw. Eigenschaften von Postfächern. Dieser recht einfache Befehl wird sowohl zum Auslesen der Postfach-Metadaten verwendet werden und die Ausgabe kann über die Pipe an ein weiteres Commandlet übergeben werden (Pipelining).

Fangen wir mit einem einfachen und praktischen Beispiel an.

Wer alle Parameter eines Befehls als Vorschau einsehen möchte, dem ist nach dem Minuszeichen mit  Strg+Leertaste gut beraten:


gibt uns eine Ausgabe, die auf die Zeichenkette „honig“ im Wildcard-Format basiert:


Das selbe Ergebnis erreichen wir mit einem Where-Filter auf Displayname:


Eine andere Schreibweise erfolgt mit der mit der geschweiften Klammer. Hierbei können mehrere Bedingungen verwendet werden:


Praktisch ist auch das sogenannte „ambiguous name resolution“, kurz ANR:


Zu guter Letzt ist der Parameter Filter ein guter Begleiter:


Das aufgeführte Commandlet gibt uns z.B. 4 Attribute bzw. Eigenschaften aus:


Die Ausgabe können wir als Liste ausgeben lassen:


Alle Attribute eines Postfaches geben wir mit diesem Befehl aus. Das Sternchen-Symbol (Wildcard) ist ein Platzhalter für alle Eigenschaften:


Die Ausgabe können wir seitenweise mit „more“ ausgeben und die Spacetaste zum weiterblättern verwendet:


Eine Selektion auf bestimmte Attribute, um Informationen wie z.B. das Erstellendatum oder das letzte Änderungsdatum auszugegeben, wird wie folgt durchgeführt:


Die Ausgabe von Get-Mailbox Susi gibt uns ein Objekt zurück, welches wir mit Get-Member näher betrachten können:


Das Objekt enthält die oben aufgeführten Eigenschaften bzw. Attribute (Property) und Methoden (Method). Property sind die Attribute, die wir mit   select  bzw. Select-Object selektieren. z.B:


Auf die Properties können wir genauso mit der Punkt-Notation auf die Werte zurückgreifen. Die Syntax ist hierbei wie folgt aufgebaut:

(Befehl).Property
(Get-Mailbox Susi).WhenChanged


Warum unterscheidet sich hier die Ausgabe? Das hängt damit zusammen, dass hier unterschiedliche Objekt-Typen zurückgegeben werden. Select-Object gibt uns ein PSCustomObject zurück während die Punkt-Notation auf das Attribut WhenChanged ein Objekt-Typ System.Date zurückgibt.

Mit dem Objekt-Typ System.Date können wir auf Datum relevante Attribute und Methoden zurückgreifen, um z.B das Jahr des Änderungsdatums auszugeben:


Um zu ermitteln, wie viele Postfächer zu bestimmten Zeiten verändert wurden, könnte man wie folgt vorgehen:


Nachfolgend lassen wir uns die Postfächer aus der Datenbank DB01 ausgeben, auf denen in den letzten 30 Tage nicht zugegriffen wurde. Bei der Abfrage werden die Postfächer mit dem Anzeigename System, Discovery, In-Place ausgeschlossen:


Als nächstes lassen wir uns Zahlen aus den Postfächern ausgeben. Das Commandlet  Select-Object erlaubt uns in der Ausgabe eine benutzer-definierte Abfrage zu integrieren:

Select-Object @{

            Name=Spaltenname;
            Expression={<Befehl $_.Referenz-Attribut>}

}

Wir möchten in der Ausgabe von Get-Mailbox zusätzlich das Attribut ItemCount von Get-MailboxStatistics  implementieren. Dieses Attribut wird z.B. von Get-Mailbox nicht zur Verfügung gestellt:

Das Attribut soll als Anzahl Elemente ausgegeben werden: 

Das benutzer-definierte Attribut wird in der Form einer Hash-Table implementiert. Die Struktur der Hash-Table wird als Werte-Paar definiert:

Der erste Part wird durch das Label (Name) gekennzeichnet:

name=”Anzahl Elemente”;

Der zweite Part wird als Expression definiert. In der Expression wird z.B. ein Befehl oder eine Kalkulation durchgeführt:

expression={(Get-MailboxStatistics $_.Name).ItemCount}


Wir gehen nun einen Schritt weiter und rechnen die Ausgabe von „TotalItemSize“ in MB um:


Im nächsten Beispiel möchten wir mit Hilfe einer foreach-Schleife eine Domain als Alias hinzufügen und wieder entfernen.

SMTP Alias hinzufügen:

 

  

SMTP Alias entfernen:


VIele Grüße
Eddie

2 Gedanken zu “Get-Mailbox Praxisbeispiele

  1. Yay neuen Beitrag! 😍 So viele nützliche Informationen kompakt und einfach geklärt. Danke vielmals und freue mich auf weitere Beiträge.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht.