Server 2008 R2 Core as a Domain Controller

**EDIT** Turns out some of the commands were depreciated, so I updated the commands to reflect the current SP1 commands.

So I thought it would be appropriate in our org with very little resources to get server 2008 r2 core up and running rather than a full windows install.
It’s not only to get me some good on the job training, but it will also lower the DC footprint on the already resourced out server.

So, after installation and first boot of the Core, I want to set the IP of the NIC manually.
First, I want to make sure I know which NIC I am changing. Run this to get the INDEX of the NIC:
>netsh interface ipv4 show interfaces

Once you’ve gotten the index, run this command and fill in the name with the index number you pulled off the interface in the previous command:
>netsh interface ipv4 set address name=”x” source=static

I also want to set DNS servers manually for the NIC:

>netsh interface ipv4 add dnsserver name=<index/name> address=<IP address of the primary DNS server> index=1
(you can add more ‘indexes’ 2, 3, etc to add more DNS servers)

Now I want to enable remote desktop so that I don’t have to stand here, or use my VM console to deal with this machine.
>Cscript %windir%\system32\SCRegEdit.wsf /ar 0

Now I’ve got an IP and I can RDP into the box. It’s time to get a DNS name assigned.
You can run an IPCONFIG /ALL and get the current name of the machine. Then do:
netdom renamecomputer <computerName> /newname:<newName>

I like to use fun star wars naming schemes. But thats just me.

Give the machine a reboot to allow the name to take up with a SHUTDOWN /R.
When the server gets back up, take a look at all the shiny roles and features that can be installed with:
dism /online /get-features


Installing PowerShell is nice:
dism /online /enable-feature /featurename=NetFx2-ServerCore
dism /online /enable-feature /featurename=NetFx3-ServerCore
dism /online /enable-feature /featurename=MicrosoftWindowsPowerShell
dism /online /enable-feature /featurename=ActiveDirectory-PowerShell

Installing a DNS server is also nice:
dism /online /enable-feature /featurename=DNS-Server-Core-Role

I wanted to join my server to the domain before I DCPROMO’d it, just to test it and make sure it works before I put it to the fire.
netdom.exe join SERVERNAME /domain:DOMAINNAME /UserD:DOMAIN\USER /PasswordD:****


Now we are all joined up. Is your domain/forest ready? Are you in Server 2000, 2003 or 2008 mode? not sure.. then find out.
Well want to run ‘Adprep /forestprep’ or if your like me and had 32b DCs, run Adprep32.
Then get the old domain up to snuff and run ‘adprep32 /domainprep /gpprep’.
This tool is on the Server 2008 R2 DVD, under support/adprep. You can copy this folder over and drop it on the desktop or whatever of the server that holds the FSMO roles in the domain and get it going.

Once its copied over, run:
dcpromo /unattend:<path to unattended file>

Don’t forget to change the password values in the unattend text file.

Reboot and -=*AWesOm3!*=-

Now its time to DCPROMO. You need an unattend.txt file to DCPROMO since there is no GUI. You can create this real easy by running DCPROMO on another server and then instead of actually promoting it, just check the ‘export as a file’ box to get a txt file.
References used in this little ditty:
Enabling RDP in server Core
The MS Server Core Documentation (actually helpful- go figure)
Stuart Coney’s Blog on the process
MS unattended DCPROMO information