Terminabsprachen und eine schnelle, gut visualisierte Übersicht über Termine sind für Unternehmen oft unverzichtbar. Vor allem die schnelle, unkomplizierte Vermittlung von Veranstaltungen sind das große Plus des Kalenders in Exchange. Es wird dem Nutzer die Wahl zwischen der Erstellung eines Termins und einer Besprechung gelassen. Der Unterschied zwischen beiden ist, dass ein Termin nicht zwingend mehrere Benutzer betrifft. Mithilfe eines Termins kann ausgedrückt werden, dass man zu einer bestimmten Zeit beschäftigt ist. Zu einer Besprechung hingegen wird mindestens ein Nutzer eingeladen. Es wird generell zwischen Organisator und Teilnehmer unterschieden. Durch die gemeinsame Nutzung von Kalendereinträgen, sind Konsistenzprobleme oft die Folge: Uhrzeiten verschieben sich zwischen dem Kalendereintrag des Organisators und dem eines Teilnehmers, Einträge verschwinden oder bleiben unerwartet bestehen. Aufgrund dieser immer wieder entstehenden Inkonsistenzen, führte Microsoft mit dem Erscheinen von Exchange 2010 den Kalenderreparatur-Assistenten (Calendar Repair Assistant (CRA)) ein. Ein Tool das auf den Mailboxservern innerhalb des Exchange Mailbox Assistants Service läuft. Standardmäßig ist der Assistent allerdings nicht aktiviert. Zudem ist zu beachten, dass das Tool keine Ressourcenpostfächer repariert. Mithilfe dieses Befehls

Get-MailboxServer | fl name,*calendar*

für die Exchange Management Shell kann eingesehen werden, wie der CRA konfiguriert ist.

CRA unter Exchange 2010 RTM Anfangs wurde der CRA unter Exchange 2010 mithilfe des Parameters CalendarRepairSchedule konfiguriert bzw. aktiviert. Der Parameter wird direkt auf dem Mailboxserver gesetzt. Ein möglicher Befehl zur Aktivierung lautet

Set-MailboxServer -Identity <mailboxserver> -CalendarRepairSchedule Saturday.15:00-Saturday.23:00

Die Syntax des Set-MailboxServer Befehls finden Sie hier [1]. Es wird sowohl Start- als auch Endzeitpunkt gewählt. Das scheint praktisch zu sein, wenn man ungefähr abschätzen kann, zu welchen Zeiten die Auslastung des Servers gering ist. Der CRA nimmt den Server durchaus in Anspruch.

Daher ist es keine gute Idee ihn laufen zu lassen, während viele Nutzer auf ihre Postfächer zugreifen möchten oder ein erhöhter E-Mailverkehr herrscht. Doch: weiß jeder Exchange Administrator zu welchen festen Zeiten der Mailboxserver wenig beansprucht wird? Die - wie ich finde - verbesserte Arbeitsweise des CRA ab Service Pack 1, wird im nächsten Abschnitt vorgestellt. Bleiben wir noch kurz mit den Gedanken hier. Jetzt haben wir ein Zeitintervall für unsere Reparaturarbeiten gefunden. Doch woher weiß ich, wie viele Minuten oder Stunden mein CRA für seine Arbeit benötigt? In der Tat hält sich der CRA ganz genau an sein Arbeitsintervall. Und falls er nicht fertig wird, macht er beim nächsten Mal dort weiter, wo er aufgehört hat. In unserem Beispiel würde der Assistent also in der nächsten Woche samstags um 15 Uhr wieder starten. Auf lange Sicht, kann eine Reparaturwarteschlange entstehen.

CRA unter Exchange 2010 SP1 und höher Entscheidend bei der Konfiguration unter Exchange 2010 SP1 oder höher sind zunächst die Parameter CalendarRepairWorkCycle und CalendarRepairWorkCycleCheckpoint. Sind hierfür keine Werte gesetzt, arbeitet der CRA nicht. Um den CRA zu aktivieren, müssen diese beiden Parameter gesetzt werden. Sie arbeiten zusammen, deshalb müssen ausdrücklich beide Parameter einen Wert erhalten. Der Parameter CalendarRepairWorkCycle gibt an, in welcher Zeitspanne Kalenderreparaturen durchgeführt werden. Der Parameter CalendarRepairWorkCycleCheckpoint bestimmt das Intervall, in welchem die Postfächer auf Inkonsistenzen überprüft werden. Dieser Befehl

Set-MailboxServer -Identity <mailboxserver> -CalendarRepairWorkCycle 7.00:00:00 -CalendarRepairWorkCycleCheckpoint 1.00:00:00

führt beispielsweise dazu, dass alle sieben Tage betroffene Postfächer repariert werden. Außerdem wird täglich überprüft, welche Postfächer eine Reparatur nötig haben. Falls Sie sich jetzt fragen, woher der Exchange Server nun weiß, wann der CRA am geschicktesten laufen sollte: gut aufgepasst! Wir erinnern uns: im vorherigen Abschnitt (Exchange ohne jegliches Service Pack) haben wir ganz genau festgelegt, wann der CRA seine Arbeit vollbringen soll. Nun nimmt uns der Exchange Server diese Arbeit ab. Der CRA arbeitet nun nicht mehr nur nach der Zeit spezifiziert, sondern hat zudem die Serverauslastung im Blick, um negative Auswirkungen an Serverressourcen und lange Client Wartezeiten zu verhindern.

Postfacheinstellungen Damit betroffene Postfächer tatsächlich repariert werden, ist außerdem nötig, dass der Parameter CalendarRepairDisabled auf $false gesetzt ist. Standardmäßig ist das bei allen Exchange Versionen (ab Exchange 2010) der Fall. Falls jedoch Postfächer bei der Reparatur ausgenommen werden sollen, ist dieser Parameter der richtige Ansatzpunkt. Ein entsprechender Befehl für die Exchange Management Shell würde so aussehen

Set-Mailbox -Identity <mailboxIDParameter> -CalendarRepairDisabled $true

Das angegebene Postfach wird dann bei der Suche nach fehlerhaften Postfächern nicht berücksichtigt.

Weiterführende Links:

[1] https://technet.microsoft.com/de-de/library/aa998651%28v=exchg.140%29.aspx [2] http://blogs.technet.com/b/exchange/archive/2013/01/17/exchange-2010-calendar-repair-assistant.aspx [3] https://technet.microsoft.com/de-de/library/ee633469%28v=exchg.141%29.aspx