WSHowTo – Windows Server 2019 Core FOD AppCompatibility

Worum geht es?
Windows Server 2019 hat wie seine Vorgänger auch die Installationsvariante „Server Core“. Diese bietet einige Vorteile gegenüber der Version mit „Desktop Experience“ – also der grafischen Oberfläche:
  • Es sind weniger Komponenten enthalten, die gehärtet werden müssen
  • Durch die geringere Anzahl an Bestandteilen ist wahrscheinlich die Angriffsfläche kleiner
  • Weniger Administratoren werden sich auf die Server Core mit RDP „verirren“ und somit auch weniger „Footprints“ für Hacker hinterlassen. (Mal ehrlich: jede Anmeldung hinterlässt per default ein Profil und Anmeldeinformationen im Cache!)

Das klingt nicht schlecht. Doch warum gibt es dann so wenige Server Core in den Infrastrukturen? Auch das ist einfach erklärt:

  • Im Falle eines TroubleShootings fehlen die gewohnten Tools auf dem Betriebssystem
  • Nicht alle Anwendungen unterstützen die Installation auf einem Server Core

Mit Windows Server 2012 konnte man noch die Verwaltungskomponenten auf einem Server Core installieren und somit zumindest das erste Problem etwas entschärfen. Doch leider hat Microsoft diese „Mini-Shell“-Variante mit Windows Server 2016 nicht fortgesetzt. Und so gilt: Einmal Windows Server 2016 Server Core – immer Windows Server 2016 Server Core!

Mit Windows Server 2019 wurde eine Neuerung eingeführt: Die „ServerCore-AppCompatibility“. Mit diesem Feature On Demand werden wieder einige zusätzliche Werkzeuge auf dem Server Core platziert. Zusätzlich arbeitet Microsoft immer weiter am Anwendungssupport. So unterstützen beispielsweise Exchange Server 2019 und SQL Server 2017+ die Installation ohne grafische Oberfläche.

Und so wird es Zeit, diese Installationsvariante erneut zu evaluieren!

Im Folgenden zeige ich, wie eine Installation mit Server Core um die Zusatzfunktion erweitert wird und wie daraus ein Basis-Image für eine Installation im Hyper-V bereitgestellt wird.

Installation eines Windows Server 2019 Server Core
In meinem Hyper-V-Host erstelle ich eine passende VM für die Installation:

WSHowTo – Windows Server 2019 Core FOD AppCompatibility

Das Setup ist seit Jahren vom Prozess her unverändert und stellt somit keine Herausforderung dar:

WSHowTo – Windows Server 2019 Core FOD AppCompatibility

WSHowTo – Windows Server 2019 Core FOD AppCompatibility

WSHowTo – Windows Server 2019 Core FOD AppCompatibility

Der Standard für die Bereitstellung ist bereits Server Core – auch wenn das so nicht explizit genannt wird:

WSHowTo – Windows Server 2019 Core FOD AppCompatibility

WSHowTo – Windows Server 2019 Core FOD AppCompatibility

WSHowTo – Windows Server 2019 Core FOD AppCompatibility

WSHowTo – Windows Server 2019 Core FOD AppCompatibility

WSHowTo – Windows Server 2019 Core FOD AppCompatibility

Bis hier wars nichts Neues. Nach der Bereitstellung und der Treibererkennung kommt hier das verknappte Out-Of-Box-Experience (OOBE) des Server Core ums Eck. Dabei kann mit dem Tabulator navigiert werden:

WSHowTo – Windows Server 2019 Core FOD AppCompatibility

Und dann ist die Anmeldung auch schon erledigt. Wie gewohnt präsentiert sich der Prompt der cmd – dem Fenster ohne Windows Explorer:

WSHowTo – Windows Server 2019 Core FOD AppCompatibility

Integration des Feature on Demand 'AppCompatibility'
Nun installiere ich die Erweiterung. Diese stellt Microsoft in einer etwa 350MB großen ISO-Datei zur Verfügung. Die lege ich in das virtuelle DVD-Laufwerk ein:

WSHowTo – Windows Server 2019 Core FOD AppCompatibility

Dort angekommen riskiere ich einen Blick über die cmd. Es befinden sich einige „Feature on Demand“ (FOD)-Ordner darauf:

WSHowTo – Windows Server 2019 Core FOD AppCompatibility

Die Integration wird mit DISM in das bereits laufende Betriebssystem gestartet. Damit wäre auch eine Offline-Erweiterung ohne Installation des Betriebssystems denkbar:

WSHowTo – Windows Server 2019 Core FOD AppCompatibility

Der Befehl ist etwas gewöhnungsbedürftig:

DISM /Online /Add-Capability /CapabilityName:ServerCore.Appcompatibility~~~~0.0.1.0 /Source:d: /LimitAccess

Die Installation benötigt einige Minuten:

WSHowTo – Windows Server 2019 Core FOD AppCompatibility

Und natürlich wird dieser tiefe Eingriff nicht ohne Neustart aktiv:

WSHowTo – Windows Server 2019 Core FOD AppCompatibility

Nach dem Neustart und der Anmeldung teste ich einige Tools, indem ich diese über die cmd direkt aufrufe. Die für mich stets wichtige Ereignisanzeige (eventvwr.msc) ist mit dabei. Ebenso zeigt sich der Gerätemanager (devmgmt). Zu meiner Überraschung hat Microsoft auch einen Windows Explorer integriert. Damit entfällt der übliche Umweg über den OpenDialog des Notepads.

WSHowTo – Windows Server 2019 Core FOD AppCompatibility

Sehr zu meiner Freude ist auch die PowerShell-ISE dabei! Damit lassen sich lokale Scripte bequem editieren und ausführen:

WSHowTo – Windows Server 2019 Core FOD AppCompatibility

Vorbereitung der Generalisierung
Natürlich gibt es wie in den Vorgängerversionen das bekannte Script sconfig. Mit diesem lassen sich wichtige, administrative Aufgaben steuern, wie z.B. das Suchen und Installieren von Windows Updates:

WSHowTo – Windows Server 2019 Core FOD AppCompatibility

Damit mein Basis-Image möglichst aktuell ist, installiere ich alle möglichen Updates. Eigentlich ist so etwas heute nicht mehr nötig, da die Updates üblicherweise kumulativ sind: Es muss also abgesehen von Servicing Stack Updates nur das aktuellste installiert werden. Aber schaden kann es auch nicht:

WSHowTo – Windows Server 2019 Core FOD AppCompatibility

WSHowTo – Windows Server 2019 Core FOD AppCompatibility

Nach dem Neustart und einer Anmeldung generalisiere ich nun den Server. Dabei werden alle individuellen Informationen entfernt und danach kann der Server vervielfältigt werden:

WSHowTo – Windows Server 2019 Core FOD AppCompatibility

Ein paar Minuten später ist der Server wie gewünscht heruntergefahren:

WSHowTo – Windows Server 2019 Core FOD AppCompatibility

Die VHDX-Datei enthält jetzt eine Betriebssystemversion mit dem aktuellen Patchlevel eines Windows Server 2019 Server Core, in dem auch die Erweiterung „AppCompatibility“ installiert ist. Die Datei kopiere ich in mein Repository. Dabei sieht man, dass die Bereitstellung i Modell Thin-Provision nahezu genauso viel Speicher belegt, wie ein Server mit Desktop Experience. Das war in den früheren Versionen noch deutlich anders:

WSHowTo – Windows Server 2019 Core FOD AppCompatibility

Testlauf der Bereitstellung
Für einen Test schalte ich die VM noch einmal ein. Dabei wird das „neue“ Betriebssystem eine Hardwareerkennung ausführen und die Ersteinrichtung (OOBE) vornehmen:

WSHowTo – Windows Server 2019 Core FOD AppCompatibility

WSHowTo – Windows Server 2019 Core FOD AppCompatibility

Nach dem Erstellen eines Adminpasswortes prüfe ich den Rechnernamen. Dieser wurde erwartungsgemäß neu vergeben:

WSHowTo – Windows Server 2019 Core FOD AppCompatibility

Die VM schalte ich aus und entferne sie aus meiner Hyper-V-Konfiguration. Mit dem neuen Basis-Image kann ich nun jederzeit weitere Server Core bereitstellen.

Fazit
Die Erweiterung des Server Core sieht vielversprechend aus. Ich freue mich auf meine ersten produktiven Bereitstellungen!

Stay tuned!

Hier könnt ihr euch das PDF zum Artikel herunterladen. Und weitere Informationen gibt es bei Microsoft: https://docs.microsoft.com/en-us/windows-server/get-started-19/install-fod-19

Kommentar hinterlassen