Server Core should not have a GUI
Published: 06/08/2010
When it comes to servers, I'm a big believer in "less is more." Turn off / remove all unsused services. Don't install any more software than you really need. Keep mission-critical code segregated as much as practical (preferably at least a three-tier architecture). And don't run a GUI administrative environment unless you positively have to.
Traditionally, Windows was one of these exceptions to the rule. After all, it's "Windows" and you expect there to be a point-and-click administrative interface to configure the machine. However, it adds overhead and this is also why I tend to lean towards Linux or BSD for things like basic web servers if I can get away with it. This isn't always possible in the real world for a multitude of reasons, of course, and if you're a Microsoft shop, don't have Linux skillsets in-house, need to run ASP natively, etc., you generally don't have an option.
My expectations changed a few years ago at Black Hat where there was a turbo talk session about the new Server Core install option. It was touted as a command-line only setup and the only thing that gets thrown on the box are the binaries which absolutely have to be there. Minimal footprint, lower required resources.
THIS is what I've been waiting for. After the turbo talk session, I had many questions lingering in my head. Will I SSH into the box? What kind of interesting commands will be available? Will it run faster compared to a full installation of Server 2008? Needless to say, I was excited.
And then when I finally got around to installing it, I was left with this:
This ... is not exactly what I'd call "pure command-line only." While I understand that underneath it all there's only the absolute minimum to run the OS, I can't help but wonder if having a GUI bubble with a command prompt is really "command-line only." And here's the kicker - you manage the machine remotely through either a Remote Desktop session or via server management tools through RPC. Really? On top of that, the command prompt is still the standard size.
If you're logged into the machine through either Remote Desktop or at the physical console and can only manage the machine via shell commands, would you not expect this window to be, perhaps, full size? I wish I could talk to the product manager who gave the green light to this implementation.
Then there's the other accident waiting to happen. Normally if you want to get out of a CLI window, what do you do? Type exit
, of course. However, in Server Core, that closes the window but you're left stuck in this almost-desktop environment with nothing else to click on. You can do Cntrl+Alt+Del and log out and log back in, or you can do the same three-finger salute and invoke the Task Manager, run another CLI window, then type logoff
when you're done for the day. Yeah, thanks for that.
Don't get me wrong - I strongly believe that Server Core is a fantastic option. I don't run it too much at work, but where I occasionally do I'm mostly satisfied (although I have to keep referring to my cheat sheet of commands to manage the server). While it may not be completely GUI-less, it's a solid start. I hope their next incarnation of their server operating system product will trim down all the fat.
Go back to my list of rambles.