Buchungsanfrage abgelehnt: „Die Ressource akzeptiert keine Besprechungen, die länger als 1440 Minuten dauern“

Problem

Eine Ressource lässt sich in Exchange 2016/2019 nicht länger als einen Tag lang (1440 Minuten) buchen. Für Autos oder Leihgeräte sind mehrere Tage oder Wochen aber notwendig.

Lösung

Das ist richtig, die maximale Standartzeit für gebuchte Ressourcen ist 24 Stunden.

Früher gab es mal das Cmdlet Get-MailboxCalendarSettings, mit dem man die Buchungszeit (MaximumDurationInMinutes) einstellen konnte. Dieser Befehl wurde aber (ganz ohne die übliche „Deprecated“ Meldung) abgelöst. Hier sind die neuen.

Einstellung (für die Ressource „Auto*“) anzeigen

[PS] C:\>Get-CalendarProcessing -Identity vw* | fl maximumd*

MaximumDurationInMinutes : 1440

Einstellung ändern

[PS] C:\>Set-CalendarProcessing -Identity vw* -MaximumDurationInMinutes 2147483647

Der Wert ist ein Int32, 2147483647 also das Maximum. Knapp 4000 Jahre reichen aber auch für langfristiges ausleihen aus.

Office 365 Exchange Online Powershell unter Windows 10 Verbindung herstellen

Die Office 365 Exchange Online Powershell benötigt eigentlich keine Powershell Modul-Installation, weil zu Exchange nur eine Remote-Session hergestellt wird.

Anders sieht da aus, wenn man die MFA (Mehr-Faktor-Authentifizierung) eingeschaltet hat. Dazu unten mehr.

Exchange Online Powershell ohne MFA

$credential = Get-Credential
$exchangeSession = New-PSSession -ConfigurationName Microsoft.Exchange -ConnectionUri "https://outlook.office365.com/powershell-liveid/" -Credential $credential -Authentication "Basic" -AllowRedirection
Import-PSSession $exchangeSession -DisableNameChecking -AllowClobber

Das erste Kommando fragt die Credentials ab und speichert diese in der Variable $credential, das zweite verwendet diese für die Verbindung und das dritte importiert die Remote-Sitzung.

Exchange Online Powershell mit 2FA (Mehr-Faktor Authentifizierung)

Hierfür muss man zuerst doch noch manuell ein Modul herunterladen, das „Exchange Online Remote PowerShell-Modul„. Man findet den Download für die Offline-Installation innerhalb seines Office 365 Portals in der EAC. Mann kann diese Spezial-Powershell aber auch direkt ohne Umwege herunterladen und starten; der Link dazu steht weiter unten.

Office 365 Portal > Exchange Administrator Center (EAC) > Hybrid > „Konfigurieren“ (‚Das Exchange Online-PowerShell-Modul unterstützt mehrstufige Authentifizierung.‘)

Hat man das Modul heruntergeladen und installiert, sollte man einmal sein WinRM-Konfiguration testen. Ein lauffähiges WinRM-System mit eingeschalteter Basic-Authentifizierung (Default) ist Voraussetzung.

WinRM-Konfiguration in der Powershell „als Administrator“ anschauen:

winrm get winrm/config/client/auth

Sollte da „Basic = false“ in der Ausgabe stehen, muss man zwingend Basic-Auth einschalten:

winrm set winrm/config/client/auth @{Basic="true"}

Dann kann man auch schon endlich fast eine Verbindung herstellen; dazu das „Microsoft Exchange Online Powershell Module“ im Startmenü öffnen. Dier hier ist der direkte Download-Link zur Exchange Shell:

https://cmdletpswmodule.blob.core.windows.net/exopsmodule/Microsoft.Online.CSE.PSModule.Client.application

In der neuen Exchange-Powershell tippt man dann:

Connect-EXOPSSession -UserPrincipalName <[email protected]>

Und schon stehen einem die altbekannten CMDlets wie Get-Mailbox, Get-DistributionGroup oder Get-MailboxPermission zur Verfügung.

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