GUI Schmooey –- Installing Windows 2008 Server Core
So, you’ve decided to install Windows 2008 Server Core.
You understand that a Core install comes with no GUI. No problem. You aren’t one of those wimpy sys admins who say things like “Go ask Ted” when the problems get hard.
There is no Ted. You ARE Ted.
Your TechNets hang by a thread, proudly worn out from eliciting the details that make the difference between a super-admin, and some over-glorified technology monkey who points and clicks around the screen to add the company’s new users.
Same, But Different
There are lots of improvements in Windows 2008 Server. One of them removes the annoying need to sit and watch your Windows Server install in order to answer those “in the middle” install questions. With Windows 2008 Server, you get before and after inputs, and that is it.
Installing Server Core is the same as a full install for the “Before” questions. No surprises here. Just boot up off your media, answer the language, time format, and keyboard format questions.
Click Install Now (the purpose of this seemingly useless screen is so that you can click the Repair option at the bottom.) Then, the product key, and finally the differences begin.
Choose the Installation Type. We want the Core! We want the Core! (Please, no chanting in the IT Department.)
There is no such thing as an upgrade to Server Core. Whereas an upgrade of a full install requires updating files, adding new files, and reconfiguring, upgrading to Core would actually require deleting entire files, directories, and processes without taking out previously set configurations.
Imagine the nightmare of trying to code something like that. So, there is no Server Core upgrade.
Clean install it is. Ted would want it that way, anyhow. By the way, there is also no way to “add” the components to turn a Server Core Install into a Full Install. That is, you have to re-install (clean) to get a Full Server Installation.
Pick your partition for the install and click Next. Now, go get a cup of coffee, or feed the meter, or get back to work. Either way, your work here is done until it is time to configure. All the file copying and rebooting will happen without you.
No ICT For You!
If you were doing a full install, now is when you get that nice new Initial Configuration Tasks (ICT) screen. So pretty, so simple, so great for reminding you to do everything.
No ICT For You! Just the login screen. Click Ctrl-Alt-Delete, click Other User and let’s get to work.
When you login for the first time, you will have to change the password. Don’t forget, the “Previous Password” is just blank. Once you are finished you’ll see the command prompt and nothing else. Ah, Ted would be proud.
The Initial Configure Task List, DOS Style
Without the ICT to guide you through the initial configuration steps, you are going to need a checklist.
- Secure the Administrator Account
- Set the Time and Date
- Configure the Network
- Activate the Server
- Name the Server
- Join a Domain
- Configure Automatic Updates
- Setup Remote Administration
A lot of the commands you might already be familiar with, but the switches might not be ones you’ve used a lot. Just remember that every (well, most of them) command comes with a /? option that will list out those slash-As and Bs that you don’t quite remember.
Oops! Now What?
Every administrator who does a core installation will eventually close the command prompt window, usually just out of habit.
When you do, Windows 2008 Server Core seems ominously blank. Your mind might go blank too. Now what? Jab at Ctrl-Shift-Esc and fire up the Task Manager, run a new task, type cmd and you are back in business.
Nothing makes hackers happier than an unsecured administrator account. You already set the password when you logged on. To change it you can still press Ctrl-Alt-Delete.
Hey, wait that looks like a GUI! Some very small GUI interfaces still exist.
The ones that do, have two things in common: One, they are small and cause no observable impact on the server performance. Two, they have no dependencies on bigger sub-systems. You have to have some sort of login screen anyway, and keeping the password changing piece is no big deal.
At the Sound of the Tone the Time Will Be
Setting the time and date is one of those places where you use a tiny GUI. All you have to do from the command line is get it started.
Type: control timedate.cpl
Now, just set the time and date like you always do.
By default, your Windows 2008 Core Server will be DHCP enabled. If that is how you want it, then you are done here. If not, you need to know what network interfaces are in your server and what number they have been assigned by the system.
To find out type: netsh ipv4 show interfaces
All we really need from this output is the index number (Idx on the screen) of the interfaces we want to configure. Jot them down (if you have more than one) so you don’t have to come back here. Usually, 1 is the Loopback address. There is no need to configure this.
Now, with index numbers we are ready to setup our network. First, we setup our IP address information; assuming the interface index number is 2 – replace the number in the parameter “name” with whatever number you got from the netsh command:
netsh interface ipv4 set address name=”2” source=static address=10.1.1.101 mask=255.255.255.0 gateway = 10.1.1.1
Next, we setup the DNS:
netsh interface ipv4 set add dnsserver name=”2” address=22.214.171.124 index=1
The easiest step we have.
Type: slmgr.vbs –ato
Name the Server, Join the Domain
Using the Windows Management Interface to rename the computer is the easiest. Otherwise, we have to join the domain first in order to use the netdom command. Then we have to go back in and clean up the name generated by setup.
Since it is just one command we don’t have to do a full script.
wmic computersystem where name=”SetupName” rename name=”NewName”
Unfortunately a reboot is required to get the name change to take affect and we want the name changed before we try and add it to the domain, so it’s rebooting time.
Once the reboot is complete and you’ve logged back on, it is time to join the domain.
Using the name of the server (NewName), the domain we want to join (OurDomain) and an account with access to do so (Username = Ted, Password = ThePass) we use the netdom command:
netdom join NewName /domain:OurDomain /userid:Ted /password:ThePass
Now, the server has its name and it is in the domain. We’ll have to reboot again.
Set Automatic Updates
To setup automatic updates we use the scregedit.wsf script. The /au switch sets the automatic updates. A value of 4 is on. A value of 1 is off.
cscript scregedit.wsf /AU 4
Hit The Road Jack and Don’t Come Back
Unless you want to sit at the command prompt in front of your Windows 2008 Core Server every time you need to do something, you are going to want to enable remote administration of the server.
The great part about this is that for many functions you can go back to using the GUI (if you feel like it, you don’t have to) by using the remote functions on systems that do have the GUI installed, like your administrator workstation.
To enable remote admin we go back to our scregedit.wsf pal:
cscript scregedit.wsf /AR 0
That’s it. One installed and minimally configured Windows 2008 Core Server ready to go.
Of course, for the server to be of much use in your environment you’ll have to install and configure any roles you need, but that is a topic for another day.