Windows를 재설치하거나 새로 설치할 때 꼭 필요한 것이 정품 인증 키(Product Key)입니다.
하지만 대부분은 처음 구매하거나 설치할 때 입력한 후 잊어버리는 경우가 많습니다. 어디 적어뒀다고 해도 찾기도 힘들구요.
다행인 점은 Windows 내부에 확인 가능한 곳에 key를 기록해 둔 곳이 있어서 몇 가지 방법을 통해 윈도우 인증키를 확인할 수 있습니다.
그런데 확인 방법에 따라 키가 서로 다르게 나오는 경우가 있습니다. 왜 그럴까요?
이 글에서는 Windows 정품 인증 키를 확인할 수 있는 4가지 대표적인 방법과,
왜 키가 다르게 보이는지 그 이유까지 알기 쉽게 설명해드리겠습니다.
1. reg query
명령어로 확인 – 설치 당시 입력된 키 (Backup Key)
가장 간단한 방법 중 하나는 명령 프롬프트에서 다음 명령어를 입력하는 것입니다:

cmd를 입력하고 관리자 권한으로 실행합니다.
reg query "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\SoftwareProtectionPlatform" /v BackupProductKeyDefault
이 명령어는 Windows가 설치될 때 사용된 제품 키의 백업 값을 보여줍니다.
2. 레지스트리 편집기 에서 확인 – 설치 당시 입력된 키 (Backup Key)

regedit을 입력 후 레지스트리 편집기를 실행시킵니다.
1번에서 사용했던 경로를 따라가 봅니다. HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\SoftwareProtectionPlatform를 따라 갑니다.
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\SoftwareProtectionPlatform 이렇게 따라 들어가면 BackupProductKeyDefault 이름의 항목이 있고 그 안에 데이터가 들어있습니다.

25자리 인증키 확인이 가능합니다.
그런데 이 키는 정확한 키일까요?
- 이 값은 초기 설치 시 사용된 키이거나, BIOS에 저장된 OEM 키일 수 있습니다.
- 하지만 이후에 제품 키를 변경했거나, Microsoft 계정을 통한 디지털 라이선스 인증으로 바뀐 경우라면,
이 키는 현재 실제 사용 중인 키와 다를 수 있습니다. - 볼륨 라이선스(KMS 인증)인 경우, 공용 키(GVLK)가 저장됩니다.
정리하면, 이 키는 “현재 인증에 쓰이는 키”가 아닌 “과거 입력되었거나 내장된 키“입니다.
3. VBScript로 설치된 제품 키 확인 – DigitalProductId 디코딩 ★
컴퓨터\HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion
Windows는 레지스트리에 제품 키를 암호화된 형태(DigitalProductId)로 저장합니다.
VBScript를 이용하면 이 값을 복호화해 사람이 읽을 수 있는 25자리 키로 변환할 수 있습니다.
사용 방법
- 아래 코드를 메모장에 붙여넣고
ProductKey.vbs
로 저장한 후 실행하세요(인코딩은 ANSI로 해주세요):
Option Explicit
Dim shell, regKey, digitalId, finalMessage
Set shell = CreateObject("WScript.Shell")
' 레지스트리 경로 설정 거의 완벽
regKey = "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\"
' 레지스트리 정보 수집
Dim osName, osID
osName = shell.RegRead(regKey & "ProductName")
osID = shell.RegRead(regKey & "ProductID")
digitalId = shell.RegRead(regKey & "DigitalProductId")
' 제품 키 디코딩
Dim productKey
productKey = DecodeKey(digitalId)
' 보기 좋게 정리된 출력 메시지
finalMessage = "━━━━━━━━━━━━━━━━━━━━━━━━━━━━━" & vbCrLf
finalMessage = finalMessage & "Windows 정품 인증 정보" & vbCrLf
finalMessage = finalMessage & "━━━━━━━━━━━━━━━━━━━━━━━━━━━━━" & vbCrLf & vbCrLf
finalMessage = finalMessage & "운영 체제: " & osName & vbCrLf
finalMessage = finalMessage & "제품 ID: " & osID & vbCrLf
finalMessage = finalMessage & "설치된 키: " & productKey & vbCrLf & vbCrLf
finalMessage = finalMessage & "저장 위치: 바탕화면 - WindowsKeyInfo.txt" & vbCrLf
finalMessage = finalMessage & "━━━━━━━━━━━━━━━━━━━━━━━━━━━━━"
' 출력 및 저장 여부 확인
If MsgBox(finalMessage & vbCrLf & vbCrLf & "해당 정보를 텍스트 파일로 저장할까요?", vbYesNo + vbQuestion, "Windows Key 정보 확인") = vbYes Then
SaveToFile finalMessage
End If
' 디코딩 함수
Function DecodeKey(keyData)
Const offset = 52
Dim chars, decoded, i, j, cur, last, insertChar, tempPart
chars = "BCDFGHJKMPQRTVWXY2346789"
decoded = ""
Dim isWin8
isWin8 = (keyData(66) \ 6) And 1
keyData(66) = (keyData(66) And &HF7) Or ((isWin8 And 2) * 4)
For i = 24 To 0 Step -1
cur = 0
For j = 14 To 0 Step -1
cur = cur * 256
cur = keyData(j + offset) + cur
keyData(j + offset) = Int(cur / 24)
cur = cur Mod 24
Next
decoded = Mid(chars, cur + 1, 1) & decoded
last = cur
Next
If isWin8 = 1 Then
insertChar = "N"
tempPart = Mid(decoded, 2, last)
decoded = Replace(decoded, tempPart, tempPart & insertChar, 2, 1, 0)
If last = 0 Then decoded = insertChar & decoded
End If
DecodeKey = Mid(decoded, 1, 5) & "-" & Mid(decoded, 6, 5) & "-" & Mid(decoded, 11, 5) & "-" & Mid(decoded, 16, 5) & "-" & Mid(decoded, 21, 5)
End Function
' 텍스트 파일 저장 함수
Sub SaveToFile(data)
Dim fso, txt, desktopPath
Set fso = CreateObject("Scripting.FileSystemObject")
desktopPath = CreateObject("WScript.Shell").SpecialFolders("Desktop") & "\WinKey.txt"
Set txt = fso.CreateTextFile(desktopPath, True)
txt.WriteLine data
txt.Close
End Sub
이 방법은 언제 유용할까요?
- 실제로 시스템에 입력된 설치 키를 알고 싶을 때
- 리테일(Retail) 버전이나 OEM PC의 경우 정확한 키를 보여줍니다
단, 디지털 인증을 사용하는 경우 실제 쓰이지 않는 키일 수 있습니다.
4. ShowKeyPlus – 설치 키와 OEM 키를 GUI로 확인 ★★
ShowKeyPlus는 초보자도 쉽게 사용할 수 있는 무료 도구입니다.
https://apps.microsoft.com/detail/9pkvzcprx9nv
설치된 키와 BIOS에 내장된 OEM 키를 모두 확인할 수 있습니다.

ShowKeyPlus에서 볼 수 있는 정보
- 현재 설치된 키
- BIOS에 저장된 OEM 키
- 운영체제 버전 및 에디션
- 제품 키 유형 (Retail / OEM / Volume)
노트북이나 브랜드 PC 사용자에게 매우 유용한 툴입니다.
5. PowerShell로 BIOS OEM 키 확인
powershell을 관리자 권한으로 실행합니다. 아래의 명령어를 입력합니다.
(Get-WmiObject -query 'select * from SoftwareLicensingService').OA3xOriginalProductKey
이 명령어는 BIOS/UEFI에 내장된 OEM 정품 키를 추출합니다.
대부분의 노트북, 브랜드 데스크탑에 적용 가능
조립 PC나 디지털 인증 기반의 경우 아무 값도 안 나올 수 있음
왜 확인한 키가 서로 다른가요?
이해를 돕기 위해 다음과 같이 정리해보겠습니다.
방법 | 키 출처 | 특징 | 현재 인증된 키인가요? |
---|---|---|---|
reg query | 설치 초기에 사용된 키 또는 OEM 키 | 백업 키 | ❌ 아닐 수 있음 |
VBScript | 현재 설치된 키 (디코딩) | 암호화된 값 추출 | ✅/❌ 경우에 따라 다름 |
ShowKeyPlus | 설치 키 + BIOS 키 모두 | GUI 제공 | ✅ 일부 |
PowerShell | BIOS/UEFI 내장 키 | 하드웨어 OEM 키 | ✅ (일부 노트북만 해당) |
결론
Windows에서 제품 키를 확인하는 방법은 다양하지만, 모든 방법이 현재 사용 중인 실제 인증 키를 정확히 알려주는 것은 아닙니다.
따라서 한 가지 방법만 믿지 말고, 여러 방법을 비교하여 확인하는 것이 중요합니다.
디지털 인증이 아닌경우 ShowKeyPlus와 VBScript 가 가장 정확한 현재 인증된 제품키
BIOS에 내장한 경우에는 POWERSHELL이 정확하다고 볼 수 있습니다.
설치된 키와 OEM 키가 다를 수 있으므로, 포맷이나 재설치 전에는 여러 방법으로 키를 추출해 정확한 값을 확인하고 안전한 곳에 백업해두는 것을 권장합니다.
- 노트북/브랜드 PC 사용자: ShowKeyPlus + PowerShell 조합 추천
- 조립 PC 사용자: VBScript + reg query 확인
- 디지털 인증 사용자: 대부분 정확한 키를 추출하기 어려움 (계정 인증 기반)
1 thought on “윈도우 제품키 인증 키(Product Key) 확인하는 5가지 방법”