Server core is an odd animal. Personally I find it to be an interesting option that provides a great
platform for a very specialized system,one that you install and then you forget that it exists.
I find it hard to believe that it will be adopted as a mainstream platform since it has a very steep
learning curve. I saw a comment to a post about it saying that we have left the black screen behind
for a reason, and there is no reason to embrace it again.
Server core provides a platform that has a minimal attack surface, the first thing to be encountered
is that the shell has been removed. EXPLORER.EXE is not used as the shell, it’s replacement is CMD.EXE.
An additional difference is that Server Core can be deployed with a relatively limited arsenal:
Active Directory Domain Services
Active Directory Lightweight Directory Services (AD LDS)
Streaming Media Services
IIS (has been added according to the Server Core Blog)
BitLocker Drive Encryption
Network Load Balancing
Simple Network Management Protocol (SNMP)
Subsystem for UNIX-based applications
Windows Internet Name Service (WINS)
Preparing for Installation
There are a few points to keep in mind before installing, the main one is that Server Core has to be installed
as a clean installation(there is no option to upgrade or change versions to it). An additional point to keep in
mind is that once it’s installed, it’s here to stay (there is no way to upgrade it to a full installation).
Another option for installing server core is using the unattended installation. This option is actually a beneficial one
since it allows the installer to perform the post installation tasks using the answer file. This option will be covered
in a later post.
After the standard installation,since the standard shell is missing, the initial configuration must be handled manually
using command line interface (CLI) tools.
When the system starts up after the installation you are greeted with a logon window that allows you to choose
After choosing the “Other User” you are provided with a screen that has empty logon fields. Use the “Administrator”
account with a blank password. Once this is done you are prompted to change your password.
Then you have finally arrived, this is it-a Windows with CMD as a shell.
At this stage the interesting part begins- Configuring the server.
The basic things needed to be done on a standard server are also needed here-one big difference though, everything
(well almost) needs to be done using the CLI.
Configuring the IP address (or any other networking configuration has to be done using NETSH):
netsh interface ipv4 show interfaces – Displays network interfaces on the system.
netsh interface ipv4 set address name=”<ID>” source=static address=<StaticIP>
mask=<SubnetMask> gateway=<DefaultGateway> – Will configure a static IP on the server.
Changing the systems name van be done by using the netdom command:
To restart the system you can use the shutdown -r command.
To change the time zone on a system use : control timedate.cpl
To change regional settings use: control intl.cpl
Since some settings on a Server Core installation can not be configured using local or remote tools
a script has been created to alter those settings. The scripts name is SCREGEDIT.SWF and it is located
· Enable automatic updates
· Enable Remote Desktop for Administration
· Enable Terminal Server clients on previous versions of Windows to connect to a server running a Server Core installation
· Configure DNS SRV record weight and priority
· Manage IPSec Monitor remotely
The task of installing roles and features is a bit more complicated as there is no GUI so the standard wizards are
absent. In addition to that the command line equivalent of server manager is missing too (servermanagercmd.exe).
As an example if you are interested in installing the DHCP role, use the following syntax:
start /w ocsetup DHCPServerCore
*Using ‘start /w’ will make sure that the command prompt will only return after the installation has completed.
*Another interesting anecdote is that the role and feature names are case sensitive…Not sure how happy this
Considering the fact that role/feature names are case sensitive installation and removal may be problematic.
In addition to that you may also want to check what is installed on a server.
OCLIST to the rescue! With OCLIST you can list the name of available features and roles and their status.
This post about Server Core only touched the tip of the iceberg. The Server Core deployment is a good deployment
when a specialized system is needed,on the other hand I can’t see system administrators working with it on a daily
basis for a couple of reasons:
- It does not have all the deployment options a full server has
- Using the command line only can be very unfriendly. Microsoft in general and Windows specifically has gained their
leading position due to the GUI, I can’t see people going back to the command prompt only(I may be wrong though)….
To be able to manage Server Core a system administrator must be aware of all the command line tools that exist and
their options. To start learning about them you can download the Server Core Step by Step Guide from: