DHCP Server umziehen von 2003 nach 2008

Neulich hatte ich eine ansich kleine einfache Aufgabe vor mir: Einen DHCP-Server von Windows Server 2003 R2 deutsch nach Windows Server 2008 englisch umzuziehen. Sollte ja nicht so schwer sein….Sollte….

Irgendwo im Internet gelesen, geht ganz einfach per Backup/Restore über die GUI. Äh nein, dem ist nicht so ;-)

Anschließend den KB-Artikel 962355 gefunden, der den Umzug per Kommandozeile mit netsh beschreibt. Klingt gut, ausprobiert, gescheitert mit der Fehlermeldung beim Import “Error while importing class "Microsoft Windows 2000 Options." This class conflicts with the existing class "Microsoft Windows 2000-Optionen." An internal error occurred.”.

Danach habe ich die KB und auch das Internet nach der Fehlermeldung dursucht und bin auf den KB-Artikel 885687 gestoßen. Und dieser Artikel brachte meine Lösung. Klingt erstmal ziemlich kompliziert ist aber letztendlich ganz einfach.

Hintergrund ist der Sprachunterschied. In Deutsch heissen die Klassen (nicht die Optionen) anders und ein englischer Server kann das nicht importieren. Andersherum wäre es genauso. Der einfachste Weg ist demnach, dem deutschen Quellserver zuerst Englisch beizubringen und dan den Export/Import per netsh erneut zu starten. Damit klappte es dann bei mir.

Falls ihr das bei euch auch tun müsst, lest bitte den KB komplett durch!

Hier mit meinen Worten erklärt:

  1. Als erstes sowohl vom bisherigen DHCP-Server als auch vom leeren neuen DHCP-Server 2 Backups erstellt. Einmal per GUI und einmal mittels netsh!
  2. Am 2003er Quellserver mit netsh dhcp server dump > c:\export.txt ein Textdump der DHCP-Konfiguration erstellen. Der wesentliche Abschnitt der Exportdatei sieht wie folgt aus:

    # ==============================================================
    #  Konfiguration für Server 10.201.1.19
    # ==============================================================

    # =====================================
    #     Klassen hinzufügen
    # =====================================

    Dhcp Server 10.201.1.19 Add Class "Microsoft Windows 2000-Optionen" "Herstellerspezifische Optionen für Microsoft Windows 2000-Clients" 4d53465420352e30 1 b
    Dhcp Server 10.201.1.19 Add Class "Microsoft Windows 98-Optionen" "Herstellerspezifische Optionen für Microsoft Windows 98-Clients" 4d534654203938 1 b
    Dhcp Server 10.201.1.19 Add Class "Microsoft-Optionen" "Herstellerspezifische Optionen für Microsoft Windows 98- und Windows 2000-Clients" 4d534654 1 b
    Dhcp Server 10.201.1.19 Add Class "Standard-BOOTP-Klasse" "Benutzerklasse für BOOTP-Clients" 424f4f54502e4d6963726f736f6674 0 b
    Dhcp Server 10.201.1.19 Add Class "Standardklasse fr Routing und RAS" "Benutzerklasse RAS-Clients" 525241532e4d6963726f736f6674 0 b

    # =====================================
    #     Ende – Klassen hinzufügen
    # =====================================

  3. Am 2008er Zielserver ebenfalls netsh dhcp server dump > c:\export.txt ausführen. Der wesentliche Abschnitt sieht hier wie folgt aus:

    # ==============================================================
    # Configuration Information for Server 10.201.1.4
    # ==============================================================

    # =====================================
    # Add Classes
    # =====================================

    Dhcp Server 10.201.1.4 Add Class "Default Routing and Remote Access Class" "User class for remote access clients" 525241532e4d6963726f736f6674 0 b
    Dhcp Server 10.201.1.4 Add Class "Default Network Access Protection Class" "Default special user class for Restricted Access clients" 4d5346542051756172616e74696e65 0 b
    Dhcp Server 10.201.1.4 Add Class "Default BOOTP Class" "User class for BOOTP Clients" 424f4f54502e4d6963726f736f6674 0 b
    Dhcp Server 10.201.1.4 Add Class "Microsoft Windows 2000 Options" "Microsoft vendor-specific options for Windows 2000 Clients" 4d53465420352e30 1 b
    Dhcp Server 10.201.1.4 Add Class "Microsoft Windows 98 Options" "Microsoft vendor-specific options for Windows 98 Clients" 4d534654203938 1 b9
    Dhcp Server 10.201.1.4 Add Class "Microsoft Options" "Microsoft vendor-specific options applicable to Windows 98 and Windows 2000 Clients" 4d534654 1 b

    # =====================================
    # Add Classes End
    # =====================================

  4. Als nächstes wird ein neues Script erstellt, das die Benennungen der Klassen korrigiert:

    netsh Dhcp Server 10.201.1.19 Delete Class "Microsoft Windows 2000-Optionen" "Herstellerspezifische Optionen fr Microsoft Windows 2000-Clients" 4d53465420352e30 1 b
    netsh Dhcp Server 10.201.1.19 Delete Class "Microsoft Windows 98-Optionen" "Herstellerspezifische Optionen fr Microsoft Windows 98-Clients" 4d534654203938 1 b
    netsh Dhcp Server 10.201.1.19 Delete Class "Microsoft-Optionen" "Herstellerspezifische Optionen fr Microsoft Windows 98- und Windows 2000-Clients" 4d534654 1 b
    netsh Dhcp Server 10.201.1.19 Delete Class "Standard-BOOTP-Klasse" "Benutzerklasse fr BOOTP-Clients" 424f4f54502e4d6963726f736f6674 0 b
    netsh Dhcp Server 10.201.1.19 Delete Class "Standardklasse fr Routing und RAS" "Benutzerklasse RAS-Clients" 525241532e4d6963726f736f6674 0 b

    netsh Dhcp Server 10.201.1.19 Add Class "Default Routing and Remote Access Class" "User class for remote access clients" 525241532e4d6963726f736f6674 0 b
    netsh Dhcp Server 10.201.1.19 Add Class "Default Network Access Protection Class" "Default special user class for Restricted Access clients" 4d5346542051756172616e74696e65 0 b
    netsh Dhcp Server 10.201.1.19 Add Class "Default BOOTP Class" "User class for BOOTP Clients" 424f4f54502e4d6963726f736f6674 0 b
    netsh Dhcp Server 10.201.1.19 Add Class "Microsoft Windows 2000 Options" "Microsoft vendor-specific options for Windows 2000 Clients" 4d53465420352e30 1 b
    netsh Dhcp Server 10.201.1.19 Add Class "Microsoft Windows 98 Options" "Microsoft vendor-specific options for Windows 98 Clients" 4d534654203938 1 b9
    netsh Dhcp Server 10.201.1.19 Add Class "Microsoft Options" "Microsoft vendor-specific options applicable to Windows 98 and Windows 2000 Clients" 4d534654 1 b

    Zuerst werden die Klassen gelöscht und anschließend in Englisch neu hinzugefügt.

  5. Das Script habe ich auf dem 2003er DHCP-Server ausgeführt.

  6. Anschließend am Quellserver die Konfiguration per netsh dhcp server \\10.201.1.19 export c:\dhcpDB all exportieren, auf den Zielserver kopieren und dort per netsh dhcp server \\10.201.1.4 import c:\dhcpDB importieren.

  7. DHCP-Dienst am Quellserver beenden und deaktivieren.

  8. DHCP-Dienst am Zielserver neu starten und die Einstellungen überprüfen

  9. Das war’s.

Weitere Informationen:

Viele Grüße
Dieter


Dieter Rauscher
MVP Forefront