Microsoft Teams and Exchange logos

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.

Microsoft-Dokumentation

Ähnliche Beiträge

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert