Frei/Belegt-Zeiten

Eine wesentliche Funktion von Outlook im  Netzwerk mit einem Exchange Server, ist die Vereinbarung von Terminen. Hierbei ist die Funktion besonders von Vorteil, dass auch ohne besondere Berechtigungen ein Anwender ersehen kann, ob der Partner im fraglichen Zeitraum überhaupt frei ist. Wie macht Outlook und Exchange das ?

Free/Busy von Exchange 5.0 bis Exchange 2003

Die technische Umsetzung der Terminübersichten in Outlook ist relative einfach gelöst.

  • Outlook erstellt regelmäßig oder bei Änderung eine Liste der Frei/Belegt-Zeiten und speichert diese an einem zentralen für jeden zugänglichen Ort.
  • Bei einer Terminvereinbarung wird diese Zusammenfassung der eingeladenen Benutzer abgefragt und angezeigt

Free/Busy Prinzip

Als Besonderheit ist hier einfach zu beachten, dass es je Exchange Site bzw. administrativer Gruppe einen eigenen Systemordner in Exchange gibt. Beim der Einladung von Personen aus anderen Standorten muss Outlook daher den entfernten Ordner oder ein Replikat der Daten befragen. Als Administrator sollten Sie daher prüfen, ob die Anwender auf die entfernten Ordner zugreifen können (Namensauflösung, IP-Routing, Firewall) oder ob ein Replikat (Achtung: Latenzzeit) hier eine bessere Alternative ist.

Sogar ein Arbeiten über Organisationsgrenzen hinaus ist damit möglich, da auch Kontakte mit Frei/Belegt-Zeiten versehen werden können.

Free/Busy ab Exchange 2007 / Outlook 2007

Die großen Einschränkung dieser alten Lösung sind natürlich, dass ein Zeitverzug zwischen Termineintragung beim Anwender, der Aktualisierung im Free/Busy-Ordner, etwaiger Replikation und dann der Anzeige beim Anwender bedeutet. Mit Exchange 2007 bietet der Exchange Server einen "Webservice" an, den Outlook 2007 befragen kann. Die Anfrage von Outlook per HTTP wird vom Server derart gelöst, dass der Exchange Server direkt in das Postfach hinein schaut, die Frei/Belegt-Zeiten dynamisch generiert und an den Client liefert. Damit sind diese hoch aktuell, auch wenn der Mitarbeiter z.B. mobil mit einem PDA arbeitet

Dabei nutzt der Outlook 2007 Client den die Exchange 2007 CAS-Rolle, um die Daten zu erfragen, welcher dann den Postfachserver des Anwenders (Exchange 2007) oder per OWA die Frei/Belegt-Zeiten eines Exchange 2003 Empfängers über den öffentlichen Ordner befragt.

E2007 freeBusy

Die Outlok2003 Clients nutzen natürlich weiterhin ihre klassischen öffentlichen Systemordner.

Exchange 2010 Free/Busy Limits

Aber auch der Einsatz der Exchange Webservices unterliegt Beschränkungen. Es ist nämlich keineswegs so, dass ein Client per EWS nun in alle Zukunft die freien Zeiten abfragen kann. Der Exchange Server toleriert nur ein bestimmtes Zeitfenster, was aber angepasst werden kann. Seit Exchange 2010 SP1 erfolgt dies per Registrierung

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Excdo\Parameters\FBPublishMonth: DWORD
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Excdo\Parameters\FBPublishMonths: DWORD
Value data: The period, in months, für which you want to publish Free/Busy information. If this value is set to zero, no data will be published.

Hinweis: Der Name des Felds ist bei Exchange 2010 "FBPublishMonths" und nicht "FBPublishMonth"

Microsoft.Exchange.RPCClientAccesws.Service.exe configuration file
Folder: \Program Files\Microsoft\Exchange\v14\Bin
Content:
<appSettings>
<add key=" MaximumQueryIntervalDays " value="365" />
</appSettings> Änderungen auf allen Exchange 2010 SP1 CAS undMailbox servern erforderliuch
Restart Microsoft Exchange RPC Client Access service.
Datei: Web.config 
Pfad: Program Files\Microsoft\Exchange\v14\ClientAccess\ExchWeb\Ews
Content:
<appSettings>
<add key="MaximumQueryIntervalDays" value="365" />
</appSettings> 

Recycle the MSExchangeSErvicesAppPool in IIS Manager.
Auf allen Exchange 2010 SP1 CAS servern.

Exchange 2007 "Add-AvailabilitySpace"

Outlook 2003 und älter hat per Default immer die öffentlichen Ordner für die Ablage und Auswertung von Frei/Belegt-Zeiten heran gezogen. Sobald Outlook 2007 aber als Server einen Exchange 2007 Server erkennt, nutzt Outlook die Exchange Web Services und fragt die Daten per HTTPS vom Exchange CAS-Server ab. Wenn Outlook nun anhand der SMTP-Adresse eines Kontakts nach Frei/Belegt-Zeiten sucht, dann wird der CAS-Server diese versuchen aufzulösen. Aber eben über "Autodiscover" gegen die CAS-Server der anderen Domäne.

Über das Commandlet "Add-AvailabilitySpace" kann der CAS-Server angewiesen werden, für bestimmte Domänen doch die "öffentlichen Ordner" zu befragen.

Wichtig ist dieses Commandlet auch, wenn sie auch mit Exchange 2003 eine Verbindung über Organisationen hinweg einrichten und mit dem InterOrg Replication Tool die Frei/Belegt-Zeiten der anderen Organisation in ihre Organisation übertragen. Hier sollten Sie per "Add-AvailabilitySpace" dem CAS dann den Hinweis geben, dass er für diese Organisation die Daten nicht per Webservice erfragen sondern in den eigenen lokalen öffentlichen Ordnern nachschauen soll.

Allerdings können Sie hier bei einer "Single-Server-Umgebung" auf das Problem stoßen, dass der AvailabilityService per Default per HTTP auf den "/Public"-Zweig des IIS zugreift. Wenn Sie aber aus Sicherheitsaspekten den Zugriff nur verschlüsselt über HTTPS zulassen, dann wird das nicht funktionieren. Zum Glück weist sie eine deutliche Meldung im Eventlog darauf hin:

Event Type:     Error 
Event Source:   MSExchange Availability 
Event Category: Availability Service 
Event ID:       4003 
Description: 
Process 1204[w3wp.exe:/LM/W3SVC/1/ROOT/EWS-1-1286353920]:
Microsoft.Exchange.InfoWorker.Common.Availability.PublicFolderRequest failed.
The exception returned is Microsoft.Exchange.InfoWorker.Common.Availability.
PublicFolderRequestProcessingException: The remote server returned an error:
(403) Forbidden.. The request information is http://srv01.msxfaq.local/
public/?Cmd=freebusy&start=2009-08-02T12:00:00Z&end=2009-09-02T12:00:00Z&
interval=30&u=User.name@kunde.local.. The Availability service could not 
successfully retrieve Schedule+ free/busy data für one or more legacy 
Exchange mailboxes. To find the root cause of this error, increase the diagnostic 
logging level of the MSExchange Availability service.

Sie können in der Situation sich eine Lösung aussuchen:

  • Weiterer CAS-Server
    Das Problem ist wohl nicht vorhanden, wenn es sich um einen eigenen CAS-Server handelt und die Mailboxrolle mit dem Public Folder auf einem anderen Server liegt.
  • SSL -Zwang abschalten
    Alternativ können Sie den Zugriff per "http" freischalten. Dann sollten Sie aber dennoch dafür sorgen., dass der Zugriff aus dem Internet nicht unverschlüsselt erfolgt.
  • Outlook 2007 auf Public Folder trimmen
    Da das "Problem" nur mit Outlook 2007 und neuer offenbar wird, gibt es hier die Option, den Zugriff auf die öffentlichen Ordner zu erzwingen. Dann werden aber alle Zugriffe über diesen Weg ausgeführt
Windows Registry Editor Version 5.00

[HKEY_CURRENT_User\Software\Microsoft\Office\12.0\Outlook\Options\Calendar]
"UseLegacyFB"=dword:1

Mehr Details dazu finden Sie auch auf dem Exchange Team Blog:

msExchMailboxSecurityDescriptor

Die Berechtigungen zum Zugriff auf die Frei-Belegt-Zeiten sind natürlich auch zu beachten. Diese kann der Anwender oder der Administrator einstellen. Allerdings stehen diese Rechte nicht im Postfach selbst sondern in AD-Feld msExchMailboxSecurityDescriptor. In der Regel müssen Sie hier nie etwas machen, da Exchange das Feld komplett alleine "im Auftrag des Benutzers" verwaltet.

Sollten Sie allerdings keine Freu/Belegt-Zeiten erhalten obwohl alles andere korrekt erscheint, dann lohnt ein Blick in das Feld und ins Eventlog. Manchmal finden Sie da

Protokollname: Application
Quelle:        MSExchange Availability
Datum:         13.02.2018 21:02:22
Ereignis-ID:   4013
Aufgabenkategorie:Availability Service
Ebene:         Fehler
Schlüsselwörter:Klassisch
Benutzer:      Nicht zutreffend
Computer:      ex2016.msxfaq.de
Beschreibung:
Process Microsoft.Exchange.InfoWorker.Common.Delayed`1[System.String]: 
             Calendar query failed for mailbox SMTP:user@msxfaq.de. 
             The returned exception is: Microsoft.Exchange.InfoWorker.Common.Availability.Win32InteropException: Fehler einer Win32-Funktion. 
             Möglicherweise enthält die interne Ausnahme mehr Details. 
---> Microsoft.Exchange.Security.Authorization.AuthzException: Der Zugriffstest kann für den Clientkontext 
             User SID: S-1-5-21-16623545662-112467845-142345334-1005 nicht ausgeführt werden. 
---> System.ComponentModel.Win32Exception: Falscher Parameter
   --- Ende der internen Ausnahmestapelüberwachung ---
   bei Microsoft.Exchange.Security.Authorization.ClientSecurityContext.GetGrantedAccess(SecurityDescriptor securityDescriptor, SecurityIdentifier principalSelfSid, AccessMask requestedAccess)
   bei Microsoft.Exchange.InfoWorker.Common.Availability.FreeBusyPermission.CallerHasFullPermission(ClientSecurityContext clientSecurityContext, FreeBusyQuery freeBusyQuery)
   bei Microsoft.Exchange.InfoWorker.Common.Availability.FreeBusyPermission.GetPermissionLevel(ClientSecurityContext clientSecurityContext, FreeBusyQuery freeBusyQuery, RawSecurityDescriptor securityDescriptor)
   bei Microsoft.Exchange.InfoWorker.Common.Availability.CalendarQuery.InternalGetCalendarData(FreeBusyQuery freeBusyQuery, MailboxSession session)
   bei Microsoft.Exchange.InfoWorker.Common.Availability.CalendarQuery.GetDataInternal(FreeBusyQuery freeBusyQuery, EmailAddress emailAddress)
   --- Ende der internen Ausnahmestapelüberwachung ---
. Name of the server where exception originated: ex2016. LID: 65036.

Leider geht das nicht mit ADSIEDIT wenn die Werte sind Binär und auch ein "Get-MailboxPermission" zeigt oft keinen Fehler an. Es kann aber helfen, einfach dem Benutzer "SYSTEM" die rechte erneut einzuräumen und wieder zu entfernen, um die ACLs-Einträge zu korrigieren.

add-mailboxpermission user@msxfaq.de -user NT-AUTORITÄT\SYSTEM -AccessRights FullAccess
remove-mailboxpermission user@msxfaq.de-user NT-AUTORITÄT\SYSTEM -AccessRights FullAccess

Bei der Nutzung von Exchange Online und hybriden Umgebungen sollten Sie bei dem Benutzer auch folgendes Feld und Inhalt prüfen:

msExchRecipientDisplayType =-1073741818

Dies ist der richtige Wert für AD-Objekte vom Typ "RemoteMailbox" und "RemoteLinkedMailbox" und Hybrid Delegate/Hybrid SendAs

Free/Busy mit Office 365

Auch mit einer Exchange Online Umgebung in Office 365 können natürlich "Frei/Belegt-Zeiten" genutzt werden. Das geht zwischen unterschiedlichen Firmen als auch innerhalb einer Firma, wenn Sie den "Hybrid"-Mode eingerichtet haben. Auch hier wird das MFG Microsoft Federation Gateway genutzt, welches für die Authentifizierung der Zugriffe zu ständig ist.

Outlook veröffentlicht Free/Busy Zeiten

Damit sie nun Termine mit anderen Personen planen können, ist es hilfreich zu wissen, wann die anderen Personen "Zeit" haben. Dazu gibt es die Frei/Belegt-Zeiten. Dies ist ein Systemorder von Exchange, der je Exchange 5.5. Standort genau einmal existiert. In diesem Ordner legen die Outlook Clients je Benutzer eine einzelne Nachricht ab, in der die Belegung hinterlegt ist. Diese Funktion ist daher eine Funktion von Outlook und hat nichts direkt mit dem Exchange Server zu tun. Exchange stellt nur den Speicherplatz bereit. 

Outlook erstellt alle 15 Minuten eine Liste der Frei/Belegt-Zeiten des Anwenders und veröffentlicht diese als einzelnes Mailelement in dem Systemorder. Damit die Datenmenge begrenzt bleibt, beschränkt sich Outlook auf die Termine für zwei Monate, d.h. bis zum Ende des darauf folgendes Monats. Wenn wir also heute im Februar sind, dann werden die Termine des Februar und März zusammengefasst und veröffentlicht. Diese Parameter sind einstellbar:

Outlook FB Einstellungen 

Diese Daten werden von Outlook in einem normalerweise verborgenen Systemordner abgelegt.

Übrigens sehen Sie auch die Option, dass man die Frei/Belegt-Zeiten auch im "Internet" veröffentlichen kann. Man kann hier eine URL hinterlegen, auf die Outlook dann als Client eine vfb-Datei ablegt, die andere Personen außerhalb der Organisation z.B.: per HTTP abrufen könnten. Der Inhalt sieht z.B.: wie folgt aus:

BEGIN:VCALENDAR
PRODID:-//Microsoft Corporation//Outlook 11.0 MIMEDIR//EN
VERSION:2.0
METHOD:PUBLISH
BEGIN:VFREEBUSY
ORGANIZER:/o=Net at Work GmbH/ou=Paderborn/cn=Recipients/cn=fcarius
DTSTAMP:20071129T142141Z
DTSTART:20071031T230000Z
DTEND:20071231T230000Z
FREEBUSY:20071105T170000Z/20071105T210000Z
FREEBUSY:20071111T104900Z/20071111T141600Z
FREEBUSY:20071111T163000Z/20071111T182500Z
FREEBUSY:20071111T230000Z/20071117T230000Z
FEEBUSY:20071202T230000Z/20071207T230000Z
FREEBUSY:20071209T230000Z/20071213T230000Z
END:VFREEBUSY
END:VCALENDAR

Letztlich werden hier nur die Belegt-Zeiten ohne weitere Informationen eingetragen. Eine URL könnte z.B.: wie folgt aussehen:

file:///C:/Inetpub/wwwroot/www.msxfaq.de/fc.vfb

Das ist aber nur ein Muster. Auf der MSXFAQ finden Sie natürlich keinen vfb-Datei von meinem Outlook :-)

  • 827775 How to use the Internet Free/Busy feature in Outlook 2007 and in Outlook 2003
  • 291621 How to use the Internet Free/Busy feature in Outlook 2002
  • 196484 How to use the Internet Free/Busy feature in Outlook 2000
  • Verbinden von Organisationen

Veröffentlichungszeiten per Gruppenrichtlinie pflegen.

Firmen mit Gruppenrichtlinien können über dieses Instrument zentral steuern, wie lange in die Zukunft die Anwender ihre Zeiten veröffentlichen. Als Firma kann ich diese Zeit zentral vorgeben und sogar Änderungen durch den Anwender unterbinden.

GPO zu Free/Busy

Die entsprechende ADM-Vorlagen finden Sie bei Microsoft zum Download

Das entbindet aber nicht das Outlook des Users, diese Zeiten auch zu veröffentlichen. Wenn ein Anwender also einige Wochen in Urlaub ist, dann ist die hier eingestellte Mindestzeit natürlich nicht zu halten.

Speicherplatz für Free/Busy-Zeiten

Diese Systemordner können Sie z.B.: mit dem Exchange System Manager sehen. Nach Aktivierung der Option "Systemordner Anzeigen" im Kontextmenü finden Sie einen Hauptordner "Schedule+ FREE BUSY" und darunter für jede Administrative Gruppe einen weiteren Ordner. Der Name des Ordner entspricht dem LegacyExchangeDN der Administrativen Gruppe.

In diesem Ordner finden sich dann je Anwender genau eine Nachricht, die dessen Frei/Belegt-Zeiten der nächsten Zeit anzeigen. Hierbei ist der Betreff der Nachricht zugleich der LegacyExchangeDN des Benutzers.

Free/Busy Ansicht beschränken

Nun gibt es Umgebungen, in denen es vielleicht nicht gewünscht ist, dass Personen schon die veröffentlichten "Frei/Belegt-Zeiten" einsehen können. Mit Exchange 2007 und Outlook 2007 wird eh wieder alles anders aber bei Exchange 2003 gab es nur wenige Optionen:

  • Unsichtbar im Adressbuch (Hosting)
    Wenn ein Anwender die anderen Anwender nicht im Adressbuch auswählen kann, dann könnte er zwar über Berechtigungen schon die Daten in den öffentlichen Ordnern sehen, aber praktisch sind die Daten nicht erreichbar.
  • Kein Zugriff auf Free/Busy-Ordner (Replikat/rechte)
    Nimmt man dem Benutzer die Rechte auf den den öffentlichen Ordner, dann kann er die Daten nicht lesen (und nicht schreiben). Man kann die Rechte auch so ändern, dass der User zwar scheiben (keine Fehlermeldung in Outlook) aber nichts lesen kann
  • Keine Rechte im Postfach

Mit Exchange 2007 und Outlook 2007 kommen die Exchange Availability Services zum tragen. Outlook 2007 fragt den Exchange 2007 Server per Webservice (HTTPS) und Exchange schaut in die jeweiligen Postfächer, um die Daten in Echtzeit zu liefern. Dabei berücksichtigt Exchange die Berechtigungen auf dem Kalender des jeweiligen Postfachs. Wenn Sie dazu mal die Rechte auf dem Outlook 2007 Kalender anzeigen lassen, dann erkennen Sie schon, dass hier für Frei/Belegt-Zeiten mehr Optionen möglich sind:

Der Exchange 2007 Availability Service nutzt also einfach die Ordnerrechte des Kalenders. Zusätzlich scheint aber auch Outook 2007 die erweiterten Berechtigungen in Verbindung mit einem Exchange 2007 zu speichern aber zudem auch abhängig davon die Frei/Belegt-Zeiten in den öffentlichen Ordner zu schreiben. Legt man hier "Standard = Keine" fest, dann kommt eine Warnung, dass auch Outlook 2003 und älter keine Daten mehr lesen können.

Der Anwender kann also selbst entscheiden, wer wie viele Details sieht. Das funktioniert aber erst in einer reinen Exchange 2007/Outlook 2007 wirken diese Rechte. Im Mischbetrieb sehen Clients die Frei/Belegt-Zeiten anhand der Einstellung von "Standard".

Wenn wir mit MFCMAPI hinter die Kulissen schauen, dann sind die ACLs des Kalenders wichtig. Sobald ein Exchange 2007 Server das Postfach betreibt, kommt beim Öffnen erst mal folgende Meldung: 

Welche Ansicht nun die "richtige" ist, hängt eben von dem Client ab. MFCMAPI kann beide Optionen anzeigen. Voraussetzung ist aber eine aktuelle MAPI darunter. Wenn Sie einen Fehler wegen einem "Ungültigen MAPI Property" bekommen, dann verwenden Sie vermutlich noch Outlook 2003. Wenn Sie den gleichen Ordner anzeigen lassen, sehen Sie folgende Rechte.

Exchange 2000/2003 Ansicht

Exchange 2007 Ansicht
Exchange 2007 FB Rechte

Das zweite Bild (mit dem "(w/FB)" im Titel zeigt die erweiterten Exchange 2007 Berechtigungen. Tut man so, als würde man einen neuen Eintrag addieren, dann sieht man auch schön die möglichen Berechtigungen. 

Die effektiven Berechtigungen sind also eine Addition der verschiedenen Bits.

Einladung und Absprachen

Bei der Nutzung von Besprechungsanfragen kann der Anwender weitere Personen einladen und in der Terminübersicht deren freie und belegte Zeiten einsehen. Outlook nutzt dazu folgende Ansicht:

Nur wenn Sie auch Zugriff auf den Kalender des eingeladenen haben (Berechtigungen, WAN-Verbindung zum Homeserver), dann können Sie sogar die Details sehen. Diese Frei/Belegt-Zeiten funktionieren allerdings nur mit dem primären Kalender des Postfachs eines Benutzers.

Für Zeiträume, die weiter in der Zukunft liegen, zeigt Outlook 2000 und neuer korrekt einen schraffierten Balken an, während Outlook 97/98 hier fehlerhaft "Frei" anzeigt. Outlook 97/98 zeigt nur dann einen schraffierten Balken, wenn überhaupt keine Frei/Belegt-Zeiten der anderen Person erreichbar sind. Ist daher eine Terminplanung in weiter Zukunft erforderlich, dann muss jeder Anwender selbst diese Daten entsprechend ändern. Beachten Sie dabei, dass kürzere Intervalle als auch längere Zeiten mehr Netzwerklast und höheren Speicherbedarf bedeuten. Dies gilt insbesondere,  wenn die Frei/Belegt-Zeiten noch zwischen Standorten repliziert werden

Pfiffige Administratoren ändern die Einstellung zentral, z.B.: über REGEDIT, Richtlinien und andere Skripte zur Anpassung der Registrierung oder beim Anlegen des Profils mittels NEWPROF. Notwendig ist aber dazu eine angepasste Änderung, das das MAPI-Profil bei den Benutzern nicht immer gleich heißen muss. Siehe dazu auch

Replikation und Fernzugriff

Solange die Anwender nur innerhalb des eigenen Standorts die Frei/Belegt-Zeiten anderer Anwender benötigen, müssen Sie nichts unternehmen. Der Zugriff von Outlook auf diesen Systemordner erfolgt wie jeder Zugriff von Anwendern auf normale öffentliche Ordner.

Im Standort

Der Frei/Belegt-Zeitenordner ist pro Standort einmal vorhanden. Sie sollten als Administrator prüfen, dass der Ordner existiert und z.B. auf die gewünschten Server repliziert ist. Oftmals wird bei einer Migration dieser Ordner vergessen, wenn der erste Server einer Site entfernt wurde, so dass nach der Abschaltung des ersten Servers keine Funktion mehr gegeben ist. Auch eine saubere Namensauflösung und Verbindung ist hilfreich, diesen Ordner für den Client sicher erreichbar zu machen. Ansonsten erhalten die Clients die Meldung, dass die Frei/Belegt-Zeiten nicht aktualisiert werden können. Manchmal ist aber auch eine Korruption der Datei der Fall. dann hilft der Start von Outlook mit der Option /ResetFreeBusy, um die eigenen Zeitpläne wieder neu aufzubauen.

Über Standorte hinweg

Innerhalb eines Standorts ist die Übersicht über die freien Zeiten noch recht einfach möglich, aber auch in einer Exchange Organisation wird oft die Anforderung gestellt, dass bei der Terminplanung auch Mitarbeiter auf anderen Servern gesehen werden können. Auch dies ist möglich, allerdings muss der Administrator des anderen Standorts einstellen, dass der Systemorder auf den Server im eigenen Standort repliziert wird. Auch hier ist zwischen Aktualität und Netzwerklast abzuwägen. Eine Site mit 100 Anwendern, bei denen Outlook alle 15 Minuten die Zeiten aktualisiert ist eine beachtliche Datenmenge, die repliziert werden muss. !!

Daher ist zu prüfen, ob die Inhalte wirklich repliziert werden sollen oder die Anwender in entfernten Standorten nicht direkt über die WAN-Verbindung das Original nachladen. Das dauert zwar etwas länger aber ist auf jeden Fall aktueller.

Zwischen Organisationen

öffentliche Ordner können nur innerhalb einer Organisation repliziert werden. für die Verbindung zwischen Organisationen gibt es aber auch Hilfsmittel. (Siehe Verbinden von Organisationen). Über das Programm InterOrg Replication Tool ist es möglich, den Inhalt von öffentlichen Ordnern einer Organisation in eine andere Organisation zu replizieren. Das funktioniert auch mit Frei/Belegt-Zeiten. Der Trick daran ist, dass Outlook bei der Einladung eines Kontakts ebenfalls in dem Systemordner des eigenen Standorts nach einen Frei/Belegt-Datensatz sucht. Allerdings nutzt Outlook hierzu nicht den LegacyExchangeDN, sondern einfach die SMTP-Adresse. Sobald also ein Elemente im Ordner liegt, dessen Betreff der SMTP-Adresse entspricht, versucht Outlook diese Informationen in einer Terminvereinbarung mit anzuzeigen.

Seit Exchange 2007 werden die Frei/Belegt-Zeiten ja nicht mehr per Default über öffentliche Ordner bereit gestellt, sondern über den Availability-Webservice der CAS-Rolle Wer also einen Mitarbeiter einer andere Domäne einlädt, fordert vom CAS-Server die Brei/Belegt-Zeiten an. Wenn der Administrator die Konfiguration entsprechend angepasst hat, fragt dieser CAS dann über Autodiscover nach dem CAS-Server der anderen Domäne und fordert dort die Daten an.

Im Internet

Sollen Termine und freie Zeiten auch Organisationsübergreifen bereitgestellt werden, dann geht dies aktuell sinnvoll nur über eine Webseite. Dazu kann Outlook 2000 und höher regelmäßig eine HTML-Datei schreiben, welche die freien und belegten Zeiten enthält. Diese könnte dann z.B. über eine Webseite veröffentlicht werden. Dies ist aber nicht mehr im Themenbereich der Ordner für Frei/Belegt-Zeiten

Wer schreibt die Free/Busy Daten ?

Dass die Frei/Belegt Zeiten ein wichtiges Instrument zur Terminplanung sind, werden ihre Anwender sehr schnell erkennen. Als Administrator sollten Sie wissen, welche Prozess für die Pflege dieser Daten zuständig sind. Hierzu gibt es nämlich aktuell zwei Prozesse, die die Frei/Belegt Daten aktualisieren

  • Outlook
    Ihr Outlook aktualisiert die Frei/Belegt-Zeiten in einstellbaren Intervallen (Standard: alle 15 min). Dabei aktualisiert Outlook aber nicht nur die Frei/Belegt-Zeiten ihres eigenen Terminplans, sondern auch zusätzlich eingebundener Postfächer. Dies bedeutet, dass damit auch ein Postfach, für welches Sie als Stellvertreter arbeiten, aktualisiert wird. Ebenso kann ein Outlook auf einem Server sehr viele Ressourcenpostfächer (Siehe Ressourcen) aktualisieren, so dass auch für Projektoren und Besprechungsräume die Frei/Belegt-Zeiten nutzbar sind.
  • OWA mit Systemaussicht
    Eine Sonderfunktion hat die Nutzung des Kalenders mit OWA. Wenn Sie über OWA einen Termin eintragen oder zusagen, dann kann OWA nicht direkt die Frei/Belegt-Zeiten ändern. Wenn nun nicht eine andere Person ihr Postfach zusätzlich geöffnet hat, würden die Frei/Belegt-Zeiten nicht aktualisiert. Doch OWA informiert die Exchange System Aufsicht über den neuen Termin und in der Exchange System Aufsicht ist ein Programmteil enthalten, welcher dann die Frei/Belegt-Zeiten aktualisiert.
  • AutoAcceptAgent (AutoAcceptAgent)
    Wenn Sie mit Exchange 2000/2003 diesen Storesink nutzen, dann aktualisiert wieder auch die Frei/Belegt Zeiten. Hier gibt es sogar die Einschränkung, dass der Agent immer nur die nächsten 2 Monate veröffentlicht. Dies kann aber durch einen Eintrag in der Registrierung des Postfachservers geändert werden.
  • Exchange 2007
    Exchange 2007 enthält zum einen die Logik des Auto Accept Agenten. In Verbindung mit Outlook 2007 kommen aber die Frei/Belegt-Ordner gar nicht mehr zum Einsatz, weil hier Outlook 2007 per WebSerivce direkt den Exchange 2007 CAS-Server befragt, der dann auch direkt in die jeweiligen Postfächer schaut und die Elemente dynamische generiert.

Zukünftig ist zu erwarten, dass diese Funktion der Exchange Server oder ein Agent auf Exchange übernehmen wird. Wenn Ihr Outlook sowieso schon die Termine über das Netzwerk auf Exchange abspeichert, dann könnte der Exchange Server diese Blöcke ja selbständig und schnell in die Frei/Belegt-Zeiten pflegen.

Free/Busy in der Anwendung.

Ein Beispiel, was Outlook mit Frei/Belegt-Zeiten macht. Gegeben sind folgende drei Postfächer:

  • Postfach Einladender
    Ein normaler Mitarbeiter, der nur sein Postfach öffnen kann
  • Postfach Sekretariat
    Hat ihr eigenes Postfach offen und hat zudem
  • Postfach Leitung
    Kann nur auf sein Postfach zugreifen, ist aber gerade unterwegs und hat daher keinen Zugriff per Outlook. Kann also auch keine Frei/Belegt-Zeiten veröffentlichen

Beachten Sie dabei, wie Sie der Terminplan eines anderen Postfachs geöffnet wird. Dies kann auf zwei Arten geschehen

  • Einbinden des Postfachs in Outlook
    Das gestartete Outlook überwacht alle Posteingänge auf neue Termine und pflegt diese in die jeweiligen Kalendern mitsamt den Frei/Belegt-Zeiten auch nach. Dies funktioniert nur,  wenn der Anwender wirklich "Stellvertreter" ist und nicht nur den den Kalender öffnen darf
  • öffnen des Kalenders
    Ein Anwender kann bei entsprechenden Berechtigungen auch nur den Kalender eines anderen Anwenders über Outlook (Datei - öffnen - Ordner eines anderen Benutzers oder über Shortcuts) öffnen. Hierfür sind weniger Berechtigungen erforderlich. Der zu Vertretende muss dem Vertreter nicht die Rechte auf das komplette Postfach geben. Aber hierbei werden die Frei/Belegt-Zeiten "nicht" aktualisiert.

Folgende Tätigkeiten mit Outlook 2002/XP wurden durchgeführt

Vorgang Ergebnis

Einladender lädt Leitung zu einem Termin/Serientermin ein. Postfach der Leitung ist von niemandem geöffnet

  • Die Nachricht landen in seinem Postfach und abhängig von den Auto Accept Einstellung wird der Termin in den Kalender übernommen.
  • Die Frei/Belegt-Zeiten werden nicht aktualisiert

Einladender lädt Leitung zu einem Termin/Serientermin ein. Postfach der Leitung ist von dem Sekretariat geöffnet

  • Die Nachricht landen in seinem Postfach und abhängig von den Auto Accept Einstellung wird der Termin in den Kalender übernommen.
  • Die Frei/Belegt-Zeiten werden durch das Outlook des Sekretariat aktualisiert

Sekretariat trägt einen Termin/Serientermin bei der Leitung (zusätzlich geöffnetes Postfach) ein

  • Termin wird eingetragen.
  • Die Frei/Belegt-Zeiten werden durch das Outlook des Sekretariat aktualisiert

Sekretariat trägt einen Termin/Serientermin bei der Leitung über den geöffneten Kalender ein

  • Termin wird eingetragen
  • Frei/Belegt-Zeiten werden NICHT aktualisiert

Leitung trägt Termin per OWA ein.

  • Der Termin wird eingetragen
  • Frei/Belegt-Zeiten werden etwas später durch die Systemaufsicht aktualisiert
  • Frei/Belegt-Zeiten können auch durch einen Stellvertreter  aktualisiert werden

Generell sollten Sie beachten, dass Outlook die Frei/Belegt-Zeiten nicht sofort, sondern erst nach einiger Zeit aktualisiert. Auch die Anwender, die dann diese Informationen verwenden, erhalten eventuell etwas veraltete Daten, wenn diese auf andere Instanzen auf andere Server (über die öffentliche Ordner Replikation) zugreifen oder der lokale Outlook Cache ältere Daten enthält. Es kann daher immer wieder passieren, dass ein Mitarbeiter einen anderen Kollegen einlädt, wo dieser schon einen Termin hat.

Free/Busy per OWA kontrollieren

Eine nette und hilfreiche Funktion zur Kontrolle der aktuellen Free/Busy Einträge bietet auch OWA. Über die besondere URL http://servername/public/non_ipm_subtree/ ist es möglich, in die Systemordner zu schauen. Ein Blick auf Free/Busy Ordner zeigt dann folgendes Bild:

So kann man auch schnell mal nachsehen, welche Benutzer ihre Frei/Belegt Zeiten auf dem Server ablegen und welche nicht. Auch die Replikation von anderen Standorten ist so überprüfbar.

Der Zugriff per OWA ist unter Exchange 2007/2010 nicht mehr möglich. Nutzen Sie dazu MFCMAPI

  • Detaillierte Informationen über das Format und die Speicherung der Frei/Belegt-Zeiten fanden sich mal auf
    http://cvs.gnome.org/viewcvs/evolution-exchange/docs/
    Leider ist der Link wohl nicht mehr erreichbar. Aber vielleicht finden Sie ja im Source-Baum von Evolution noch die Infos. Allerdings ist die Bedeutung dieser Strukturen unwichtiger, je mehr Exchange 2007/2001 Server den Zugriff per WebServce (Concierge) erlauben.

Free/Busy und Fremdsprachen

Was viele nicht wissen, ist die Erfordernis von Zeichensätzen für fremde Sprachen und Kulturen. Eigentlich könnten wir ja alle davon ausgehen, dass die Frei/Belegt-Zeiten nur eine Angelegenheit des Clients sind. Outlook legt entsprechend vorbereitete Elemente in einen Systemordner aber und da es nicht weiß, wer in welcher Sprache diese Informationen noch liest, müssen die Zeichen und die Zeiten fest vorgegeben sein.

Fakt ist aber, dass die Frei-/Belegt-Zeiten z.B. in Verbindung mit fernöstlichen Clients dann doch nicht sauber funktionieren, wenn die entsprechenden Zeichensätze noch installiert sind. Eine genauere Erklärung kann ich dazu erst auch mal nicht liefern.

Wenn Sie daher als multinationales unternehmen z.B. überall nur englische Server installieren aber die Mitarbeiter auf ihrem PC durchaus z.B. ein japanisches Outlook (oder MUI) nutzen, dann sollten Sie auch auf dem Exchange Server die entsprechenden Zeichensätze installieren.

Das gleiche gilt übrigens auch für Domaincontroller. Wenn Outlook 2003 ein Adressbuch anzeigt, so bekommt es die Daten vom DC und dieser sollte die Sortierung natürlich in der der Weise liefern, wie die Anwender damit zu arbeiten gewohnt sind. Siehe auch Exchange und das Active Directory Überschrift "GC und Fremdsprachen")

Free/Busy und Google Calendar

Neben Office 365 gibt es auch von Google einen "Webkalender". Über den Umweg mit öffentlichen Ordnern (Was nur bis Exchange 2010 funktioniert), können Sie sogar Anwender mit Google Kalender und Outlook Benutzer auf Exchange miteinander verbinden. Sie legen dazu in Exchange entsprechende Kontakte für die Google-Konten an, erzeugen ein Postfach und geben diese Daten an eine GoogleAPI, die ihrerseits dann aus Google die Free/Busy-Zeiten füllt.

Leider bietet Google selbst keinen EWS-kompatiblen WebService an, damit Exchange direkt die Free/Busy-Informationen beziehen kann. Qeust/DELl kann sowas  z.B. für die Migration von Notes nach Exchange.

Weitere Links