Windows Server Operational Modes

19 May 2015
When installing a modern Windows Server, you have the choice between two installation modes, core and some sort of GUI.
In fact there are four different levels of GUI tool support, in Server 2016 there will be five.
I call them operational modes and this page describes the differences between them.
Since Server 2012 you can switch between the modes, I recommend moving up or down one step only. Don't go from Core straight to Desktop'
As I see it, you will not be able to switch to and from Nano Server, because its deployment model is different from the other modes.
Update Oct-2016
It seems this model changes with Server 2016. You have to pick the mode at installation time (either Nano, Core or Desktop) and can not change the mode later.
Min-Shell and Full-Shell no longer exist. Not a good choice in my opinion.
The various modes
Nano
Introduced with Server 2016, no local console or RDP host to log into. All administration has to be done remotely.
Only a limited set of roles and features are supported. Work in progess, the supported features may changed before RTM.
Core
Introduced with Server 2008, sometimes described as gui-less, but does infact has the normal Windows GUI with certain components removed. This is the default option in 2012 R2 and 2016
Min-Shell
Introduced with Server 2012, known as "Mininal Server Interface" has support for Server Manager and all MMC based administration tools.
This option is not available at install time for 2008 to 2012 R2, on Server 2016 this is no longer available. To get to it from Server Core use:
Install-WindowsFeature Server-Gui-Mgmt-Infra -restart
To get there from a full-shell use:
Uninstall-WindowsFeature Server-Gui-Shell -restart
Full-Shell
What you get when using "Server with a GUI" on Server 2008-2012 R2, this is what most people still use. It has the desktop, File Explorer and Internet Explorer.

On Server 2016 this is no longer available
To add it from a Min-Shell run:
Install-WindowsFeature Server-Gui-Shell -restart
Desktop
The desktop experience role, adds additional features from the workstation version of Windows including the Windows Store and modern apps. This is the second installation option for Server 2016 from Server 2012 and 2012 R2 but not 2016
To add it from Full-Shell:
Install-WindowsFeature Desktop-Experience -restart
Support modes on Releases

ReleaseNanoCoreMin-ShellFull-ShellDesktop
2008**?
2008 R2***
2012****
2012 R2****
2016***
Supported Features

NanoCoreMin-ShellFull-ShellDesktop
Managebility
Console Access****
PowerShell Core*****
PowerShell Full*1***
.Net Core CLR*****
.Net Full****
RDP Host****
MMC with snapins***
Windows Desktop**
Windows Modern Apps*
Change between roles after installation2****
Server Features
Graphical Management Tools and Infrastructure***
Server Graphical Shell**
Desktop Experience*
Programs
cmd****
PowerShell*1***
cscript****
All Windows Command Line Tools****
Notepad****
Regedit****
Task Manager****
Time And Date Control Panel Item****
Regional Control Panel item****
Sound, Telephone, System Control panel items***
Any other control panels items**
Server Manager***
Wordpad***
Calculator***
Windows Server Backup***
Event Viewer***
Defrag Gui***
System Information***
System Configuration (msconfig.exe)***
File Explorer**
Control Panel**
MS Paint**
Internet Explorer**
Windows Media Player*
Snippet Tool*
Disk Cleanup*
Server Roles
Active Directory Domain Services****
Active Directory Lightweight Directory Services****
Active Directory Certificate Services****
DHCP Server****
DNS Server****
File Services*****
Hyper-V*****
Print Services****
Streaming Media Services****
Web Server (IIS)****
Active Directory Federation Services***
Active Directory Rights Management Services***
Application Server***
Fax Server***
Network Policy and Access Services***
Remote Services***
Remote Desktop Services***
Volume Activation Services***
Windows Deployment Services***
Windows Server Essentials Experience***
Windows Server Update Services***
Third Party Programs
Google Chrome****
Sysinternals Command Line Tools*3****
Sysinternals GUI tools****

1. PowerShell is not supported in Core on Server 2008, only 2008 R2 and newer support PowerShell on Server Core.
2. Changing between modes is only supported in Server 2012 and newer, not on 2008 Rx.
3. In summer 2016 sysinternals released real 64bit versions of their command line tools that work on Nano.

Here's a short PowerShell script to show which mode you are running in, copy the code into a ps1 file and run it.
Function Show-Mode([string]$file,[string]$mode)
{
    If (Test-Path $env:SystemRoot\system32\$file)
    {
        Write-Output "Windows Server Mode: $mode"
        Exit 0
    }       
}

Show-Mode -file "SnippingTool.exe" -mode "Desktop"
Show-Mode -file "mspaint.exe"      -mode "Full-Shell"
Show-Mode -file "mmc.exe"          -mode "Min-Shell"
Show-Mode -file "taskmgr.exe"      -mode "Server Core"
Show-Mode -file ""                 -mode "Nano Server"
Registry Entries
There is a key in Local Machine:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Server\ServerLevels
with 4 DWORD values:
ServerCore
ServerCoreExtended
Server-Gui-Mgmt
Server-Gui-Shell
I guess these levels correspond to what I call modes, if the value is 1, that level is supported. This doesn't cover desktop mode and I'm not sure what exactly ServerCoreExtended is?

Pages in this section

Categories

ASP.Net | Community | Development | IIS | IT Pro | Security | SQL (Server) | Tools | Web | Work on the road | Windows