컴퓨터에 대한 하드웨어 ID 지정

디바이스 및 프린터는 컴퓨터를 디바이스 컨테이너로 인식합니다. 따라서 고유한 하드웨어 ID 값을 지정하는 HardwareID XML 요소를 사용하여 디바이스 메타데이터 패키지 내에서 컴퓨터를 식별할 수 있습니다. 컴퓨터에 대한 이 하드웨어 ID 값(컴퓨터 하드웨어 ID 또는 CHID라고도 함)은 SMBIOS(시스템 관리 BIOS) 필드 데이터의 조합을 지정할 수 있습니다.

다른 디바이스 컨테이너 의 하드웨어 ID와 달리 컴퓨터의 하드웨어 ID는 시스템이 부팅될 때마다 Windows에서 생성됩니다. 컴퓨터의 하드웨어 ID는 Windows 7용 WDK(Windows 드라이버 키트) Windows 8 및 Windows 8.1 포함된 ComputerHardwareIds 도구(ComputerHardwareIDs.exe)를 실행하여 생성할 수 있습니다. Windows 10 시작해도 ComputerHardwareIds 도구는 SDK(소프트웨어 개발 키트)에 포함되어 있습니다.

ComputerHardwareIds 도구는 시스템의 SMBIOS(시스템 관리 BIOS)에 있는 필드의 정보를 기반으로 하는 컴퓨터에 대한 하드웨어 ID 집합을 생성합니다. 다음 표에서는 이러한 SMBIOS 필드에 대해 설명합니다.

필드 이름 구조체 이름 및 형식 SMBIOS 사양 버전 Offset 길이 Description
제조업체 시스템 정보(유형 1) 2.0+ 04h BYTE STRING dmiStrucBuffer 배열 내의 null로 끝나는 문자열의 인덱스입니다. 이 문자열은 컴퓨터 제조업체의 이름을 지정합니다.
패밀리 시스템 정보(유형 1) 2.4+ 1Ah BYTE STRING dmiStrucBuffer 배열 내의 null로 끝나는 문자열의 인덱스입니다. 이 문자열은 특정 컴퓨터가 속한 패밀리를 지정합니다. 제품군은 하드웨어 또는 소프트웨어 관점에서 비슷하지만 동일하지 않은 컴퓨터 집합을 나타냅니다. 일반적으로 제품군은 서로 다른 구성 및 가격 책정 지점이 있는 다양한 컴퓨터 모델로 구성됩니다. 같은 가족의 컴퓨터는 종종 유사한 브랜딩 및 화장품 기능을 가지고 있습니다.
제품 이름 시스템 정보(유형 1) 2.0+ 05h BYTE STRING dmiStrucBuffer 배열 내의 null로 끝나는 문자열의 인덱스입니다. 이 문자열은 컴퓨터의 제품 이름을 지정합니다.
Vendor 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로 끝나는 문자열의 수입니다. 이 문자열은 Baseboard – 보드 유형이 0Ah(마더보드)인 Baseboard의 제조업체를 식별합니다.
베이스보드 제품 제품(유형 2) 05h BYTE STRING null로 종료된 문자열의 수입니다. 이 문자열은 베이스보드의 제품 이름을 식별합니다. 여기서 베이스보드 – 보드 유형은 0Ah(마더보드)입니다.

dmiStrucBuffer 배열 및 SMBIOS 필드에 대한 자세한 내용은 DMTF(분산 관리 태스크 포스) 웹 사이트의 SMBIOS(시스템 관리 BIOS) 사양을 참조하세요.

ComputerHardwareIds 도구가 실행되면 SMBIOS 정보에서 고유한 하드웨어 ID를 만듭니다. 각 하드웨어 ID는 GUID 이며 SMBIOS 필드의 값을 연결하여 생성됩니다.

다음 표에서는 Windows 7, Windows 8, Windows 8.1 및 Windows 10 각 하드웨어 ID를 형성하는 데 사용되는 SMBIOS 필드를 보여 줍니다.

중요 각 컴퓨터 하드웨어ID는 하드웨어 ID를 생성하는 데 사용되는 각 개별 SMBIOS 필드가 시스템의 SMBIOS 데이터에 채워진 경우에만 생성됩니다.

HWID Windows 7
HardwareID-0 제조업체 + 제품군 + 제품 이름 + 공급업체 + BIOS 버전 + 시스템 BIOS 주 릴리스 + System BIOS 부 릴리스
HardwareID-1 제조업체 + 제품 이름 + BIOS 공급업체 + BIOS 버전 + 시스템 BIOS 주 릴리스 + 시스템 BIOS 부 릴리스
HardwareID-2 Manufacturer + Family + ProductName
HardwareID-3 Manufacturer + ProductName
HardwareID-4 제조업체 + 제품군
HardwareID-5 제조업체 + 인클로저 유형
HardwareID-6 제조업체
HWID Windows 8, Windows 8.1
HardwareID-0 제조업체 + 제품군 + 제품 이름 + SKU 번호 + BIOS 공급업체 + BIOS 버전 + BIOS 주 릴리스 + BIOS 부 릴리스
HardwareID-1 제조업체 + 제품군 + 제품 이름 + BIOS 공급업체 + BIOS 버전 + BIOS 주 릴리스 + BIOS 부 릴리스
HardwareID-2 제조업체 + 제품 이름 + BIOS 공급업체 + BIOS 버전 + BIOS 주 릴리스 + BIOS 부 릴리스
HardwareID-3 Manufacturer + Family + ProductName + SKU 번호
HardwareID-4 Manufacturer + Family + ProductName
HardwareID-5 제조업체 + SKU 번호
HardwareID-6 Manufacturer + ProductName
HardwareID-7 제조업체 + 제품군
HardwareID-8 제조업체 + 인클로저 유형
HardwareID-9 제조업체
HWID Windows 10
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 제조업체

각 하드웨어 ID 문자열은 SHA-1 해시 알고리즘을 사용하여 GUID로 변환됩니다.

PC 디바이스 메타데이터 패키지와 함께 컴퓨터 하드웨어 ID 사용

Windows 7 시스템의 경우 컴퓨터의 HardwareID XML 요소 값으로 사용할 하드웨어 ID 값을 선택할 때 공급업체에서 다음을 수행하는 것이 좋습니다.

  • 디바이스 메타데이터 패키지가 특정 메이크, 패밀리 및 모델이 있는 컴퓨터와 일치하는 경우 첫 번째 선택 항목으로 HardwareID-3 또는 HardwareID-4 를 사용합니다. 이렇게 하면 메타데이터 패키지가 지정된 컴퓨터와 일치할 수 있으며 이는 컴퓨터에 가장 정확한 메타데이터를 제공합니다.

  • 디바이스 메타데이터 패키지가 전체 컴퓨터 제품군을 포함하는 경우 두 번째 선택으로 HardwareID-5를 사용합니다. 이 경우 컴퓨터 패밀리는 고유하며 둘 이상의 제품 라인으로 브랜드화되지 않습니다.

  • 디바이스 메타데이터 패키지가 모든 컴퓨터 또는 특정 엔클로저 형식의 컴퓨터를 포함하는 경우 세 번째 선택 항목으로 HardwareID-6 또는 HardwareID-7 을 사용합니다.

참고 Windows 7 PC 디바이스 메타데이터의 경우 컴퓨터의 하드웨어 ID에 HardwareID-1 또는 HardwareID-2 를 사용하지 마세요. 하드웨어 ID-1 또는 HardwareID-2 는 나중에 사용하도록 예약되어 있습니다.

참고 Windows 8 PC 디바이스 메타데이터의 경우 공급업체는 컴퓨터의 하드웨어 ID에 HardwareID-1, HardwareID-2, HardwareID-3을 사용하지 않는 것이 좋습니다. HardwareID-1, HardwareID-2, HardwareID-3 은 나중에 사용하도록 예약되어 있습니다. 대신 공급업체는 HardwareID-4, HardwareID-5, HardwareID-6, HardwareID-7, HardwareID-8, HardwareID-9HardwareID-10을 사용할 수 있습니다.

컴퓨터 디바이스 컨테이너에 대한 하드웨어 ID를 지정하려면 다음 규칙을 사용합니다.

  • 하드웨어 ID 문자열을 '{' 및 '}' 문자로 구분합니다.

  • 하드웨어 ID 문자열 앞에 'ComputerMetadata\' 접두사를 추가합니다.

다음은 컴퓨터에 대한 HardwareID XML 요소의 예입니다.

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

HardwareID XML 요소의 형식 요구 사항에 대한 자세한 내용은 HardwareID를 참조하세요.

Windows 10 드라이버 게시 워크플로