Blog durchsuchen

Samstag, 30. April 2016

Migration von O365 Mailboxen nach Exchange OnPremise



Eine Migration von Microsoft Exchange 2013, nach Office 365 ist in der Regel, bei korrekt konfigurierter Hybrid-Umgebung, kein Problem.

Man braucht dazu lediglich das Postfach im Exchange Admin Center mittels einem Migrationsbatch nach O365 verschieben.


Möchte man hingegen von Office 365 nach OnPremise verschieben (also offboarding) kann sich das Ganze schon etwas schwieriger gestalten.

Sofern der User schon einmal OnPremise war und dann nach O365 verschoben wurde ist es noch ohne Probleme möglich. Falls die Mailbox jedoch nur in O365 angelegt wurde, gibt es allerdings einige Hürden zu meistern.

 

Zunächst einmal muss dazu überprüft werden ob im lokalen ActiveDirectory die Mailbox als "Mail-User" aufscheint.

Dies kann im Exchange Admin Center leicht überprüft werden. Einfach suchen ob das Postfach unter Contacts aufscheint:

 
 
Sollte das nicht der Fall sein, kann mittels dem Cmdlet

Enable-MailUser -ExternalEmailaddress name@domain.xyz

das benötigte Userobjekt hergestellt werden.
 
Danach ist es noch erforderlich das Benutzerobjekt im AD von "Mail-User" noch manuell umzuändern auf den Typ RemoteMailbox
Wir müssen dazu den Wert für das AD-Attribut msExchRecipientTypeDetails von 128 auf 4 ändern:
 
Auch die Werte für msExchRecipientDisplayType und msExchRecipientTypeDetails sollten angepasst werden.
 
 

Am einfachsten lässt sich das Ganze mittels 3 Powershell-Befehlen erledigen:
Set-ADUser Username –Replace @{msExchRecipientDisplayType = “-2147483642”}
Set-ADUser Username –Replace @{msExchRecipientTypeDetails = “2147483648”}
Set-ADUser Username –Replace @{msExchRemoteRecipientType = “4”}
 

Damit die nun erzeugte Remote-Mailbox jetzt auch noch die Verbindung zu seinem Pendant im O365 hat, muß man noch die ExchangeGUID dafür setzen:
Zuerst muß man die GUID herausfinden. Dazu muß man sich mittels (normaler) Powershell (nicht die Exchange Management Shell) zur Exchange Online Powershell verbinden.
Mittels dem Befehl:

Get-Mailbox <alias of mailbox to move> | Format-List ExchangeGUID
bekommt man die ExchangeGUID.

Diese dann kopieren und in der lokalen Exchange Management Shell den Befehl 

Set-RemoteMailbox <MailboxName> -ExchangeGUID <GUID>

absetzen.
 
Danach kann ein normaler Moverequest von Exchange Online nach OnPremise gestartet werden.

Ausführlichere Informationen kann man auch hier finden:

 


Mittwoch, 6. April 2016

SMTP-Empfang/Versand per Telnet überprüfen


Wenn es zu Empfangsproblemen auf einem Exchange-Server kommt oder auch an bestimmte Server nicht geschickt werden kann, sollte eines der ersten Dinge die überprüft werden sein, ob der Empfänger-Server überhaupt entsprechend antwortet.

 

Was wir dazu benötigen:

  1. Telnet-Client
  2. Absender u. Empfängeradresse
  3. FQDN der zu überprüfenden SMTP-Server
    mittels nslookup kann dies ganz einfach herausgefunden werden:
    zb:

C:\>nslookup
Standardserver:  vieintdc002.internal.network
Address:  10.184.50.2
> set type=mx
> macho.solutions
Server:  vieintdc002.internal.network
Address:  10.184.50.2
Nicht autorisierende Antwort:
macho.solutions MX preference = 10, mail exchanger = macho-solutions.mail.protection.outlook.com

Wie in der Rückantwort ersichtlich ist der Empfänger-Server:
         
macho-solutions.mail.protection.outlook.com

 


Folgende Commands kann man absetzen:
Die Gelb-Markierten Passagen sind die erforderlichen Eingaben die man machen muß. Entsprechende Adressen u. Domänen muß man entsprechend anpassen.
 
Telnet FQDN.Zielserver.com 25

Dadurch wird die Verbindung mit dem Zielsystem über den Standard-SMTP-Port 25 hergestellt.

220 AM1FFO11FD029.mail.protection.outlook.com Microsoft ESMTP MAIL Service ready
 at Wed, 11 May 2016 14:22:37 +0000
EHLO AbsenderDomain.com
250-AM1FFO11FD029.mail.protection.outlook.com Hello [xxx.xxx.xxx.xxx]
250-SIZE 157286400
250-PIPELINING
250-DSN
250-ENHANCEDSTATUSCODES
250-STARTTLS
250-8BITMIME
250-BINARYMIME
250 CHUNKING
MAIL FROM:absenderadresse@domain.com
250 2.1.0 Sender OK
RCPT TO:Empfängeradresse@zieldomain.com
250 2.1.5 Recipient OK
DATA
354 Start mail input; end with <CRLF>.<CRLF>
Subject: Testmail


Das ist ein Testmail von Telnet

.

250 2.6.0 <5c2fa5c5-18c0-4640-81c5-ce69364d1c85@AM1FFO11FD029.protection.gbl> [InternalId=40072044877570, Hostname=DB5PR06MB1317.eurprd06.prod.outlook.com] 6235 bytes in 1:00.559, 0.101 KB/sec Queued mail for delivery

quit

221 2.0.0 Service closing transmission channel


Connection to host lost.



Wir überprüfen ob das Mail angekommen ist und siehe da: Das Testmail ist im Posteingang:


Selbstverständlich ist dies auch eine gute Methode um seinen eigenen Exchange-Server zu überprüfen. Man sollte hier jedoch auch beachten, dass - abhängig von der Messaging Infrastruktur - natürlich noch andere Komponenten wie Spamfilter, Firewall etc.. in das Troubleshooting miteinbezogen werden sollten.