Exchange 2010 SP2 – 2019 und Subscription Edition (SE). Der Data & More Scan-Server verbindet sich per HTTPS mit https://<host>/EWS/Exchange.asmx, authentifiziert sich als ein Service-Account und nimmt die Identität der betroffenen Postfächer an. Kein Autodiscover, kein MAPI/RPC, kein Agent auf deinen Exchange-Servern.
Hosting-Modell auswählen
Die Exchange-Konfiguration (§1–§5) ist in beiden Fällen identisch. Nur der Netzwerkteil (§6) und einige Felder im Rücksendeformular (§7) unterscheiden sich.
A – Gehostet von Data & More | B – Self-hosted Toolbox | |
|---|---|---|
Wo der Scan-Server läuft | Data & More Infrastruktur (Hetzner, EU) | Dein Netzwerk (VM oder Server, den du bereitstellst) |
Wer sich mit EWS verbindet | Data & More, über das Internet | Die Toolbox, innerhalb deines Netzwerks |
EWS im Internet veröffentlicht | Ja | Nein – interne URL reicht aus |
Firewall-Regel | TCP 443 von den Ausgangs-IPs von Data & More | TCP 443 von der Toolbox-IP |
Hostname | Muss öffentlich auflösbar sein (oder Hostname → IP angeben) | Muss von der Toolbox auflösbar sein (internes DNS ist in Ordnung) |
Pre-Auth Reverse Proxy (WAP, F5 APM, NetScaler) | Muss den Service-Account durchleiten | Normalerweise nicht beteiligt – direkt zum Exchange-Server oder internen Load Balancer verbinden |
Voraussetzungen
Exchange Server 2010 SP2, 2013, 2016, 2019 oder Subscription Edition (SE), On-Premises
Ein postfachfähiger AD-Service-Account, als der sich der Scan-Server authentifiziert (§1)
Rollen ApplicationImpersonation und Mailbox Search für diesen Account (§2)
Das virtuelle EWS-Verzeichnis mit aktivierter Basic- oder NTLM-Authentifizierung (§3, §4)
Eine Drosselungsrichtlinie für den Account, damit ein vollständiger Scan nicht gedrosselt wird (§5)
Netzwerkpfad vom Scan-Server zu EWS auf TCP 443, gültiges TLS-Zertifikat (§6)
A – Gehostet: EWS vom Internet aus erreichbar für unsere Ausgangs-IPs
B – Self-hosted: EWS von der Toolbox erreichbar; keine Internetexposition
Abschnitte 1–6 beschreiben die Einrichtung. Abschnitt 7 ist das Formular zum Zurücksenden.
1. Service-Account
Ein dedizierter AD-Account, postfachfähig (er authentifiziert sich als sich selbst, bevor er die Identität anderer annimmt), Passwort auf unbegrenzte Gültigkeit gesetzt. Kein lokaler Admin, keine interaktive Anmeldung.
powershell
New-Mailbox -Name "svc-dataandmore" `
-UserPrincipalName "svc-dataandmore@example.com" `
-Password (Read-Host "Password" -AsSecureString)
2. Rollen
Impersonation – eine Zuweisung deckt alle Postfächer ab:
powershell
New-ManagementRoleAssignment -Name "DataAndMore-Impersonation" `
-Role "ApplicationImpersonation" `
-User "svc-dataandmore@example.com"
Geltungsbereich einschränken, wenn nur ein Teil der Organisation betroffen ist:
powershell
New-ManagementScope -Name "DataAndMore-Scope" `
-RecipientRoot "example.com/Company Users" `
-RecipientRestrictionFilter { RecipientType -eq "UserMailbox" }
New-ManagementRoleAssignment -Name "DataAndMore-Impersonation" `
-Role "ApplicationImpersonation" `
-User "svc-dataandmore@example.com" `
-CustomRecipientWriteScope "DataAndMore-Scope"
Postfach-Discovery – Postfächer werden mit dem EWS-Vorgang GetSearchableMailboxes aufgelistet, wofür die Rolle "Mailbox Search" erforderlich ist:
powershell
New-ManagementRoleAssignment -Name "DataAndMore-MailboxSearch" `
-Role "Mailbox Search" `
-User "svc-dataandmore@example.com"
Dies ist der Discovery Management-Rollengruppe vorzuziehen, die auch Legal Hold gewährt. Wenn du sie nicht vergeben möchtest, schick uns stattdessen die Postfachliste – nur die Auto-Discovery entfällt dann.
Rollenänderungen werden zwischengespeichert; warte eine Stunde oder starte MSExchangeServicesAppPool neu.
Ohne Impersonation: Add-MailboxPermission -AccessRights FullAccess -AutoMapping:$false pro Postfach funktioniert ebenfalls, muss aber für jedes neue Postfach erneut ausgeführt werden.
3. EWS-Endpunkt
powershell
Get-WebServicesVirtualDirectory | fl Server,InternalUrl,ExternalUrl,BasicAuthentication,WindowsAuthentication
Welche URL du uns mitteilen solltest:
A – Gehostet: die
ExternalUrl(von außen erreichbar).B – Self-hosted: die
InternalUrloder einen internen Hostnamen, über den das virtuelle EWS-Verzeichnis von der Toolbox erreichbar ist (z. B. der interne Load-Balancer-Name).
Basic oder NTLM muss aktiviert sein – ausschließlich Kerberos, Zertifikat oder OAuth/ADFS werden nicht unterstützt. Wenn ein Pre-Auth Reverse Proxy (WAP, F5 APM, NetScaler) im Pfad liegt, muss er den Service-Account durchleiten. Bei einer Self-hosted-Einrichtung sollte die Toolbox den Proxy nach Möglichkeit umgehen.
powershell
Set-WebServicesVirtualDirectory -Identity "EXCH01\EWS (Default Web Site)" -BasicAuthentication $true
iisreset /noforce
Von uns akzeptierte Versions-Header-Werte: EXCHANGE_2007 … EXCHANGE_2013_SP1, EXCHANGE_2016. Exchange 2019 und SE verwenden EXCHANGE_2016 – es gibt keinen separaten Wert dafür.
4. EWS-Zugriffsrichtlinie
powershell
Get-OrganizationConfig | fl EwsEnabled,EwsApplicationAccessPolicy,EwsAllowList,EwsBlockList
Get-CASMailbox svc-dataandmore | fl EwsEnabled,EwsApplicationAccessPolicy
EwsEnabled darf nicht $false sein. Wenn die Richtlinie EnforceAllowList ist, füge unseren Client hinzu – sein User-Agent ist JWebServices for Exchange 2.2.140, www.independentsoft.com:
powershell
Set-OrganizationConfig -EwsAllowList @{Add="JWebServices*"}
5. Drosselung
Standard-EWS-Budgets sind für interaktive Clients ausgelegt und bremsen einen vollständigen Postfach-Scan aus. Weise nur dem Service-Account eine eigene Richtlinie zu (ab 2013):
powershell
New-ThrottlingPolicy -Name "DataAndMore-EWS" -ThrottlingPolicyScope Regular `
-EwsMaxConcurrency Unlimited -EwsMaxBurst Unlimited `
-EwsRechargeRate Unlimited -EwsCutoffBalance Unlimited
Set-ThrottlingPolicyAssociation -Identity "svc-dataandmore@example.com" `
-ThrottlingPolicy "DataAndMore-EWS"
Begrenzte Alternative: EwsMaxConcurrency 50, EwsMaxBurst 300000, EwsRechargeRate 900000, EwsCutoffBalance 600000. Teile uns mit, welche du verwendet hast – wir passen unsere Parallelität daran an. Bei 2010 SP2 lauten die Parameter EWSMaxConcurrency, EWSPercentTimeInAD, EWSPercentTimeInCAS, EWSPercentTimeInMailboxRPC; setze sie auf $null.
Der Scan-Server nutzt 3–8 parallele Verbindungen pro Quelle, bremst bei 429 / "Server kann die Anfrage gerade nicht verarbeiten" automatisch ab und kann während eines von dir gewählten Zeitfensters zu Geschäftszeiten gedrosselt werden.
6. Netzwerk und TLS
Gilt für beide Modelle
Der Scan-Server verbindet sich nur zu EWS. Nichts verbindet sich von Exchange aus in den Scan-Server.
Lese-/Verbindungs-Timeout beträgt 300 s – keine Firewall, kein Proxy und kein Load Balancer zwischen Scan-Server und EWS darf Leerlaufverbindungen früher trennen.
TLS 1.2+, Zertifikat gültig für den Hostnamen, zu dem der Scan-Server eine Verbindung herstellt.
A – Gehostet von Data & More
TCP 443 eingehend zum EWS-Endpunkt von unseren Ausgangs-IPs (werden separat mitgeteilt).
Der EWS-Hostname muss öffentlich auflösbar sein, oder gib uns Hostname → IP an, damit wir es in unserer Laufzeitumgebung eintragen.
Zertifikat von einer internen CA: schick uns die Kette als PEM.
B – Self-hosted Toolbox
EWS muss nicht im Internet veröffentlicht werden. Die Toolbox muss lediglich deinen Exchange-Server (oder internen Load Balancer) auf TCP 443 erreichen können.
Erlaube TCP 443 von der IP-Adresse der Toolbox zum EWS-Host auf allen internen Firewalls oder Segmentgrenzen dazwischen.
Die Toolbox muss den EWS-Hostnamen auflösen können – über dein internes DNS, oder gib uns Hostname → IP an, damit wir es auf der Toolbox eintragen.
Wenn die Toolbox einen ausgehenden HTTP-Proxy verwendet, schließe den EWS-Host davon aus (direkte Verbindung).
Zertifikat von einer internen CA (üblich bei internen URLs): schick uns die Kette als PEM, damit sie auf der Toolbox als vertrauenswürdig gilt. Der Hostname in der URL muss zum Zertifikat passen – verwende den Namen aus dem Zertifikat, keine IP-Adresse.
7. Zurücksenden
Zugangsdaten über einen Passwort-Tresor oder einen anderen sicheren Kanal übermitteln, nicht per einfacher E-Mail.
Feld | Wert |
|---|---|
Hosting-Modell | A – Gehostet von Data & More / B – Self-hosted Toolbox |
EWS-URL |
|
Exchange-Version |
|
Authentifizierungsmethode | Basic / NTLM (+ NetBIOS-Domäne bei NTLM) |
Service-Account |
|
Zugriffsmodell | Impersonation / Full Access |
Mailbox Search vergeben | ja / nein – wenn nein, Postfachliste anhängen |
Archive im Geltungsbereich | ja / nein |
Testpostfach für unsere Zugriffsprüfung |
|
Drosselungsrichtlinienwerte | |
Drosselungsfenster zu Geschäftszeiten | z. B. 07:00–18:00 MEZ |
Interne CA-Kette angehängt | ja / nein / n. z. |
Hostname → IP-Zuordnung erforderlich | nein / ja: |
A: Firewall für unsere Ausgangs-IPs geöffnet | ja / nein / n. z. |
B: Toolbox-IP und Firewall zu EWS geöffnet | Toolbox-IP + ja / nein / n. z. |
Technischer Ansprechpartner | Name, E-Mail, Telefon |
Vor dem Absenden prüfen
Auf dem Exchange-Server:
powershell
Test-WebServicesConnectivity -ClientAccessServer EXCH01 `
-MailboxCredential (Get-Credential example\svc-dataandmore) -TrustAnySSLCertificate
Dann von dem Ort aus, von dem sich der Scan-Server verbinden wird – A: ein Rechner außerhalb deines Netzwerks; B: die Toolbox selbst:
bash
curl -sS -o /dev/null -w '%{http_code}\n' -u 'svc-dataandmore@example.com' \
https://mail.example.com/EWS/Exchange.asmx # 200 = ok, 401 = Authentifizierung falsch
Für NTLM füge --ntlm hinzu und verwende DOMAIN\svc-dataandmore. Ein Timeout bedeutet, dass der Netzwerkpfad blockiert ist (§6); ein Zertifikatsfehler bedeutet, dass die CA-Kette oder der Hostname falsch ist (§6).
Die Impersonation selbst prüfen wir von unserer Seite anhand des Testpostfachs.
Archive
In-Place-Archive benötigen keine zusätzlichen Berechtigungen – Impersonation deckt sie ab. Bestätige, welche Postfächer eines haben (Get-Mailbox -Archive), und ob sie On-Premises gehostet werden; ein Cloud-Archiv bei einem On-Premises-Postfach ist eine separate Quelle. Postfächer ohne Archiv werden automatisch übersprungen.
Durchsetzung (nur bei vertraglicher Vereinbarung)
Wenn die Aufbewahrungsdurchsetzung aktiviert ist, löscht der Scan-Server Elemente, die einer von dir definierten und aktivierten Löschrichtlinie entsprechen. Es werden keine Elemente verschoben, kopiert oder in das Postfach geschrieben. Impersonation gewährt das Löschrecht bereits; es ist nichts Zusätzliches zu konfigurieren. Gib Bescheid, wenn du nur die Erfassung möchtest.
Verwendete EWS-Operationen
Operation | Zweck | Typ |
|---|---|---|
| Postfächer aufzählen | Lesend |
| Ordnerstruktur durchlaufen, inkl. Archiv-Stammordner | Lesend |
| Elemente auflisten, Nachricht mit Inhalt abrufen | Lesend |
| Anhang zur Analyse abrufen | Lesend |
| Element gemäß Aufbewahrungsrichtlinie löschen | Schreibend – nur bei Durchsetzung |
Keine Abonnements, kein SendItem, kein UpdateItem, kein MoveItem, keine im Postfach erstellten Ordner und kein Zugriff außerhalb des konfigurierten Geltungsbereichs.
Fehler
Meldung | Ursache | Lösung |
|---|---|---|
401 Unauthorized | Falsches Passwort, Basic/NTLM deaktiviert, Pre-Auth-Proxy | §3 |
The account does not have permission to impersonate the requested user. | Rolle fehlt, zwischengespeichert oder Postfach außerhalb des Geltungsbereichs | §2 |
Access is denied on discovery | Mailbox Search fehlt | §2 |
429 / The server cannot service this request right now / Too many concurrent connections opened | Drosselungsbudget erschöpft | §5 |
Read timed out / Connect timed out / Socket closed | Leerlauf-Timeout unter 300 s, Firewall blockiert den Scan-Server (A: Ausgangs-IPs, B: Toolbox-IP) oder Endpunkt nicht erreichbar | §6 |
UnknownHostException / name not resolved | Hostname vom Scan-Server nicht auflösbar (B: Toolbox verwendet kein internes DNS) | §6 |
PKIX / Zertifikatsfehler | Interne CA nicht vertrauenswürdig oder Hostname stimmt nicht mit dem Zertifikat überein | §6 |
The SMTP address has no mailbox associated with it. / Mailbox does not exist. | Mail-aktivierter Benutzer oder Postfach in die Cloud verschoben | Erwartet, wird übersprungen |
The defaultFolder cannot be created by XSO | Archiv angefordert, Postfach hat keines | Erwartet, wird übersprungen |
The message exceeds the maximum supported size. | Element überschreitet das Verarbeitungslimit | Erwartet, wird als übersprungen erfasst |