These days are over now, because in Windows Server 2012, you can switch from a server core edition to a fully GUI version and vice verse. This gives you the option to run almost all roles and features on high performance server core editions, and if you need to make more advanced configuration that needs the GUI, you enabled the features, reboot the server, make the configuration changes, and finally switch back again.
The process is unfortunately not as straight forward as it sounds, because the Server Core edition isn't shipped with all the necessary files needed to install most of the features, including the graphical shell and management tools. Because of that you need to make those files available to the Server Core server when you need to add those features. This can done in different ways, and in this blog, I will focus and demonstrate the most efficient way to do this.
By default, when feature files
are not available on the target server, Features on Demand searches for missing
feature files by performing the following tasks, in the order shown.
1. Searching in a location that
has been specified by users of the Add Roles and Features Wizard, DISM
installation commands or in Powershell commands.
2. Evaluating the configuration of the Group Policy setting, Computer Configuration\Administrative Templates\System\Specify settings for optional component installation and component repair
3. Searching Windows Update
You can read more about Features on Demand here:
http://technet.microsoft.com/en-us/library/jj127275.aspx
1. How to install GUI features by specifying the location of source files
In this way you need to provide the location for the source files (installation media or WIM file). This can be a suitable solution if you only got a few servers to manage. But if you administer many servers, this method will end up eating your time, and may in the end make you choose to use servers with a GUI instead of a server core. If you find this manually process to time consuming, you may want to use the Group Policy to provide the location for the source files, and you can read more about how to accomplish this in section 2 bellow.
You can make the transition either from the local Server Core server or remotely from a Windows 8 client with the Remote Server Administration Tools (RSAT) installed and the Server Manager console enabled or from a Server 2012 or Server 2012 R2. In either way you manually need to specify the location of the source files or WIM file.
You can download RSAT for Windows 8 here;
http://www.microsoft.com/en-us/download/details.aspx?id=28972
In the following you can see a step-by-step demonstrating how to switch from a Server Core server to a GUI server both locally (A) and remotely from Server Manager (B).
A: Making the switch locally from the Server Core server
1.
On the Server Core
server you need to make the installation files or WIM file available. In this
demonstration I mount the Install.wim file to a local folder called “mount”.
The content of the
Windows Server 2012 R2 installation media
Create the new “mount” folder
Using the Dism.exe
command to mount the install.wim file to the “mount” folder. The Index
parameter specify the image in the WIM file that you mount, and in this case
index 2 is the GUI version which include all the files needed.
If you don't know the index number of the GUI image in your WIM file, you can use the following Dism command to view the index numbers.
dism.exe /get-wiminfo /wimfile:D:\sources\install.wim
If you don't know the index number of the GUI image in your WIM file, you can use the following Dism command to view the index numbers.
dism.exe /get-wiminfo /wimfile:D:\sources\install.wim
2.
When the process
finish, you are ready to install the GUI features. You do this in Powershell.
Open Powershell by writing “powershell” in the command prompt.
Then write the
following powershell command, where you replace the Source path with your
actual location. If you have placed the installation files on a network share,
you can use this as source path in the command.
You will notice
that the installation progress will be at 68% for a relatively long time, but
it will proceed eventually.
3.
When the
installation has finished you need to restart the computer either by using the shutdown
/r /t 0 command or by the sconfig
utility choosing the 13. option.
4.
The reboot process
will take a while, and when finished, log on to the server and now you got a
GUI server.
5.
If you need to
uninstall the GUI or part of it, you can do this from the Server Manager
console or from Powershell. In Server Manager, click on Manage and then Remove Roles
or Features. Click Next a couple
of times until you enter the Remove
features windows. Scroll down to the User
interfaces and infrastructure section and read the description text of the
three features.
Be aware that the Graphical Management Tools and Infrastructure provide the server with minimal server interface and GUI, including the Server Manager console and related tools, where the Server Graphical Shell feature provides the full GUI, including File explorer etc..
Be aware that the Graphical Management Tools and Infrastructure provide the server with minimal server interface and GUI, including the Server Manager console and related tools, where the Server Graphical Shell feature provides the full GUI, including File explorer etc..
6.
You can also
uninstall one or both features in Powershell, by running one of the following
commands:
Uninstall-WindowsFeature
–User-Interfaces-Infra
Removes all GUI features
Uninstall-WindowsFeature
Server-Gui-Mgmt-Infra
Removes the Graphical
Management Tools and Infrastructure
Uninstall-WindowsFeature Server-Gui-Shell
Removes the Server Graphical
Shell
You can run either
of the commands with the –WhatIf to get a listing of the installation summary before actually executing the command.
This summary lists any other features that will also be uninstalled at this
time.
7.
If you choose to run
the server with minimal server interface, just uninstall the Server Graphical
Shell and restart the server. Then the server will run as a Server Core server
but providing access to graphical consoles like Server Manager, Event Viewer
etc..
B: Making the switch remote from the Server Manager
To administer your Server Core servers centrally, Server Manager provides the ability to create Server Groups, where you can add all you servers for remote administration, including the possibility to switch from a Server Core to a GUI server and vice verse.
1.
On a Server 2012 or
Server 2012 R2 or a Windows 8 computer where you have installed RSAT, open the Server Manager console
and from the Dashboard create a new server group. Then add your servers you
want to administer and place them in your new group.
2.
Right-click the
Server Core server you want to switch to GUI, and select Add Roles and Features. Click Next
a couple of times until you reach the Select
features windows. Expand the User
Interfaces and Infrastructure section and select the features you need to
install.Click Next.
3.
On the Confirm installation selections page,
be aware that you can specify an alternative
source path, pointing to the installation files or a WIM file.
4.
In this
demonstration a have copied a WIM file to a server share and I use the WIM: prefix to specify the WIM file and
the index number to specify the GUI
based server image in the WIM file.
5.
Then select the Restart the destination server
automatically if required option
6.
Wait for
installation to finish and verify that the Server Core server restarts
automatically.
2. Using Group Policy to specify the location of the source files.
The second step in Features on Demand list gives you the opportunity to place the installation files or WIM file in a central shared folder and make the location of the source files available to your Server Core servers through Group Policy. This is a nice and easy way to centrally control the source files and access rights to the files and if you use a WIM file you can constantly upgrade features, language packs etc. to the images in the WIM file with the Dism.exe command utility.
In the following demonstration I will guide you through the necessary steps to switch from a Server Core server to a server with GUI using source files from a server share, located by a Group Policy.
The main steps in the demonstration are:
A. Manage the servers
in Active Directory
B. Create a folder for
the source files and assign the appropriate access permissions.
C. Copy the source
files to the folder
D. Create and
configure the Group Policy Object (GPO)
E. Apply the GPO to
the Server Core servers
F. Install the GUI
features
1. I will strongly
advise you to create specific OU’s in your Active Directory for your servers
based on functionality, server editions etc. In this demonstration I have
created an OU named Servers (to keep it simple) and placed the Server Core
server in the OU. I have also created a global security group named ServerCore where
I have added the server.
2. On a file server,
create a folder. Share the folder with the appropriate share permissions. In
this case I assign Read permission to the ServerCore group
3. Assign the
appropriate NTFS permissions to the folder. In this demonstration I have
assigned Read permission to the ServerCore group
4. Then I copy the WIM
file to the folder. In this demonstration it is the install.wim file from the
installation media.
5. Open the Group
Policy Management console and create a GPO and then link the GPO to the Servers
OU (your AD design may vary from this). I have named the GPO ServerGPO for
simplicity.
6. Right-click the GPO
and select Edit. From the Group
Policy Management Editor, expand Computer
Configuration – Policies – Administrative Templates – System and locate and
double-click on the policy setting named Specify
settings for optional component installation and component repair.
7. Read the help text.
Enable the policy and provide the alternate source file path. In this
demonstration I have used the WIM: prefix with index number 2. The index number
may vary from this. Click OK and
close the editor.
8. Boot your Server
Core server, or if already booted, run the
gpupdate /force command. To verify that the GPO is applied, you can run the gpresult /r command.
gpupdate /force command. To verify that the GPO is applied, you can run the gpresult /r command.
9. To switch from
Server Core to server with a GUI, you either do it with Powershell locally on
the Server Core server
(using the Install-WindowsFeature cmdlet), or remotely from Server Manager (both ways described in section 1 of this blog).
In this case you will be asked to provide location for the source files, because the server already knows the path.
(using the Install-WindowsFeature cmdlet), or remotely from Server Manager (both ways described in section 1 of this blog).
In this case you will be asked to provide location for the source files, because the server already knows the path.
Summary: The Windows Server 2008 R2 server core has been a little scary to a lot of administrators because you practically only had the prompt to work in. In Windows Server 2012 and Server 2012 R2 you can easily switch back and forth between a server core and a minimal or full GUI version of the server, and because of that you will probably begin working a lot more with the much better performing and more secure server core edition.