Exchange – Discovery Search Mailbox

Seit Exchange 2010 gibt es eine nette Funktion, mit der Sie in Ihrer kompletten Exchange Umgebung über alle Mailboxen hinweg nach einzelnen Elementen suchen können. Die gefunden Elemente können dann in der sogenannten Discovery Search Mailbox abgelegt werden.

Per default wird bei der Installation von Exchange die Discovery Search Mailbox angelegt und auf eine Größe von 50 GB beschränkt. Diese Beschränkung lässt sich natürlich auch verändern. Auf diese Mailbox ist kein User berechtigt. Der verknüpfte AD User ist disabled. Damit ist sichergestellt, das per default kein User Rechte hat, Inhalte dieser Mailbox einzusehen.

Des Weiteren wird eine Administrative Gruppe mit dem Namen Discovery Management erstellt. Mitglieder dieser Gruppe können Suchanfragen auch über mehrere Mailboxen (Multi-Mailbox Search) ausführen.

Im ersten Schritt fügen Sie den zu verwendenden User der Gruppe hinzu:

Get-ADGroup -Filter {name -like “Discovery Management”} |Add-ADGroupMember -Members Marcol_a

Als nächstes geben sie dem User die Berechtigung die Discovery Search Mailbox zu öffnen:

Get-Mailbox -Resultsize unlimited -Filter {RecipientTypeDetails -eq “DiscoveryMailbox”} |Add-MailboxPermission -User Marcol_a -AccessRights FullAccess

Ich möchte nun Elemente aus einer Mailbox suchen und in der Discovery Search Mailbox ablegen. Dazu sehen wir uns zunächst die zu durchsuchende Mailbox an:

Nun erstellen wir eine Suche. Zur Vereinfachung lesen wir die Discovery Search Mailbox in eine Variable ein:

$DiscoveryMB = Get-Mailbox -Filter {RecipientTypeDetails -eq “DiscoveryMailbox”}

New-MailboxSearch -Name “Suche nach Test” -SourceMailboxes Marcol_a -SearchQuery “Test” -TargetMailbox $DiscoveryMB

Nun öffnen wir die Discovery Search Mailbox und schauen uns das Ergebnis an:

Wie Sie sehen wurde ein Ordner mit der unter dem Parameter –Name angegebenen Bezeichnung angelegt. Darunter dann der Ordner Results mit Datumsangabe. Darin finden sich nun die Kopien der gefundenen Elemente.

Sie könnten diese Funktion dazu nutzen, um beispielsweise über eine Gruppe von Mailboxen eine Archivierung eines Projektes zu realisieren.

Dazu erstellen wir eine Verteilerliste, der wir die Mitglieder MarcoL_a und MarcoL2_a hinzufügen:

New-DistributionGroup ProjectX

Get-DistributionGroup ProjectX |Add-DistributionGroupMember -Member “marcol_a”,”marcol2_a”

Nun führen wir die Suche nach Mails mit dem Betreff Project X der letzten 3 Tage über beide Mailboxen durch:

New-MailboxSearch -Name “Poject X” -StartDate (get-date).AddDays(-3) -SourceMailboxes Projectx -TargetMailbox $DiscoveryMB -SearchQuery “Project X”

Und hier das Ergebnis:

 

Es ergeben sich viele Anwendungsmöglichkeiten. Logischerweise kann ein solcher Search auch schon mal einige Zeit in Anspruch nehmen, je nachdem, wie viele Mailboxen Sie durchsuchen. Den jeweiligen Status einzelner Searches können Sie sich mit Get-MailboxSearch |select Name, Status ansehen:

Sie müssen auch nicht zwingend die Standard Discovery Search Mailbox verwenden. Eine eigene legen Sie mit dem Parameter –Discovery an:

Die maximale Größe wird mit dem -Discovery Parameter auch wieder auf 50GB beschränkt.

Administrativ können Sie diese Funktion auch über das Exchange Control Panel steuern.

Die Steuerung über Powershell bietet allerdings wesentlich umfangreichere Möglichkeiten.