Tools: TerminPatch
Wie Sie aus Termine mit Outlook sicher wissen, ist die Einstellung der Zeitzone und die automatische Umstellung von Sommerzeit auf Winterzeit ein wichtiger Faktor bei der Arbeit mit Outlook. Und genauso oft stellen wir immer mal wieder fest, dass es Anwender gibt, die es entweder nicht wissen oder den vermeintlich "einfachen" Weg wählen und die automatische Sommer/Winterzeitumstellung deaktivieren oder gar die falsche Zeitzone eingestellt haben. Dies ist aber sicher der falsche Weg, da damit Termine aber auf Mails und das Datum von Dateien etc. in der Sommerzeit um eine Stunde verschoben sind. So offenbart TZEDIT die aktuellen Umschaltzeiten der Zeitzone

Stimmt die Zeitzone nicht und ist vor allem die automatische Umstellung auf Sommerzeit deaktiviert, dann werden die "falschen" Zeiten im System gespeichert.
Kurz: Es passiert immer wieder, dass Benutzer ihre Termine in Outlook speichern und bei der nächsten Umschaltung fällt auf, dass die Termine alle um eine Stunde verschoben sind. Meist wird dies zuerst bei ganztägigen Terminen bemerkt, die dann eben von 23:00 Uhr bis 22:59 Uhr oder von 01:00 Uhr bis 00:59 Uhr im Kalender auftauchen.
Die Lösung und deren Einschränkungen
Das Problem ist klar: Termine wurden mit einem Outlook auf einem PC gespeichert, der die "falsche" Zeitzone hatte und damit sind die GMT-Zeiten im Termin falsch. Analog zu den Skripten Feiertage und MBReport kann ich also durch ein Skript nun alle Termine aller Postfächer einfach lesen und sogar "verschieben". Allerdings kann das Skript natürlich nicht erkennen, ob der Termin nun mit einer falschem Uhrzeit oder richtigen Uhrzeit angelegt wurde.
Der Einsatz ist also nur dann effektiv, wenn Sie genau wissen, welches Postfach bis wann welche falsche Termine angelegt hat. Fein raus ist natürlich derjenige, dessen Client alle die "falsche" Zeitzone haben und dann nachts einmal die Termine verschoben werden und am nächsten Tag alle PCs umgestellt werden. Das ist aber auch nicht sicher, da Anwender ja auch über PDAs, OWA etc. Termine eintragen können oder von anderen Personen eine Einladung mit der "richtigen" Zeit erhalten haben. Es bleibt also immer ein "Restrisiko".
Letztlich läuft es daraus hinaus zu fragen: Sind 90% Termin falsch und 10% richtig oder nach dem "Move" dann 90% richtig und 10% falsch.
Weitere Probleme gibt es noch, die nicht verschwiegen werden sollen:
- Einladung von Extern
Wenn ich mit einem "richtigen" PC einen Termin am 1. Mai um 11:00 (MESZ +2) plane und jemand mit falscher Zeitzone einlade, dann geht eine Mail mit 09:00 (GMT) beim Empfänger ein und wird bei ihnen zwar falsch um 10:00 (MEZ+1) angezeigt aber im Kalender "richtig" mit 09:00 GMT eingetragen. Dieser Termin wird dann durch die Verschiebung "falsch". - Einladungen nach Extern
Wurde ein Termin als Einladung versendet, dann wird dieser zwar "richtig" verschoben aber kein Update der Einladung versendet. Das ist sogar von Vorteil, das der Termin am 1.Mail 11:00 als 10:00 gespeichert und versandt wurde aber der Empfänger diesen sowieso als Termin mit falscher Zeit erhalten und diesen wohl selbst schon korrigiert hat. - AddOns
Zugriffe auf Exchange wie OWA, ActiveSync, Blackberry etc. nutzen teilweise eigene Zeitzonen bzw. die Einstellungen der Server. Es kann also sein, dass über diesen Weg angelegte Termine "richtig" in der Datenbank stehen und nun "falsch" verschoben werden. - Ganztägige Termine
Diese Einträge haben ein eigenes Bit und keine "Zeit". Hier steht nur das Datum und sie werden nicht verschoben. - Wiederkehrende Termine
Diese Elemente sind besonders zu behandeln, da hier kein Start/Endetermin vorliegt, sondern ein Zeitplan enthält. Diese Termine werden aktuell noch nicht bearbeitet. - Free/Busy
Die Termine werden einfach nur verschoben. Da dazu allerdings kein Outlook verwendet wird, werden die Frei/Belegt-Zeiten nicht aktualisiert. Erst wenn der Anwender das nächste mal Outlook startet, erfolgt eine Aktualisierung. Die Anzeige der Einladungen ist daher einige Zeit lang unstimmig.
Download
Das Script ist auf dem Server gestartet und benötigt daher keinen Client. Es eignet sich daher für massenhafte Änderungen einer großen Anzahl von Postfächern ebenso wie für wenige Anwender, die trotzdem nicht am Arbeitsplatz gestört werden sollen.
Dieses Skript ist kein öffentlicher Download
Das Skript ist auf der MSXFAQ nicht zum Download verfügbar, da es vor langer Zeit bei einem Kunden eingesetzt wurde und nun mehrere Jahre quasi "verstaubt" ist. Wie Sie vielleicht auf der MSXFAQ gesehen haben, gibt es noch einige andere Tools, die eine vergleichbare Rahmenfunktion haben (z.B. um Feiertage in allen Kalendern zu ergänzen) Letztlich sind all diese Skripte sehr ähnlich, da sie mit einem privilegierten Benutzer durch alle Postfächer laufen und mit den Objekten etwas verändern. Bei Terminen ist aber das Problem, dass es hier kein "Automatismus" geben kann, d.h. eine 100% funktionierende Lösung für jedermann, sondern dann man den inneren Teil der Schleife durch alle Postfächer dann doch individuell anpassen muss. Schließlich soll das Skript ja nicht alle Termine verschieben, sondern nur die, die mit einer falschen Zeitzone eingegeben wurde. Das kann man den Terminen aber nicht "ansehen", da sie alle mit GMT gespeichert wurden. Knifflig sind auch Sonderfälle wie wiederkehrende Termine und Termine mit Einladungen. Müssen hier dann auch die Einladungen neu versendet werden oder darf nur der Termin geändert werden ?. Schließlich weiß das Skript ja nicht, ob die Gegenseite alles "richtig" hat.
Also muss individuell ein Verfahren entwickelt werden, welche Termine in welchen Bereichen wie verändert werden sollen.
Unterstützung durch
Net at
Work:
Sollten Sie daher das Problem haben, dass Termine "verschoben" sind, so
können wir Sie zuerst bei der korrekten Konfiguration ihrer Clients
unterstützen und dann die schiefen Termine wieder gerade rücken. Sprechen
Sie uns einfach an.
Wenn Sie alleine die Verschiebung von Terminen entwickeln wollen, dann schauen Sie sich einfach mal mein einfaches VBScript Feiertage an. Es trägt in jeden Kalender die Feiertage ein und kann als Basis für eine eigene Weiterentwicklung sein. Um die erforderlichen für zentrale Änderungen zu haben, sollten Sie die Seite Mailboxrechte gelesen haben.
Zeitzonen, Umstellungen und die Probleme
Um Sie etwas für die Problematik zu sensibilisieren, ist die Änderung der Sommerzeit/Winterzeit-Umstellung in den USA im Jahre 2007.
| Periode | DST-Anfangstermin | DST-End-Termin |
|---|---|---|
| Neue DST-Periode | 11. März 2007 | 4. November 2007 |
| Vorherige DST-Periode | 1. April 2007 | 28. Oktober 2007 |
Das kann dann zu folgender Problematik führen:
| Zeitpunkt | Aktion | Ergebnis |
|---|---|---|
| 10.Januar | Mitarbeiter trägt einen Termin ein: Start: 20. März 2007: 12:00 Uhr Lokalzeit |
Outlook errechnet anhand der alten Zeitzoneneinstellungen im
Betriebssystem die GMT-Zeit auf (-0800) Start: 20. März 2007: 04:00 Uhr GMT |
| 1. Februar | Windows Update installiert das Zeitzonenupdate. Windows weiß nun, dass die Sommerzeit früher anfängt | Termin im Exchange Server ändert sich erst mal nicht |
| 2 Feb | Mitarbeiter trägt noch einen Termin ein: Start: 21. März 2007: 12:00 Uhr Lokalzeit |
Outlook errechnet anhand der aktuellen Zeitzoneneinstellungen im
Betriebssystem die GMT-Zeit auf (-0900) Start: 20. März 2007: 03:00 Uhr GMT |
| 3. Februar | Mitarbeiter schaut sich beide Termine an | Outlook liest den Termin von Exchange und nutzt die aktuelle
Zeitzoneninformation. Entsprechend der Zeitzone errechnet Outlook
aber nun +0900. Ein Termin ist um eine Stunde verschoben |
Allee Termine , die vor dem Zeitzonenupdate angelegt wurden und zwischen dem 11. März und 1.April liegen, sind daher um eine Stunde verschoben. Allerdings ist es für eine Software nicht möglich zu erkennen, welcher Termin vor und welcher Termin nach dem Update der Zeitzone auf dem Client angelegt wurde.
Wenn Sie also automatisch die Termine verschieben, dann darf eine Software nur die Termine anfassen, die im fraglichen Zeitraum liegen aber vor dem Update auf dem Client erstellt wurde. Leider werden die wenigsten Firmen diese Kombination sicherstellen können.
Aus meiner Sicht ist es am einfachsten, wenn Sie die
Anwender diese Problematik selbst lösen lassen. Vermutlich werden wenige
Personen so weit in die Zukunft "stundengenauer" Termine eintragen. Eine
manuelle Korrektur NACH dem Zeitzonenupdate ist vermutlich problemlos.
Ansonsten würde ich den Anwendern direkt nach dem Zeitzonenupdate das
Hilfsprogramm an die Hand geben, um die Termine zu verschieben oder diese
zentral zu verschieben.
Probleme haben nur die Firmen, die das Update der Zeitzonen nicht zeitlich
steuern können. Zum Glück betrifft diese Problematik aktuell eher die USA.
Aber das Problem ist sehr ähnlich, wenn Sie die automatische
Sommerzeit/Winterzeit-Umstellung z.B. deaktiviert hatten
- Termine mit Outlook
- 232626 PRB: CDO: MAPI_E_NO_SUPPORT When Using CDO (1.x) ClearRecurrencePattern
- 931667 How to address the daylight saving time changes in 2007 by using the Time Zone Data Update Tool for Microsoft Office Outlook
- 931836 February 2007 cumulative time zone update for Microsoft Windows operating systems
- 926666 Update for daylight saving time changes in 2007 for Exchange 2003 Service Pack 2
- http://www.microsoft.com/DST2007
- Windows Mobile und Zeitumstellung
http://www.microsoft.com/windowsmobile/daylightsaving/default.mspx - Office Space: Tips and Tricks for Scripting Microsoft Office
Applications Retrieving a List of Recurring Appointments from Microsoft
Outlook
http://www.microsoft.com/technet/scriptcenter/resources/officetips/sept05/tips0901.mspx - Braindump: CDO/MAPI AppointmentItems and Exchange Public Folders
http://blog.throbs.net/2005/11/19/Braindump+CDOMAPI+AppointmentItems+And+Exchange+Public+Folders.aspx - CDO Properties
http://www.cdolive.com/cdo10.htm
CdoAppt_IsRecurring = "0220060000000000C000000000000046" & "0x8223" - Exchange Server 2003 - AppointmentItem Object
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/cdo/html/aa155812-5908-4304-a855-3e9199df252a.asp
The original appointment's StartTime, EndTime, and AllDayEvent properties are disabled whenever its IsRecurring property is True. Any attempt to access them while in this state returns CdoE_NO_SUPPORT. You must use the recurrence pattern's PatternStartDate, PatternEndDate, StartTime, and EndTime properties to edit a recurring series.
- Technical Messaging: - How to Delete recurring appointments using
CDO
http://blogs.msdn.com/sachinsancheti/archive/2006/05/15/598197.aspx
Aufgrund dieser Problematik hat Microsoft zwei Programme entwickelt, die in den USA die Termine mittels Outlook oder auf dem Exchange Server zentral verschieben
Zeitzone auf PC umstellen
Wenn dann alle Termine im Postfach umgestellt sind, dann sollten Sie natürlich sehr schnell dafür sorgen, dass auch alle PCs nun die Sommerzeit auch richtig errechnen. Ansonsten legen ihre Mitarbeiter neue Termine wieder "falsch" an und die bereits korrigierten Termine erscheinen um eine Stunde verschoben. Die Einstellungen sind "pro Maschine" in der Registrierung gespeichert.
Windows Registry Editor Version 5.00 [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\TimeZoneInformation] "Bias"=dword:ffffffc4 "StandardName"="Westeuropäische Normalzeit" "StandardBias"=dword:00000000 "StandardStart"=hex:00,00,0a,00,05,00,03,00,00,00,00,00,00,00,00,00 "DaylightName"="Westeuropäische Sommerzeit" "DaylightBias"=dword:ffffffc4 "DaylightStart"=hex:00,00,03,00,05,00,02,00,00,00,00,00,00,00,00,00 "ActiveTimeBias"=dword:ffffff88 "DisableAutoDaylightTimeSet"=dword:00000000
Diese REG-Datei können Sie z.B.: über die Gruppenrichtlinien (Startup-Skript) importieren. Ein Import durch das Anmeldeskript ist nur da möglich, wo die Benutzer auch lokale Administratoren sind. Alternativ können Sie aus der REG-Datei natürlich auch eine ADM-Vorlage für die Gruppenrichtlinien machen.
REG-Datei zum Import per Skript oder Softwareverteilung
terminpatch-sommereinterzeitumstellen.reg
(Vielen Dank an Herrn Roschinski, Ulm, welcher mir die REG-Datei überlassen
hat)
ADM Vorlage für Gruppenrichtlinien.
terminpatch-sommerwinterzeitumstellen.adm
Hilfsmitteln von Microsoft: MSEXTMZ
Dieses Programm verschiebt die Termine mehrerer Postfächer auf dem Server:
Microsoft Exchange Calendar Update Tool
http://www.microsoft.com/downloads/details.aspx?familyid=a9336886-4b28-4010-9416-36d38429438d&mg_id=10107&displaylang=en
oder
http://go.microsoft.com/?linkid=6294107
Siehe auch
- 933185 A virtual machine is available to help you deploy daylight saving time 2007 calendar updates in an Exchange organization
- 941018 How to address daylight saving time by using the Exchange Calendar Update Tool
- Exchange Calendar Update Tool package
http://www.microsoft.com/downloads/details.aspx?FamilyId=27BB0EE2-03AC-4E5B-AEC5-3E878490FCE1&displaylang=en
Primär ist das Tool wohl dazu, die Änderungen der amerikanischen Zeitzonen im Jahr 2007 umzusetzen. Voraussetzungen sind z.B. .NET 2.0 Framework und der Einsatz auf einem "englischen Betriebssystem". Wenn man sich dann die Beschreibung des Tools durchliest, dann wird man das Gefühl nicht los, dass da jemand ohne Exchange Erfahrung ein Tool geschrieben hat.
- Postfachrechte
Die Rechte kann man auch einfach über einen Eintrag auf den Store erhalten. Da muss man nicht per VBScript bei allen AD-Objekten die Rechte addieren. - MAPI-Profilerstellung
Das MAPI-Profil muss man auch nicht mehr mit PRF-Dateien erstellen, wenn man CDO nutzt. - Profilauswahl
Es wird erklärt, wie man einstellt, dass Outlook beim Start MAPI-Profils nicht nachfragen, welches Profile genutzt wird. Dies ist bei passender Programmierung nicht relevant - Zweistufigkeit
Das Tool muss einmal erst eine Liste der Postfächer erstellen und im zweiten Schritt diese dann bearbeiten. Ein einfacher LDAP-Filter wäre hier sicher eleganter gewesen.
TZMove
Auch für den Einsatz auf dem Client gibt es von Microsoft ein Hilfsprogramm, welches leider nicht Deutsch verfügbar ist. Das Programm erlaubt das Verschieben von Terminen für EIN Postfach. Es ist also eher für den Einsatz auf dem Client geeignet denn für den Server
Time Zone Data Update Tool for Microsoft Office
Outlook (8 MB)
http://go.microsoft.com/?linkid=6294071
http://www.microsoft.com/downloads/details.aspx?familyid=%20E343A233-B9C8-4652-9DD8-AE0F1AF62568&displaylang=en
(EN/ES/FR)
931667 How to address the daylight saving time changes in 2007 by using the
Time Zone Data Update Tool for Microsoft Office Outlook
Wenn Sie die herunter geladene Datei starten, dann packt sich das Programm nicht nur aus, sondern startet sich auch sofort. In dieser Betriebs erreichen Sie aber nicht ihre Ziel. Sie sehen folgendes Fenster.

Brechen Sie daher das Programm hier ab und starten es manuell über die Kommandozeile mit einem besonderen Parameter:
"%PROGRAMFILES%\Microsoft Office\Office12\Office Outlook Time Zone Data Update Tool\tzmove.exe" /PHYSICALMOVE
Sie erkennen die Funktion des Schalters, wenn Sie zwei Zeitzonen (Alt und neu) auswählen können.

Sie sehen gut, dass das Programm hier alle Termine in meinem Postfach von einer Zeitzone in eine andere Zeitzone verschieben kann. Hier kann man auch manuell eingreifen. Ich habe es noch nicht selbst experimentell nachgestellt aber ich könnte mir folgendes vorstellen:
- Keine Sommerzeit/Winterzeit
Stellen Sie sich vor, Sie betreiben ihr Netzwerk aktuell so, dass Sie die automatische Umstellung deaktiviert haben. Entsprechend sind ja alle Termine im Sommer um eine Stunde "falsch" gespeichert worden. - andere Zeitzone anpassen
Sie könnten ja nun eine andere Zeitzone, z.B. "GMT+0100 Zentralafrika" mit TZEDIT so verändern, dass Sie der eigenen Zeitzone entspricht, aber gar keine Sommer/Winterzeit-Bereiche kennt. Damit hat die Einstellung, dass die Umschaltung deaktiviert wurde, keine Auswirkung. - Umschaltung aktivieren
Nun könnten Sie auf dem PC die automatische Sommerzeit/Winterzeitumstellung aktivieren. - TZMove Ausführen
Nun könnten Sie mit TZMOVE einfach die Termine derart ändern, dass Sie TZMOVE sagen, dass die Termine alle als "GMT+0100 Zentralafrika" eingestellt wurden und nun nach "GMT+0100 Berlin" verschoben werden müssen -
"GMT+0100 Zentralafrika" wieder korrigieren
Nach der erfolgten Verschiebung sollten Sie natürlich wieder die temporär geänderte Zeitzone auf die richtigen Werte setzen.
Vielleicht ist das ein denkbarer Weg für Personen, die wirklich viele Termine haben.
Weiterentwicklung
Wenn ich zu gegebener Zeit dazu kommen, würde ich gerne noch folgende Dinge ergänzen
- Wiederkehrende Termine
Aktuell werden diese einfach übersprungen. Ich habe aktuell das Problem, dass ich noch nicht dazu gekommen bin, die RecurrentPatterns zu verarbeiten. Zudem scheint es CDO-Versionen zu geben, bei denen das Feld "IsReccurent" leider nie true wird, selbst wenn es ein wiederkehrender Termin ist. Könnte sein, dass dies ein Unterschied der CDO auf einer Workstation und CDO auf dem Server ist.
Weitere Links
- Zeitsynchronisation in Netzwerken
- Termine mit Outlook
- Feiertage
- Mailboxrechte
- TZEdit
http://download.microsoft.com/download/5/8/a/58a208b7-7dc7-4bc7-8357-28e29cdac52f/tzedit.exe - Microsoft Exchange Calendar Update Tool
http://www.microsoft.com/downloads/details.aspx?familyid=a9336886-4b28-4010-9416-36d38429438d&mg_id=10107&displaylang=en - Virtual Machine for Microsoft Exchange Calendar Update Tool
http://www.microsoft.com/downloads/details.aspx?familyid=03D4251D-370F-486D-BB2F-64FF14C546AD&mg_id=10111&displaylang=en - 310558 How to create a new recurring meeting that has exceptions by using CDOEX in Visual C#
- 930879 How to address daylight saving time by using the Exchange Calendar Update Tool
- 931667 How to address the daylight saving time changes in 2007 by using the Time Zone Data Update Tool for Microsoft Office Outlook
- DST 2007: Understanding what needs to be done and how to do it
http://exchangepedia.com/blog/2007/02/dst-2007-understanding-what-needs-to-be.html - Exchange Server and Daylight Saving Time (DST) 2007
http://technet.microsoft.com/en-us/library/bb267339.aspx - Wikipedia: Daylight saving time
http://en.wikipedia.org/wiki/Daylight_savings_time - Wikipedia: Daylight saving time around the world http://en.wikipedia.org/wiki/Daylight_saving_time_around_the_world
- Who Knew? A Brief History of Daylight Saving Time
http://www.seizethedaylight.com/dst/ - 2007 Time Zone Changes will Impact Many Computers in Canada, the
United States and Bermuda
http://www.reganfamily.ca/dst/ - Time Zone change in Argentina – Effects on Outlook clients
http://blogs.technet.com/latam/archive/2007/12/27/time-zone-change-in-argentina-effects-on-outlook-clients.aspx - “How to update Windows Servers and Desktop Operating Systems”
http://blogs.technet.com/latam/archive/2007/12/27/time-zone-change-in-argentina-how-to-create-a-new-time-zone.aspx - Seize the Daylight': A History of Clock Chaos
http://www.npr.org:80/templates/story/story.php?storyId=4572036









