Installing Active-Directory on Windows 2008 Server Core R2
Server Core is a scaled back installation of Windows Server 2008 where no Windows Explorer is installed. The configuration is done entirly through the Command-Line interface, or by connecting remote using MMC.
All examples regarding Server Core will be done using the Windows Server 2008 R2 Beta edition, available at MSDN. Starting off, since this is a PowerShell blog, we’ll start with installing PowerShell.C:>start /w ocsetup MicrosoftWindowsPowerShellAfter PowerShell is installed, browse to the PowerShell installation folder and start powershell.exe.
C:>%WINDIR%System32WindowsPowerShellv1.0powershell.exeNext, we want to configure the Network Adapter Settings. this can be done either from the netsh or through WMI. In this example I’ll describe how to do it through WMI.
First we create a variable that contains information regarding our Network Adapter Configuration. To ensure that we connect to the correct Adapter, we use the Where-Object CmdLet to specify which Adapter we want to use. If you have two enabled Network Adapters it might be a good idea to have two criterias.
PS > $NetworkConfig = Get-WmiObject Win32_NetworkAdapterConfiguration
PS > $NetworkConfig | Where {$_.IPEnabled -eq $true -and $_.Description -match "Intel"}
Now that we have pinpointed our Network Adapter, we can prepare the settings that we want.
PS > $IP = "10.0.0.2" PS > $SubNet = "255.0.0.0" PS > $Gateway = "10.0.0.1" PS > $Metric = [int32]1And finally, we can update the Network Adapter Configuration with our custom settings.
PS > $NetworkConfig.EnableStatic($IP,$SubNet) PS > $NetworkConfig.SetGateWays($Gateway,$Metric)Changing the computername might also be a good idea. The computername can be changed through the netdom command or through wmi as the example below shows.
PS > $Computer = Get-WmiObject Win32_ComputerSystem
PS > $Computer.Rename("Server1","Password1,"Administrator")
The Server requires a Reboot before the computername changes.
PS > shutdown /r /t 0The Active-Directory Role is added through the dcpromo command. The command takes arguments that specify the type of AD you want to setup. It’s also possible to create a list contining the information and run dcpromo with the unattend switch.
Here is an example of the list I used in my test domain. A complete description of available switches are available on TechNet
[DCINSTALL] ReplicaOrNewDomain=Domain NewDomain=Forest NewDomainDNSName=APA.CORP DomainNetBiosName=APA InstallDNS=yes RebootOnCompletion=Yes SafeModeAdminPassword=Password1Save the list in a txt file, then run dcpromo with the unattend switch and specify the path to the txt file.
PS > dcpromo /unattend:C:DCINSTALL.txtRestart the Client and when the login screen appears, you will be able to Log on to your New Domain.
Below is the code used in this post:
start /w ocsetup MicrosoftWindowsPowerShell
%WINDIR%System32WindowsPowerShellv1.0powershell.exe
$NetworkConfig = Get-WmiObject Win32_NetworkAdapterConfiguration
$NetworkConfig | Where {$_.IPEnabled -eq $true -and $_.Description -match "Intel"}
$IP = "10.0.0.2"
$SubNet = "255.0.0.0"
$Gateway = "10.0.0.1"
$Metric = [int32]1
$NetworkConfig.EnableStatic($IP,$SubNet)
$NetworkConfig.SetGateWays($Gateway,$Metric)
$Computer = Get-WmiObject Win32_ComputerSystem
$Computer.Rename("Server1","Password1,"Administrator")
shutdown /r /t 0
dcpromo /unattend:C:DCINSTALL.txt
[?]
