Windows-Domäne mit PowerShell

Aus Xinux Wiki
Version vom 18. Oktober 2026, 18:46 Uhr von Thomas.will (Diskussion | Beiträge) (Neue Seite (Kurs Linux - Samba))
(Unterschied) ← Nächstältere Version | Aktuelle Version (Unterschied) | Nächstjüngere Version → (Unterschied)
Zur Navigation springen Zur Suche springen
Kurs Lab Rechner Domäne
Linux - Samba Linux - Samba Lab win-dc · 10.2XX.1.11 ad.it2XX.int

Einfach erklärt

  • Ein Windows Server wird zum Domänencontroller, indem man ihm die Rolle Active Directory-Domänendienste (AD DS) gibt und ihn zum ersten DC einer neuen Gesamtstruktur (Forest) macht.
  • Dabei richtet Windows gleich den DNS-Server für die Domäne mit ein, genau wie Samba.
  • Alles, was man in der grafischen Oberfläche klickt, geht auch mit PowerShell. Das ist schneller, man kann es wiederholen und genau nachlesen, was passiert ist.
  • Für Linux-Leute: PowerShell-Befehle heißen immer Verb-Nomen, z.B. Get-ADUser, New-ADUser. Hilfe gibt es mit Get-Help Befehl -Examples.

Das Wichtigste

  • Erst Name und feste Adresse, dann die Rollen, dann den DC einrichten. Der Name lässt sich danach kaum noch ändern.
  • Ein Windows-DC nimmt nach dem Einrichten sich selbst als DNS-Server. Fremde Namen fragt er beim Forwarder nach.
  • Der erste DC hat alle FSMO-Rollen, auch den PDC-Emulator. Der ist die Zeitquelle der Domäne.
  • Windows Server 2022 legt die Domäne mit dem Functional Level 2016 an. Das ist später für Samba wichtig, siehe Windows-DC durch Samba ablösen.

Deine Werte

Wert Beispiel lab01
Rechner win-dc
Adresse 10.201.1.11/24, Gateway 10.201.1.1
Domäne ad.it201.int
NetBIOS AD
DHCP-Bereich im LAN 172.26.201.150 bis 172.26.201.199

Vorbereitung

  • Alle Befehle in einer PowerShell als Administrator.
Rename-Computer -NewName win-dc -Restart
  • Nach dem Neustart den Namen der Netzwerkkarte herausfinden und die Adresse setzen:
Get-NetAdapter
New-NetIPAddress -InterfaceAlias "Ethernet" -IPAddress 10.201.1.11 -PrefixLength 24 -DefaultGateway 10.201.1.1
Set-DnsClientServerAddress -InterfaceAlias "Ethernet" -ServerAddresses 10.201.1.1
Set-TimeZone -Id "W. Europe Standard Time"
  • Prüfen: ipconfig /all, Test-NetConnection debian.org

Rollen installieren

Install-WindowsFeature AD-Domain-Services, DNS, DHCP -IncludeManagementTools
  • -IncludeManagementTools installiert die Verwaltungsprogramme dazu: Active Directory-Benutzer und -Computer, DNS-Manager, DHCP-Konsole.

Domäne anlegen

Install-ADDSForest `
  -DomainName "ad.it201.int" `
  -DomainNetbiosName "AD" `
  -InstallDns `
  -SafeModeAdministratorPassword (Read-Host -AsSecureString "DSRM-Passwort")
  • Das DSRM-Passwort braucht man nur für die Wiederherstellung im Verzeichnisdienst-Wiederherstellungsmodus. Gut aufheben.
  • Der Server startet danach von selbst neu. Anmelden jetzt als AD\Administrator, mit dem bisherigen lokalen Administratorpasswort.
  • Das ` am Zeilenende ist in PowerShell das, was in der Bash der \ ist.

DNS

  • Forwarder: Was nicht zur Domäne gehört, fragt der DC bei der Firewall nach.
Set-DnsServerForwarder -IPAddress 10.201.1.1
  • Rückwärtszonen für beide Netze:
Add-DnsServerPrimaryZone -NetworkId "10.201.1.0/24" -ReplicationScope Forest
Add-DnsServerPrimaryZone -NetworkId "172.26.201.0/24" -ReplicationScope Forest
ipconfig /registerdns
  • Prüfen:
Resolve-DnsName -Type SRV _ldap._tcp.ad.it201.int
Resolve-DnsName win-dc.ad.it201.int
Resolve-DnsName 10.201.1.11
Resolve-DnsName debian.org

Zeit

  • Der PDC-Emulator holt die Zeit von außen, alle anderen Rechner der Domäne von ihm.
w32tm /config /manualpeerlist:"10.201.1.1" /syncfromflags:manual /reliable:yes /update
w32tm /resync
w32tm /query /status

DHCP

  • Die Firewall leitet DHCP-Anfragen aus dem LAN an win-dc weiter (DHCP-Relay). win-dc braucht dafür einen Bereich für das LAN.
Add-DhcpServerSecurityGroup
Restart-Service DHCPServer
Add-DhcpServerInDC -DnsName win-dc.ad.it201.int -IPAddress 10.201.1.11
Set-ItemProperty -Path HKLM:\SOFTWARE\Microsoft\ServerManager\Roles\12 -Name ConfigurationState -Value 2

Add-DhcpServerv4Scope -Name "LAN" -StartRange 172.26.201.150 -EndRange 172.26.201.199 -SubnetMask 255.255.255.0
Set-DhcpServerv4OptionValue -ScopeId 172.26.201.0 -Router 172.26.201.1 -DnsServer 10.201.1.11 -DnsDomain ad.it201.int
Befehl Wirkung
Add-DhcpServerInDC DHCP-Server in der Domäne autorisieren. Nicht autorisierte Windows-DHCP-Server verteilen keine Adressen
Set-ItemProperty … ConfigurationState blendet die Warnung „Konfiguration nicht abgeschlossen“ im Server-Manager aus
-DnsServer 10.201.1.11 die Clients bekommen den DC als DNS-Server. Ohne das finden sie die Domäne nicht
  • Feste Adresse für einen Client, z.B. win11:
Add-DhcpServerv4Reservation -ScopeId 172.26.201.0 -IPAddress 172.26.201.100 -ClientId "08-00-27-12-34-56" -Name win11
Get-DhcpServerv4Lease -ScopeId 172.26.201.0

Struktur, Benutzer und Gruppen

$base = "DC=ad,DC=it201,DC=int"
New-ADOrganizationalUnit -Name "Firma" -Path $base
New-ADOrganizationalUnit -Name "Benutzer" -Path "OU=Firma,$base"
New-ADOrganizationalUnit -Name "Gruppen" -Path "OU=Firma,$base"
New-ADOrganizationalUnit -Name "Rechner" -Path "OU=Firma,$base"

New-ADGroup -Name "verwaltung" -GroupScope Global -Path "OU=Gruppen,OU=Firma,$base"

New-ADUser -Name "Max Muster" -GivenName Max -Surname Muster `
  -SamAccountName max -UserPrincipalName max@ad.it201.int `
  -Path "OU=Benutzer,OU=Firma,$base" `
  -AccountPassword (Read-Host -AsSecureString "Passwort") -Enabled $true

Add-ADGroupMember -Identity verwaltung -Members max
Get-ADUser -Filter * | Format-Table Name, SamAccountName, Enabled
Get-ADGroupMember verwaltung
  • OU (Organisationseinheit) ist ein Ordner im Verzeichnis. An OUs hängt man später Gruppenrichtlinien.
  • Für Linux-Leute: Ein Distinguished Name wie OU=Benutzer,OU=Firma,DC=ad,DC=it201,DC=int ist derselbe Pfad wie in jedem LDAP-Verzeichnis, nur von unten nach oben gelesen.

Prüfen

Was Befehl
Domäne Format-List DNSRoot, NetBIOSName, DomainMode
Gesamtstruktur Format-List ForestMode, SchemaMaster
DC gesund dcdiag /q
FSMO-Rollen netdom query fsmo
SRV-Eintrag Resolve-DnsName -Type SRV _ldap._tcp.ad.it201.int
Zeit w32tm /query /status
DHCP Get-DhcpServerv4Scope
  • dcdiag /q zeigt nur Fehler. Keine Ausgabe heißt: alles in Ordnung.

Von Linux aus prüfen

  • Auf fs oder lx, mit win-dc als DNS-Server:
host -t SRV _ldap._tcp.ad.it201.int 10.201.1.11
host -t SRV _kerberos._tcp.ad.it201.int 10.201.1.11
ldapsearch -x -H ldap://10.201.1.11 -s base -b "" defaultNamingContext
  • Die letzte Abfrage geht ohne Anmeldung. Sie zeigt den RootDSE, die Grunddaten der Domäne.

Stolperfallen

  • Rechnername nach dem Einrichten ändern: Bei einem DC aufwendig. Den Namen vorher setzen.
  • DNS-Server der Karte zeigt nach außen: Der DC findet sich selbst nicht. Nach dem Einrichten muss 127.0.0.1 oder die eigene Adresse eingetragen sein.
  • DHCP nicht autorisiert: Der Dienst läuft, verteilt aber keine Adressen.
  • DHCP-Relay fehlt: Clients im LAN bekommen keine Adresse, weil DHCP-Anfragen das Netz nicht verlassen.
  • Zeit: Läuft der PDC-Emulator falsch, läuft die ganze Domäne falsch.

Übungen

Grundübungen

  1. Richten Sie win-dc mit PowerShell ein: Name, Adresse, Rollen, Domäne ad.it2XX.int.
  2. Setzen Sie den Forwarder und legen Sie beide Rückwärtszonen an. Prüfen Sie mit Resolve-DnsName.
  3. Richten Sie den DHCP-Bereich für das LAN ein und prüfen Sie, ob win11 eine Adresse bekommt.
  4. Legen Sie die OU-Struktur Firma mit Benutzer, Gruppen, Rechner an, dazu zwei Benutzer und eine Gruppe.
  5. Prüfen Sie den DC mit dcdiag /q und netdom query fsmo.
  6. Fragen Sie von lx aus die SRV-Einträge und den RootDSE ab.

Vertiefung

  1. Legen Sie 20 Benutzer aus einer CSV-Datei an: Import-Csv benutzer.csv | ForEach-Object { New-ADUser … }
  2. Welchen Functional Level hat die Domäne? Wo sieht man das in der Oberfläche?
  3. Schauen Sie sich mit ldapsearch und einem Domänenbenutzer den Eintrag von max an. Welche Attribute kennen Sie aus OpenLDAP?
  4. Lassen Sie DHCP die DNS-Einträge der Clients selbst eintragen: Set-DhcpServerv4DnsSetting

Fehlersuche

1. win11 bekommt keine Adresse aus dem LAN-Bereich

Entweder ist der DHCP-Server nicht autorisiert (Get-DhcpServerInDC), oder das DHCP-Relay auf der Firewall zeigt nicht auf 10.2XX.1.11. Auf win-dc mit Get-DhcpServerv4Lease prüfen, ob überhaupt Anfragen ankommen.

2. win11 hat eine Adresse, findet die Domäne aber nicht

Der DHCP-Bereich gibt den falschen DNS-Server aus, z.B. die Firewall. ipconfig /all auf win11 zeigt es. Set-DhcpServerv4OptionValue -DnsServer 10.2XX.1.11

3. Auf win-dc funktioniert Resolve-DnsName debian.org nicht

Der Forwarder fehlt oder die Firewall lässt DNS vom DC nicht durch. Get-DnsServerForwarder

4. dcdiag meldet Fehler beim Test „Advertising“ oder bei der Zeit

Der Zeitdienst ist nicht als zuverlässige Quelle eingetragen. w32tm /config … /reliable:yes /update, dann Restart-Service w32time

Vertiefung

Weiter