본문으로 건너뛰기
HWID Checker

Windows 11에서 wmic csproduct get uuid가 작동하지 않는 경우: 원인과 해결 방법

Windows 11에서 'wmic csproduct get uuid' 문제를 해결하고, WMIC가 사라진 이유와 PowerShell 사용법, 빈 값·모두 0인 값·WMI 오류 결과를 진단하는 방법을 알아봅니다.

HWID Checker · 2026년 8월 28일 · 13 분 분량

Windows 11에서 wmic csproduct get uuid가 작동하지 않는다면, 2026년 현재 가장 가능성 높은 원인은 UUID 손상이나 권한 문제가 아닙니다. Microsoft가 최신 Windows 11 24H2 및 25H2 설치에서 wmic.exe 명령줄 유틸리티를 제거했기 때문입니다. 기반 Windows Management Instrumentation(WMI) 시스템과 Win32_ComputerSystemProduct 클래스는 여전히 존재하므로, 지원되는 해결 방법은 PowerShell을 통해 같은 데이터를 쿼리하는 것입니다.

Get-CimInstance -ClassName Win32_ComputerSystemProduct |
  Select-Object -ExpandProperty UUID

이 명령은 WMIC에 의존하지 않고 펌웨어에서 제공하는 SMBIOS 시스템 UUID를 반환합니다. UUID가 반환되면 WMI 공급자와 펌웨어 데이터는 정상이며, 이전 명령줄 클라이언트만 없는 것입니다. 모두 0인 값, 빈 값 또는 CIM 오류가 반환되면 WMIC를 반복해서 다시 설치하지 말고 아래 진단 섹션을 따르십시오.

이 가이드는 2026년 8월 28일에 검토한 Microsoft 공개 문서를 반영합니다. 서로 혼동하기 쉬운 네 가지 문제, 즉 WMIC 실행 파일 누락, WMI 장애, 잘못된 펌웨어 데이터, 스크립트 또는 셸 문제를 구분합니다.

빠른 진단

표시되는 결과에 맞는 해결 방법을 확인하십시오.

결과 또는 오류가장 가능성 높은 원인올바른 다음 단계
'wmic' is not recognized as an internal or external commandwmic.exe가 설치되어 있지 않거나 제거됨Get-CimInstance를 사용하고, WMIC 기반의 새 스크립트를 작성하지 않음
PowerShell에서 wmic : The term 'wmic' is not recognized 표시PowerShell이 보고한 동일한 실행 파일 누락 문제아래의 PowerShell 대체 방법 사용
4C4C4544-... 같은 정상적인 UUID쿼리 성공SMBIOS UUID가 실제로 필요한 식별자인지 확인
00000000-0000-0000-0000-000000000000펌웨어가 사용 가능한 SMBIOS UUID를 제공하지 않음BIOS/UEFI와 컴퓨터 또는 VM 제조업체 확인
빈 출력 또는 일반적인 자리표시자펌웨어 또는 가상화 플랫폼이 잘못된 데이터를 제공함다른 SMBIOS 필드와 비교하고 OEM 또는 VM 관리자에게 문의
Invalid class, Provider load failure 또는 기타 Get-CimInstance 오류더 광범위한 WMI/공급자 문제WMI 전반을 테스트하고 WMI-Activity 로그 검사
원격 쿼리 중 Access deniedWMI/CIM 권한 또는 원격 관리 구성권한이 부여된 CIM 세션 사용. 로컬 UUID 읽기에는 일반적으로 원격 구성이 필요하지 않음

Windows 11에서 wmic csproduct get uuid가 작동을 멈춘 이유

이 명령은 세 부분으로 구성됩니다.

  • wmic는 레거시 Windows Management Instrumentation 명령줄 유틸리티를 실행합니다.
  • csproduct는 Win32_ComputerSystemProduct WMI 클래스의 WMIC 별칭입니다.
  • get uuid는 해당 클래스의 읽기 전용 UUID 속성을 요청합니다.

문제는 대개 첫 번째 부분에서 발생합니다. Microsoft는 Windows 10 버전 21H1에서 WMIC를 더 이상 사용되지 않는 기능으로 지정하고, 그 대체 기능으로 PowerShell for WMI를 제시했습니다. Microsoft는 또한 중요한 차이점을 명시합니다. WMIC 유틸리티는 더 이상 사용되지 않으며 제거되었지만, WMI 자체는 그렇지 않습니다.

Microsoft의 최신 WMIC 참조 문서에 따르면 2026년 8월부터 Windows 11 버전 24H2와 25H2에는 WMIC가 더 이상 포함되지 않으며 주문형 기능(Feature on Demand)으로 다시 추가할 수도 없습니다. Microsoft의 Windows에서 더 이상 사용되지 않는 기능 목록에도 동일한 2026년 8월 업데이트가 명시되어 있으며, 제거 대상은 Windows 11 24H2 이상이라고 설명합니다.

이러한 변경 과정은 오래된 포럼 게시물의 조언이 이제 틀릴 수 있는 이유를 설명합니다.

  1. WMIC는 원래 Windows에 기본으로 포함되어 있었습니다.
  2. Microsoft는 Windows 10 21H1에서 WMIC를 더 이상 사용되지 않는 기능으로 지정했지만, 이 지정과 동시에 바로 제거한 것은 아니었습니다.
  3. 이전 Windows 11 릴리스에서는 선택적 주문형 기능이 되었으며 기본적으로 비활성화될 수 있었습니다.
  4. 현재 Windows 11 24H2 및 25H2 서비스에서는 Microsoft에 따라 WMIC가 제거되었으며 더 이상 주문형 기능으로 제공되지 않습니다.

따라서 모든 Windows 11 사용자에게 선택적 기능 또는 DISM을 통해 WMIC~~~~를 설치하라는 지침은 이제 일반적으로 유효하지 않습니다. 이러한 지침은 이전 빌드에는 해당할 수 있지만, 2026년에 지속 가능한 해결책은 아닙니다.

지원되는 대체 기능: Get-CimInstance

Windows PowerShell 또는 PowerShell을 열고 다음을 실행하십시오.

Get-CimInstance -ClassName Win32_ComputerSystemProduct |
  Select-Object -ExpandProperty UUID

동일한 명령을 짧게 쓰면 다음과 같습니다.

(Get-CimInstance Win32_ComputerSystemProduct).UUID

UUID를 제조업체 및 제품 정보와 함께 표시하여 맥락을 확인하려면 다음을 실행하십시오.

Get-CimInstance -ClassName Win32_ComputerSystemProduct |
  Select-Object Vendor, Name, IdentifyingNumber, UUID

Microsoft는 Get-CimInstance를 CIM 클래스의 인스턴스를 가져오는 cmdlet으로 설명합니다. -ComputerName이나 -CimSession을 지정하지 않은 로컬 쿼리에서는 로컬 WMI를 대상으로 작동합니다. 즉, 관련 없는 값을 읽는 임시 우회 방법이 아니라 동일한 Windows 관리 인프라를 쿼리하는 지원 대상 클라이언트입니다.

스크립트에서 값만 반환하기

레거시 WMIC 출력에는 UUID 제목이 포함됩니다. 식별자만 가져오려면 -ExpandProperty를 사용하십시오.

$uuid = Get-CimInstance -ClassName Win32_ComputerSystemProduct |
  Select-Object -ExpandProperty UUID

$uuid

여전히 한 줄 출력이 필요한 배치 파일에서는 WMIC 대신 PowerShell을 호출하십시오.

@echo off
for /f "usebackq delims=" %%U in (`powershell.exe -NoProfile -Command "(Get-CimInstance -ClassName Win32_ComputerSystemProduct).UUID"`) do set "SYSTEM_UUID=%%U"
echo %SYSTEM_UUID%

새 자동화에는 PowerShell 스크립트가 더 깔끔합니다.

$uuid = (Get-CimInstance -ClassName Win32_ComputerSystemProduct).UUID

if ([string]::IsNullOrWhiteSpace($uuid) -or
    $uuid -eq "00000000-0000-0000-0000-000000000000") {
    throw "The firmware did not provide a usable SMBIOS system UUID."
}

$uuid.ToUpperInvariant()

명령이 성공적으로 실행되어도 펌웨어에서 제공한 값을 사용할 수 없는 경우가 있으므로 이러한 검증이 중요합니다.

이 명령이 반환하는 UUID는 무엇인가요?

Win32_ComputerSystemProduct.UUID는 WMIC가 생성한 임의 식별자가 아니며 Windows 설치의 MachineGuid도 아닙니다. Microsoft의 Win32_ComputerSystemProduct 문서에 따르면 이 속성은 SMBIOS Type 1 UUID에 매핑되며 펌웨어의 System Information 구조에 있는 UUID 멤버에서 가져옵니다.

데이터 전달 경로는 대략 다음과 같습니다.

BIOS/UEFI firmware or VM platform
        ↓
SMBIOS Type 1 System Information UUID
        ↓
Windows CIMWin32 provider
        ↓
Win32_ComputerSystemProduct.UUID
        ↓
Get-CimInstance output

이 차이를 이해하면 문제 해결에 도움이 됩니다.

  • wmic는 없지만 Get-CimInstance가 UUID를 반환한다면 데이터는 정상이며 이전 클라이언트만 제거된 것입니다.
  • WMIC가 아직 있는 구형 컴퓨터에서 두 도구 모두 모두 0인 값을 반환한다면 명령 구문을 변경해도 펌웨어 UUID가 생기지 않습니다.
  • 마더보드를 교체하거나 가상 머신을 복제한 후 값이 바뀐다면 그 동작은 명령줄 도구보다 하위 계층에서 비롯됩니다.

Microsoft의 하드웨어 제조업체를 위한 SMBIOS 지침은 시스템 UUID를 Type 1 필드로 규정하고, SMBIOS 필드를 올바르게 채우면 개별 시스템을 식별하고 관리하는 데 도움이 된다고 설명합니다.

원인 1: wmic가 인식되지 않음

일반적인 명령 프롬프트 출력은 다음과 같습니다.

'wmic' is not recognized as an internal or external command,
operable program or batch file.

일반적인 PowerShell 출력은 다음과 같습니다.

wmic: The term 'wmic' is not recognized as a name of a cmdlet,
function, script file, or executable program.

실행 파일을 사용할 수 있는지 확인하십시오.

Get-Command wmic.exe -ErrorAction SilentlyContinue

이전의 기본 위치도 확인할 수 있습니다.

Test-Path "$env:WINDIR\System32\wbem\wmic.exe"

제거 후 상태인 최신 Windows 11 24H2 또는 25H2 시스템에서는 결과가 없는 것이 정상입니다. 타사 사이트에서 임의의 wmic.exe 사본을 다운로드하지 마십시오. 실행 파일 하나만으로는 안전하거나 지원되는 이식형 패키지가 되지 않으며, 비공식 출처에서 시스템 바이너리를 다운로드하면 피할 수 있는 보안 위험이 발생합니다.

해결 방법: 명령을 Get-CimInstance로 교체하십시오. 공급업체가 제공한 애플리케이션이 여전히 wmic.exe를 요구한다면 애플리케이션을 업데이트하거나 공급업체에 지원되는 버전을 문의하십시오.

원인 2: 명령은 실행되지만 모두 0인 값을 반환함

다음과 같은 결과가 표시될 수 있습니다.

UUID
00000000-0000-0000-0000-000000000000

Microsoft는 UUID를 사용할 수 없을 때 Win32_ComputerSystemProduct.UUID가 모두 0인 UUID를 사용한다고 명시적으로 설명합니다. 이는 성공한 쿼리가 사용할 수 없는 값을 반환한 것이며, WMIC 또는 PowerShell이 오작동한다는 증거가 아닙니다.

일반적인 원인은 다음과 같습니다.

  • SMBIOS Type 1 UUID를 한 번도 채우지 않은 펌웨어
  • OEM 자리표시자 또는 제조 프로그래밍 오류
  • SMBIOS 데이터가 불완전한 사용자 조립 또는 구형 마더보드
  • 플랫폼에서 시스템 UUID를 할당하지 않은 가상 머신
  • 일반 식별자 또는 중복 식별자를 유지한 복제 VM 템플릿
  • 노출되는 SMBIOS 필드를 변경한 펌웨어 설정 또는 업데이트

관련 필드를 확인하십시오.

Get-CimInstance Win32_ComputerSystemProduct |
  Format-List Vendor, Name, Version, IdentifyingNumber, UUID

Get-CimInstance Win32_BIOS |
  Format-List Manufacturer, SMBIOSBIOSVersion, SerialNumber

Get-CimInstance Win32_BaseBoard |
  Format-List Manufacturer, Product, SerialNumber

이 필드도 비어 있거나 To Be Filled By O.E.M. 같은 값이 들어 있다면 펌웨어 데이터 문제일 가능성이 높습니다. 장치 또는 마더보드 제조업체에서 제공하는 BIOS/UEFI 업데이트가 있는지 확인하십시오. 관리형 VM에서는 하이퍼바이저의 UUID 구성을 확인하십시오. 웹사이트나 스크립트가 결과를 받아들이도록 만들기 위해 펌웨어 식별자를 수정하지 말고, 소프트웨어 공급업체에 지원하는 대체 식별자를 문의하십시오.

원인 3: PowerShell도 실패함

Get-CimInstance에서 오류가 보고되면 장애가 한 클래스에만 영향을 미치는지, 아니면 WMI 전반에 영향을 미치는지 확인하십시오.

1단계: 다른 핵심 클래스 테스트

Get-CimInstance -ClassName Win32_OperatingSystem |
  Select-Object Caption, Version, BuildNumber
  • 이 명령은 작동하지만 Win32_ComputerSystemProduct가 실패한다면 CIMWin32 공급자 또는 클래스 데이터에 집중하십시오.
  • 둘 다 실패한다면 WMI 서비스, 리포지토리, 권한 또는 공급자 상태를 조사하십시오.

2단계: WMI 서비스 확인

Get-Service -Name winmgmt

이 서비스는 일반적으로 실행 중이어야 하며, 관리 클라이언트가 연결될 때 시작되어야 합니다. Microsoft는 winmgmt를 WMI 서비스이자 Windows의 핵심 구성 요소로 설명합니다. 관련 없는 관리 오류를 억제하기 위한 방법으로 이 서비스를 비활성화하지 마십시오.

3단계: 정확한 오류 코드 캡처

try {
    Get-CimInstance -ClassName Win32_ComputerSystemProduct -ErrorAction Stop |
      Select-Object UUID
} catch {
    $_ | Format-List * -Force
}

구분해서 살펴봐야 할 주요 오류는 다음과 같습니다.

오류조사할 의미
0x80041010 / Invalid class클래스 등록, 네임스페이스 또는 공급자 문제
0x80041003 / Access denied네임스페이스/공급자 권한 또는 보안 정책
0x80041013 / Provider load failure공급자 등록, 종속성 또는 시스템 손상 문제
0x800706BA / RPC server unavailable일반적으로 원격 연결, RPC, 방화벽 또는 서비스 가용성 문제

로컬 쿼리에서는 필요한 경우 문서에 명시된 네임스페이스를 직접 지정하십시오.

Get-CimInstance -Namespace root/cimv2 -ClassName Win32_ComputerSystemProduct

4단계: WMI 운영 이벤트 검사

이벤트 뷰어를 열고 다음 위치로 이동하십시오.

Applications and Services Logs
  Microsoft
    Windows
      WMI-Activity
        Operational

Microsoft의 WMI 연결 및 액세스 문제 해결 가이드는 WMI 장애에 관련된 작업, 공급자, 클라이언트 프로세스 및 오류를 식별할 때 이 로그를 사용할 것을 권장합니다.

5단계: 장애가 광범위한 경우에만 리포지토리 확인

관리자 권한으로 명령 프롬프트를 열고 다음을 실행하십시오.

winmgmt /verifyrepository

Windows에서 리포지토리가 일관된다고 보고하면 재설정하지 마십시오. 불일치가 보고되면 복구 스위치를 사용하기 전에 Microsoft의 문제 해결 절차를 따르거나 관리자 지원을 받으십시오.

Microsoft의 WMI 문제 해결 지침은 WMI 리포지토리를 삭제하면 Windows 또는 설치된 애플리케이션이 손상될 수 있으므로 이를 첫 조치로 삼지 말라고 명시적으로 경고합니다. wmic.exe만 없는 상황에서 리포지토리 폴더의 이름을 임의로 변경하거나 모든 MOF 파일을 다시 컴파일하거나 winmgmt /resetrepository를 실행하는 것은 문제에 비해 과도한 조치입니다.

원인 4: 대체 명령은 대화형으로 작동하지만 스크립트에서는 실패함

열린 PowerShell 창에서는 명령이 작동하지만 배치 파일, 애플리케이션, 서비스, 예약된 작업 또는 배포 도구 안에서는 실패할 수 있습니다. 다음 사항을 확인하십시오.

올바른 셸 사용

Get-CimInstance는 PowerShell cmdlet이며 명령 프롬프트 명령이 아닙니다. 일반 cmd.exe에서 다음 명령은 실패합니다.

Get-CimInstance Win32_ComputerSystemProduct

PowerShell에서 실행하거나 배치 파일에서 PowerShell을 명시적으로 호출하십시오.

powershell.exe -NoProfile -Command "(Get-CimInstance Win32_ComputerSystemProduct).UUID"

서식이 적용된 표 파싱 방지

기본 표 출력에서 공백을 긁어내는 방식으로 파싱하지 마십시오. 속성을 직접 반환하십시오.

(Get-CimInstance Win32_ComputerSystemProduct).UUID

구조화된 자동화에는 다음을 사용하십시오.

Get-CimInstance Win32_ComputerSystemProduct |
  Select-Object Vendor, Name, UUID |
  ConvertTo-Json -Compress

레거시 호출자에 한해서만 32비트 프로세스 리디렉션 확인

64비트 Windows의 32비트 애플리케이션은 System32 아래의 도구를 실행할 때 파일 시스템 리디렉션의 영향을 받을 수 있습니다. 대화형 64비트 PowerShell 세션에서는 일반적인 원인이 아니지만, 오래된 관리 에이전트를 마이그레이션할 때는 문제가 될 수 있습니다. 복사한 WMIC 바이너리 경로를 하드 코딩하기보다 지원되는 프로세스 아키텍처를 통해 PowerShell을 호출하는 방식을 사용하십시오.

원격 쿼리를 별도로 취급

다음 로컬 명령으로는

Get-CimInstance Win32_ComputerSystemProduct

원격 CIM/WMI 액세스가 구성되었는지 테스트할 수 없습니다. 로컬 클래스가 정상이어도 자격 증명, 방화벽 정책, RPC 또는 WS-Management 구성 때문에 원격 쿼리가 실패할 수 있습니다. Microsoft의 PowerShell WMI 지침은 자격 증명이 필요할 때 전체 셸을 과도한 권한으로 실행하는 대신 권한이 부여된 CimSession을 사용할 것을 권장합니다.

Windows 10에서도 이 문제가 발생하나요?

예. 다만 정확한 증상과 원인은 다를 수 있습니다.

Microsoft는 Windows 10 버전 21H1부터 WMIC를 더 이상 사용되지 않는 기능으로 지정했습니다. 이 지정은 유틸리티가 더 이상 권장 인터페이스가 아니라는 뜻이지, 모든 Windows 10 설치에서 wmic.exe가 즉시 사라졌다는 뜻은 아닙니다. 따라서 Windows 10 22H2 컴퓨터에서는 이미지와 서비스 상태에 따라 WMIC 명령이 여전히 작동할 수 있습니다.

Microsoft의 2026년 8월 제거 공지는 Windows 11 버전 24H2 이상을 구체적으로 명시합니다. 동일한 서비스 변경으로 모든 Windows 10 22H2 설치에서 WMIC가 제거된다고 설명하지는 않습니다. 이를 정리하면 다음과 같습니다.

시스템2026년 예상 상태권장 사항
최신 서비스 상태의 Windows 11 24H2 또는 25H2WMIC 제거됨. Microsoft에 따르면 FoD로 다시 추가할 수 없음Get-CimInstance 사용
Windows 11 22H2 또는 23H2지원 상태가 오래되었으며 WMIC 제공 여부는 이미지와 업데이트에 따라 다름의존하지 말고 Get-CimInstance 사용
Windows 10 22H2WMIC가 여전히 실행될 수 있지만 21H1부터 더 이상 사용되지 않음지금 스크립트 마이그레이션
사용자 지정 Windows 이미지버전 표기와 관계없이 구성 요소가 이미 없을 수 있음PowerShell로 쿼리하고 이미지 정책 확인
Windows Server릴리스와 설치 옵션에 따라 제공 여부가 다름해당 릴리스의 문서를 따르고 새 자동화에는 CIM cmdlet 사용

Windows 10에서도 모두 0인 UUID, 잘못된 펌웨어 데이터 또는 WMI 공급자 오류가 반환될 수 있습니다. UUID는 SMBIOS 펌웨어에서 가져오고 쿼리는 WMI에서 처리하므로 이러한 상태는 WMIC 제거와는 별개입니다.

Windows 버전과 빌드를 확인하려면 다음을 실행하십시오.

Get-ComputerInfo |
  Select-Object WindowsProductName, WindowsVersion, OsBuildNumber

또는 winver를 실행하십시오. 한 Windows 10 컴퓨터에서 WMIC 명령이 성공했다는 사실만으로 Windows 11이나 향후 관리형 이미지에서도 계속 사용할 수 있다고 판단하지 마십시오.

WMIC를 다시 설치해야 하나요?

Microsoft의 2026년 8월 제거 대상인 최신 Windows 11 24H2 및 25H2 시스템에서는 아니요. Microsoft에 따르면 WMIC는 더 이상 주문형 기능으로 추가할 수 없습니다. PowerShell을 사용하십시오.

WMIC가 선택적 기능으로 계속 제공되던 이전 서비스 상태에서는 이를 설치해 레거시 애플리케이션과의 호환성을 일시적으로 복원할 수 있습니다. 이 경우에도 장기적으로 타당한 해결책이 아니라 마이그레이션을 위한 임시 방편일 뿐입니다. 더 이상 사용되지 않는 구성 요소를 다시 설치하는 방식으로만 복구한 스크립트는 해당 구성 요소가 제거되면 다시 실패합니다.

다음 방법은 피하십시오.

  • 타사 사이트에서 wmic.exe 또는 DLL 파일 다운로드
  • 다른 Windows 설치에서 WMIC 파일 복사
  • WMIC를 유지하기 위해 보안 또는 누적 업데이트를 영구적으로 연기
  • Get-CimInstance가 이미 작동하는데도 WMI 리포지토리 재설정
  • 모두 0인 UUID를 명령줄 클라이언트를 다시 설치해야 하는 이유로 간주

SMBIOS UUID는 HWID와 같은 것인가요?

반드시 그렇지는 않습니다. wmic csproduct get uuid는 하나의 펌웨어 필드를 반환합니다. “HWID”는 제품마다 다음과 같이 서로 다른 값을 지칭하는 비공식 용어입니다.

  • SMBIOS 시스템 UUID
  • 마더보드 또는 BIOS 일련번호
  • 저장 장치 일련번호
  • Windows 설치의 MachineGuid
  • 네트워크 어댑터 주소
  • 정규화된 여러 필드로 구성된 공급업체별 해시

유효한 SMBIOS UUID라고 해서 게임, 라이선스 서버, 인벤토리 시스템 또는 지원팀이 요구하는 식별자라는 뜻은 아닙니다. 공유하기 전에 어떤 필드와 형식이 필요한지 확인하십시오.

WMIC 없이 여러 로컬 필드를 확인하려면 다음을 실행하십시오.

$system = Get-CimInstance Win32_ComputerSystemProduct
$bios = Get-CimInstance Win32_BIOS
$board = Get-CimInstance Win32_BaseBoard

[pscustomobject]@{
    SystemUUID        = $system.UUID
    SystemVendor      = $system.Vendor
    SystemProduct     = $system.Name
    BIOSSerial        = $bios.SerialNumber
    BaseBoardSerial   = $board.SerialNumber
}

이러한 값은 개인이나 계정과 연결될 경우 민감한 정보가 될 수 있습니다. 필요한 정보만 수집하고 공유하십시오.

관리자와 개발자를 위한 권장 마이그레이션

wmic csproduct get uuid가 포함된 스크립트를 유지 관리하고 있다면 Windows 11을 감지해 WMIC를 다시 설치하려 하지 말고 쿼리를 마이그레이션하십시오.

변경 전

wmic csproduct get uuid

변경 후: 읽기 쉬운 PowerShell

Get-CimInstance -ClassName Win32_ComputerSystemProduct |
  Select-Object -ExpandProperty UUID

변경 후: WQL 호환 형식

Get-CimInstance -Query "SELECT UUID FROM Win32_ComputerSystemProduct" |
  Select-Object -ExpandProperty UUID

변경 후: 견고한 검증

try {
    $product = Get-CimInstance -ClassName Win32_ComputerSystemProduct -ErrorAction Stop
    $uuid = [string]$product.UUID

    if ([string]::IsNullOrWhiteSpace($uuid)) {
        throw "SMBIOS UUID is blank."
    }

    if ($uuid -eq "00000000-0000-0000-0000-000000000000") {
        throw "SMBIOS UUID is unavailable (all-zero value)."
    }

    [pscustomobject]@{
        UUID    = $uuid.ToUpperInvariant()
        Vendor  = $product.Vendor
        Product = $product.Name
    }
} catch {
    Write-Error "Unable to read the SMBIOS system UUID: $($_.Exception.Message)"
    exit 1
}

전체 장비를 대상으로 실행하는 스크립트에서는 쿼리 실패와 쿼리는 성공했지만 펌웨어 데이터를 사용할 수 없는 경우를 구분하여 기록하십시오. 두 경우에는 서로 다른 해결 조치가 필요합니다. 결과를 인벤토리 또는 라이선스에 사용하는 경우 누락된 UUID를 임의의 값으로 조용히 대체하지 마십시오. 그렇게 하면 SMBIOS 필드와 의미가 다른 불안정한 식별자가 생성됩니다.

자주 묻는 질문

Windows 11에서 wmic csproduct get uuid를 무엇으로 대체하나요?

다음을 사용하십시오.

(Get-CimInstance -ClassName Win32_ComputerSystemProduct).UUID

지원되는 PowerShell CIM 인터페이스를 통해 동일한 WMI 클래스를 쿼리합니다.

Windows 업데이트 후 WMIC가 사라진 이유는 무엇인가요?

Microsoft는 Windows 10 21H1에서 WMIC를 더 이상 사용되지 않는 기능으로 지정한 후 선택적 주문형 기능으로 전환했으며, 2026년 8월부터 Windows 11 24H2와 25H2에는 WMIC가 더 이상 포함되지 않고 FoD로 다시 추가할 수도 없다고 명시했습니다. WMI 자체는 계속 지원됩니다.

로컬 UUID를 읽으려면 관리자 권한이 필요한가요?

Win32_ComputerSystemProduct의 기본적인 로컬 읽기는 일반적으로 표준 PowerShell 세션에서 작동합니다. 조직 정책, 강화된 WMI 네임스페이스 권한 또는 원격 액세스에 따라 결과가 달라질 수 있습니다. 실제 오류가 권한 문제를 나타내고 권한 상승이 적절한 경우가 아니면 자동으로 관리자 권한을 사용하지 마십시오.

PowerShell에서 WMIC와 동일하게 모두 0인 UUID가 반환되는 이유는 무엇인가요?

두 클라이언트 모두 Win32_ComputerSystemProduct.UUID 속성을 쿼리합니다. Microsoft 문서에 따르면 SMBIOS UUID를 사용할 수 없을 때 Windows는 모두 0인 UUID를 반환합니다. 해결해야 할 계층은 명령 구문이 아니라 펌웨어, OEM 또는 가상화 계층입니다.

대신 Get-WmiObject를 사용할 수 있나요?

이전 Windows PowerShell에는 Get-WmiObject가 포함되어 있으며 이를 사용해 같은 클래스를 쿼리할 수 있지만, 새 스크립트의 마이그레이션 대상으로는 Get-CimInstance가 더 적합합니다. Microsoft가 WMIC를 대체할 때 관리자가 사용하도록 안내하는 인터페이스이며, 자동화에 적합한 구조화된 CIM 개체를 제공합니다.

wmic path win32_computersystemproduct get uuid가 더 나은가요?

더 명시적인 레거시 WMIC 쿼리이지만 여전히 wmic.exe에 의존합니다. 실행 파일이 제거된 문제를 해결할 수는 없습니다. 대신 Get-CimInstance를 사용하십시오.

BIOS 업데이트로 UUID가 바뀔 수 있나요?

정상적으로 할당된 시스템별 UUID는 일반적으로 교체되지 않아야 하지만, 펌웨어 결함, 마더보드 서비스, OEM 프로비저닝 또는 가상화 변경에 따라 SMBIOS가 노출하는 값이 달라질 수 있습니다. 예기치 않은 변경이 인벤토리 또는 라이선스에 영향을 준다면 이전 값과 새 값을 기록하고 제조업체에 문의하십시오.

두 컴퓨터에서 같은 UUID가 보고될 수 있나요?

펌웨어 또는 복제된 가상 머신 템플릿에 중복되거나 자리표시자인 SMBIOS 데이터가 들어 있다면 가능합니다. UUID 형식의 값이라고 해서 제조업체가 고유하게 할당했다는 증거는 아닙니다.

핵심 정리

Windows 11에서 wmic csproduct get uuid가 작동하지 않을 때는 먼저 다음을 실행하십시오.

(Get-CimInstance Win32_ComputerSystemProduct).UUID

정상적인 UUID가 반환되면 WMI를 복구할 필요가 없습니다. 더 이상 사용되지 않는 부분은 WMIC입니다. 모두 0인 값이 반환되면 SMBIOS 펌웨어 또는 VM 구성을 조사하십시오. CIM 오류가 발생하면 다른 WMI 클래스를 테스트하고, 오류 코드를 캡처하고, WMI-Activity 로그를 확인하되 첫 대응으로 리포지토리를 손상 가능성이 있는 방식으로 복구하지 마십시오.

Windows 10에는 WMIC가 여전히 있을 수 있지만 Microsoft는 버전 21H1에서 이 도구를 더 이상 사용되지 않는 기능으로 지정했습니다. 현재 Windows 11 빌드에서 제거된 명령을 유지하려 하지 말고 지금 스크립트를 마이그레이션해야 합니다.

Microsoft 참고 자료

이미 보유한 UUID 또는 다른 식별자를 검사하려면 HWID 검증 및 파서를 사용하십시오. WMIC 없이 더 광범위한 로컬 보고서를 수집하려면 Windows HWID Checker 다운로드를 참조하십시오.