If you are like me, who like to “experiment” with random software downloaded from Source Forge, CodePlex or anything alike … on top of working on bunch of side projects in different work environments … and you have a “bug” in your mind which make you learn anything and everything .. then I am sure that you have always craved to have a domain controller of your own .. I mean imagine about trying different networking theories to server-client application development to database management …
But biggest issue with having personal Domain Controller is you need separate hardware which you can use as a domain controller and it has to be running all the time which could be biggest constraint for many follow IT Professionals and if you are cheapskate like me then you probably have very nice machine but just 1 or 2 machines (not talking about puny laptops … but bigass desktops)… and you want to get as much juice as you can get from that beast (!!) . But if you are not that serious then you can actually use one virtual machine to be as Domain Controller and many other virtual machines as your toys. And in this post I am going to show step by step how to do that ….
To my surprise there are not many “how to” available about setting up domain controller using virtual machines .. hack they don’t have much posts about setting up DC with real hardware !! So it took me real long .. and many tries to have some proper machine to have working domain controller (some were due to unforeseen side effect of using virtual machine). Mainly because this process is not as straight forward as it seems (or that’s what networking guys makes you think )… Okey enough babbling … now the process ….
First you need a good clean virtual machine with new SIDs. Alternatively you can create your own clean image using SYSPREP (built into Windows). I can’t stress enough that if you have an existing image of virtual machine make sure that you use this SYSPREP to prepare nice clean image and use THAT image to setup DC otherwise you will run into weird issues and you will spend hours scratching your ….. head . I am using evaluation edition Windows Server 2008 R2 Enterprise, because later on I also want to setup 2 node cluster but that will take some time for now just stick with current task at hand … setting up virtual Domain Controller.
If the image is created using SYSPREP then once booted, it will do some installation and configuration of OS.
Once machine is up and running first thing I would do is to setup static IP. Since it is home network no machine is configured to use static IP but since it is a Domain Controller it has to Static IP so I setup Static IP by going into network configuration.
After having setup Static IP, add server role “Active Directory Domain Services” (aka ADDS) by going into Server Manager. If you don’t have .NET 3.5 framework already installed then it will prompt to install one. Let the process finish installation.
Once the installation successfully completes it will show completion message with note that you will need to run DCPROMO.EXE in order to configure ADDS.
You can either click on that url in the completion message or open Windows –> Run and type DCPROMO.EXE to start wizard. This wizard has by default “advance” selection not selected … but I choose to select that option because that gives you more options and more flexibility for installation process … but that also means more confusing questions so if you are not sure what you are doing (then you should not even reading this ) then don’t select advance option. I am just posting images of next steps since it is straight forward process. I will add comments where ever it is required.
Choose any domain name followed by .local keyword
And that’s it .. it everything works out well then installation will complete successfully and you will be prompted to reboot. Once that is done you have working Domain Controller and you can join any machine with this Domain Controller !!
In next post I am going to show how you join a workstation to Domain Controller.
That’s it for now …
It’s Just A Thought …