Ready to get a basic Windows Server 2008 Server Core system working? First, you need to change that unwieldy computer name that the OS saddles you with, and then you need to specify the system’s DNS suffix.
As I’ve said before, I’m very excited that Windows Server 2008 offers Server Core, a command-line–only alternative installation option. I like it because I’m a commandline guy, but even more, I like it because a version of Server 2008 that runs only from the command line seems to have impelled Microsoft to actually consider how we perform tasks from the command line in the first place. With that in mind, I want to take a look at a couple of the tasks involved with getting a basic Server Core system working—namely changing the unwieldy computer name that the OS saddles you with and specifying the system’s DNS suffix. Prepare to get a little creative!
A New Name
Microsoft has a laudable policy of not requiring you to babysit your servers during the installation process, and that policy continues in Server 2008. The setup program doesn’t ask you to name your servers; instead, the servers get long, ugly names. So, let’s first try changing the system’s name.
You can use an old friend—the Netdom command—to rename your Server Core computer. (Depending on the version of Windows, this tool used to be in the resource kit or Support Tools, but now Microsoft has made it an official part of Windows.) To rename the computer, type
Netdom can be wordy, but it’s straightforward. The first parameter is the name of the machine whose name you want to change. Thus, the Netdom Renamecomputer command has remote functionality! That’s cool—at least, assuming you’ve left a bunch of ports open on the target system, which (by default) you don’t do on anything that’s running Windows XP SP2 or later. The /newname parameter is obvious; the /force parameter lets you skip the OS warning that asks whether you’re sure you want to rename the system; and /reboot instructs the system to perform the reboot that Windows needs to complete the renaming procedure. (By the way, why is a reboot necessary? I can rename UNIX and Linux systems without rebooting—why not Windows?)
As an example, if Windows had given my Server Core system the name WIN-6MBQNYYV5EG, I could rename it to Server1 by typing
/newname:Server1 /force /reboot
The ugly aspect of that command is typing the long, silly name that Windows gave your system. You can get around that in two ways: You can simply type the Hostname command (which will show you the server’s name), then use the clipboard to copy and paste the name into Netdom, or you can exploit the fact that Windows systems store their computer name in the %computername% environment variable. Thus, to change my server’s name to Server1, I could type
/newname:Server1 /force /reboot
Add the DNS Suffix
When I change the system name, I often want to specify not only the host name but also the system’s DNS suffix. For example, for security reasons, suppose I want to build a system that will be in a workgroup. (Yes, I could make my Web server a domain member, but I’d have trouble sleeping if I did that). Or perhaps I want to create the first DNS server in the network. (If I don’t do that, the server’s host records don’t show up correctly in the Start of Authority—SOA—records, and I’ve got to monkey with them.) You can specify a DNS suffix easily enough in the GUI, but not from the command line. That’s where a little creativity comes in handy.
Now that you’ve renamed the system; how do you add a DNS suffix from the command line? As far as I can see, your only option is to modify the registry. Open Regedit—one of the few GUI tools that work on Server Core—and navigate to the HKEY_LOCAL_MACHINE SYSTEM\CurrentControlSet\Services\Tcpip\Parameters key. Change the NV Domain entry to the DNS suffix you want. If NV Domain isn’t there yet, just create it—it’s a REG_SZ entry.
If you want to go completely cold turkey on the GUI, you can perform this procedure from the command line by using the Reg command. For example, to set my DNS suffix to bigfirm.com, I used the command
\services\tcpip\parameters /v “NV Domain”
/d “bigfirm.com” /f
Stay tuned for more Server Core configuration!