Monday, September 26, 2011

Windows Server 8 - GUI on GUI Off

Before I start I'd love to hear comments on this feature in Windows 8.  Do you all think it is a feature that will be widely adopted?

This entry is about a new feature in Windows Server 8.  The ability to turn on and turn off the graphical shell.

Prior to Windows 2008 there was no Windows OS that didn't feature a full GUI.  Linux folks would often criticize Windows admins for not being talented around the command line.  That was true to some extent but there are a lot of Windows admins/engineers who are comfortable around the command line but there were tasks that could only be done via the GUI or were much easier from the GUI.

In Windows 2008 a new feature was introduced called server core

The Server Core installation option is an option that you can use for installing Windows Server 2008  A Server Core installation provides a minimal environment for running specific server roles, which reduces the maintenance and management requirements and the attack surface for those server roles


Server core was intimidating to a lot of Windows admins not used to administrating or configuring servers from the command line.

Server core was also available in 2008 R2 and introduced a tool called sconfig which made configuration much easier.  Other features such as powershell were also added in 2008 R2.

There was no way to convert a server core to a full server if there was a feature that needed to be installed that core didn't support.  I'm not sure what the server core adoption rate was. I've seen people speculate 10-15% but have not seen official numbers from Microsoft.

There are a lot of beneifts to server core including greatly reducing the number of reboots and patches needed. MVP Brian McCann has an excellent blog entry on Server Core with stats.

“In some cases, customers can see up to a 60% reduction in patch requirements and the number of reboots on a monthly basis”  These are the numbers that back up statements such as that.
Server core is still an option in Windows Server 8.

However for those that still are not comfortable with core there is an option to remove the GUI from a full installation of Windows 8.

As Ned Pyle pointed out in the comments of this AskDS blog this feature is not quite server core.  Meaning using these steps doesn't turn your server into core but it does remove many of the GUI features.  You will no longer need to worry about admins surfing the internet from your servers.  This may end up being the preferred method for deploying Windows Server 8....time will tell.

I first noticed the Server Graphical Shell in the Features list in Windows Server 8.  I had not seen this feature in the past.


The feature can be removed by just clearing the check box in the roles and features wizard from server manager.





I've unchecked the box in order to remove the Graphical Shell.


After the server is rebooted and comes back up the GUI shell is gone.  Server manager is still available.  Things like the MetroUI are now gone.


For fun I tried to surf the net using Internet Explorer



Items like the MMC and snap-in can be added.  The server can also be manged remotely.




Suppose an admin later decides later that they want this feature back.  It is just as easy as removing except this time the box is checked to add the feature




After a reboot the GUI shell is back.


For those that prefer PowerShell this can also be done in a few lines via PowerShell

I import the server manager module and viewed the features (not required)

From there it is as simple as remove-windowsfeature server-gui-shell







Adding it is just as easy...you guessed it

add-windowsfeature Server-Gui-Shell

Again I'd like to hear comments on this feature.  Was it needed since we already have server core or is this a nice middle ground that will be widely adopted?

Thanks for reading.

5 comments:

  1. HI Mike, good question :)

    In my opinion this feature is not so good in production. For those who wants to use core server, they will install core. Even if you disable Server's GUI you still have no "core" installation (so, some vulnerability is still an issue :/) I think that mid-mode feature still will require more patching that core and I guess the same level as full GUI edition (hey, you still can enable GUI at each time! :) )

    But in test environment it's very interesting option :) Now, you don't need to install 2 separate servers (one Full GUI and one core) to start learning "core" features and command-line syntax. You may simply and fast switch between them (I know that this is not full core then but still limited GUI to lear server management from cmd)

    And a question. If I remove GUI, does system requirements will be lower for running OS or not?

    That's good that Microsoft tries to implement some new features but sometimes I wonder why ? :]

    Regards,
    Krzysztof

    ReplyDelete
  2. Good point, not sure if this will take off as most people may choose either full GUI or Core. It will be interesting to hear more from Microsoft about this feature.

    ReplyDelete
  3. how to get rid of windows 8 ui style interface
    http://abandndtombstone.blogspot.com/2011/10/get-rid-of-windows-8-metro-ui.html

    tweak metro ui
    http://abandndtombstone.blogspot.com/2011/10/metro-ui-tweaker.html

    ReplyDelete
  4. My experience with Server Core was not the greatest from a production roll out perspective.

    In 2010 I worked with another Engineer to perform the implementation of Windows 2008 R2 and Hyper-V into my client’s production environment. We wanted to utilize Server Core as much as possible for the reasons stated in Mike's blog, so we began to roll out systems with Server Core (domain controllers, Hyper-V hosts, KMS servers, files servers, print servers, etc.)

    I am not the best at the command line so I learned to use /? a lot to learn command line switches to do work. Server Core Configurator PowerShell scripts were also a great help

    http://coreconfig.codeplex.com/

    The problems we had is that many of the 3rd party client side software required to be installed on our systems for production acceptance did not support Server Core (i.e. anti-virus client, PKI client, backup client, system asset client, etc.)

    In many cases, the vendor was behind the times in supporting Server Core or our version currently running in production was behind a version that supported Server Core.

    The reason the 3rd party clients failed is because the client install was looking (in most cases) for .exes and .dlls associated with the Windows GUI for installation that were absent in Server Core

    With Windows 8, if the GUI is a simple configuration checkbox, my hope is that it will solve this issue by having a command line interface only, but also have an OS containing the necessary .dll and .exe files client software looks for to be installed\configured

    Another question is(Krzysztof also hinted at this in his comment), doesn’t this take away the “improved security” feature MS was selling with Server Core since the Windows 8 server may be running in “No-GUI” mode, but still be vulnerable since the .exes and .dlls bad guys normally exploit are present on the system?

    Mark

    ReplyDelete
  5. I wish that we didn't have to reboot the server in-between GUI/No GUI. I use a lot of server Core and I really like it. I don't roll out core to remote locations or DR locations since I can't depend on the local admin's ability to interact with the command line in a DR situation.

    I haven't had many problems installing applications on core. In fact, I can't think of a single one that didn't work. Many older apps needed googling to determine the correct steps to install in Core but that's fine, right?

    Mark Ringo

    ReplyDelete