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.IdentifyingNumberwird 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:
IdentifyingNumberUUID(ausWin32_ComputerSystemProduct.UUID)SerialNumber(ausWin32_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
- Sysprep ausfĂŒhren (generalize + shutdown)
- VM nicht sofort starten, sondern:
- eine neue UUID, Seriennummer, MAC-Adresse etc. konfigurieren
- 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