Der Domänencontroller stellt das Herzstück eines Windows-Netzwerkes dar. Neben der Installation per GUI ist es möglich den Domänencontroller mit der PowerShell zu installieren. Gerade auf Core-Servern ist dies erforderlich. Diese Anleitung beschreibt daher Schritt für Schritt wie ein Domänencontroller mit der PowerShell installiert werden kann. Anschließend werde ich noch kurz auf das Thema Replikation eingehen, damit der wichtigste Dienst im Netzwerk stets verfügbar ist.
Inhaltsverzeichnis
Vorbereitungen
Bevor die eigentliche Installation losgehen kann, passe ich die Netzwerkkonfiguration (IP-Adresse, Gateway, Hostname, etc.) an. Damit ich dies tun kann, muss ich zuerst herausfinden, wie der Netzwerkadapter heißt. Das gelingt mit folgendem Cmdlet:
Get-NetAdapter
In meiner Umgebung heißt der Netzwerkadapter Ethernet:

Mit Hilfe des Namens des Netzwerkadapters passe ich jetzt sämtliche Netzwerkeinstellungen an und benenne schließlich noch den Server um:
# DHCP deaktivieren:
Set-NetIPInterface -InterfaceAlias "Ethernet" -AddressFamily IPv4 -DHCP Disabled -PassThru
# IPs ändern:
New-NetIPAddress -AddressFamily IPv4 -InterfaceAlias "Ethernet" -IPAddress 192.168.100.2 -PrefixLength 24 -DefaultGateway 192.168.100.1
# DNS ändern:
Set-DnsClientServerAddress -InterfaceAlias "Ethernet" -ServerAddresses 192.168.100.2
# IPv6 deaktivieren:
Disable-NetAdapterBinding -Name Ethernet -ComponentID ms_tcpip6
# Server umbenennen:
Rename-Computer -NewName NSTDC01 -Restart -Force
Nach dem Neustart schließlich sieht meine Netzwerkkonfiguration wie folgt aus:

Installation des ersten DCs
Zunächst müssen auf dem Server die Active Directory-Domönendienste installiert werden. Dafür verwende ich folgendes Cmdlet:
Install-WindowsFeature -Name AD-Domain-Services -IncludeManagementTools -IncludeAllSubFeature
Da der Server der erste Domänencontroller im Netzwerk wird, installiere ich diesen mit folgendem Befehl (Der Backtick am Ende der Zeile erlaubt einen Zeilenumbruch innerhalb eines Befehls):
$pwd = Read-Host "Enter the SafeModeAdminPassword" -AsSecureString
Install-ADDSForest `
-DomainName nocksoft.local -DomainNetBiosName NOCKSOFT `
-DomainMode WinThreshold -ForestMode WinThreshold `
-SkipPreChecks `
-InstallDns:$true `
-SafeModeAdministratorPassword $pwd `
-Force

Die Warnungen können ignoriert werden. Der Server wird nach Abschluss der Installation automatisch neu starten.
Mit folgender Abfrage lässt sich zur Kontrolle das Domänenfunktionslevel abfragen:
(Get-ADDomain | Format-List Name, DomainMode) + (Get-ADForest | Format-List Name, ForestMode)

Grundlegende DNS-Konfigurationen
Die Domäne ist installiert. Für einen reibungslosen Betrieb sollten allerdings noch einige grundlegenden DNS-Konfigurationen vorgenommen werden. Als erstes frage ich die DNS-Zonen ab, die bereits eingerichtet wurden:
Get-DnsServerZone

Da eine (optionale) Reverse-Lookup-Zone für mein Testnetzwerk 192.168.100.0/24 noch nicht erstellt wurde, werde ich diese nachträglich hinzugefügen:
Add-DnsServerPrimaryZone -NetworkID 192.168.100.0/24 -ReplicationScope Domain -DynamicUpdate Secure -PassThru

Schließlich muss der DNS-Server noch in seiner Zone registriert werden. Dies geht entweder mit einem Serverneustart oder folgendem Befehl:
ipconfig /registerdns
Wenn wir jetzt ein nslookup ausführen, sehen wir, dass der DNS-Server durch 127.0.0.1 überschrieben wurde. Ich ändere den DNS-Server wieder auf die externe IPv4-Adresse des Servers, da dies den Best Practices von Microsoft entspricht:
Set-DnsClientServerAddress -InterfaceAlias "Ethernet" -ServerAddresses 192.168.100.2
Jetzt haben wir eine korrekte Namensauflösung, wie man es auch erwarten würde:

Sollen jetzt noch Namen aufgelöst werden können, die der DNS-Server selbst nicht kennt, können noch DNS-Forwarder eingerichtet werden:
Set-DnsServerForwarder -IPAddress 192.168.100.1, 8.8.8.8

Installation des zweiten DCs
Dieser Abschnitt erläutert kurz wie ein weiterer Domänencontroller zwecks Replikation installiert wird und ist daher rein optional.
Nachdem das Betriebssystem des Servers, auf dem der zweite Domänen Controller installiert werden soll, installiert wurde, ist dort als erstes die IP-Konfiguration vorzunehmen (IP, SN und GW). Wie das geht habe ich bereits ganz oben unter dem Punkt "Vorbereitungen" beschrieben. Außerdem sollte noch der Computername angepasst und der Server in die Domäne aufgenommen werden:
Add-Computer -Credential NOCKSOFT\Administrator -DomainName nocksoft.local -NewName NSTDC02 -Restart -Force

Genau wie auf dem ersten Domänen Controller müssen auch auf dem zweiten Domänen Controller die Active Directory-Domönendienste installiert werden:
Install-WindowsFeature -Name AD-Domain-Services -IncludeManagementTools -IncludeAllSubFeature
Dann kann der eigentliche Domänen Controller installiert werden:
$pwd = Read-Host "Enter the SafeModeAdminPassword" -AsSecureString
Install-ADDSDomainController -Credential (Get-Credential Nocksoft\Administrator) `
-DomainName nocksoft.local `
-SkipPreChecks `
-NoGlobalCatalog:$false `
-CriticalReplicationOnly:$false `
-InstallDns:$true `
-SiteName "Default-First-Site-Name" `
-SafeModeAdministratorPassword $pwd `
-Force

Damit ist die Installation auch schon abgeschlossen und die neue Windows Domäne steht mit ihren zwei Domänen Controllern zur Verfügung.
Weiterführende Links
https://technet.microsoft.com/de-de/library/hh974720(v=wps.630).aspx
http://blog.dikmenoglu.de/2011/04/dcs-zu-clustern-ist-nicht-moeglich/
5 Antworten auf „Domänencontroller mit der PowerShell installieren (inklusive Replikation)“
Danke für die Anleitung klappt super !
Super Anleitung. Danke dafür. Gerne mehr zur Verwaltung von Windows Core Servern
Vielen Dank für das Feedback 🙂
Warum deaktivierst Du IPv6 ? Das wird eigentlich ausdrücklich von Microsoft nicht empfohlen soweit ich das sehe
Das ist grundsätzlich korrekt. Jedoch ist auch das ein Streitthema in Fachkreisen und bei Pentestern. Microsoft empfiehlt aber IPv6 aktiviert zu lassen. Ich werde überlegen das im Artikel entsprechend besser hervorheben.