DoIT! ExchangeSync S eite 1 von 7
Was ist DoIT! Exchange Sync? Ein kostenpflichtiges AddOn-Modul für DoIT! um Daten mit den Postfächern des Microsoft Exchange Server von aktiven DoIT!-Benutzern zu synchronisieren. Die Nutzungsgebühr für diese Schnittstelle fällt monatlich pro DoIT!-Installation an, d.h. die Anzahl der Benutzer hat keinen Einfluss. Die Schnittstelle ist in PHP entwickelt (kein EXE-Programm), wird auf dem DoIT!-Server installiert und nutzt die Exchange-Web-Services-Schnittstelle (EWS) des Microsoft Exchange Servers. Was wird Synchronisiert? Termindaten aus Tickets mit Fixtermin werden aus DoIT in den Kalender des Termininhabers übertragen. Alle Termine des Outlook-Kalenders werden aus Exchange nach DoIT! übertragen dabei wird der Terminbetreff nicht in DoIT angezeigt - sondern lediglich Outlooktermin (Datenschutz). Outlooktermine können in DoIT! nicht verschoben werden. Dahingegen können Ticket-Termine im Outlook-Kalender verschoben werden und diese Information wird über die Schnittstelle zurück ins Ticket synchronisiert. Somit erfolgt die Synchronisierung von Ticket-Terminen bidirektional. Der Betreff, Ort, Beschreibung und sonstige Attribute eines Termins haben aus DoIT! stets Vorrang und werden in Outlook überschrieben. Ticket-Termin: Datum, Startzeit, Endzeit, Betreff, Ort, Beschreibung Ticket-Termin: Datum, Startzeit, Endzeit Outlook-Termin: Datum, Startzeit, Endzeit, Betreff ist immer Outlooktermin Welche Versionen von Microsoft Exchange werden unterstützt? Version Freigabe Exchange 2003 X Exchange 2007? Exchange 2010? Exchange 2013 Exchange 2016? Exchange Online / Office365 bei Microsoft gehostet Exchange Online / Office365? bei Dritten gehostet Sonstige X (Google GMail Kalender, Tobit David, Kerio, ) wird unterstützt? noch nicht getestet (sollte technisch funktionieren) X nicht unterstützt S eite 2 von 7
Welche Systemvoraussetzungen gibt es? - Die DoIT!-Kalender-Lizenz muss einmalig erworben werden (pro Installation) - Einen Benutzer für die Schnittstelle, der im Exchange Vollzugriff auf die Kalender aller Postfächer besitzt - Veröffentlichung des virtuellen doit_ews -Ordners im IIS Webserver für den Exchange Server, damit die PushNotificationen empfangen werden können (Office365: der Ordner muss in diesem Fall von außen / über das Internet erreichbar sein) - Zugriff auf die EWS-Schnittstelle / die EWS-URL muss bekannt sein Wird in einem festen Intervall synchronisiert? Nein. Die Schnittstelle nutzt die PushNotification, d.h. Daten werden beim Exchange Server nur abgefragt, wenn neue Daten / Änderungen vorliegen. Dies spart Ressourcen und arbeitet zeitnaher als wie in einem festen Intervall. Wird immer der gesamte Datenbestand synchronisiert? Nein. Die Schnittstelle speichert eine sog. SyncStateID, wodurch nur neue Daten (erstellte, geänderte und gelöschte Termine) vom Exchange Server übertragen werden. Was wird nicht unterstützt? Serientermine (*) Serientermine aus Outlook können in DoIT! nicht angezeigt werden. Termineinladungen (*) Termineinladungen können für in DoIT! erstellte Tickettermine nicht versendet werden. Mehrere Terminteilnehmer (*) Ein Ticket kann nur einen Termininhaber besitzen. Offline-Caching (*) Sollte der Exchange Server nicht erreichbar sein, können Termine in DoIT! gespeichert werden, jedoch nicht im Exchange. Die Termine werden nicht automatisch nachgetragen, sobald der Exchange Server wieder erreichbar ist! Vorrang-Prüfung (*) Spielt noch keine Rolle, da Offline-Caching noch nicht umgesetzt ist. (Welches System hat bei einem Synchronisierungskonflikt Vorrang? Hinweis: Zeitstempel prüfen) Unterkalender Nur der Hauptkalender wird synchronisiert. Haben Sie weitere Kalender im Outlook eingerichtet, können diese leider nicht synchronisiert werden. (*) = Funktion soll durch Update folgen S eite 3 von 7
Wie ermittle ich die URL des EWS-Dienstes? Klicken Sie bei gedrückter Strg -Taste mit der rechten Maustaste auf das Outlook-Symbol im Systray und wählen E-Mail-AutoKonfiguration testen aus. Geben Sie Ihre Zugangsdaten ein und starten Sie den Test. Halten Sie Ausschau nach einer Adresse im Format https://servername/ews/exchange.asmx Hinweis: Bei Office365 lautet die URL i.d.r. https://outlook.office365.com/ews/exchange.asmx S eite 4 von 7
Zugriffsrechte im Exchange Server erteilen Erstellen Sie ein Postfach für den Benutzer ServiceDoIT im Exchange. Anschließend können über die Exchange Management Shell (EMS) die Berechtigungen mit wenig Aufwand eingerichtet werden: 1 Befehl / alles in einer Zeile einfügen: Get-Mailbox Select -ExpandProperty Alias foreach-object {'Add-MailboxFolderPermission "'+$_+':\Calendar" -user ServiceDoIT -accessrights Owner'} >C:\doit_exchange_user.txt Der Befehl erzeugt nichts weiter, als eine Datei (C:\doit_exchange_user.txt) welche pro Postfach den eigentlichen Add-MailboxFolderPermission -Befehl für den Kalender enthält. Diese Befehle müssen nun kopiert und in die EMS eingefügt werden. Vorab können Einträge für z.b. DiscoveryPostfach etc. entfernt werden. Bitte beachten: Die EMS nimmt die Befehle mit "Calendar" alle ohne Fehlermeldung an, in DoIT! funktioniert der Zugriff aber trotzdem nicht (ErrorAccessDenied)? Dann müssen die Befehle noch mal mit "Kalender" statt Calendar ausgeführt werden, da sich die Ordnerbezeichnungen im Informationspostfachspeicher bei Ihnen geändert haben. Bitte beachten: Bei neuen Mitarbeitern/Benutzern müssen die Berechtigungen nachgepflegt werden. Hinweis: Warum Owner -Berechtigung? DoIT! muss alle Objekte lesen können (auch Ticket-fremde Termine / damit die frei- /gebucht-informationen im DoIT!-Kalender angezeigt werden können) DoIT! muss Termine erstellen, aktualisieren und löschen können (Ticket-Termine) Tipp: PowerShell mit Exchange Server in der Cloud verbinden Click Start > All Programs > Accessories > Windows PowerShell > Windows PowerShell. Run the following command: $LiveCred = Get-Credential In the Windows PowerShell Credential Request window that opens, type the credentials of an account in your cloud-based organization. When you are finished, click OK. Run the following command: $Session = New-PSSession -ConfigurationName Microsoft.Exchange - ConnectionUri https://ps.outlook.com/powershell/ -Credential $LiveCred - Authentication Basic -AllowRedirection Run the following command: Import-PSSession $Session A progress indicator appears that shows the importing of commands used in the cloud-based service into the client-side session of your local computer. When this process is complete, you can run these commands. Quelle: Connect Windows PowerShell to the Service https://msdn.microsoft.com/en-us/library/cc952755%28v=exchsrvcs.149%29.aspx S eite 5 von 7
IIS WebServer auf dem DoIT!-Server einrichten Damit DoIT! die PushNotificationen vom Exchange empfangen kann, muss der Ordner C:\inetpub\wwwroot\doit\public\exchange\ im IIS als virtueller Ordner doit_ews zur Site hinzugefügt werden und für den Exchange Server erreichbar sein (sog. DoIT! Listener URL ). Sie können z.b. über die IP-Zugriffssteuerung des IIS WebServers den Zugriff auf den Ordner beschränken. In dem Ordner sind keine Zugangsdaten zum Exchange Server oder zur MySQL Datenbank von DoIT! o.ä. gespeichert. DoIT! einrichten Lizenz Für die Nutzung der Schnittstelle muss eine Lizenz erworben und aktiviert werden. Administration Im DoIT! unter Administration Einstellungen Schnittstellen Microsoft Exchange müssen die Zugangsdaten des Benutzers hinterlegt werden, welcher über die Zugriffsrechte auf die fremden Postfächer verfügt. Tipp: Wir empfehlen für die Nutzung von SMTP, POP3 und der Exchange Synchronisation die Einrichtung eines Benutzers (z.b. ServiceDoIT). Dateien anpassen C:\inetpub\wwwroot\doit\public\exchange\ews_config.php Öffnen Sie die Datei mit Notepad und passen Sie hier die DoIT! Listener URL an. Außerdem können Sie hier die Protokollierung einstellen. C:\inetpub\wwwroot\doit\public\exchange\php-ews\wsdl\NotificationService.wsdl Öffnen Sie die Datei mit Notepad und passen Sie hier in Zeile 59 den Exchange-Server-Namen an: <soap:address location="https://exchange-server/ews/exchange.asmx" /> S eite 6 von 7
Anhang EWS-Dienst prüfen Um die Funktion des EWS-Dienstes zu überprüfen, rufen Sie die URL in einem Browser auf (https://exchange-server/ews/exchange.asmx) und melden Sie sich mit Ihrer Windows-Anmeldung an. Anschließend sollte diese Seite ausgegeben werden: S eite 7 von 7