HowTo: Installation von Exchange 2019 auf Server 2019 Core

Nachdem ich hier schon die Installation von Exchange 2019 auf Server 2019 mit grafischer Oberfläche beschrieben hatte, folgt nun auch die empfohlene Installation auf Windows Server 2019 Core. Die Installation von Exchange 2019 auf Server Core ist schneller erledigt, als auf einem Server mit grafischer Oberfläche, ist Exchange erst einmal installierst, muss man sich so gut wie gar nicht umgewöhnen. Die Exchange Management Shell steht auch auf einem Server Core zur Verfügung. Das Exchange Admin Center kann von einem beliebigen Rechner aufgerufen werden. Wer Exchange auf Server Core installiert und trotzdem nicht auf eine GUI verzichten will, sollte sich das Windows Admin Center anschauen.

Umgebung

Die Umgebung ist wieder denkbar einfach. Es gibt nur einen Domain Controller und eine VM mit Windows Server 2019 Core:

HowTo: Installation von Exchange 2019 auf Server 2019 Core

Beide Server wurden als VMs installiert. Die Konfiguration von LABEX2 (Windows Server 2019 Core) ist im folgenden beschrieben.

Vorbereitung Server 2019 Core

Server 2019 Core verfügt über keine GUI und auch die meisten Tools zur Verwaltung (MMC, Servermanager, Explorer, etc) sind nicht enthalten. Kurz um: Nahezu alles was mit der Maus bedient wird, fehlt. Es gibt aber für die grundlegenden Einstellungen wie Hostname, Netzwerk und Updates ein kleines textbasiertes Tool mit dem Namen “sconfig”. Anstatt der GUI also ein TUI (Text User Interface Smile):

HowTo: Installation von Exchange 2019 auf Server 2019 Core

Ich finde es etwas altbacken, dass auch Server 2019 Core nach der Anmeldung erst einmal die alte CMD startet und nicht direkt in die PowerShell wechselt. Sconfig erfüllt aber seinen Zweck: Computername, RDP, Windows Updates, Netzwerk, Domain usw lässt sich in wenigen Schritten konfigurieren:

HowTo: Installation von Exchange 2019 auf Server 2019 Core

Ich habe an dieser Stelle nur die Einstellungen vorgenommen:

  • Computername
  • Beitritt zum Active Directory
  • Remote Desktop aktiviert
  • statische IP vergeben
  • Windows Updates
  • Telemetrie… (kein Kommentar…)

HowTo: Installation von Exchange 2019 auf Server 2019 Core

All diese Einstellungen lassen sich natürlich auch via PowerShell vornehmen und dadurch automatisieren.

Nachdem die grundlegenden Einstellungen vorgenommen wurden, müssen ein paar Voraussetzungen geschaffen werden.

Exchange Voraussetzungen installieren

Wie jede andere Exchange Version auch, benötigt auch Exchange 2019 auf Server Core ein paar Voraussetzungen. Die lassen sich am schnellsten via PowerShell installieren. Dazu kann direkt aus der CMD die PowerShell ausgerufen werden:

HowTo: Installation von Exchange 2019 auf Server 2019 Core

Damit später die UCMA installiert und ggf. das ActiveDirectory Schema manuell aktualisiert werden kann, sind zunächst nur zwei Windows Features erforderlich. Diese können mit dem folgenden Befehl installiert werden:

Install-WindowsFeature Server-Media-Foundation, RSAT-ADDS

image

Eine weitere Exchange Voraussetzung ist Visual C++ 2013 Runtime. Wer diese bisher direkt per Browser auf dem Server runtergeladen und installiert hat, muss nun auf den Browser verzichten. Aber auch per Powershell lässt sich schnell ein Verzeichnis für den Download anlegen und die Datei runterladen, dazu kann beispielweise das folgende kleine Script verwendet werden:

New-Item c:\install -Type directory
$webClient = New-Object –TypeName System.Net.WebClient
$webClient.DownloadFile('https://download.microsoft.com/download/2/E/6/2E61CFA4-993B-4DD4-91DA-3737CD5CD6E3/vcredist_x64.exe','c:\Install\vcredist_x64.exe')
Get-ChildItem C:\install\vcredist_x64.exe
C:\install\vcredist_x64.exe

HowTo: Installation von Exchange 2019 auf Server 2019 Core

Das Script dient nur als Beispiel, auch hier lässt sich die Installation wunderbar automatisieren.

Als Nächstes muss die UCMA 4.0 installiert werden. Bei der Exchange Installation auf Server Core, sollte hier unbedingt die UCMA 4 installiert werden, welche mit dem Exchange ISO mitgeliefert wird. Da ich in meiner Umgebung das ISO direkt als virtuelles Laufwerk der VM gemountet habe, kann ich direkt zu dem Laufwerk wechseln und UCMA installieren:

d:
cd .\UCMARedist\
.\Setup.exe

Hinweis: Wenn das Exchange ISO auf den Server kopiert wurde, lässt sich das ISO auf auf dem Server mounten. Das Mounten von ISO erfolgt mit folgendem Befehl:

Mount-DiskImage c:\Install\ExchangeServer2019-x64_RTM.iso

HowTo: Installation von Exchange 2019 auf Server 2019 Core

Das waren auch schon alle Voraussetzungen für die Exchange Installation. Der Rest der erforderlichen Windows Features kann direkt mit dem Exchange Setup installiert werden, dies funktioniert mittlerweile absolut stabil.

An dieser Stelle sollte der Server noch einmal neu gestartet werden, bevor dann mit dem Exchange Setup begonnen wird.

Exchange 2019 installieren

Nach dem Neustart kann Exchange installiert werden, für diese Testumgebung habe ich den folgenden Befehl verwendet:

.\Setup.exe /m:install /roles:mb /IAcceptExchangeServerLicenseTerms /InstallWindowsComponents /OrganizationName:FrankysWebLab

Hinweis: Wenn das ISO auf dem Server gemountet wurde, dann muss es auch nach dem Neustart des Servers noch einmal erneut gemountet werden.

HowTo: Installation von Exchange 2019 auf Server 2019 Core

Der Parameter /OrganizationName ist optional und legt nur den Exchange Organisationsnamen fest, wird der Parameter weggelassen, heißt die erste Exchange Organisation “First Exchange Organisation”. Der Parameter sollte nur bei neuen Exchange Installationen angegeben werden in denen es keine früheren Versionen von Exchange Server gibt.

Es gibt noch einige weitere Paramater die direkt beim Setup übergeben werden können. Es lässt sich beispielsweise das Installationsverzeichnis oder Name und Pfad der Datenbank angeben. Eine Liste der Parameter kann mit dem folgenden Befehl ausgegeben werden:

.\Setup.exe /help:Install

HowTo: Installation von Exchange 2019 auf Server 2019 Core

Nachdem Exchange installiert wurde, lässt sich mittels EMS die Basiskonfiguration durchführen. Die Exchange Management Shell lässt sich mit dem folgenden Befehl starten (aus CMD sowie PowerShell):

HowTo: Installation von Exchange 2019 auf Server 2019 Core

Das Exchange Admin Center lässt sich von einen anderen Rechner unter folgenden Link aufrufen:

  • https://ExchangeServerIP/ecp

HowTo: Installation von Exchange 2019 auf Server 2019 Core

21 thoughts on “HowTo: Installation von Exchange 2019 auf Server 2019 Core”

  1. Zwar etwas spät, aber besser als nie.

    .Net-Installationen auf einem Server Core brechen so gut wie immer ab oder produzieren Fehlermeldungen.
    Warum? Weil der Installer gern eine UI hätte, die ein Core nicht hat. Soweit alles richtig erkannt.

    Bevor man jedoch anfängt einen nicht unterstützten Weg einzuschlagen, einfach mal den Installer gescheit starten ;-)

    c:\temp\ndp48-x86-x64-allos-enu.exe /q

    Der wichtige Teil ist „/q“ für quite mode. Es gibt gar kein Fenster, nichtmal eine Rückmeldung ob es erfolgreich war. Im Taskmgr sieht man jedoch den Installer laufen. Mit ein bisschen Powershell lässt sich danach auch die Version abfragen (ein vorheriger reboot ist nicht verkehrt):

    PS C:\> gci ‚HKLM:\SOFTWARE\Microsoft\NET Framework Setup\NDP‘ -recurse | gp -name Version -EA 0 | where { $_.PSChildName -match ‚^(?!S)\p{L}‘} | select PSChildName, Version

    Reply
  2. Das Exchange-2019-Setup benötigt seit CU4 auf einem Core-Server das .NET Framework 4.8. Der übliche (Offline-)Installer von Net4.8 bricht jedoch, vermutlich mangels GUI, die Installation ab. Da ich anderen Frankysweb-Lesern die Zeit für Fehlversuche sparen möchte: die Lösung ist das MSU-Paket aus dem Microsoft-Catalog.
    Ich habe außerdem Franks Script ein wenig verwurstet:
    ######
    $dest = „C:\install\“ #Zielpfad festlegen

    New-Item $dest -Type Directory

    Install-WindowsFeature Server-Media-Foundation, RSAT-ADDS

    $urls = @(
    ‚https://download.microsoft.com/download/2/E/6/2E61CFA4-993B-4DD4-91DA-3737CD5CD6E3/vcredist_x64.exe‘ #Visual C++ Redistributable Packages für Visual Studio 2013
    ‚http://download.windowsupdate.com/d/msdownload/update/software/ftpk/2020/01/windows10.0-kb4486153-x64_43ee33b302bfdba470542a128a9ee0b58faa5412.msu‘ #Microsoft .NET Framework 4.8 for Windows 10 Version 1809 and Windows Server 2019 for x64 (KB4486153)
    ‚https://download.microsoft.com/download/D/F/F/DFFB3570-3264-4E01-BB9B-0EFDA4F9354F/UcmaRuntimeSetup.exe‘ #Unified Communications Managed API 4.0 Runtime
    )

    ipmo BitsTransfer #importiere BITS-Transfer-Modul
    foreach ($url in $urls) {
    Start-BitsTransfer -Priority High -Source $url -Destination ‚C:\install‘ #starte Download

    $i = $dest+(Split-Path $url -Leaf) #starte Setup
    Write-Host Starte: $i… -ForegroundColor cyan
    Start-Process -FilePath $i
    }
    ######

    Reply
  3. Hi …
    müssen Suchdienste separat installiert werden ? Habe EX2019 auf einem Core-Server installiert, bei

    Get-MailboxDatabaseCopyStatus | ft Name,contentindexstate

    bekomme ich als Ausgabe ein NotApplicable ?
    Volltextsuchen im OWA enden ohne Ergebniss.

    Reply
  4. Fehlerbehung zum Probelm (Exchange 2019 unter Windows Server 2016):

    Problem:
    Der folgende Fehler wurde generiert, als „$error.Clear();
    if (Get-Service MpsSvc* | ?{$_.Name -eq ‚MpsSvc‘})
    {
    Set-Service MpsSvc -StartupType Automatic
    Start-SetupService -ServiceName MpsSvc
    }
    “ ausgeführt wurde: „Microsoft.PowerShell.Commands.ServiceCommandException: Der Dienst „Windows Defender Firewall (MpsSvc)“ kann aufgrund des folgenden Fehlers nicht konfiguriert werden: Zugriff verweigert —> System.ComponentModel.Win32Exception: Zugriff verweigert
    — Ende der internen Ausnahmestapelüberwachung —„.

    Lösung:

    1. Use Regedit to rename key \HKLM\System\CurrentControlSet\Services\mpssvc\Security to Security.old
    2. Restart
    3. Run Exchange installation
    4. Restart
    5. Use Regedit to rename key \HKLM\System\CurrentControlSet\Services\mpssvc\Security.old back to Security
    6. Restart

    Reply
    • HAallo Peter,

      ich stehe aktuell vor dem gleichen Problem, und hatte auch bereits die Reg-Keys manipuliert, allerdings ohne Erfolg.
      Wärst du so nett und würdest mir sagen welchen key du mit welchem user/recht versehen hast ?

      Viele Grüße und schöne Feiertage
      Martin

      Reply
    • Hallo,
      ich stehe aktuell vor demselben Problem und würde auch gerne erfahren, was genau Du umgestellt hast.
      Danke!
      Viele Grüße
      Marc

      Reply
  5. Hallo,

    Ich versuche momentan verzweifelt einen Exchange 2016 CU11 auf einen Windows 2019 Std. Server zu installieren. Habe schon zig Installationen hinter mir, aber zum ersten Mal auf einen 2019er Server. Beim „Installationspunkt“ bekomme ich folgende Fehlermeldung:

    Fehler:
    Der folgende Fehler wurde generiert, als „$error.Clear();
    if (Get-Service MpsSvc* | ?{$_.Name -eq ‚MpsSvc‘})
    {
    Set-Service MpsSvc -StartupType Automatic
    Start-SetupService -ServiceName MpsSvc
    }
    “ ausgeführt wurde: „Microsoft.PowerShell.Commands.ServiceCommandException: Der Dienst „Windows Defender Firewall (MpsSvc)“ kann aufgrund des folgenden Fehlers nicht konfiguriert werden: Zugriff verweigert —> System.ComponentModel.Win32Exception: Zugriff verweigert
    — Ende der internen Ausnahmestapelüberwachung —„.

    Kann mir hier jemand weiterhelfen? Weiss nicht mehr weiter…

    Reply
  6. Was muss ich ändern, wenn launchEMS diesen Fehler liefert? Eine gute Lösung per Internetrecherche habe bis jetzt nicht gefunden.
    C:\Program Files\Microsoft\Exchange Server\V15\bin\RemoteExchange.ps1 : Cannot dot-source this command because it was
    defined in a different language mode. To invoke this command without importing its contents, omit the ‚.‘ operator.
    At line:1 char:1
    + . „C:\Program Files\Microsoft\Exchange Server\V15\bin\RemoteExchange. …
    + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo : InvalidOperation: (:) [RemoteExchange.ps1], NotSupportedException
    + FullyQualifiedErrorId : DotSourceNotSupported,RemoteExchange.ps1

    Reply
  7. Sehr übersichtliche Darstellung, vielen Dank! Bei den Voraussetzungen wird auch der Domänen-Funktionslevel geprüft. Den musste ich auf meinem Testsystem von Windows Server 2008 R2 auf (mindestens) Windows Server 2012 R2 heben, sonst wäre es nicht weitergegangen.

    Reply
  8. Danke vielmals für deine tollen und sehr ausführlichen Anleitungen. Meine Migration auf den Exchange 2019 mit Core Server hat sehr gut funktioniert! Davor auch von 2013 auf 2016.

    Reply
  9. Hi, hab mal eine kurze Frage und zwar was ist bei Exchange 2019 eigentlich die Obergrenze für die Postfachdatenbankgröße?

    Reply
  10. Vielen Dank für die sehr gute Anleitung! Es stellt sich mir die Frage, ob sich ein Wechsel von WinServer/Exch 2016 auf 2019 alleine wegen der Möglichkeit der Core-Installation lohnt?!?

    Reply

Leave a Comment