Teams-Zeitzone falsch? Warum Kollegen als „nicht verfügbar“ erscheinen
Bei einem Kunden mit Microsoft 365 Business Standard meldeten Mitarbeiter: Kollegen erschienen im Terminplanungs-Assistenten fast den ganzen Tag als „nicht verfügbar“. Auf der Teams-Profilkarte stand außerdem „Ihre Zeitzone ist 9 Stunden voraus“ – obwohl alle im selben Büro in Deutschland saßen.
Die Ursache war eine Postfacheinstellung, die man im Exchange Admin Center nicht sieht: die Zeitzone, in der die Arbeitszeiten des Kalenders gelten.
Zwei Zeitzonen mit unterschiedlichen Aufgaben
Exchange speichert die regionale Zeitzone eines Postfachs und zusätzlich die Zeitzone für die Arbeitszeiten des Kalenders. Get-MailboxCalendarConfiguration liefert unter anderem WorkingHoursStartTime, WorkingHoursEndTime und WorkingHoursTimeZone. Diese Zeitzone gilt ausdrücklich für Anfang und Ende der Arbeitszeiten. Die regionale Einstellung lässt sich separat mit Get-MailboxRegionalConfiguration anzeigen.
| Einstellung | Cmdlet / Eigenschaft | Bedeutung |
|---|---|---|
| Regionale Postfach-Zeitzone | Get-MailboxRegionalConfiguration (TimeZone) |
Regionale Kalender- und Anzeigeeinstellungen des Postfachs |
| Zeitzone der Arbeitszeiten | Get-MailboxCalendarConfiguration (WorkingHoursTimeZone) |
Zeitzone, in der Beginn und Ende der Arbeitszeit interpretiert werden |
Bei den betroffenen Benutzern war die regionale Postfach-Zeitzone korrekt auf „W. Europe Standard Time“ gesetzt. WorkingHoursTimeZone stand dagegen auf „Pacific Standard Time“. Die eingetragenen Arbeitszeiten lauteten 08:00 bis 17:00 – wurden aber in der US-Westküsten-Zeitzone interpretiert. In Deutschland lagen diese Zeiten dadurch überwiegend am Abend und in der Nacht.
Outlook und Teams zeigen diese Arbeitszeiten als Teil des „Work Plan“ an. Wenn die angezeigte Verfügbarkeit nicht zum echten Arbeitstag passt, lohnt sich deshalb ein Blick auf diese Einstellung. Es ist aber nicht die einzige mögliche Ursache.
Verbindung und Einzelprüfung
Die folgenden Beispiele verwenden das Exchange Online PowerShell-Modul. Für die Anmeldung benötigst du ein Konto mit den passenden Exchange-Berechtigungen.
Import-Module ExchangeOnlineManagement
Connect-ExchangeOnline
Prüfe zunächst ein einzelnes betroffenes Postfach:
$identity = '[email protected]'
Get-MailboxRegionalConfiguration -Identity $identity |
Format-List TimeZone, Language
Get-MailboxCalendarConfiguration -Identity $identity |
Format-List WorkingHoursTimeZone, WorkingHoursStartTime, WorkingHoursEndTime
Arbeitszeiten aller Benutzerpostfächer prüfen
Der Bericht liest alle Benutzerpostfächer und zeigt nur die, deren Arbeitszeit-Zeitzone vom Sollwert abweicht. Er ändert nichts. Die CSV nehme ich anschließend als Abhakliste.
$targetTimeZone = 'W. Europe Standard Time'
$mailboxes = Get-EXOMailbox -RecipientTypeDetails UserMailbox `
-ResultSize Unlimited -Properties UserPrincipalName
$report = foreach ($mailbox in $mailboxes) {
$calendar = Get-MailboxCalendarConfiguration -Identity $mailbox.UserPrincipalName
$currentTimeZone = [string]$calendar.WorkingHoursTimeZone
if ($currentTimeZone -ne $targetTimeZone) {
[PSCustomObject]@{
UserPrincipalName = $mailbox.UserPrincipalName
CurrentTimeZone = $currentTimeZone
TargetTimeZone = $targetTimeZone
WorkingHoursStart = $calendar.WorkingHoursStartTime
WorkingHoursEnd = $calendar.WorkingHoursEndTime
}
}
}
$report | Format-Table -AutoSize
$report | Export-Csv -Path './working-hours-timezones.csv' `
-NoTypeInformation -Encoding utf8
[string] sorgt dafür, dass der Vergleich mit einem Textwert funktioniert, auch wenn die PowerShell-Sitzung die Eigenschaft als Exchange-Zeitzonenobjekt zurückgibt. Kontrolliere den Bericht vor jeder Änderung. Funktions-, Shared- und Ressourcenpostfächer sind in diesem Bericht nicht enthalten, weil er gezielt UserMailbox abfragt.
Änderung erst nach Prüfung anwenden
Teste die Korrektur zuerst an einem einzelnen Benutzer und verifiziere anschließend dessen Kalender und Verfügbarkeit. Set-MailboxCalendarConfiguration akzeptiert WorkingHoursTimeZone; „W. Europe Standard Time“ ist der Zeitzonenschlüssel für Mitteleuropa mit automatischer Sommer- und Winterzeit.
$identity = '[email protected]'
Set-MailboxCalendarConfiguration -Identity $identity `
-WorkingHoursTimeZone 'W. Europe Standard Time' -WhatIf
-WhatIf zeigt zunächst die geplante Änderung an. Wenn der Testfall und die Vorschau stimmen, kannst du -WhatIf für den einzelnen Test entfernen. Für weitere Benutzer solltest du nur die zuvor geprüften Einträge aus der CSV verwenden, Ausnahmen (etwa Mitarbeitende mit anderem Arbeitsort) entfernen und die Änderung zunächst ebenfalls mit -WhatIf ansehen. Erst nach dieser Kontrolle wird -WhatIf entfernt und der Lauf ausgeführt. Alle Postfächer blind umzustellen würde ich nicht.
Die Einstellung der Arbeitszeiten wird dabei nicht verändert: 08:00 bis 17:00 bleibt bestehen, wird aber in der festgelegten Zeitzone interpretiert. Prüfe nach der Änderung auch, ob die regionale Postfach-Zeitzone zum Arbeitsort passt.
Nach der Änderung
Kontrolliere die Werte erneut mit Get-MailboxCalendarConfiguration. Outlook und Teams können Profilinformationen zwischenspeichern; deshalb kann die Anzeige verzögert aktualisiert werden. Zum Gegencheck helfen Teams im Browser oder ein späterer erneuter Aufruf der Profilkarte.
Prüfe außerdem, ob die Zeitzone im Kalender und der tatsächliche Arbeitsort zusammenpassen. Mitarbeitende, die bewusst in einer anderen Zeitzone arbeiten, dürfen nicht pauschal auf Mitteleuropa umgestellt werden.
Kurz gesagt
Wenn Teams oder Outlook die Arbeitszeiten um Stunden verschoben anzeigen, zuerst TimeZone und WorkingHoursTimeZone vergleichen. In diesem Fall war es ein einziger falscher Wert pro Postfach. Erst den Bericht ziehen, dann einen Benutzer mit -WhatIf testen, dann den Rest.