Category Archives for Microsoft 365

MigrationPermanentException: The target mailbox doesn’t have an SMTP proxy matching ‚firm.mail.onmicrosoft.com‘.

Die Migration von Exchange On-Premise nach Exchange Online (Microsoft 365) ist häufig von verschiedenen Herausforderungen geprägt, und nicht jeder Migrationsbatch verläuft ohne Fehler.

In der Praxis treten immer wieder unterschiedliche Fehler auf, die eine sorgfältige Analyse und Anpassung erfordern.

Ein konkretes Beispiel für einen Fehler, dem ich heute bei der Migration einer Mailbox gegenüberstand, lautete wie folgt:

MigrationPermanentException: The target mailbox doesn’t have an SMTP proxy matching ‚firm.mail.onmicrosoft.com‘.

Die Wurzel des Problems konnte schnell im On-Premise Exchange Admin Center gefunden werden.

In den E-Mail-Einstellungen des betroffenen Benutzers fehlte der Haken bei „E-Mail-Adressen basierend auf der E-Mail-Adressrichtlinie für diesen Empfänger automatisch aktualisieren“.

Das Fehlen dieses Hakens führte dazu, dass keine E-Mail-Adresse von Exchange Online im Format „firm.mail.onmicrosoft.com“ für den Benutzer generiert werden konnte, was jedoch zwingend erforderlich war.

Die Behebung dieses Problems war vergleichsweise simpel: Durch Setzen des Hakens wurde die E-Mail-Adresse erfolgreich angelegt. Es war anschließend nur noch notwendig, auf die Synchronisierung von Active Directory und Azure AD zu warten, bevor die Migration erneut gestartet werden konnte.

Die Anpassung der Konfiguration ermöglichte letztendlich einen reibungslosen Verlauf der Migration ohne weitere Komplikationen. Dieses Beispiel verdeutlicht, wie präzise Einstellungen in den E-Mail-Konfigurationen einen maßgeblichen Einfluss auf den Erfolg eines Migrationsprozesses haben können. Solche Szenarien erfordern eine genaue Diagnose, um die Ursachen von Fehlern zu identifizieren, und eine gezielte Anpassung der Konfiguration, um sicherzustellen, dass der Migrationsprozess erfolgreich abgeschlossen wird. Damit unterstreicht diese Erfahrung die Bedeutung einer gründlichen Planung und Durchführung bei der Migration zwischen Exchange-Plattformen.

SMTP AUTH in Exchange Online aktivieren

SMTP AUTH ist in Exchange Online im Standard Tenantweit deaktiviert.

Microsoft rät aus Sicherheitsgründen auch dringend davon ab, SMTP AUTH zu aktivieren, da SMTP AUTH keine moderne Authentifizierung (Modern authentication / Modern Auth) unterstützt, sondern lediglich die Basis Authentifizierung nutzt. Diese benötigt nur Benutzername und Passwort um E-Mails verschicken zu können.

Es gibt aber Anwendungen, Reporting Server oder auch Multifunktionsgeräte, die E-Mails generieren und versenden. Diese nutzen meist SMTP AUTH.

SMTP AUTH sollte aber auch weiterhin Tenantweit deaktiviert bleiben und nur für einzelne Postfächer aktiviert werden. Für diese wird die Tenantweite Einstellung überschrieben.

Die Tenantweite Aktivierung/Deaktivierung von SMTP AUTH ist nur über die Exchange Online PowerShell möglich.

Wie sich diese aufrufen bzw. installieren lässt ist in diesem Artikel beschrieben:

Um zu prüfen, ob SMTP AUTH tenantweit deaktiviert ist, wird der folgende Befehl ausgeführt. Der Rückgabewert muss ‚True‘ sein:

Get-TransportConfig | Format-List SmtpClientAuthenticationDisabled

Ist dem nicht so, kann mit dem folgenden Befehl SMTP AUTH tenantweit deaktiviert werden:

Set-TransportConfig -SmtpClientAuthenticationDisabled $true

Für einzelne Postfächer kann SMTP AUTH entweder über das Microsoft 365 Admin Center oder über die Exchange Power Shell aktiviert werden.

Hierzu wird der folgende Befehl ausgeführt:

Set-CASMailbox -Identity max.mustermann@contoso.com -SmtpClientAuthenticationDisabled $false

max.mustermann@contoso.com durch das Benutzerpostfach ersetzen.

Wird $false durch $true ersetzt, wird SMTP wieder deaktiviert.

Ob der Befehl erfolgreich ausgeführt wurde, lässt sich durch den folgenden Befehl prüfen:

Get-CASMailbox -Identity max.mustermann@contoso.com | Format-List SmtpClientAuthenticationDisabled

Der Rückgabewert muss ‚True‘ sein.

SMTP AUTH kann für den Benutzer auch über das Microsoft 365 Admin Center aktiviert werden.

Dazu unter Benutzer -> Aktive Benutzer den entsprechenden Benutzer auswählen.

Auf dem Reiter E-Mail E-Mail-Apps verwalten auswählen.

Hier lässt sich Authentifiziertes SMTP (SMTP AUTH) aktivieren oder deaktivieren.

Installation Exchange Online PowerShell V2

Microsoft entwickelt für Exchange Online eine neue PowerShell, die sich schon bei der Installation von bisherigen PowerShell-Erweiterungen unterscheidet.

Es gibt keinen manuellen Download mehr von einer Microsoft Download-Seite.

Stattdessen muss zuerst das Modul „PowerShellGet“ installiert werden, wenn noch nicht vorhanden.

Install-Module PowershellGet

Dazu wird der NuGet Paketmanager benötigt, welcher gleich mitinstalliert werden will:

Der NuGet-Anbieter ist erforderlich, um den Vorgang fortzusetzen.
PowerShellGet erfordert die NuGet-Anbieterversion 2.8.5.201 oder höher für die Interaktion mit NuGet-basierten
Repositorys. Der NuGet-Anbieter muss in "C:\Program Files\PackageManagement\ProviderAssemblies" oder
"C:\Users\administrator\AppData\Local\PackageManagement\ProviderAssemblies" verfügbar sein. Sie können den
NuGet-Anbieter auch durch Ausführen von 'Install-PackageProvider -Name NuGet -MinimumVersion 2.8.5.201 -Force'
installieren. Möchten Sie den NuGet-Anbieter jetzt durch PowerShellGet installieren und importieren lassen?
[J] Ja  [N] Nein  [H] Anhalten  [?] Hilfe (Standard ist "J"):

Schlägt die Installation fehl, könnte dieser Artikel den Fehler beheben:

Die nächste Abfrage bestätigen…

Nicht vertrauenswürdiges Repository
Sie installieren die Module aus einem nicht vertrauenswürdigen Repository. Wenn Sie diesem Repos
 Sie dessen InstallationPolicy-Wert, indem Sie das Set-PSRepository-Cmdlet ausführen. Möchten Si
'PSGallery' wirklich installieren?
[J] Ja  [A] Ja, alle  [N] Nein  [K] Nein, keine  [H] Anhalten  [?] Hilfe (Standard ist "N"):

Bei mir ist das Modul in einer älteren Version schon installiert:

WARNUNG: Version 1.0.0.1 des Moduls "PowerShellGet" ist bereits auf "C:\Program
Files\WindowsPowerShell\Modules\PowerShellGet\1.0.0.1" installiert. Um Version 2.2.5 zu installieren, führen Sie
Install-Module aus und fügen den -Force-Parameter hinzu. Durch diesen Befehl werden Version 2.2.5 und Version 1.0.0.1
parallel installiert.

Also machen wir weiter und installieren im zweiten Schritt das ExchangeOnlineManagement-Modul:

Install-Module -Name ExchangeOnlineManagement

Die Abfrage (siehe oben) wieder bestätigen und das Modul ist installiert.

Es hat sich bewährt die PowerShell im Anschluss zu schließen und neu zu öffnen, damit die neuen Module auch mit eingebunden werden.

In der neu geöffneten PowerShell lässt sich nun das ExchangeOnlineManagement aufrufen

Connect-ExchangeOnline

Es werden hier noch die alten und neuen Befehle gegenübergestellt.

Außerdem öffnet sich die Microsoft 365 Anmeldemaske, welche auch MFA unterstützt: