コンピューター ハードウェア ID (CHID) は、システム管理 BIOS (SMBIOS) フィールド データの組み合わせに基づいて特定のコンピューターを識別する一意の ハードウェア ID 値です。 他のデバイスのハードウェア ID とは異なり、システムが起動するたびに、Windowsによって CHID が生成されます。 各 CHID は、SHA-1 アルゴリズムを使用して SMBIOS フィールド値の組み合わせをハッシュすることによって作成された GUID です。
Important
CHID は、作成に使用されるすべての SMBIOS フィールドがシステムの SMBIOS データに設定されている場合にのみ生成されます。
CHID 生成で使用される SMBIOS フィールド
次の表では、CHID の生成に使用される SMBIOS フィールドについて説明します。
| フィールド名 | 構造体の名前と型 | SMBIOS 仕様バージョン | オフセット | 長さ | 価値 | Description |
|---|---|---|---|---|---|---|
| Manufacturer | システム情報 (タイプ 1) | 2.0+ | 04h | BYTE | STRING | dmiStrucBuffer 配列内の null で終わる文字列のインデックス。 この文字列は、コンピューターの製造元の名前を指定します。 |
| ファミリ | システム情報 (タイプ 1) | 2.4+ | 1Ah | BYTE | STRING | dmiStrucBuffer 配列内の null で終わる文字列のインデックス。 この文字列は、特定のコンピューターが属するファミリを指定します。 ファミリとは、ハードウェアまたはソフトウェアの観点から見て似ているが同一ではないコンピューターのセットを指します。 通常、ファミリは、構成と価格ポイントが異なるさまざまなコンピューター モデルで構成されます。 同じファミリのコンピューターは、多くの場合、ブランド化と化粧品の機能が似ています。 |
| 製品名 | システム情報 (タイプ 1) | 2.0+ | 05h | BYTE | STRING | dmiStrucBuffer 配列内の null で終わる文字列のインデックス。 この文字列は、コンピューターの製品名を指定します。 |
| 売り手 | BIOS 情報 (種類 0) | 2.0+ | 04h | BYTE | STRING | dmiStrucBuffer 配列内の null で終わる文字列のインデックス。 この文字列は、BIOS ベンダーの名前を指定します。 |
| BIOS バージョン | BIOS 情報 (種類 0) | 2.0+ | 05h | BYTE | STRING | dmiStrucBuffer 配列内の null で終わる文字列のインデックス。 この文字列には、プロセッサ コアと OEM のバージョンに関する情報を含めることができます。 |
| システム BIOS メジャー リリース | BIOS 情報 (種類 0) | 2.4+ | 14時間 | BYTE | 異なる場合があります。 | システム BIOS のメジャー リリース。 |
| システム BIOS マイナーリリース | BIOS 情報 (種類 0) | 2.4+ | 15時間 | BYTE | 場合により異なる | システム BIOS のマイナー リリース。 |
| エンクロージャの種類 | システム エンクロージャ (タイプ 3) | 2.0+ | 05h | BYTE | 場合により異なる | システムエンクロージャまたはシャーシタイプ。 |
| SKU 番号 | SKU 番号 (種類 1) | 2.4+ | 19時間 | BYTE | STRING | 販売対象の特定のコンピューター構成の識別。 |
| ベースボードの製造元 | 製造元 (タイプ 2) | 04h | BYTE | STRING | null で終わる文字列の数。 この文字列は、ベースボードの製造元を識別します。ベースボード - ボードの種類は 0Ah (マザーボード) です。 | |
| ベースボード製品 | 製品 (タイプ 2) | 05h | BYTE | STRING | null で終わる文字列の数。 この文字列は、ベースボードの製品名を識別します。ベースボード - ボードの種類は 0Ah (マザーボード) です。 |
dmiStrucBuffer 配列と SMBIOS フィールドの詳細については、分散管理タスク フォース (DMTF) Web サイトのシステム管理 BIOS (SMBIOS) 仕様を参照してください。
Windows バージョン別の CHID コンポジション
次の表は、各 CHID を形成するために結合される SMBIOS フィールドを示しています。 数値が小さい CHID の方が具体的ですが、番号の大きい CHID はより一般的です。
Windows 7
| Hwid | SMBIOS フィールド |
|---|---|
| HardwareID-0 | 製造元 + ファミリ + 製品名 + ベンダー + BIOS バージョン + システム BIOS メジャー リリース + システム BIOS マイナー リリース |
| HardwareID-1 | 製造元 + 製品名 + BIOS ベンダー + BIOS バージョン + システム BIOS メジャー リリース + システム BIOS マイナー リリース |
| HardwareID-2 | 製造元 + ファミリ + 製品名 |
| HardwareID-3 | 製造元 + 製品名 |
| HardwareID-4 | 製造元 + ファミリ |
| HardwareID-5 | 製造元 + エンクロージャの種類 |
| HardwareID-6 | Manufacturer |
Windows 8 および Windows 8.1
| Hwid | SMBIOS フィールド |
|---|---|
| HardwareID-0 | 製造元 + ファミリ + 製品名 + SKU 番号 + BIOS ベンダー + BIOS バージョン + BIOS メジャー リリース + BIOS マイナー リリース |
| HardwareID-1 | 製造元 + ファミリ + 製品名 + BIOS ベンダー + BIOS バージョン + BIOS メジャー リリース + BIOS マイナー リリース |
| HardwareID-2 | 製造元 + 製品名 + BIOS ベンダー + BIOS バージョン + BIOS メジャー リリース + BIOS マイナー リリース |
| HardwareID-3 | 製造元 + ファミリ + 製品名 + SKU 番号 |
| HardwareID-4 | 製造元 + ファミリ + 製品名 |
| HardwareID-5 | 製造元と SKU 番号 |
| HardwareID-6 | 製造元 + 製品名 |
| HardwareID-7 | 製造元 + ファミリ |
| HardwareID-8 | 製造元 + エンクロージャの種類 |
| HardwareID-9 | Manufacturer |
Windows 10 以降
| Hwid | SMBIOS フィールド |
|---|---|
| HardwareID-0 | 製造元 + ファミリ + 製品名 + SKU 番号 + BIOS ベンダー + BIOS バージョン + BIOS メジャー リリース + BIOS マイナー リリース |
| HardwareID-1 | 製造元 + ファミリ + 製品名 + BIOS ベンダー + BIOS バージョン + BIOS メジャー リリース + BIOS マイナー リリース |
| HardwareID-2 | 製造元 + 製品名 + BIOS ベンダー + BIOS バージョン + BIOS メジャー リリース + BIOS マイナー リリース |
| HardwareID-3 | 製造元 + ファミリ + 製品名 + SKU 番号 + ベースボード製造元 + ベースボード製品 |
| HardwareID-4 | 製造元 + ファミリ + 製品名 + SKU 番号 |
| HardwareID-5 | 製造元 + ファミリ + 製品名 |
| HardwareID-6 | 製造元 + SKU 番号 + ベースボードの製造元 + ベースボード製品 |
| HardwareID-7 | 製造元と SKU 番号 |
| HardwareID-8 | 製造元 + 製品名 + ベースボードメーカー + ベースボード製品 |
| HardwareID-9 | 製造元 + 製品名 |
| HardwareID-10 | 製造元 + ファミリ + ベースボードメーカー + ベースボード製品 |
| HardwareID-11 | 製造元 + ファミリ |
| HardwareID-12 | 製造元 + エンクロージャの種類 |
| HardwareID-13 | 製造元 + ベースボードメーカー + ベースボード製品 |
| HardwareID-14 | Manufacturer |
ComputerHardwareIds ツールを使用して CHID を生成する
ComputerHardwareIds (ComputerHardwareIds.exe) は、コンピューター システムの特定のモデルのハードウェア ID を生成するために使用できるWindows Driver Kit (WDK)コマンドライン ツールです。
ComputerHardwareIds ツールは、Windows 7 以降のバージョンの Windows オペレーティング システムを実行するシステムでサポートされています。 このツールは、windows Driver Kit (WDK) の bin ディレクトリに含まれています。 32 ビット Windows プラットフォーム (x86) と 64 ビット Windows プラットフォーム (x64) には、個別のバージョンがあります。
WDK のダウンロードとインストールの詳細については、「 Windows ドライバー キット (WDK) のダウンロード」を参照してください。
ComputerHardwareIds を実行する
ComputerHardwareIds を実行するには、コマンド プロンプトでコマンドを入力します。
C:\Program Files (x86)\Windows Kits\10\bin\10.0.22621.0\x64>ComputerHardwareIds
パラメーター
なし
ComputerHardwareIds の出力例
ComputerHardwareIds ツールによって生成される出力の例を次に示します。
Using the BIOS to gather information
## Computer Information
BIOS Vendor: Contoso Inc.
BIOS Version string: A16
System BIOS Major Version: 6
System BIOS Minor Version: 0
System Manufacturer: Contoso Inc.
System Family: (null)
System ProductName: Contoso SYS01
Enclosure Type: Portable
Hardware IDs
------------
{346511cf-ccee-5c6d-8ee9-3c70fc7aae83} <- Manufacturer + Family + ProductName + BIOS Vendor + BIOS Version + Major Version + Minor Version
{d7be59e5-29b5-589a-b49d-de7265ef6a7b} <- Manufacturer + Family + ProductName