What is Server Core? Server Core is not a separate product or edition of Windows Server 2012, it is simply a minimal-installation option available to network administrators that maximizes the resources available to server services, or roles, by minimizing or eliminating the resources allocated to non-essential Chrome and the user interface. This frees up valuable and expensive processing power, RAM and storage for essential applications.
While UNIX and Linux system administrators might be used to managing servers from the command line, Windows server administrators, by contrast, have probably spent a majority of their professional career managing servers from the GUI. Windows server installations have traditionally been managed from the GUI because of the limited ability of PowerShell and Microsoft Management Console (MMC) to manage the server from the command line or remotely from a workstation.
Windows Server has long been manageable remotely, but the ability of the PowerShell 2.0 command line utilities were piecemeal and limited. However, with the advent of Windows Server 2012, Microsoft has increased the number of available cmdlets from 240 in PowerShell 2.0 to more then 2,430 in PowerShell 3.0.
Server Core mode was also available in previous versions of Windows Server 2012. However, because of the limited ability of PowerShell 2.0 to manage the server from the command line, and also because if the Server Core option was chosen during installation of Windows Server 2008 or 2008R2, then that decision was final and irrevocable. Once an administrator configured a server to user Server Core, then there was no way to get back to the GUI interface without completely reinstalling the operating system. Knowing the inconsistent way in which Microsoft partitions the administrative roles between GUI and PowerShell, and the varying undocumented effects of trying to perform the same management task from the command line and the GUI are a constant aggravation of Server 2008 Rx installations. I can imagine that quite a few administrators thought the resources gained from running the the Server Core option did not compensate for the loss in functionality gained from including the GUI .
In Windows Server 2012 however, an Administrator can switch a server from the Server Core to a full GUI Server and back again using Windows PowerShell 3.0. This means Administrators can install and configure Windows Server 2012 with a GUI, and then turn off the GUI after configuration to maximize resources, and then back again as needed at any time without having to reinstall the operating system
While it is possible to switch to Server Core from the GUI, it is simpler from switch from the command line, and also obviously switching from the Server Core option back to the GUI has to be done from the command line. Therefore, I prefer to just switch to and from the Server Core option from the command line.
To switch to the server Core option from the PowerShell command line run the following command at the PowerShell 3.0 command prompt as an administrator.
Uninstall-WindowsFeature Server-Gui-Mgmt-Infra,Server-Gui-Shell -Restart
To optionally delete the feature binaries from the side-by-side store, located at %SystemDrive%:WindowsWinSxS to additionally save the storage space that these feature take up as well, run the same command with the -Remove option.
Uninstall-WindowsFeature Server-Gui-Mgmt-Infra,Server-Gui-Shell -Remove.