Sysprep erzeugt keine eindeutigen vm IDs

Wenn man Sysprep beim Klonen von Windows-VMs verwendet, kann es passieren, dass alle geklonten Systeme die gleiche IdentifyingNumber aus Win32_ComputerSystemProduct erhalten – insbesondere bei virtuellen Maschinen (VMs).

đŸ§© Warum ist das so?

IdentifyingNumber stammt aus SMBIOS

  • Die Eigenschaft Win32_ComputerSystemProduct.IdentifyingNumber wird vom SMBIOS geliefert.
  • Bei physischen PCs enthĂ€lt sie z. B. die Seriennummer des Mainboards.
  • Bei VMs (z. B. Hyper-V, VMware, VirtualBox) wird dieser Wert vom Hypervisor simuliert oder fix vorgegeben.

Sysprep verÀndert SMBIOS-Werte nicht

  • Sysprep entfernt Benutzerinformationen, SIDs, Netzwerkkonfigurationen etc.
  • Aber es verĂ€ndert keine Hardwareinformationen wie:
    • IdentifyingNumber
    • UUID (aus Win32_ComputerSystemProduct.UUID)
    • SerialNumber (aus Win32_BIOS)
  • Diese Werte bleiben nach dem Sysprep-Klonen identisch, wenn der Hypervisor sie nicht automatisch generiert oder du sie manuell ersetzt.

⚠ Warum ist das ein Problem?

Asset-Management

Tools wie SCCM, GLPI, OCS Inventory oder Lizenzsysteme nutzen IdentifyingNumber zur Erkennung von GerÀten.
âžĄïž Wenn alle VMs die gleiche ID haben → GerĂ€teĂŒberschreibung.

Lizenzierung

Software, die per Hardware-ID lizenziert wird (z. B. manche PHP-VerschlĂŒsselungen, SQL-Server-Bindungen), wird beim Klonen ungĂŒltig oder doppelt registriert.

🛠 Lösung: Eindeutige SMBIOS-IDs zuweisen

FĂŒr Hyper-V:

powershellKopierenBearbeitenSet-VMFirmware -VMName "VM-Name" -SystemSerialNumber "DEINE-EINDEUTIGE-ID"

FĂŒr VMware Workstation/ESXi:

  • In .vmx-Datei: iniKopierenBearbeitenuuid.bios = "56 4d 12 34 56 78 90 ab-cd ef 12 34 56 78 90 ab" serialNumber = "VM-1234567890"

FĂŒr VirtualBox:

cmdKopierenBearbeitenVBoxManage setextradata "VM Name" "VBoxInternal/Devices/pcbios/0/Config/SerialNumber" "UNIQUE-ID"

⚠ Diese Werte mĂŒssen vor dem ersten Boot nach dem Klonen gesetzt werden.

✅ Empfohlener Klon-Prozess fĂŒr VMs mit Sysprep

  1. Sysprep ausfĂŒhren (generalize + shutdown)
  2. VM nicht sofort starten, sondern:
    • eine neue UUID, Seriennummer, MAC-Adresse etc. konfigurieren
  3. Erst danach VM starten und initialisieren lassen

🔒 Alternative: Bessere Hardware-IDs nutzen

Wenn du eine eindeutige Systemkennung brauchst, verwende eine dieser Optionen:

WMI Property Vorteil
Win32_ComputerSystemProduct.UUID Etwas robuster, aber oft auch identisch
Win32_BIOS.SerialNumber Manchmal vom Host ĂŒberschrieben (z. B. „VMware-56…“)
Get-CimInstance Win32_BaseBoard + SerialNumber BIOS-Board-spezifisch, aber bei VMs oft leer
MAC-Adresse der NIC Unterscheidbar, falls per DHCP/Hypervisor generiert

Oder:
Erzeuge bei Erststart eine eindeutige Kennung (z. B. GUID in Datei/Registry) → das ist verlĂ€sslich, selbst bei gleichen Hardware-IDs.

đŸ§Ÿ Fazit

Punkt Aussage
IdentifyingNumber wird nicht von Sysprep zurĂŒckgesetzt ✅ korrekt
Klone ohne Anpassung erzeugen Duplikate ⚠ problematisch fĂŒr Inventar, Lizenzierung, Monitoring
Lösung Seriennummer/UUID per Hypervisor setzen vor dem Start der geklonten VM
Alternativ Eigene GUID beim First Boot generieren und persistieren

Kommentare

Schreiben Sie einen Kommentar

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