Где посмотреть ключ своей ОС Windows 10

Просмотр ключа продукта установленной Windows 10 и OEM-ключа в ShowKeyPlus
Есть множество программ для описываемых здесь целей, но мне больше других приглянулась найденная недавно ShowKeyPlus, которая не требует установки и отдельно показывает сразу два ключа: установленной в текущий момент системы и OEM ключ в UEFI. Заодно сообщает, для какой именно версии Windows подходит ключ из UEFI. Также с помощью этой программы можно узнать ключ из другой папки с Windows 10 (на другом жестком диске, в папке Windows.old), а заодно проверить ключ на валидность (пункт Check Product Key).
Все, что нужно сделать — запустить программу и посмотреть отображаемые данные:
- Installed Key — ключ установленной системы.
- OEM Key — ключ предустановленной ОС, если она была на компьютере.
Также эти данные можно сохранить в текстовый файл для дальнейшего использования или архивного хранения, нажав кнопку «Save». Кстати, проблема с тем, что порой разные программы показывают разные ключи продукта для Windows, как раз и появляется из-за того, что некоторые из них смотрят его в установленной системе, другие в UEFI.
Как узнать ключ продукта Windows 10 в ShowKeyPlus — видео
Скачать ShowKeyPlus можно со страницы https://github.com/Superfly-Inc/ShowKeyPlus/releases/
Просмотр ключа установленной Windows 10 с помощью PowerShell
Там, где можно обойтись без сторонних программ, я предпочитаю обходиться без них. Просмотр ключа продукта Windows 10 — одна из таких задач. Если же вам проще использовать бесплатную программу для этого, пролистайте руководство ниже. (Кстати, некоторые программы для просмотра ключей отправляют их заинтересованным лицам)
Простой команды PowerShell или командной строки, для того чтобы узнать ключ установленной в настоящий момент времени системы не предусмотрено (есть такая команда, показывающая ключ из UEFI, покажу ниже. Но обычно требуется именно ключ текущей системы, отличающийся от предустановленной). Но можно воспользоваться готовым скриптом PowerShell, который отображает необходимую информацию (автор скрипта Jakob Bindslet).
Вот что потребуется сделать. Прежде всего, запустите блокнот и скопируйте в него код, представленный ниже.
#Main function
Function GetWin10Key
{
$Hklm = 2147483650
$Target = $env:COMPUTERNAME
$regPath = "Software\Microsoft\Windows NT\CurrentVersion"
$DigitalID = "DigitalProductId"
$wmi = [WMIClass]"\$Target\root\default:stdRegProv"
#Get registry value
$Object = $wmi.GetBinaryValue($hklm,$regPath,$DigitalID)
[Array]$DigitalIDvalue = $Object.uValue
#If get successed
If($DigitalIDvalue)
{
#Get producnt name and product ID
$ProductName = (Get-itemproperty -Path "HKLM:Software\Microsoft\Windows NT\CurrentVersion" -Name "ProductName").ProductName
$ProductID = (Get-itemproperty -Path "HKLM:Software\Microsoft\Windows NT\CurrentVersion" -Name "ProductId").ProductId
#Convert binary value to serial number
$Result = ConvertTokey $DigitalIDvalue
$OSInfo = (Get-WmiObject "Win32_OperatingSystem" | select Caption).Caption
If($OSInfo -match "Windows 10")
{
if($Result)
{
[string]$value ="ProductName : $ProductName `r`n" `
+ "ProductID : $ProductID `r`n" `
+ "Installed Key: $Result"
$value
#Save Windows info to a file
$Choice = GetChoice
If( $Choice -eq 0 )
{
$txtpath = "C:\Users\"+$env:USERNAME+"\Desktop"
New-Item -Path $txtpath -Name "WindowsKeyInfo.txt" -Value $value -ItemType File -Force | Out-Null
}
Elseif($Choice -eq 1)
{
Exit
}
}
Else
{
Write-Warning "Запускайте скрипт в Windows 10"
}
}
Else
{
Write-Warning "Запускайте скрипт в Windows 10"
}
}
Else
{
Write-Warning "Возникла ошибка, не удалось получить ключ"
}
}
#Get user choice
Function GetChoice
{
$yes = New-Object System.Management.Automation.Host.ChoiceDescription "&Yes",""
$no = New-Object System.Management.Automation.Host.ChoiceDescription "&No",""
$choices = [System.Management.Automation.Host.ChoiceDescription[]]($yes,$no)
$caption = "Подтверждение"
$message = "Сохранить ключ в текстовый файл?"
$result = $Host.UI.PromptForChoice($caption,$message,$choices,0)
$result
}
#Convert binary to serial number
Function ConvertToKey($Key)
{
$Keyoffset = 52
$isWin10 = [int]($Key[66]/6) -band 1
$HF7 = 0xF7
$Key[66] = ($Key[66] -band $HF7) -bOr (($isWin10 -band 2) * 4)
$i = 24
[String]$Chars = "BCDFGHJKMPQRTVWXY2346789"
do
{
$Cur = 0
$X = 14
Do
{
$Cur = $Cur * 256
$Cur = $Key[$X + $Keyoffset] + $Cur
$Key[$X + $Keyoffset] = [math]::Floor([double]($Cur/24))
$Cur = $Cur % 24
$X = $X - 1
}while($X -ge 0)
$i = $i- 1
$KeyOutput = $Chars.SubString($Cur,1) + $KeyOutput
$last = $Cur
}while($i -ge 0)
$Keypart1 = $KeyOutput.SubString(1,$last)
$Keypart2 = $KeyOutput.Substring(1,$KeyOutput.length-1)
if($last -eq 0 )
{
$KeyOutput = "N" + $Keypart2
}
else
{
$KeyOutput = $Keypart2.Insert($Keypart2.IndexOf($Keypart1)+$Keypart1.length,"N")
}
$a = $KeyOutput.Substring(0,5)
$b = $KeyOutput.substring(5,5)
$c = $KeyOutput.substring(10,5)
$d = $KeyOutput.substring(15,5)
$e = $KeyOutput.substring(20,5)
$keyproduct = $a + "-" + $b + "-"+ $c + "-"+ $d + "-"+ $e
$keyproduct
}
GetWin10Key
Сохраните файл с расширением .ps1. Для того, чтобы сделать это в блокноте, при сохранении в поле «Тип файла» укажите «Все файлы» вместо «Текстовые документы». Сохранить можно, например, под именем win10key.ps1
После этого, запустите Windows PowerShell от имени Администратора. Для этого, можно начать набирать PowerShell в поле поиска, после чего кликнуть по нему правой кнопкой мыши и выбрать соответствующий пункт.
В PowerShell введите следующую команду: Set-ExecutionPolicy RemoteSigned и подтвердите ее выполнение (ввести Y и нажать Enter в ответ на запрос).
Следующим шагом, введите команду: C:\win10key.ps1 (в данной команде указывается путь к сохраненному файлу со скриптом).
В результате выполнения команды вы увидите информацию о ключе установленной Windows 10 (в пункте Installed Key) и предложение сохранить ее в текстовый файл. После того, как вы узнали ключ продукта, можете вернуть политику выполнения скриптов в PowerShell к значению по умолчанию с помощью команды Set-ExecutionPolicy restricted
Как узнать OEM ключ из UEFI
Если на вашем компьютере или ноутбуке была предустановлена Windows 10 и требуется просмотреть OEM ключ (который хранится в UEFI материнской платы), вы можете использовать простую команду, которую необходимо запустить в командной строке от имени администратора.
wmic path softwarelicensingservice get OA3xOriginalProductKey
В результате вы получите ключ предустановленной системы при его наличии в системе (он может отличаться от того ключа, который используется текущей ОС, но при этом может использоваться для того, чтобы вернуть первоначальную версию Windows).
Еще один вариант этой же команды, но для Windows PowerShell
(Get-WmiObject -query "select * from SoftwareLicensingService").OA3xOriginalProductKey
Как посмотреть ключ установленной Windows 10 с помощью скрипта VBS
И еще один скрипт, уже не для PowerShell, а в формате VBS (Visual Basic Script), который отображает ключ продукта установленной на компьютере или ноутбуке Windows 10 и, возможно, удобнее для использования.
Скопируйте в блокнот строки, представленные ниже.
Set WshShell = CreateObject("WScript.Shell")
regKey = "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\"
DigitalProductId = WshShell.RegRead(regKey & "DigitalProductId")
Win10ProductName = "Версия Windows 10: " & WshShell.RegRead(regKey & "ProductName") & vbNewLine
Win10ProductID = "ID продукта: " & WshShell.RegRead(regKey & "ProductID") & vbNewLine
Win10ProductKey = ConvertToKey(DigitalProductId)
ProductKeyLabel ="Ключ Windows 10: " & Win10ProductKey
Win10ProductID = Win10ProductName & Win10ProductID & ProductKeyLabel
MsgBox(Win10ProductID)
Function ConvertToKey(regKey)
Const KeyOffset = 52
isWin10 = (regKey(66) \ 6) And 1
regKey(66) = (regKey(66) And &HF7) Or ((isWin10 And 2) * 4)
j = 24
Chars = "BCDFGHJKMPQRTVWXY2346789"
Do
Cur = 0
y = 14
Do
Cur = Cur * 256
Cur = regKey(y + KeyOffset) + Cur
regKey(y + KeyOffset) = (Cur \ 24)
Cur = Cur Mod 24
y = y -1
Loop While y >= 0
j = j -1
winKeyOutput = Mid(Chars, Cur + 1, 1) & winKeyOutput
Last = Cur
Loop While j >= 0
If (isWin10 = 1) Then
keypart1 = Mid(winKeyOutput, 2, Last)
insert = "N"
winKeyOutput = Replace(winKeyOutput, keypart1, keypart1 & insert, 2, 1, 0)
If Last = 0 Then winKeyOutput = insert & winKeyOutput
End If
a = Mid(winKeyOutput, 1, 5)
b = Mid(winKeyOutput, 6, 5)
c = Mid(winKeyOutput, 11, 5)
d = Mid(winKeyOutput, 16, 5)
e = Mid(winKeyOutput, 21, 5)
ConvertToKey = a & "-" & b & "-" & c & "-" & d & "-" & e
End Function
Должно получиться как на скриншоте ниже.
После этого сохраните документ с расширением .vbs (для этого в диалоге сохранения в поле «Тип файла» выберите «Все файлы».
Перейдите в папку, где был сохранен файл и запустите его — после выполнения вы увидите окно, в котором будут отображены ключ продукта и версия установленной Windows 10.
Как я уже отметил, программ для просмотра ключа есть множество — и в Produkey и в Speccy, а также других утилитах для просмотра характеристик компьютера можно узнать эту информацию. Но, уверен, тех способов, что описаны здесь, будет достаточно практически в любой ситуации.