Ever since Windows Server Core debuted in Windows Server 2008, its interchangeability with the graphical user interface (GUI) has changed with each version of Windows Server. When Core first appeared, one had a decision to make at install time: Core vs traditional (graphical). That decision was permanent. However, with Windows Server 2012, that decision was no longer permanent, and to go back and forth between Core and graphical, simply required a PowerShell command and a reboot. There were three practical configurations for this: 1. Core, 2. “MinShell”, 3. Graphical, with “MinShell” being a sort of middle ground with some graphical tools allowed. With Windows Server 2016, Microsoft did a “deep refactoring” of the OS and, the GUI relationship changed again. That’s when Nano Server appeared, which was the smallest version of Windows Server yet. However, Nano only supported a select few roles, and in 2019 Nano was relegated to containers only. Therefore, Core is still the primary Windows Server sans GUI. In 2016 the decision to use Core vs graphical – now called ‘Desktop Experience’ - was back to a permanent decision made at install time. With Windows Server 2019, one still makes that decision at install time. However, Windows Server Core 2019 can have some GUI, similar to “MinShell” in 2012. This is done by enabling “App Compatibility”, and will allow minimal GUI items like MMC and even manually running “explorer.exe”. Now 2019 is similar to 2012 in that adding/removing at least some GUI functionality just requires a PowerShell command and a reboot. Something that hasn’t changed is Microsoft wanting administrators to switch to Core wherever it makes sense.
In Windows Server 2019, “App Compatibility” is what is referred to as a Windows capability. It can be listed or modified using the following PowerShell commands. Note: Adding the capability requires Internet connectivity to Windows Update, or using Microsoft’s Features on Demand (FOD) disc with the ‘-Source’ option.
# Add capability
Add-Windowscapability -Online -Name Servercore.Appcompatibility~~~~0.0.1.0
# List capability state
Get-Windowscapability –Online -Name Servercore.Appcompat*
#Remove capability
Remove-Windowscapability –Online -Name Servercore.Appcompatibility~~~~0.0.1.0After the capability is changed, a reboot is required.
Less resource consumption. Without a GUI, less CPU, RAM, and disk space are used.
Reduced attack surface. Today’s security conscious administrators can appreciate this.
Reduced servicing. With less installed, there’s less to patch and maintain.
Core can be intimidating, especially for administrators weak in PowerShell.
Core will run almost all roles, but there are a few roles and features not supported like SMTP Server. Full list here:
https://docs.microsoft.com/en-us/windows-server/administration/server-core/server-core-removed-roles
May require administrators to rethink their tools and common practices.
The following can make administering Windows Server, and especially Core, easier for Administrators.
Use the command ‘sconfig’ (Server Configuration), a menu driven method of configuring your server.
“App Compatibility” can be added to allow MMC and limited GUI.
Leverage ServerManager. Manage multiple servers remotely using this GUI tool built into Windows Server and available on Windows clients.
Use MMC snap-ins to connect to remote Core servers.
Use Windows Admin Center (WAC). Manage multiple servers remotely using a web browser. Think of WAC as the modern, browser-based ServerManager. WAC was released in 2019, it’s free and is the way of future management for Windows servers.
Use PowerShell remoting.
Microsoft has been pushing Windows Server administrators to use Core since its debut, and will continue to recommend administrators use Core whenever possible. Now with the “App Compatibility” option in Windows Server 2019, the decision to run Core is easier to swallow. “App Compatibility” can be added and removed as needed.
Server Core App Compatibility Feature on Demand (FOD) https://docs.microsoft.com/en-us/windows-server/get-started-19/install-fod-19
Windows Server Blog – Server Core and Server with Desktop: Which one is best for you? https://cloudblogs.microsoft.com/windowsserver/2018/07/05/server-core-and-server-with-desktop-which-one-is-best-for-you
About PowerShell remoting https://docs.microsoft.com/en-us/powershell/module/microsoft.powershell.core/about/about_remote
Windows Admin Center https://aka.ms/WindowsAdminCenter
No posts

Comments
Nothing yet. Say the first thing.
Sign in to join the conversation.