Exchange Mailbox Quarantäne

Wer von einer Quarantäne spricht, denkt automatische immer gleich an Spamfilter (Das Leid mit der Quarantäne) oder die ActiveSync Quarantäne. Aber Exchange hat auch noch eine andere Quarantäne: Benutzer, die aus Sicht des Exchange Servers zu intensiv den Server beackern, werden über die Quarantäne ausgesperrt, bis ein Administrator dies wieder aufgelöst hat.

Auslöser

Exchange führt über jeden Anwender Buch und erfasst, wie intensiv ein Anwender mit Exchange arbeitet. Für jeden Benutzer wird eine Art Giro-Konto geführt, welches einen gewissen Verfügungsrahmen hat. Jeder Zugriff über MAPI, EWS, ActiveSync, REST u.a. kostet etwas und verringert ihr Budget. Auf der anderen Seite zahlt Exchange auch regelmäßig wieder was auf ihr Konto ein und die wenigsten Anwender sollten überhaupt je in die Verlegenheit gekommen sein, dass ihr Postfach in der Mailbox Quarantäne gelandet ist. Sie müssen sich also schon mächtig daneben benehmen. Selbst eine Outlook OST-Replikation oder mehrere ActiveSync-Geräte sind normal kein Problem.

Ich kenne nur einen Fall aus der Vergangenheit, der Postfächer in die Quarantäne geschickt hat. Aufgrund einer vollen Partition konnte Exchange ein Datenbank nicht weiter erweitern. Normalerweise sollte Exchange eine Datenbank ja beenden, wenn die freie Kapazität unter eine Grenze sinkt aber dies hier hier nicht passiert. Das Outlook der Anwender hat also immer weiter versucht, die Mail aus dem Postausgang zu übertragen. Irgendwann hatte Exchange dann wohl die Nase voll und hat die Mailbox in die Quarantäne gesetzt. Nachdem die Datenbank dann wieder Online war, hatte der Anwender weiterhin das Problem, dass er nicht arbeiten konnte.

Es gibt noch einen zweiten Weg, wie Sie das Verhalten nachstellen können: Sie können ein Postfach einfach manuell in die Quarantäne stellen:

Das kann durchaus relevant sein, wenn Sie einen Missbrauch auf einem Postfach aufgrund anderer Quellen vermuten und den Zugriff unterbinden wollen, ohne gleich das AD-Konto und alle Stellvertreter zu deaktivieren.

Auswerten und Setzen

Ich nehme an, dass eine Suchmaschine sie auf diese Seite geleitet hat und sie möglichst schnell ermitteln wollen, wie sie die betroffenen Postfächer wieder frei geben. Benutzer im Nacken können da Leben durchaus unangenehm gestalten. Daher hier die schnellen Befehle auf dem Exchange Server:

# Ermitteln, welche Postfächer aktuell in der Quarantäen sind.

Get-Mailbox `
   -ResultSize unlimited `
| Get-MailboxStatistics `
| Where-Object { $_.IsQuarantined -eq $True } `
| Select DisplayName,IsQuarantined,QuarantineEnd

Denken Sie dran, dass Sie Get-Mailbox" natürlich z.B. auf die Datenbank filtern können, damit sie nicht alle Benutzer abscannen müssen. Leider ist der Quarantäne-Status nur über "Get-MailboxStatistics" zu erhalten. Über "Disable-MailboxQuarantine" können Sie einzelne Postfächer deaktivieren. Wenn Sie aber wissen, welche Datenbank oder Server es betrifft, dann können sie auch Massenänderungen machen:

# remove Quarantine from all Maiboxes in one Database
Disable-MailboxQuarantine -Database DB1 -includeallusers

# remove Quarantine from all Maiboxes on one server
Disable-MailboxQuarantine -Server SRV2016 -includeallusers

Entsprechend können Sie natürlich alle Datebanken oder Server durchlaufen, um das generell zu machen oder auch alle Mailboxen.

get-mailboxdatabase | %{
   Disable-MailboxQuarantine -Database $_.identity -includeallusers
}

Bedenken Sie aber, dass die Mailbox wieder in der Quarantäne landet, wenn Sie ihr Verhalten nicht ändert.

Meldung im Eventlog und Perfmon

Wen Sie ihren Exchange Server passend überwachen, dann sollten Sie sehr schnell darüber informiert werden, dass Mailboxen in der Quarantäne landen. Exchange protokolliert nicht nur, dass eine Mailbox in die Quarantäne gesetzt wurde, sondern überwacht diesen kritischen Wert auch selbst. Sie finden im Applicationlog dazu folgenden Fehler:

Protokollname: Application
Quelle:        MSExchangeDiagnostics
Datum:         04.02.2018 17:20:43
Ereignis-ID:   1006
Aufgabenkategorie:Trigger
Ebene:         Fehler
Schlüsselwörter:Klassisch
Benutzer:      Nicht zutreffend
Computer:      SRV2016.msxfaq.de
Beschreibung:
Der Leistungsindikator "\\SRV2016\MSExchangeIS Store(db2)\Quarantined User Accessible Mailbox Count" 
hatte während des 10-minütigen Intervalls mit Start bei "04.02.2018 16:08:00" einen Wert von "18,00".
Schwellenwert verletzt seit "04.02.2018 15:28". None 
Triggername:StoreQuarantinedMailboxCountTrigger. Instanz:db2

Parallel dazu gibt es natürlich auch einen Performance Counter, der unter dem Abschnitt MSExchangeIS die Anzahl der Mailboxen in Quarantäne pro Datenbank ausgibt. Der Wert sollte eigentlich ebenfalls immer 0 sein..

Aktionsplan

Die Tatsache, dass ich den Artikel hier erst Ende 2018 erstellt habe, als ich das erste Mal mit dieser Problematik konfrontiert wurde, zeigt ihnen wie selten das vermutlich passiert. Es ist für normale Anwender schon nicht einfach, ihre Mailbox absichtlich in die Quarantäne zu bringen. Zumal Exchange auch verschiedene Zugänge seit Exchange 2010 per Throttling drosselt. Dennoch ist es möglich und meist sind es Dienstkonten, die sehr viel Zugriffe machen. Eine Überwachung ihres Exchange Servers hinsichtlich dieser Counter und Events ist daher schon angebracht.

Exchange hat ja seit Exchange 2013 ein sehr umfangreiches "Selbstmonitoring" (Siehe Exchange 2013 Managed Availability), welches hier auch angeschlagen hat. Eine Überwachung des Eventlogs auf Fehler der Quelle "MSExchangeDiagnostics" wäre ein erster Schritt, um bei Problemen rechtzeitig gewarnt zu werden.

Weitere Links