Angeben von Hardware-IDs für einen Computer

Geräte und Drucker erkennen den Computer als Gerätecontainer. Daher kann der Computer innerhalb eines Gerätemetadatenpakets mithilfe eines HardwareID-XML-Elements identifiziert werden, das einen eindeutigen Hardware-ID-Wert angibt. Dieser Hardware-ID-Wert für den Computer (manchmal auch als Computerhardware-ID oder CHID bezeichnet) kann eine Kombination der SMBIOS-Felddaten (System Management BIOS) angeben.

Im Gegensatz zu Hardware-IDs für andere Gerätecontainer wird die Hardware-ID für den Computer jedes Mal von Windows generiert, wenn das System gestartet wird. Die Hardware-IDs für einen Computer können durch Ausführen des Tools ComputerHardwareIds (ComputerHardwareIDs.exe) generiert werden, das im Windows Driver Kit (WDK) für Windows 7 enthalten ist, Windows 8 und Windows 8.1. Ab Windows 10 ist das Tool ComputerHardwareIds im Software Development Kit (SDK) enthalten.

Das Tool ComputerHardwareIds generiert einen Satz von Hardware-IDs für den Computer, der auf Informationen aus den Feldern im Systemverwaltungs-BIOS (SMBIOS) des Systems basiert. In der folgenden Tabelle werden diese SMBIOS-Felder beschrieben.

Feldname Strukturname und -typ SMBIOS-Spezifikationsversion Offset Länge Wert BESCHREIBUNG
Hersteller Systeminformationen (Typ 1) 2.0+ 04h BYTE STRING Der Index einer null-beendeten Zeichenfolge innerhalb des dmiStrucBuffer-Arrays. Diese Zeichenfolge gibt den Namen des Computerherstellers an.
Familie Systeminformationen (Typ 1) 2.4+ 1Ah BYTE STRING Der Index einer null-beendeten Zeichenfolge innerhalb des dmiStrucBuffer-Arrays. Diese Zeichenfolge gibt die Familie an, zu der ein bestimmter Computer gehört. Eine Familie bezieht sich auf eine Gruppe von Computern, die ähnlich, aber aus Hardware- oder Softwaresicht nicht identisch sind. In der Regel besteht eine Familie aus verschiedenen Computermodellen, die unterschiedliche Konfigurationen und Preispunkte aufweisen. Computer in derselben Familie verfügen häufig über ähnliche Branding- und kosmetische Features.
Produktname Systeminformationen (Typ 1) 2.0+ 05h BYTE STRING Der Index einer null-beendeten Zeichenfolge innerhalb des dmiStrucBuffer-Arrays. Diese Zeichenfolge gibt den Produktnamen des Computers an.
Hersteller BIOS-Informationen (Typ 0) 2.0+ 04h BYTE STRING Der Index einer null-beendeten Zeichenfolge innerhalb des dmiStrucBuffer-Arrays. Diese Zeichenfolge gibt den Namen des BIOS-Herstellers an.
BIOS-Version BIOS-Informationen (Typ 0) 2.+0 05h BYTE STRING Der Index einer null-beendeten Zeichenfolge innerhalb des dmiStrucBuffer-Arrays. Diese Zeichenfolge kann Informationen zum Prozessorkern und zur OEM-Version enthalten.
System-BIOS-Hauptversion BIOS-Informationen (Typ 0) 2.4+ 14h BYTE Verschiedene Ursachen. Die Hauptversion des System-BIOS.
System-BIOS-Nebenversion BIOS-Informationen (Typ 0) 2.4+ 15h BYTE Varies Die Nebenversion des System-BIOS.
Gehäusetyp Systemgehäuse (Typ 3) 2.0+ 05h BYTE Varies Die Systemgehäuse- oder Gehäusetypen.
SKU-Nummer SKU-Nummer (Typ 1) 2.4+ 19h BYTE STRING Die Identifizierung einer bestimmten Computerkonfiguration für den Verkauf.
Baseboard-Hersteller Hersteller (Typ 2) 04h BYTE STRING Anzahl der Zeichenfolge, die mit NULL beendet wurde. Diese Zeichenfolge identifiziert den Hersteller des Baseboards, wobei das Baseboard – Board-Typ 0Ah (Motherboard) ist.
Baseboard-Produkt Produkt (Typ 2) 05h BYTE STRING Anzahl der NULL-beendeten Zeichenfolgen. Diese Zeichenfolge identifiziert den Produktnamen des Baseboards, wobei das Baseboard – Board type 0Ah (Motherboard) ist.

Weitere Informationen zum dmiStrucBuffer-Array und den SMBIOS-Feldern finden Sie in der SmBIOS-Spezifikation (System Management BIOS) auf der DmTF-Website (Distributed Management Task Force).

Wenn das Tool ComputerHardwareIds ausgeführt wird, werden eindeutige Hardware-IDs aus den SMBIOS-Informationen erstellt. Jede Hardware-ID ist eine GUID und wird durch Verkettung der Werte aus den SMBIOS-Feldern erstellt.

Die folgenden Tabellen zeigen die SMBIOS-Felder, die zum Bilden jeder Hardware-ID in Windows 7, Windows 8, Windows 8.1 und Windows 10 verwendet werden.

Wichtig Jede Computer HardwareID wird nur generiert, wenn jedes einzelne SMBIOS-Feld, das zum Generieren der HardwareID verwendet wird, in den SMBIOS-Daten für das System aufgefüllt wird.

HWID Windows 7
HardwareID-0 Hersteller + Familie + Produktname + Hersteller + BIOS-Version + System-BIOS-Hauptversion + System-BIOS-Nebenversion
HardwareID-1 Hersteller + Produktname + BIOS-Hersteller + BIOS-Version + System-BIOS-Hauptversion + System-BIOS-Nebenversion
HardwareID-2 Hersteller + Familie + ProductName
HardwareID-3 Hersteller + ProductName
HardwareID-4 Hersteller + Familie
HardwareID-5 Hersteller + Gehäusetyp
HardwareID-6 Hersteller
HWID Windows 8, Windows 8.1
HardwareID-0 Hersteller + Familie + Produktname + SKU-Nummer + BIOS-Hersteller + BIOS-Version + BIOS-Hauptversion + BIOS-Nebenversion
HardwareID-1 Hersteller + Familie + Produktname + BIOS-Hersteller + BIOS-Version + BIOS-Hauptversion + BIOS-Nebenversion
HardwareID-2 Hersteller + Produktname + BIOS-Hersteller + BIOS-Version + BIOS-Hauptversion + BIOS-Nebenversion
HardwareID-3 Hersteller + Familie + ProductName + SKU-Nummer
HardwareID-4 Hersteller + Familie + ProductName
HardwareID-5 Hersteller + SKU-Nummer
HardwareID-6 Hersteller + ProductName
HardwareID-7 Hersteller + Familie
HardwareID-8 Hersteller + Gehäusetyp
HardwareID-9 Hersteller
HWID Windows 10
HardwareID-0 Hersteller + Familie + Produktname + SKU-Nummer + BIOS-Hersteller + BIOS-Version + BIOS-Hauptversion + BIOS-Nebenversion
HardwareID-1 Hersteller + Familie + Produktname + BIOS-Hersteller + BIOS-Version + BIOS-Hauptversion + BIOS-Nebenversion
HardwareID-2 Hersteller + Produktname + BIOS-Hersteller + BIOS-Version + BIOS-Hauptversion + BIOS-Nebenversion
HardwareID-3 Hersteller + Familie + Produktname + SKU-Nummer + Baseboard-Hersteller + Baseboard-Produkt
HardwareID-4 Hersteller + Familie + Produktname + SKU-Nummer
HardwareID-5 Hersteller + Familie + Produktname
HardwareID-6 Hersteller + SKU-Nummer + Baseboard Hersteller + Baseboard-Produkt
HardwareID-7 Hersteller + SKU-Nummer
HardwareID-8 Hersteller + Produktname + Baseboard Hersteller + Baseboard-Produkt
HardwareID-9 Hersteller + Produktname
HardwareID-10 Hersteller + Familie + Baseboard Hersteller + Baseboard-Produkt
HardwareID-11 Hersteller + Familie
HardwareID-12 Hersteller + Gehäusetyp
HardwareID-13 Hersteller + Baseboard-Hersteller + Baseboard-Produkt
HardwareID-14 Hersteller

Jede Hardware-ID-Zeichenfolge wird mithilfe des SHA-1-Hashalgorithmus in eine GUID konvertiert.

Verwenden von Computerhardware-IDs mit PC-Gerätemetadatenpaketen

Für Windows 7-Systeme wird dringend empfohlen, dass Anbieter die folgenden Schritte ausführen, wenn sie einen Hardware-ID-Wert auswählen, der als HardwareID-XML-Elementwert für den Computer verwendet werden soll.

  • Verwenden Sie HardwareID-3 oder HardwareID-4 als erste Wahl, wenn das Gerätemetadatenpaket mit einem Computer übereinstimmt, der über ein bestimmtes Unternehmen, eine bestimmte Familie und ein bestimmtes Modell verfügt. Dadurch kann ein Metadatenpaket mit dem angegebenen Computer übereinstimmen, das die präzisesten Metadaten für den Computer bereitstellt.

  • Verwenden Sie HardwareID-5 als zweite Wahl, wenn das Gerätemetadatenpaket die gesamte Familie von Computern abdeckt. In diesem Fall ist die Computerfamilie einzigartig und nicht mit mehr als einer Produktlinie versehen.

  • Verwenden Sie HardwareID-6 oder HardwareID-7 als dritte Wahl, wenn das Gerätemetadatenpaket alle Computer oder computer mit einem bestimmten Gehäusetyp abdeckt.

Hinweis Verwenden Sie für Windows 7 PC-Gerätemetadaten nicht HardwareID-1 oder HardwareID-2 für die Hardware-ID des Computers. Hardware-ID-1 oder HardwareID-2 ist für die zukünftige Verwendung reserviert.

Hinweis Für Windows 8 PC-Gerätemetadaten wird dringend empfohlen, dass Anbieter HardwareID-1, HardwareID-2, HardwareID-3 für die Hardware-ID des Computers nicht verwenden. HardwareID-1, HardwareID-2, HardwareID-3 sind für die zukünftige Verwendung reserviert. Stattdessen können Anbieter HardwareID-4, HardwareID-5, HardwareID-6, HardwareID-7, HardwareID-8, HardwareID-9 und HardwareID-10 verwenden.

Verwenden Sie die folgenden Regeln, um anzugeben, dass die Hardware-ID für einen Computergerätecontainer gilt:

  • Trennen Sie die Hardware-ID-Zeichenfolge durch die Zeichen "{" und "}".

  • Fügen Sie das Präfix "ComputerMetadata\" vor der Hardware-ID-Zeichenfolge hinzu.

Im Folgenden sehen Sie ein Beispiel für ein HardwareID-XML-Element für den Computer:

DOID:ComputerMetadata\{c20d5449-511e-4cb5-902a-a541239322aa}

Weitere Informationen zu den Formatanforderungen des HardwareID-XML-Elements finden Sie unter HardwareID.

Windows 10 Treiberveröffentlichungsworkflow