2017-12-25 4 views
1

바이오스의 일련 번호를 얻으려고합니다.wmic bios get serialnumber/Win32_BIOS return 00000000

델파이 코드에서 (Win32_BIOS)를 사용했지만 여러 장치에서 정상적으로 작동하지만 일부 장치는 결과적으로 (00000000)을 반환합니다. 터미널에서 (wmic bios serialnumber를 얻으려고 시도 할 때) 동일한 결과 (00000000)가 표시됩니다. WMI 서비스가 실행되고 업데이트되었지만 여전히 동일한 결과를 얻었는지 확인했습니다.

WMI Diagnosis Utility을 사용하려고하면 메시지가 표시됩니다 (창과 호환되지 않음).

참고 : 결과는 (Windows7의 32 비트)

덕분에 많은 작업 일부 장치에 반환됩니다.

+0

많은 PC 시스템에는 시스템 BIOS에 시스템 일련 번호가 저장되어 있지 않습니다. 특히 HP, Dell, Lenovo와 같은 브랜드 제조업체가 아닌 경우, 구성 요소로 조립해야합니다. ? BIOS 설정으로 갈 때 일련 번호가 보이십니까? –

+0

나는 그것을 몰랐다. 아시다시피 Bios 칩셋에 의존합니다. 어쨌든 나는베이스 보드와 하드 디스크 시리얼을 얻으려고 노력했다. 그리고 그 결과는 똑같다. 도 저장되지 않았습니까?, 사용했던베이스 보드 시리얼 : Win32_BaseBoard, 사용했던 하드 디스크 시리얼 : Win32_DiskDrive –

+0

기계에서 WMI 쿼리를 신속하게 수행하려면 [ WMI Explorer] (http://www.ks-soft.net/hostmon.eng/wmi/)를 참조하십시오. 함께 일하는 특정 컴퓨터에 대한 액세스 권한이 없으면 더 이상 당신을 도울 수 없습니다. –

답변

0

WMI는 SMBIOS을 통해 대부분의 시스템 정보를 가져옵니다. 이 표준을 통해 제조업체/OEM은 펌웨어를 통해 정보를 제공 할 수 있습니다.

Win32_BIOS는 시스템 정보 구조의 일련 번호와 일치합니다. 이것은 2.0+ 표준에 추가되었으므로 먼저 보드가 그보다 오래되었는지 확인해야합니다. 어떤 경우에도 컴퓨터가 OEM에서 나온 것이 아니라면 일반적으로 설정되지 않습니다.

그러나 일반적으로 더 많은 정보가 있습니다. 보드가 SMBIOS 2.1 이상을 지원하는 경우 동일한 구조체에 UUID가 있습니다. 일부 제조사는 제품을 채우지 않지만 다른 제품보다 더 많은 성공을 거두었습니다. 이 UUID는 Win32_board, Win32_ComputerSystemProduct에없는 것을 참고 :

당신은 식별을 위해 사용할 수있는 SMBIOS에서 더 많은 정보가있다
wmic path win32_computersystemproduct get uuid 

, 이상적으로 당신이 그것의 대부분은 당신을 수있는 제로있어 경우에도 그래서 모두를 결합한다 합리적인 결과를 얻으십시오. GetSystemFirmwareTable을 통해 테이블에서 값을 가져올 수 없다는 점에 유의하십시오. Windows에서는이 값의 일부가 0이므로 (.doc from Microsoft 참조)

또한 CPUID를 사용해 볼 수도 있지만 PIII의 논란과 함께 대부분의 컴퓨터에는 일련 번호가 활성화되어 있지 않거나 전혀 지원되지 않습니다. Win32_CPU WMI 클래스의 ProcessorID는 it also comes from SMBIOS 값을 제공하지 않습니다.

요약하면 SMBIOS에서 가능한 많은 값 (SerialNumber, UUID, 프로세서 식별, 하드 디스크 등) 및 기타 소스 (MAC 주소, CPUID, Windows 제품 정보 ... 등)를 얻으십시오. 이것이 유일 할 것이라는 보장은 아직 없다는 것을 알아 두십시오.