DHCP: Einfacher Umzug DHCP-Dienst auf neuen Server mit Anpassung Scope, allen bestehenden Leases und Reservierungen

Problem:
Ich wollte meinen DHCP-Dienst von meinem Server 2008 R2 auf den neuen DC unter 2016 migrieren.
Dabei habe ich nach einer Möglichkeit gesucht nicht alles neu einzutippen, vor allem die Reservierungen wären sehr mühsam gewesen. Wenn man hier für den 2008R2 sucht, wird man nicht fündig - weder über GUI, noch über Powershell. Man muss das ganze vom 2016er-Server angehen. Seit Server 2012 gibt es einen Powershell-Befehl für den Export bzw. Import der DHCP-Konfiguration.

Lösung:
Um die DHCP-Konfiguration vollständig zu exportieren, anzupassen und auf dem neuen Server zu importieren, gehen Sie wie folgt vor.
WICHTIG: FÜHREN SIE ALLE BEFEHLE AUF DEM NEUEN SERVER UNTER 2012R2 ODER 2016 DURCH!!

1.) Installieren Sie auf dem neuen DHCP-Server die DHCP-Rolle, damit die Powershell-Befehle vorhanden sind - überspringen Sie die Konfiguration des Dienstes

2.) Erstellen Sie das Export-Verzeichnis "C:\export" für die Konfiguration an

3.) Führen Sie folgenden Powershell-Befehl für den EXPORT aus (Computernamen anpassen!) :
Export-DhcpServer –ComputerName ALTER-DHCP-SERVER.domain.tld -Leases -File C:\export\dhcpexp.xml -verbose

4.) Jetzt können Sie z.B. die DHCP-Scope in der dhcpexp.xml anpassen. Einfach im Text-Editor öffnen und nach Scope suchen um dann die START- und END-Scope anpassen.

5.) Führen Sie folgenden Powershell-Befehl aus um die Konfiguration in den neuen DCHP-Server zu importieren (Computernamen anpassen):
Import-DhcpServer –ComputerName NEUER-DHCP-SERVER.domain.tld -Leases –File C:\export\dhcpexp.xml -BackupPath C:\dhcp\ -Verbose

6.) FERTIG - Eventuell startet der Install-Wizard beim Öffnen nochmal, diesen einfach abschließen!

Somit ist ein Umzug des DHCP-Servers ohne großen Aufwand und Verlust möglich. Zeitgleich kann ich die SCOPE anpassen, ohne die ganze Konfiguration neu einzugeben.

Kleiner TIPP am Rand: Seit Server 2012 gibt es die Funktion "DHCP-Failover", die man im Modus "Loadbalancer" und "Fail-over" betreiben kann. Sehr schönes Feature, wenn man es braucht!

Quelle:
spiffy.sg: Migrate Existing DHCP Server to Windows Server 2012 easily with PowerShell

ActiveDirectory: Wie ändere ich die IP-Adresse eines Domänen Controllers

Problem:
Ich musste die IP eines Domänen-Controllers ändern, da ich einen brandneuen Server 2016er DC aufgesetzt habe, aber keine Lust hatte an allen Druckern, DHCP-Scopes etc. die DNS-IP-Adressen anzupassen.

Lösung:
Eigentlich ist das Ändern relativ einfach, jedoch muss man der AD etwas Zeit geben, bis die Replizierung von AD und DNS durch ist. Folgende Schritte habe ich zur Änderung durchgeführt:

1.) Überprüfen Sie die korrekte Funktion der ActiveDirectory VOR der Umstellung (Replikation, dcdiag)
2.) Ändern Sie die IP-Adresse des betroffenen Domänen-Conmtrollers
3.) Führen Sie ein "ipconfig /registerdns" durch um die DNS-Änderungen zu aktualisieren
4.) Führen Sie ein "ipconfig /flushdns" durch um gecachte DNS-Einträge zu verwerfen
5.) Fühbren Sie ein "dcdiag /fix" durch um SPN-Einträge zu korrigieren
6.) WICHTIG: 5 Minuten nichts machen bis alle DNS/DC die neue IP haben (IT-Kaffee-Hol-Regel)
7.) Im DNS prüfen, ob alle Einträge richtig und nur noch die neuen IPs zu finden sind
8.) Auf allen DCs ein "ipconfig /flushdns" durchführen und den DNS-Cache an den DNS-Servern löschen.
8.) ActiveDirectory prüfen mittels Replikation und dcdiag etc.
9.) WICHTIG: Auf allen laufenden, wichtigen Servern (Exchange, SQL etc.) ein "ipconfig /flushdns" ausführen um die veralteten DNS-Einträge zu löschen - sonst kommt es zu eigenartigen Fehlermeldungen
10.) OPTIONAL: DHCP-Einstellungen anpassen, falls sich DNS-Server auch geändert haben
11.) Fertig! Nächster Kaffee...

Falls man, wie ich, zwei DCs ändern muß (alten DC auf neue IP und neuen DC auf alte IP), sollte man immer zwischen den Änderungen Zeit einplanen, damit die AD alles mitbekommt!

ActiveDirectory: Sicheres Schema-Update (ADPREP) mittels Replikations-Pause

Vorgehenweise um ein sicheres ActiveDirectroy-Schema-Update durchzuführen

Viele haben bestimmt schon ein ActiveDirectory-Schema-Update durchgeführt, ohne sich der Risiken bewusst zu sein, oder diese zu ignorieren. Ich hatte vor kurzem das erste Mal einen Stromausfall bei einem Schema-Update - glücklicherweise in einer Demo-Umgebung. Das Schema war danach zerstört und hatte sich aber beim Neustart der Server bereits repliziert - ActiveDirectory komplett zerstört, nur noch Fehlermeldungen beim Zugriff auf Objekte!
Um das zu verhindern, habe ich mir eine Anleitung zusammengebaut, in der ich wie folgt vorgehe:

1.) Verzeichnis-Replikation auf dem Schemamaster deaktivieren
2.) ADPREP durchführen
3.) Testen des Zugriffs auf die AD (ActiveDirectory-Benutzer und -Computer)
4.) Verzeichnis-Replikation wieder aktivieren
5.) Test der ActiveDirectory

Dazu gehe ich wie folgt vor:

1.) Schemamaster finden
Dazu verwende ich den Befehl "netdom query fsmo" und schau, welcher DC der Schemamaster ist

2.) Aktuelle Schema-Version ermitteln
Hierzu verwende ich auf dem Schemamaster den Befehl DSQUERY.
Hier ein Beispiel für die Domäne DEMO.LOCAL
dsquery * CN=Schema,CN=Configuration,DC=DEMO,DC=LOCAL -Scope Base -attr objectVersion

Kleiner Tipp, falls es sich um ein Exchange-Schema-Update handelt - mit diesem Befehl kann ich die Exchange-Version des Schemas auslesen:
dsquery * CN=ms-Exch-Schema-Version-Pt,cn=schema,cn=configuration,dc=DEMO,dc=INTERN -scope base -attr rangeUpper


3.) Verzeichnis-Replikation auf dem Schemamaster deaktivieren
Hierzu verwendet ich die den Befehl "repadmin" um die eingehende und ausgehende Replikation zu deaktivieren:
(SCHEMAMASTER-NAME muss angepasst werden)

repadmin /options SCHEMAMASTER-NAME +DISABLE_OUTBOUND_REPL
repadmin /options SCHEMAMASTER-NAME +DISABLE_INBOUND_REPL

Danach findet man im Ereignisprotokoll die Ereignisse 1113 und 1115, die darauf hinweisen, dass eingehende und ausgehende Replikation vom Benutzer deaktiviert wurde (Ereignisprotokoll VERZEICHNISDIENST)


4.) Schema-Update durchführen
Jetzt führt man das Schema-Update durch mittels diesen drei Befehlen:
adprep /forestprep
adprep /domainprep
adprep /rodcprep


Im Ereignis-Protokoll werden die Aktualisierungen auch mit protokolliert:


5.) Prüfen der neuen Schema-Version
Nun kann man mittels DSQUERY-Befehl prüfen, ob die neue Schema-Version vorliegt
dsquery * CN=Schema,CN=Configuration,DC=DEMO,DC=LOCAL -Scope Base -attr objectVersion
Als Test dann man sich mal auf einen anderen DC einloggen und den Befehl ebenfalls durchführen.
Hier wird man sehen, dass die Schema-Version noch die alte Version ist, da die Replikation nicht aktiv ist!

6.) Testzugriff auf die AD auf dem Schemamaster
Öffnen Sie einige AD-Konsolen auf dem gerade aktualisieren Schemamaster und klicken Sie sich durch, ob es zu Fehlermeldungen kommt. Wenn alles in Ordnung ist, dann können Sie die Replikation wieder aktivieren.

7.) Replikation wieder aktivieren und das Schema global aktualisieren

Starten Sie auf dem Schemamaster mittels der nachfolgenden Befehle wieder die ein- und ausgehende Replikation:

repadmin /options SCHEMAMASTER-NAME -DISABLE_OUTBOUND_REPL
repadmin /options SCHEMAMASTER-NAME -DISABLE_INBOUND_REPL


Das Aktivieren der Replikation wird ebenfalls wieder im Ereignisprotokoll angezeigt:



8.) Prüfen der neuen Schema-Version
Starten Sie die Replikation der DCs manuell oder warten Sie den Zyklus ab. Danach prüfen Sie auf allen bestehenden DCs, ob das Schema übernommen wurde mittels des vorherigen DSQUERY-Befehl.

9.) FERTIG!

Damit haben Sie eine risikoarme Schema-Erweiterung durchgeführt und minimieren das Risiko, dass die ActiveDirectory beschädigt wird.

Quellen für die Hilfestellung:
Directory Services: Upgrading AD DS Schema to Windows Server 2016
ANTARY: Active Directory Schema Version herausfinden




Exchange: Kostenloses SAN-Zertifikat bei StartSSL für Serverumzug

Problem:
Während meines Exchange-Server-Swings habe ich temporär ein zweites SAN-Zertifikat benötigt und wollte ein öffentliches haben, da sonst die Smartphones über ActiveSync Probleme machen!

Lösung:
Ich habe bei StartSSL ein kostenloses SAN-Zertifikat bekommen. Der Vorteil für mich, gegenüber von Let'sEncrypt", das Zertifikat ist ein Jahr gültig (nicht nur 3 Monate) und ich konnte eine CSR-Anfrage von meinem Exchange "reinkippen".

Nachteil:
Das Zertifikat ist nur ein Jahr gültig und wird von Apple als unsicher eingestuft (Nicht verwunderlich). Der Internet Explorer hat das Zertifikat als valid eingestuft, da hier noch die Root-CA als vertrauenswürdig gilt.

Als temporäres OWA- und SMTP-SAN-Zertifikat hat es für mich gereicht und hat auch super geklappt!

Franky hat hier eine super tolle Anleitung dazu gemacht (Wie immer!!): Frankys Web: Kostenlose SAN-Zertifikate auch bei StartSSL

...und StartSSL findet Ihr hier: StartSSL.com

ActiveDirectory: OU definieren für neue Computer-Objekte

Problem:
Wenn wir neue Computer in die AD aufnehmen und diese nicht in die richtige OU Verschieben, dann wirken die ganzen GPOs nicht auf den jeweiligen Rechner (Software, Einstellungen, Admins etc.). Ich wollte eine Benachrichtigung beim Anmelden bekommen, wenn der Computer sich noch in der Default-OU befindet. Da die OU "Computers" keine GPOS zulässt, wollte ich neue Computer in einer eigenen OU Erstellen und hier eine Inital-GPO wirken lassen mit Benachrichtigungstext beim Anmelden.


Lösung:
Die Voraussetzungen für die nachstehende Lösung ist eine Domänenlevel mindestens "Windows Server 2003".

Folgende Vorgehensweise um die neue Default-OU für Computer zu erstellen:

1.) Erstellen Sie eine neue OU (z.B. "NewComputers") und schützen Sie diese vor unabsichtlichen Löschen!

2.) Geben Sie auf einem DC folgenden Befehl in einer CMD mit Admin-Rechten ein:
redircmp OU=NewComputers,DC=domain,dc=tld
(z.B. in der Domäne demo.local würde der Befehl wie folgt heißen: redircmp OU=NewComputers,DC=demo,dc=local)

3.) Testen der neuen Einstellung, in dem man einen Computer der Domäne hinzufügt!


Quelle:IT Pro Central: How to define an OU as default location for new Computer objects
“Die Organisationen stecken Millionen von Dollars in Firewalls und Sicherheitssysteme und verschwenden ihr Geld, da keine dieser Maßnahmen das schwächste Glied der Sicherheitskette berücksichtigt: Die Anwender und Systemadministratoren.”
Kevin Mitnick