Kategorien
Tutorials

Domänencontroller mit der PowerShell installieren (inklusive Replikation)

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.

Getestet wurde dieser Artikel unter Windows Server 2016 1607 (mit GUI).

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:

Netzwerkadapter anzeigen

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
Ersten Domänencontroller per PowerShell installieren

Die Warnungen können ignoriert werden. Der Server wird nach Abschluss der Installation automatisch neu starten.

WinThreshold steht dafür, dass die Domäne im Windows Server 2016er Modus installiert werden soll. Alternativ könnte man beispielsweise auch Win2012R2 für eine Windows Server 2012 R2 Domäne verwenden. Statt eines Strings kann hier auch ein Integer angegeben werden (Beispielsweise 7 für Windows Server 2016). Welcher Integer für welches Domänenfunktionslevel steht, kann hier nachgelesen werden.

Um die Installation komplett automatisiert durchführen zu können, kann das SafeModeAdministratorPassword auch direkt im Befehl angegeben werden. Der Parameter sieht dann wie folgt aus: -SafeModeAdministratorPassword (ConvertTo-SecureString password -AsPlaintext -Force)

Mit folgender Abfrage lässt sich zur Kontrolle das Domänenfunktionslevel abfragen:

(Get-ADDomain | Format-List Name, DomainMode) + (Get-ADForest | Format-List Name, ForestMode)
Domänenfunktionslevel abfragen

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
DNS Zonen abfragen

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
Reverse-Lookup-Zone hinzufügen

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
DNS-Forwarder einrichten

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
Server in Domäne aufnehmen

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
Zweiten Domänencontroller per PowerShell installieren

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/

Seit mehreren Jahren begeistere ich mich privat und beruflich für die IT. Das habe ich dann auch zum Anlass genommen, diesen Blog ins Leben zu rufen, um dort praxisnahe Tutorials über verschiedene IT-Themen zu schreiben und meine selbst geschriebene Software zu veröffentlichen.

5 Antworten auf „Domänencontroller mit der PowerShell installieren (inklusive Replikation)“

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.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert