In this blog post we investigate the current state of Server Core in Windows Server 2012, the next-generation of Windows Server that was formerly known as Windows Server 8.

Update: Also read our new comprehensive Windows Server 2012 Server Core series by Microsoft MVP Sander Berkouwer.

By their own admission, Microsoft didn’t have much success with their initial rollout of Server Core in Windows Server 2008. The two chief complaints administrators had concerning Server Core centered upon the following issues:

  • Server Core was a permanent installation option
  • Server Core relied upon arcane shell commands, Windows PowerShell, or Windows Remote Management to carry out administrative tasks

In Windows Server 2012 (formerly called Windows Server 8), Microsoft has made significant tweaks to the Server Core installation mode. In this blog post we examine the major enhancements that make Server Core more powerful and easy-to-use than ever before.

Server Core is the default installation option ^

Microsoft is justifiably very proud of its implementation of Server Core in Windows Server 2012. This is made manifest by the Server Core installation option representing the default installation mode, as you can see in the following screen shot:

Windows Server 2012 Server Core - Choosing an initial installation type

Choosing an initial installation type

At first glance, the Server Core environment looks identical to how it does in Windows Server 2008 R2. For instance, we have the familiar sconfig Server Configuration utility; this is shown in the following figure.

Sconfig in Windows Server 2012 Server Core

Sconfig in Windows Server 2012 Server Core

We can now install almost all server roles and features in Server Core; check out the following list:

  • Active Directory Certificate Services (AD CS)
  • Active Directory Domain Services (AD DS)
  • Active Directory Lightweight Directory Services (AD LDS)
  • Active Directory Rights Management Server (AD RMS)
  • DHCP Server
  • DNS Server
  • File and Storage Services
  • Hyper-V
  • Print and Document Services
  • Remote Desktop Services (RDS)
    • Remote Desktop Connection Broker
    • Remote Desktop Licensing
    • Remote Desktop Virtualization Host
  • Routing and Remote Access Server (RRAS)
  • Web Server
  • Windows Server Update Server (WSUS)

Windows PowerShell support has been greatly expanded in Windows Server 2012. We now have over 2,300 cmdlets to control just about every aspect of hardware and software configuration.

Another surprising new feature is that Windows Server 2012 Server Core supports the installation of SQL Server 2012. This means that we can host IIS-based ASP.NET data-driven applications in Server Core.

Fast switching between Server Core and server with a GUI modes ^

Perhaps the most talked-about new feature of Windows Server 2012 Server Core is the fact that the two installation modes are no longer mutually exclusive. Instead, we can issue a simple Windows PowerShell cmdlet to switch dynamically between the Server Core and Server with a GUI modes.

Why would we want to do this? For one thing, some Windows administrators are still early in their learning curves with Windows PowerShell. These admins will find it useful to install and configure a server in GUI mode, and then afterward switch to Server Core to increase the security of the system.

To switch a Windows Server 2012 computer from Server Core to Server with a GUI mode, issue the following PowerShell statement from an elevated command prompt:

Install-WindowsFeature Server-Gui-Mgmt-Infra,Server-Gui-Shell –Restart

To return a Server with a GUI installation back to Server Core mode, issue the following PowerShell statement:

Uninstall-WindowsFeature Server-Gui-Mgmt-Infra -Restart

The interface transition process takes approximately 10 minutes depending upon your system setup, and requires a single reboot.

NOTE: You may be required to specify the installation file source when you issue the Windows PowerShell Cmdlets. For step-by-step instructions, see the Microsoft TechNet article “Windows Server Installation Options.”

Configuring the Minimal Server Interface ^

As we stated earlier on in this article, the learning curve inherent with Windows PowerShell dissuades some administrators from implementing Server Core in their environments. As a way to address this objection, Windows Server 2012 includes an “in-between” environment called the Minimal Server Interface, also called MinShell.

NOTE: Be sure not to confuse MinShell with MinWin. MinWin is the name of the Windows kernel that is shared among current Windows versions and dates back to the original New Technology (NT) OS kernel.

The Minimal Server Interface gives the administrator access to Server Manager, a subset of Control Panel, Microsoft Management Console (MMC), and the PowerShell command prompt. Therefore, we lose the following tools in the MinShell environment:

  • Windows Explorer
  • Internet Explorer
  • Metro Start Screen

Besides serving as a compromise for Windows PowerShell beginners, the MinShell also increases the security of your Windows Server 2012 systems by reducing the attack surface. Think of it: a malicious individual cannot exploit OS features that aren’t present to begin with.

To configure a Windows Server 2012 computer for MinShell, we use PowerShell or the Server Manager to remove all roles and features except the Graphical Management Tools and Infrastructure feature. The Server Manager Remove Roles and Features Wizard is shown in the following screenshot:

Configuring the MinShell

Configuring the MinShell

After a reboot, we can experience a nifty hybrid environment that serves as a compromise between top-shelf system security and an user-friendly UI.

Minimal Server Interface, AKA MinShell

Minimal Server Interface, AKA MinShell

Understanding features on demand ^

According to Microsoft, one of the selling points of Server Core is its minimal disk footprint. I have always found this statement a bit bizarre given the cheap cost of disk storage nowadays. In any event, some administrators (particular those who virtualize their servers) may indeed want the smallest OS footprint possible.

To that end, we have Features on Demand in Windows Server 2012. What we have here is the ability to remove the actual binaries for unused server roles and features. The idea is not only to reclaim some hard disk space, but also to reduce the attack surface of your Server Core systems yet further.

To use Features on Demand we use the –remove parameter of the Uninstall-WindowsFeature PowerShell cmdlet. The following screenshot demonstrates how I removed all traces of the Remote Assistance feature from my Server Core system. The graphic is annotated for your convenience:

  • A: This is the Windows PowerShell cmdlet that removes a given server role or feature
  • B: The Dism command is useful to list the installation state of server roles and features
  • C: Server roles and features have three states in Windows Server 2012:
    • Enabled: Installed and active
    • Disabled: Not installed but present in the file system
    • Disabled with Payload Removed: Not installed and binaries stripped from the file system

Features on demand

Features on demand

Next steps ^

I hope that you now have a clear understanding of how Server Core works in Windows Server 2012. If you haven’t already done so, please download the Windows Server 8 Beta software and give it a try on a physical or virtual machine. Also, any time you spend studying Windows PowerShell 2.0 is time well expended because a mastery of Windows PowerShell is now a required skill of any Windows server administrator.

Update: Also read our new comprehensive Windows Server 2012 Server Core series by Microsoft MVP Sander Berkouwer.

  1. Roger_CWB 10 years ago

    Thanks for your tutorials, help me a lot!

    Im saving the tutorials in PDF format to read later because is a lot of information, but keep coming.

    If you have time, please make some comments about windows 8 in a office environment, I did a install in my network office and saw that release candidate installed a lot of distractions to user, I hope that in final version there is some way to disable this programs.


    Curitiba – PR – Brasil

    ps.: sorry about the bad english

  2. Tim Warner 10 years ago

    Hi Roger! It sounds like you are asking for a tutorial on using Group Policy to streamline Windows 8 for domain users. Am I correct? Thanks, Tim

  3. Roger_CWB 10 years ago

    Hi Tim!

    Yes exactly it.

    With Windows 7 Im using Win Toolkit from Legolash to streamline Windows and remove the programs we dont use in a office enviroment, but I didnt see nothing similar for Windows 8 yet, maybe Legolash will update Win Toolkit to do the same for Windows 8, but until now, dont have nothing to do the same.

    I think, one solution is using sysprep after streamline a Windows 8 to install for all users, but I didnt try yet.


    Curitiba – PR – Brasil

  4. Alejandr0 9 years ago

    Excellent article! I tried out the fast switching and minshell until my Features tick boxes broke! They remained grayed out and could not be modified by GUI. I was stuck in full shell.

    Fortunately, your article gave me enough background to realize I could easily inventory, add, and remove features from Powershell!

    PS C:\> get-windowsfeature server-gui*
    PS C:\> remove-windowsfeature server-gui-shell

Leave a reply

Your email address will not be published.


© 4sysops 2006 - 2022


Please ask IT administration questions in the forums. Any other messages are welcome.


Log in with your credentials


Forgot your details?

Create Account