Лицензионный ключ можно узнать, с помощью классической командной строки, использованием нужного скрипта, оболочки PowerShell или с помощью внешних приложений. Так же необходимо понимать разницу между Install Key и OEM Key.
Откройте блокнот и вставьте туда следующий текст:
function Get-WindowsKey {
param ($targets = “.”)
$hklm = 2147483650
$regPath = “Software\Microsoft\Windows NT\CurrentVersion”
$regValue = “DigitalProductId”
Foreach ($target in $targets) {
$productKey = $null
$win32os = $null
$wmi = [WMIClass]”\\$target\root\default:stdRegProv”
$data = $wmi.GetBinaryValue($hklm,$regPath,$regValue)
$binArray = ($data.uValue)[52..66]
$charsArray = “B”,”C”,”D”,”F”,”G”,”H”,”J”,”K”,”M”,”P”,”Q”,”R”,”T”,”V”,”W”,”X”,”Y”,”2″,”3″,”4″,”6″,”7″,”8″,”9″
## decrypt base24 encoded binary data
For ($i = 24; $i -ge 0; $i–) {
$k = 0
For ($j = 14; $j -ge 0; $j–) {
$k = $k * 256 -bxor $binArray[$j]
$binArray[$j] = [math]::truncate($k / 24)
$k = $k % 24
}
$productKey = $charsArray[$k] + $productKey
If (($i % 5 -eq 0) -and ($i -ne 0)) {
$productKey = “-” + $productKey
}
}
$win32os = Get-WmiObject Win32_OperatingSystem -computer $target
$obj = New-Object Object
$obj | Add-Member Noteproperty Computer -value $target
$obj | Add-Member Noteproperty Caption -value $win32os.Caption
$obj | Add-Member Noteproperty CSDVersion -value $win32os.CSDVersion
$obj | Add-Member Noteproperty OSArch -value $win32os.OSArchitecture
$obj | Add-Member Noteproperty BuildNumber -value $win32os.BuildNumber
$obj | Add-Member Noteproperty RegisteredTo -value $win32os.RegisteredUser
$obj | Add-Member Noteproperty ProductID -value $win32os.SerialNumber
$obj | Add-Member Noteproperty ProductKey -value $productkey
$obj
}
}
Программа ShowKeyPlus не требует установки и показывает сразу два ключа: установленной в текущий момент системы и OEM в UEFI.
Запускаем программу и смотрим отображаемые данные:
Скопируйте в блокнот строки, представленные ниже.
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 появится информация о серийных номерах установленного ПО:
Set WshShell = CreateObject («WScript.Shell») MsgBox ConvertToKey (WshShell.RegRead («HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\DigitalProductId»)) Function ConvertToKey (Key) Const KeyOffset = 52 i = 28 Chars = «BCDFGHJKMPQRTVWXY2346789» Do Cur = 0 x = 14 Do Cur = Cur * 256 Cur = Key (x + KeyOffset) + Cur Key (x + KeyOffset) = (Cur \ 24) And 255 Cur = Cur Mod 24 x = x -1 Loop While x >= 0 i = i -1 KeyOutput = Mid (Chars, Cur + 1, 1) & KeyOutput If (((29 — i) Mod 6) = 0) And (i <> -1) Then i = i -1 KeyOutput = «-» & KeyOutput End If Loop While i >= 0 ConvertToKey = KeyOutput End FunctionСохраните файл под любым именем. Смените расширение на .vbs. Запустите файл и увидите нужную информацию об активации.
Комментарии (0)