Exchange 2280: „Die Modul DLL C:\Program Files\Microsoft\Exchange Server\V14\Bin\kerbauth.dll konnte nicht geladen werden“

Problem

Nach der Deinstallation von Exchange 2010 starten IIS-Sites auf dem Server nicht mehr richtig, es werden 503-Fehler ausgegeben, Application Pools werden direkt nach dem Starten wieder beendet und im Anwendungs-Ereignisprotokoll werden sehr viele dieser Fehler protokolliert:

Log Name: Application
Source: Microsoft-Windows-IIS-W3SVC-WP
Event ID: 2280
Task Category: None
Level: Error
Keywords: Classic
Description:
The Module DLL C:\Program Files\Microsoft\Exchange Server\V14\Bin\kerbauth.dll failed to load. The data is the error.

Lösung

Das Exchange-Setup fügt eine eigene Modul-DLL für Kerberos-Authentifizierungen in die IIS-Konfiguration ein, entfernt diesen Eintrag be der Deinstallation aber nicht.

In der IIS-Metabasis: C:\Windows\System32\inetsrv\config\ApplicationHost.config die zugehörige Zeile entfernen, IISReset, fertig:

<add name="kerbauth" image="C:\Program Files\Microsoft\Exchange Server\V14\Bin\kerbauth.dll" />

Exchange 2013/2016 und Office 365 Abwesenheitsbenachrichtigung (automatische Anwort) für Postfächer setzen

Problem

An zentraler Stelle sollen automatisch Abwesenheitsbenachrichtigungen aktiviert und konfiguriert werden. Zum Beispiel soll so im Krankheitsfall das Postfach eines Benutzers automatisch antworten – ohne das der Benutzer seinen Abwesenheitsassistenten bemühen muss.

Lösung mit Beispielen

Dafür gibt es das cmdlet „Set-MailboxAutoReplyConfiguration„, das die automatischen Antworten für fremde Mailboxen einschalten, anzeigen und anpassen kann.

Benutzer die das tun sollen, müssen natürlich über die passende Berechtigung im Zielpostfach verfügen. Die Berechtigung heisst „Automatic replies“ und ist standartmäßig in den Rollen „Organization Management“, „Recipient Management“ und „Help Desk“ enthalten.

Status der Auto-Antwort prüfen

[PS] C:\> Get-MailboxAutoReplyConfiguration -Identity MAILBOX| Select-Object AutoReplyState | fl

Auto-Antwort einschalten

[PS] C:\> Set-MailboxAutoReplyConfiguration -Identity MAILBOX -AutoReplyState enable

Auto-Antwort ausschalten

[PS] C:\> Set-MailboxAutoReplyConfiguration -Identity MAILBOX -AutoReplyState disable

Interne Auto-Antwort – Text verfassen

[PS] C:\> Set-MailboxAutoReplyConfiguration -Identity MAILBOX -InternalMessage "IHRE NACHRICHT"

Externe Auto-Antwort – Text verfassen

[PS] C:\> Set-MailboxAutoReplyConfiguration -Identity MAILBOX -ExternalMessage "IHRE NACHRICHT"

Weitere interessante Parameter sind

  • -AutoReplyState scheduled
    • Hier lassen sich Zeiten und Daten für die Auto-Antwort festlegen.
    • Notwendig sind dann Werte für die Start- ud Endzeiten:
      Set-MailboxAutoReplyConfiguration -Identity MAILBOX -AutoReplyState Scheduled -StartTime "7/10/2015 08:00:00" -EndTime "7/15/2015 17:00:00" -InternalMessage "IHRE NACHRICHT"
  • -ExternalAudience
    • Ob Auto-Antworten an externe Empfänger gesendet werden sollen: None (keine), known (Nur an Empfänger aus der Kontaktliste der Mailbox), All (an jeden)

Outlook archiviert einige Elemente nicht richtig oder archviert überhaupt nicht

Problem

Obwohl in Outlook im Bereinungsungsassistenten ein Zeitraum ausgewählt ist, werden einige Elemente (E-Mails, Kalendereinträge) aus diesem Zeitraum nicht archviert.

Die Objekte werden nicht verschoben, aber in der Archiv-PST werden die passenden Ordner aus der Quellstruktur korrekt angelegt. Unabhängig davon welche Datumsgrenzen- oder Quellordner man auswählt, Outlook archiviert nicht.

Lösung

„This behaviour is by design“ – aber änderbar. Ganz leicht unverständlicherweise nutzt Outlook seit 2010 nicht dem Empfangs- oder Terminzeitpunkt für die Archivierung von Elementen, sondern das Datum der „letzten Änderung“. Dieses Datum wird selbstverständlich nicht angezeigt und kann auch nicht angezeigt werden. *ARGH*. Das Änderungsdatum bei Elementen hängt von vielen Dingen ab, zum Beispiel vom letzten Zugriff eines Exchange-Virenscanners …

Wann wird in Outlook standartmäßig archiviert?

  • E-Mail: Empfangsdatum oder Datum und Uhrzeit der letzten Änderung, je nachdem, welches später ist.
  • Kalender: Datum und Uhrzeit der letzten Änderung oder tatsächliches Datum, für das ein Termin, eine Veranstaltung oder eine Besprechung geplant ist, je nachdem, welches später ist.
  • Aufgabe: Das Abschlussdatum oder Datum und Uhrzeit der letzten Änderung, je nachdem, welches später ist. Aufgaben, die nicht als abgeschlossen gekennzeichnet sind, werden nicht archiviert. Aufgaben, die anderen Benutzern zugeordnet sind, werden nur archiviert, wenn der Status abgeschlossen ist.
  • Notiz: Datum und Uhrzeit der letzten Änderung.
  • Journaleintrag: Das Erstellungsdatum des Journaleintrags oder Datum und Uhrzeit der letzten Änderung, je nachdem, welches später ist.

Wie kann man das ändern?

Wenn man die Richtlinieneinstellung aktiviert, ignoriert Outlook das letzte Änderungsdatum und archiviert alle Elemente basierend auf:

  • E-Mail: Das Empfangsdatum
  • Kalenderelement: Das Datum für das ein Termin geplant ist.
  • Aufgabe: Das Abschlussdatum
  • Notiz: Datum der letzten Änderung
  • Journaleintrag: Erstellungsdatum des Journaleintrags

Das Verhalten von Outlook lässt sich in einer Gruppenrichtlinie anpassen:

  1. Die passenden Office Administrative Template files (ADMX) herunterladen und in der Domäne (am besten in einem Central Store) hinterlegen
  2. Diese Einstellung auf „Aktiviert“ setzen:
    Benutzerkonfiguration > Richtlinien > Administrative Vorlagen
     > Microsoft Outlook <VERSION>
      > Outlook Optionen
       > Weitere
        > AutoArchivierung
         > Ändern der Kriterien, die Outlook zum Archivieren verschiedener Elementypen verwendet

Oder via Registry-Schlüssel auf einem lokalen Outlook ändern:

Windows Registry Editor Version 5.00

[HKEY_CURRENT_USER\Software\Microsoft\Office\16.0\Outlook\Preferences]
"ArchiveIgnoreLastModifiedTime"=dword:00000001

 

 

Exchange 2013/2016 Ordner „ETLTraces“ mit ETL-Dateien wird riesig (läuft voll)

Problem

Exchange Ordner ETLTraces läuft mit ETL Dateien voll

Nach dem Update auf Exchange 2013 CU6 (oder neuer) gibt es plötzlich einen neuen Ordner in

%ProgramFiles%\Microsoft\Exchange Server\V15\Bin\Search\Ceres\Diagnostics\ETLTraces

der riesig wird. Dort sammeln sich DocumentProcessingTrace*.etl Dateien, die auf gut 50Mbyte pro Stück anwachsen können. In einem Fall hatten sich dort etwas mehr als sieben Gbyte an Daten angesammelt, die nicht so wirklich jemandem helfen.

Das sind die Diagnose-Dateien der Exchange Volltextsuche. Man kann diese auch mit Eventviewertools öffnen und Exchange entfernt diese auch irgendwann, aber ob diese in der Zwischenzeit so viel Platz belegen müssen bleibt dem Admin überlassen.

Lösung

Glücklicherweise lässt sich das Diagnostische Tracking der Suche Konfigurieren. Sowohl der Pfad zu den Dateien, die Größe als auch die Anzahl sind in der Registry einstellbar:

Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Office Server\16.0\Search\Diagnostics\Tracing]
"TracingPath"="C:\\Program Files\\Microsoft\\Exchange Server\\V15\\Bin\\Search\\Ceres\\Diagnostics\\ETLTraces"
"MaxTraceFileSize"=dword:00000028
"MaxTraceFileCount"=dword:0000000a

Die Werte für „MaxTraceFileSize“ und „MaxTraceFileCount“ sind hier hexadezimal anzugeben.

Nach einer Änderung müssen die Dienste „Microsoft Exchange-Diagnose“ und „Microsoft Exchange-Suche“ einmal neu gestartet werden und schon ist man die Plage los.

Exchange 2013/2016 zeigt in einer Ressource den Betreff einer Buchung nicht (mehr) an, sondern nur den Namen des Organisators

Problem

Ein Ressourcenpostfach ist via „AutoAccept“ auf die automatisch Annahme einer Buchung konfiguriert Wenn man diese Ressource (Eine Raum oder ähnliches) nun bucht, bekommt man die Besprechung im eigenen Kalender auch korrekt angezeigt, im Kalender der Ressource allerdings nicht. Dort sieht man nur den Namen des Organisators im Betreff (anstelle des Betreffs).

Lösung

Dieses Verhalten ist das Standardverhalten für neue Ressourcenobjekte. Aber die Einstellung lässt sich jederzeit ändern:

Set-MailboxCalendarSettings -Identity <NAME> -AutomateProcessing AutoAccept -AddOrganizerToSubject $False -DeleteSubject $False

Exchange 2013/2016 IMAP funktioniert nicht mehr (MSExchangeIMAP4 Event 1011)

Problem

Auf einem Exchange 2013/2016 funktioniert IMAP „auf einmal“ nicht mehr. Alle IMAP-Verbindungen brechen sofort ab. Eine TCP-Verbindung wird zwar hergestellt, jedoch kommt es zu keinem Nachrichtenaustausch und die Verbindung wird sehr schnell wieder beendet. IMAP-Tools an der Kommandozeile geben den „Error: ReadLine“ zurück, also „keine Daten erhalten“.

Zudem wird (oder wurde …) im Ereignisprotokoll das MSExchangeIMAP4 Ereignis 1011 protkolliert.

Lösung

In diesem Fall war der interne IMAP-Proxy für den Frontendserver ausgeschaltet. Die Ursache dafür haben wir noch nicht gefunden, aber es kommen Updates (CU) und gehäufte Verschlüsselungsfehler bei IMAP-Verbindungen in Frage.

Status prüfen:

[PS] C:\>Get-ServerComponentState -Identity <SERVERNAME>

Im Fehlerfall ist der Proxy hier als „inactive“ zu sehen. Dann werden keine Mails ausgetauscht.

Status ändern:

[PS] C:\>Set-ServerComponentState -Identity <SERVERNAME> -State Active -Requester HealthAPI -Component ImapProxy

Danach klappt’s sofort wieder.

Outlook E-Mail Standardschriftart mit GPO festlegen

Praktisch seit dem Erscheinen des ersten Outlook-Clients in „Office 2000“ wünschen sich Unternehmen die Möglichkeit, eine Standartschriftart in E-Mail für Benutzer in der Domöne vorzugeben. Natürlich ist es generell nicht möglich Fonts zu verwenden die der Empfänger nicht besitzt – und man hat ja keine Ahnung welche der Empfänger hat. Aber nunja „bei uns wird das dann ja richtig angezeigt“ scheint das faktenignorierende Killerargument zu sein. Und der Kunde ist ja schliesslich König.

Unter OWA gibt es sowiso bisher keine Möglichkeit, die Standartschriftart vorzugeben. Jeder Postfachnutzer muss das selber machen.

Aufgrund der technischen Unlösbarkeit dieser Herausforderung, gibt es keine Standart-Gruppenrichtlinie (GPO) dafür; jedenfalls nicht bis Windows Server 2016 und Office 2016 (Office365).

Outlook Standartschriftart mit GPO vorgebenSo legt man die Standart-Schriftart für Outlook (Office 365) mittels GPO fest

  1. Einen Outlook-Client wunschgemäß mit der Standartschriftart konfigurieren.
    Je nach Outlook-Version findet sich die Einstellung etwas versteckt. In Outlook 2013/2016 liegt das beispielsweise unter Datei > Optionen > E-Mail > Briefpapier und Schriftarten.
  2. Einstellungen aus der Registry in eine GPO (idealerweise GPO-Preferences) übernehmen
    HKEY_CURRENT_USER\Software\Microsoft\Office\<Version>\Common\Mailsettings

    Die Einstellung ist ein Wert von Typ „REG_BINARY“ und sieht etwas seltsam aus, das ist aber korrekt so. Es reicht auch eine „Benutzer-Richtlinie“ um den Wert zu vergeben,

Am einfachsten geht das, wenn auf dem client mit Outlook auch die Remoteserver-Verwaltungstools für Windows 10 (RSAT) installiert sind. Dann öffnet man die Gruppenrichtlinienverwaltung einfach auf dem Client, erstellt/bearbeitet das passende Richtlinienobjekt (GPO), fügt unter Benutzerkonfiguration > Einstellungen > Windows-Einstellungen > Registrierung ein neues Element hinzu und wählt die passenden Schlüssel aus.

Zum Beispiel für Outlook 2016 lautet der Registry-Pfad:

HKEY_CURRENT_USER\Software\Microsoft\Office\16.0\Common\MailSettings

Die relevanten Schlüssel für die Auswahl der Outlook-Schriftart sind:

  • ComposeFontComplex – Neue E-Mail
  • ComposeFontSimple – Neue E-Mail
  • CReplyFontComplex – Antworten und Weiterleiten
  • CReplyFontSimple – Antworten und Weiterleiten
  • TextFontComplexLokale Anzeige bei Plain-Text E-Mails
  • TextFontSimpleLokale Anzeige bei Plain-Text E-Mails