Copyright ©
Mindbreeze GmbH, A-4020 Linz, .
Alle Rechte vorbehalten. Alle verwendeten Hard- und Softwarenamen sind Handelsnamen und/oder Marken der jeweiligen Hersteller.
Diese Unterlagen sind streng vertraulich. Durch die Übermittlung und Präsentation dieser Unterlagen alleine werden keine Rechte an unserer Software, an unseren Dienstleistungen und Dienstleistungsresultaten oder sonstigen geschützten Rechten begründet. Die Weitergabe, Veröffentlichung oder Vervielfältigung ist nicht gestattet.
Aus Gründen der einfacheren Lesbarkeit wird auf die geschlechtsspezifische Differenzierung, z.B. Benutzer/-innen, verzichtet. Entsprechende Begriffe gelten im Sinne der Gleichbehandlung grundsätzlich für beide Geschlechter.
Vor der Installation des Microsoft Exchange Connector Plugins muss sichergestellt werden, dass der Mindbreeze Server bereits installiert ist und dieser Connector auch in der Mindbreeze Lizenz inkludiert ist.
Bitte führen Sie folgende Power Shell Kommandos auf dem Microsoft Exchange Server aus:
Entweder per Mailbox:
Get-Mailbox | Add-MailboxPermission -user <domain>\<user>
-accessrights FullAccess
Oder per Mailbox Datenbank:
Get-MailboxDatabase -identity “Mailbox 1” |Add-ADPermission -user <domain>\<user> –accessrights GenericALL
ANMERKUNG: Mit diesem Recht kann der Crawling User zwar den Inhalt des anderen Postfachs einsehen, aber keine E-Mails mit der Identität des anderen Benutzers versenden. Da die Mailboxrechte für jeden Benutzer im ActiveDirectory gespeichert werden, (msexchmailboxsecuritydescriptor) benötigt der Crawling User Leserechte auf die Benutzerobjekte im ActiveDirectory.
Für eine bessere Performanz wird es empfohlen die Default Throttling Policies ( EWSFindCountLimit = 1000 und EWSMaxConcurrency = 10 ) entsprechen der vorhandene Infrastruktur zu überschreiben. z.B EWSFindCountLimit und EWSMaxConcurrency werden auf 1000 bzw. 25 wie folgt überschrieben.
New-ThrottlingPolicy -Name serviceUserPolicy -EWSFindCountLimit 1000
-EWSMaxConcurrency 25
Set-Mailbox <domain>\<serviceuser> -ThrottlingPolicy serviceUserPolicy
Klicken Sie auf das „Indices“-Tab und danach auf das „Add new index“-Symbol, um einen neuen Index zu erstellen.
Geben Sie den Indexpfad ein, z.B. „/data/indices/exchange“. Passen Sie gegebenenfalls den Display Name des Index Service und des zugehörigen Filter Service an.
Fügen Sie eine neue Datenquelle mit dem Symbol “Add new custom source” rechts unten ein.
Als Caching Principal Resolution Service kann ein CachingLdapPrincipalResoution ausgewählt werden. Es wird dann für das Auflösen der AD Gruppenmitgliedschaft eines Benutzers bei der Suche verwendet.
Für die Konfiguration von Caching Principal Resolution Service siehe Caching Principal Resolution Service.
Zur Konfiguration der Verbindung mit dem Microsoft Exchange Server ist folgende Information wichtig:
Treffer für Email und Kalendereinträge können über das Kontextmenü Heruntergeladen werden.
Um alle Treffer, mittels Kontextmenü, in Outlook Web Access zu öffnen, muss die „Outlook Web Access URL“ angegeben und die Option „Use Outlook Web Access” aktiviert werden.
Wird die „Use Outlook Web Access Open as Default Action” Option ausgewählt, wird diese Aktion als Standardkontextaktion für jedes Suchresultat ausgeführt, d.h. der Link beim Treffer öffnet Outlook Web Access.
<Not xmlns="http://schemas.microsoft.com/exchange/services/2006/types" xmlns:ns2="http://schemas.microsoft.com/exchange/services/2006/messages">
<Or>
<Contains ContainmentMode="Prefixed" ContainmentComparison="Exact">
<FieldURI FieldURI="item:Subject"/>
<Constant Value="Automatische Antwort:"/>
</Contains>
<Contains ContainmentMode="Prefixed" ContainmentComparison="Exact">
<FieldURI FieldURI="item:Subject"/>
<Constant Value="Accepted:"/>
</Contains>
</Or>
</Not>
Mehr Details über die verfügbaren XML-Befehle finden Sie in der offiziellen Microsoft Dokumentation.
Um nur die Objekte innerhalb eines bestimmen Zeit-Intervalls zu indizieren, wählen Sie die entsprechende Zeiteinheit von „Past Time Unit“ Optionen aus und geben Sie die Anzahl von diesen Zeiteinheiten in „Number of Past Time Units“ Feld an. Dieses Zeit-Intervall verschiebt sich nach jedem Delta-Run. Dabei werden neue Objekte indiziert und ältere vom Index gelöscht.
Um die Suche der Benutzer auf das jeweilige pimäre Benutzer-Postfach und Public Folders zu beschränken, muss “Restrict to Primary Mailbox and Public Folder” ausgewählt werden. Damit werden keine Treffer aus freigegebenen Postfächern und freigegebenen Ordneren anderer Benutzer retourniert.
Für Microsoft Exchange 2003 und 2007 ist es nötig, dass die Microsoft Exchange Datenquelle neu indiziert wird (sofern bereits Indizes mit einer Version vor 2015 Spring Release erstellt wurden). Eine Delta-Indizierung ist nicht ausreichend.
In diesem Bereich können Einstellungen definiert werden, die die Resourcenauslastung am Microsoft Exchange Server, wie auch am Mindbreeze Enterprise Search Server beeinflussen. Die folgenden Parameter können gesetzt werden:
Das Feld „Dump Requests /Responses“ erlaubt eine erweiterte Fehlersuche und loggt Anfragen und Antworten in das konfigurierte Dump-Verzeichnis. Bei der vorkonfigurierten Option „On Error“ werden bei jedem auftretenden Fehler automatisch Log-Dateien angelegt. Bei „Never“ werden keine Dumps erzeugt und bei „Always“ für jede Anfrage.
Das Feld „Dump Directory“ spezifziert ein Verzeichnis, in dem die Dumps abgelegt werden. Wird kein Dump Directory konfiguriert, steht das Dump Feature nicht zur Verfügung.
Anmerkung: Aktivieren Sie „Always“ nicht dauerhaft im Produktionsbetrieb.
Windows:
Befindet sich die Installation auf einem Microsoft Windows Server, ist es möglich die Kerberos Berechtigungen des aktuellen Mindbreeze Service Benutzers auch für den Microsoft Exchange Crawler zu verwenden. In diesem Fall muss der Service Benutzer die Rechte zum Zugriff auf die Microsoft Exchange Web Services haben.
Linux:
Für Installationen unter Linux kann das Keytab mittels Managementcenter erzeugt werden.
WIchtig: Das keytab muss den Schlüssel des oben genannten Benutzers enthalten. Das keytab für das Mindbreeze Client Service kann hier nicht verwendet werden.
Allgemein können Probleme bei der Indizierung von Exchange-Datenquellen zuallererst in den entsprechenden Logdateien des Mindbreeze Log-Ordners gefunden werden.
Im Mindbreeze Basis-Log-Ordner gibt es für den konfigurierten Exchage-Crawler einen entsprechenden Unterordner der z.B. wie folgt heißen könnte:
C:\logs\current\log-mescrawler_launchedservice-Microsoft_Exchange
Darin befindet sich dann für jeden Crawl-Lauf ein Datums-Unterordner und darin zwei Log-Dateien:
Wenn es keine Credentials in der Network Tab unter LDAP Settings konfiguriert sind, werden die Crawler Benutzer Credentials verwendet um die Verbindung zum LDAP Server aufzubauen. Folgende Meldung wird in der Log-Datei geloggt falls die Crendetials falsch sind.
com.mindbreeze.enterprisesearch.ldapclient.LDAPQuery INTERNALWARNING: Unable to connect to ldap server <x> Invalid Credentials (49)
Problem-Verhalten:
Der Crawler bekommt keine Dokumente von Exchange und erzeugt auch keine Datei-Liste in der Logdatei mindbreeze-dispatcher.csv.
In der Logdatei log-mescrawler_launchedservice.log sind viele Fehlermeldung folgender Art zu finden:
com.mindbreeze.enterprisesearch.connectors.exchange.ewsclient.callables.SOAPCallable WARNING: Call find folders of mailbox <x> - SOAP call: ERROR ErrorItemNotFound The specified object was not found in the store.
Problembeschreibung und -lösung:
Aufgrund von Berechtigungsproblemen ist es dem verwendeten Service-Benutzer nicht möglich Folders von Exchange abzufragen. Siehe Abschnitt „Erforderliche Rechte für den Crawling User“ oben.
Zusätzlich kann man folgende POST Abfrage mittels curl an EWS schicken um die Berechtigung zu prüfen.
curl -X POST https://mail.mycompany.com/ews/exchange.asmx -v -H 'cache-control: no-cache' --ntlm -negotiate -u cr'<?xml version="1.0" encoding="utf-8"?>-type: text/xml' -d '
<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:m="http://schemas.microsoft.com/exchange/services/2006/messages"
xmlns:t="http://schemas.microsoft.com/exchange/services/2006/types"
xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Header>
<t:RequestServerVersion Version="Exchange2010" />
</soap:Header>
<soap:Body>
<m:FindFolder Traversal="Deep">
<m:FolderShape>
<t:BaseShape>IdOnly</t:BaseShape>
<t:AdditionalProperties>
<t:FieldURI FieldURI="folder:DisplayName" />
</t:AdditionalProperties>
</m:FolderShape>
<m:IndexedPageFolderView MaxEntriesReturned="100"
Offset="0"
BasePoint="Beginning" />
<m:ParentFolderIds>
<t:DistinguishedFolderId Id="msgfolderroot">
<t:Mailbox>
<t:EmailAddress>user@mycompany.com</t:EmailAddress>
</t:Mailbox>
</t:DistinguishedFolderId>
</m:ParentFolderIds>
</m:FindFolder>
</soap:Body>
</soap:Envelope>'