What is Server Core?
It is a Server without a Graphical User Interface (GUI), so we are only using services that can run withouth a GUI and we manage the Core Server through a set of Remote Administration Tools. Like Sconfig, PowerShell, Command-line or With Server Manager from a Remote Server.
This kind of Server have been used since day one, and we have often found Virtualization hosts to be Core Servers. Like Hyper-V and XenServer. Microsoft introduced us to Server Core with Windows Server 2008.
Why would you use Server Core?
Reliability and Security by limiting alot of features that causes Servers to crash or represent a risk for intruders, but not harmfull intruders. Preventing less crashes, less updates, less reboots, less resource-intensive and less risks for intruders or dataloss.
But we can Add and Remove GUI?
The GUI can be installed and removed because it is a WindowsFeature. This lets us setup a Server With GUI and later remove the GUI, but keep in mind some services needs the GUI and wouldn’t work without. So using this PS command we install a Limited GUI:
Install-WindowsFeature -IncludeAllSubFeature User-Interfaces-Infra -Source C:\mount
The Source should be the mounted ISO image, or we can download neccessary Source files from Windows Update if we have Internet Connection, or from an installation DVD unless the Server is a Virtual Machine.
For a full graphical user experience, we can install the Server Graphical Shell that includes IE and File Explorer among other user Interface Components.
Install-WindowsFeature -IncludeAllSubFeature Server-Gui-Shell -Source C:\mount
Remember to restart the Server in order to have the changes appear, and uninstallation ca be done With these PS commands:
Uninstall-WindowsFeature -IncludeAllSubFeature User-Interfaces-Infra -Source C:\mount
Uninstall-WindowsFeature -IncludeAllSubFeature Server-Gui-Shell -Source C:\mount