- 7 способов как узнать ключ продукта Windows
- Как узнать ключ Виндовс в ProduKey
- Смотрим лицензионный ключ в ShowKeyPlus
- Как увидеть ключ Виндовс в Free PC Audit
- Как узнать ключ Виндовс 8 при помощи VBScrit
- Получаем ключ Виндовс в Speccy
- Узнаем ключ продукта в AIDA64
- Информация о ключе в SIW
- Неправильный (непонятный) ключ продукта
- Выводы статьи
- Как найти ключ продукта Windows
- Поиск ключа продукта для Windows 10
- Поиск ключа продукта для Windows 7 или Виндовс 8.1
- Просмотр ключа продукта установленной Виндовс 10 и OEM-ключа в ShowKeyPlus
- Как узнать ключ продукта Виндовс 10 в ShowKeyPlus — видео
- Еще две программы, чтобы узнать ключ продукта Виндовс 10
- Просмотр ключа установленной Виндовс 10 при помощи PowerShell
- Как узнать OEM ключ из UEFI в PowerShell
- Как увидеть ключ установленной Виндовс 10 при помощи скрипта VBS
- Как узнать ключ активации Виндовс
- Как узнать ключ продукта Виндовс при помощи PowerShell
7 способов как узнать ключ продукта Windows
Для активации операционки Виндовс используется специализированный лицензионный ключ продукта. Ключ продукта Виндовс, предназначенный для активации системы, отличается в зависимости от версии операционки (Windows 10, Виндовс 8, Виндовс 7 и т. д.), редакции ОС (Home, Pro и т.д), способа распространения (OEM, Retail и т.д).
Для активации операционки Виндовс используется ключ продукта, состоящий из 25 знаков в виде цифр и заглавных (верхнего регистра) английских букв, разделенных на 5 групп по 5 символов: «XXXXX-XXXXX-XXXXX-XXXXX-XXXXX».
На ноутбуках раньше частенько находился приклеенный ключ активации Windows. В данный момент, производители ноутбуков с предустановленными операционными системами вшивают ключ продукта в БИОС для автоматической активации Windows.
В случае переустановки системы, или по какой-нибудь другой причине (к примеру, слетела активация после аппаратного сбоя), юзеру может понадобиться ключ продукта Windows. Как узнать ключ активации Windows?
Вы можете узнать лицензионный ключ установленной Виндовс, выполнив специализированный VBS скрипт, а также при помощи пяти программ: ProduKey, ShowKeyPlus, Free PC Audit, Speccy, AIDA64, SIW. Все перечисленные программы халявные, помимо AIDA64 и SIW.
Скрипт с расширением «.vbs» и портативные халявные программы (ProduKey, ShowKeyPlus, Free PC Audit) можно скачать отсюда. Остальные программы загрузите на свой комп с официальных сайтов производителей.
При помощи данных способов можно узнать ключ Виндовс 7, Виндовс 8, Виндовс 8.1, Виндовс 10. После того, как вы узнали ключ продукта Виндовс, полученные данные для последующего применения, в случае переустановки операционки, для активации операционной системы.
Как узнать ключ Виндовс в ProduKey
Халявная программа ProduKey от известного производителя NirSoft не требует установки на компьютер. Приложение показывает ключи от ОС Виндовс, браузера Internet Explorer, Майкрософт Office.
Распакуйте архивчик с программой, а затем из папки запустите файлик «Приложение». После запуска, в окошке утилиты ProduKey отобразится ключ от установленной операционной системы.
Выделите запись с ключом Виндовс 10, или другой операционки, а затем в контекстном меню выберите «Copy Product Key» для копирования ключа активации в буфер обмена.
Смотрим лицензионный ключ в ShowKeyPlus
Халявная программа ShowKeyPlus не требует установки на компьютер. После запуска, в окошке приложения вы увидите инфу:
- Product Name (Имя продукта) — установленная в данный момент на PC операционная система.
- Product ID (Код продукта) — код продукта.
- Installed Key — ключ установленной в данный момент на PC операционной системы.
- OEM Key — ключ вшитый в БИОС ноутбука изначально установленной операционной системы.
Для сохранения данных нажмите на кнопку «Save», а затем полученную инфу в файле текстового формата.
Как увидеть ключ Виндовс в Free PC Audit
Халявная программа Free PC Audit поможет узнать ключ установленного Windows. Эта программа не требует установки на компьютер. Запустите файлик утилиты, после этого откроется окно программы Free PC Audit, в котором начнется сканирование системы.
После окончания сканирования, во вкладке «System», напротив пункта «Windows product key» вы увидите ключ продукта установленной операционки Windows.
Для копирования ключа, выделите строку с лицензионным ключом, а затем при помощи пункта контекстного меню «Copy», или при помощи клавиш «Ctrl» + «C» скопируйте ключ продукта Виндовс из окна утилиты.
Как узнать ключ Виндовс 8 при помощи VBScrit
Ключи активации операционки Виндовс хранятся на винте в зашифрованном виде. Выполнение скрипта VBScrit позволит получить ключ продукта установленной операционки в расшифрованном виде. Данный скрипт был разработан для операционки Виндовс 8, но данный код также прекрасно работает в операционных системах Виндовс 10, Виндовс 8.1, Виндовс 7.
Для выполнения операции кликните два раза по файлу «WindowsKey.vbs». В открывшемся окне вы увидите код активации Windows. Далее нажмите на кнопку «OK».
В следующем окне появится информация о версии операционки, ID продукта и номер ключа продукта. Не обращайте внимания на название записи «Windows 8 Key». Название этой ОС будет отображаться на любой версии операционки Windows.
Получаем ключ Виндовс в Speccy
Халявная программа Speccy от известной компании Piriform, производителя CCleaner и другого программного обеспечения. С сайта разработчика можно закачать переносную (portable) версию Speccy. Есть платная версия программы с расширенными возможностями.
Программа предоставляет юзеру подробную инфу об аппаратном обеспечении компа, также при помощи приложения можно узнать лицензионный ключ установленной Windows.
Запустите прогу Speccy, в разделе «Операционная система» отобразится версия установленной операционки, ее серийный номер (ключ активации).
Более подробно о программе Speccy можно прочитать здесь.
Узнаем ключ продукта в AIDA64
AIDA64 — мощная программа для получения всевозможной информации о программном и аппаратном обеспечении писишника.После запуска программы AIDA64, во вкладке «Меню», в разделе «Операционная система» отобразится лицензионная информация, в том числе ключ продукта Windows.
Выделите ключ продукта, в контекстном меню выберите «Копировать», далее вставьте ключ в Блокнот, или другую подобную программу для сохранения.
Прочитайте подробный обзор программы AIDA64.
Информация о ключе в SIW
SIW (System Information of Windows) — программа для получения информации об аппаратном состоянии и программном обеспечении писишника.
После запуска SIW, войдите в раздел «Программы», «Лицензии». Тут отобразится информация о ключе продукта, который используется в установленной на PC операционной системе Windows.
О программе SIW читайте тут.
Неправильный (непонятный) ключ продукта
При проверке ключей перечисленными выше способами, ключ продукта Виндовс может отобразиться в таком виде: «BBBBB-BBBBB-BBBBB-BBBBB-BBBBB».
Это значит, что ваш комп активирован корпоративным MAK или VLK ключом. Операционная Виндовс не сохраняет такие ключи, так что программы их не видят.
В Виндовс 10 используется новый метод проверки подлинности системы (не для всех случаев в Виндовс 10). Запись об активации хранится на серверах и не отображается на PC. После переустановки, Виндовс самостоятельно активируется в течение некоторого времени.
Сохранение лицензии зависит от изменения конфигурации оборудования писишника. В случае замены материнки, серверы активации Майкрософт аннулируют лицензию для этого писишника. ОС Виндовс предложит приобрести новый ключ продукта.
Выводы статьи
В случае необходимости, юзеру будет нужен ввести действительный ключ продукта для активации операционки Windows. Юзер может узнать код лицензии операционки Виндовс, запустив VBS скрипт, или при помощи специализированных программ: ProduKey, ShowKeyPlus, Free PC Audit, Speccy, AIDA64, SIW.
Как найти ключ продукта Windows
- КЛЮЧ ПРОДУКТА: XXXXX-XXXXX-XXXXX-XXXXX-XXXXX
Поиск ключа продукта для Windows 10
В зависимости от того, как вы получили свою копию Windows 10, для активации может потребоваться 25-значный ключ продукта или цифровая лицензия. Цифровая лицензия (в Виндовс 10 версии 1511 она называется цифровым разрешением) — это способ активации в Виндовс 10, при котором не требуется вводить ключ продукта. Если у вас нет 1-го из этих средств, активацию устройства выполнить не удастся.
Расположение ключа продукта зависит от того, как вы приобрели копию Windows.
Выберите любой из следующих вариантов просмотра дополнительных сведений.
Поиск ключа продукта для Windows 7 или Виндовс 8.1
При удалении и переустановке Виндовс 7 или Виндовс 8.1 в основном требуется ключ продукта. В основном, если вы приобрели физическую копию Виндовс, ключ продукта должен быть указан на наклейке или на карточке внутри упаковки, в которой находилась копия Windows. Если операционка Виндовс была предустановлена на PC, то ключ продукта должен быть на наклейке, прикрепленной к этому устройству. Если вы потеряли ключ продукта или не можете его найти, обратитесь к производителю. Чтобы узнать в подлинности ключа продукта, ознакомьтесь со сведениями о том, как сообщить о подлинности программного обеспечения и о том, как определить подлинность вашего оборудования.
Как узнать ключ продукта Виндовс 10
Сразу после выхода новой ОС, все стали интересоваться, как узнать ключ установленной Виндовс 10, хотя в большинстве случаев он не требуется. Тем не менее, если вам все-таки требуется ключ для тех или иных целей, его сравнительно просто определить, как для установленной ОС, так и зашитый производителем в UEFI ключ продукта (они могут отличаться).
В этой инструкции описаны простые способы узнать ключ продукта Виндовс 10 при помощи командной строки, Виндовс PowerShell, а также стороннего софта. Заодно упомяну о том, почему разные программы показывают разные данные, как отдельно увидеть OEM ключ в UEFI (для ОС, которая изначально была на PC. и ключ установленной в данный момент системы.
- Просмотр ключа продукта Виндовс 10 в ShowKeyPlus (ключ установленной системы и ключ из UEFI)
- Еще две программы, чтобы узнать ключ продукта Виндовс 10
- Как узнать ключ при помощи PowerShell
- При помощи скрипта VBS
Примечание: если вы произвели бесплатное обновление до Виндовс 10, а в данный момент хотите узнать ключ активации для чистой установки на том же PC, вы можете это сделать, но это не конечно (к тому же у вас будет ключ такой же, как и у других людей, получивших десятку путем обновления). При установке Виндовс 10 с флешки или диска, вас попросят ввести ключ продукта, но вы можете пропустить данный шаг, нажав в окошке запроса «У меня нет ключа продукта» (и Майкрософт пишет, что так и надо делать).
После установки и подключения к интернету, система будет автоматически активирована, ввиду того, что активация «привязывается» к вашему PC после обновления. То есть поле для ввода ключа в программе установки Виндовс 10 присутствует лишь для покупателей Retail-версий системы. Дополнительно: для чистой установки Виндовс 10 можно юзать ключ продукта от ранее установленной на том же PC Виндовс 7, 8 и 8.1. Более подробно про такую активацию: Активация Виндовс 10. А при желании, можно использовать Виндовс 10 и без активации.
Просмотр ключа продукта установленной Виндовс 10 и OEM-ключа в ShowKeyPlus
Есть много прог для описываемых тут целей, о многих из которых я писал в статье Как узнать ключ продукта Виндовс 8 (8.1) (подойдет и для Виндовс 10), но мне больше других приглянулась найденная недавно ShowKeyPlus, которая не требует установки и отдельно показывает сразу два ключа: установленной в текущий момент системы и OEM ключ в UEFI. Заодно сообщает, для какой именно версии Виндовс подходит ключ из UEFI. Ещё при помощи этой программы можно узнать ключ из другой папки с Виндовс 10 (на другом жестком диске, в папке Windows.old), а заодно проверить ключ на валидность (пункт Check Product Key).
Все, что надо сделать — запустить программу и увидеть отображаемые данные:
- Installed Key — ключ установленной системы.
- OEM Key (Original Key) — ключ предустановленной ОС, если она была на PC, т.е. ключ из UEFI.
Ещё эти данные можно сохранить в текстовый файлик для дальнейшего использования или архивного хранения, нажав кнопку «Save». Еще проблемка с тем, что порой разные программы показывают разные ключи продукта для Виндовс, как раз и появляется из-за того, что некоторые из них смотрят его в установленной системе, прочие в UEFI.
Как узнать ключ продукта Виндовс 10 в ShowKeyPlus — видео
Скачать ShowKeyPlus можно со страницы https://github.com/Superfly-Inc/ShowKeyPlus/releases/
Еще две программы, чтобы узнать ключ продукта Виндовс 10
Если по той или иной причине ShowKeyPlus для вас оказался неподходящим вариантом, можно юзать следующие две программы:
- NeoSmart OEMKey — показывает, если таковой присутствует, ключ из UEFI, то есть OEM ключ лицензионной системы, предустановленной производителем вашего компа или ноутбука. Если такого ключа нет, то вы увидите сообщение как на скриншоте ниже. Скачать программу можно бесплатно с официального сайта https://neosmart.net/OemKey/
- NirSoft ProduKey — халявная утилита, отображающая ключи установленных продуктов Майкрософт, в том числе Виндовс 10. Программа доступна для загрузки с официального сайта https://www.nirsoft.net/utils/product_cd_key_viewer.html
Просмотр ключа установленной Виндовс 10 при помощи PowerShell
Там, где можно обойтись без сторонних прог, я предпочитаю обходиться без них. Просмотр ключа продукта Виндовс 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 Виндовс 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 "Запускайте скрипт в Виндовс 10" } } Else { Write-Warning "Запускайте скрипт в Виндовс 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
После этого, запустите Виндовс PowerShell от имени Администратора. Для этого, можно начать набирать PowerShell в поле поиска, после чего кликнуть по нему правой клавишей мышки и выбрать соответствующий пункт.
В PowerShell введите следующую команду: Set-ExecutionPolicy RemoteSigned и подтвердите ее выполнение (ввести Y и нажать Enter в ответ на запрос).
Следующим шагом, введите команду: C:\win10key.ps1 (в этой команде указывается путь к сохраненному файлу со скриптом).
В результате выполнения команды вы увидите инфу о ключе установленной Виндовс 10 (в пункте Installed Key) и предложение сохранить ее в текстовый файл. После того, как вы узнали ключ продукта, можете возвратить политику выполнения скриптов в PowerShell к значению по умолчанию при помощи команды Set-ExecutionPolicy restricted
Как узнать OEM ключ из UEFI в PowerShell
Если на вашем PC или ноутбуке была предустановлена Виндовс 10 и требуется просмотреть OEM ключ (который хранится в UEFI материнской платы), вы можете юзать простую команду, которую необходимо запустить в командной строке от имени администратора.
wmic path softwarelicensingservice get OA3xOriginalProductKey
В результате вы получите ключ предустановленной системы при его наличии в системе (он может отличаться от того ключа, который используется текущей ОС, но при этом может использоваться для того, чтобы возвратить первоначальную версию Windows).
Еще один вариант этой же команды, но для Виндовс PowerShell
(Get-WmiObject -query "select * from SoftwareLicensingService").OA3xOriginalProductKey
Как увидеть ключ установленной Виндовс 10 при помощи скрипта VBS
И еще один скрипт, уже не для PowerShell, а в формате VBS (Visual Basic Script), который отображает ключ продукта установленной на PC или ноутбуке Виндовс 10 и, возможно, удобнее для использования.
Скопируйте в блокнот строки, представленные ниже.
Set WshShell = CreateObject("WScript.Shell") regKey = "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\" DigitalProductId = WshShell.RegRead(regKey & "DigitalProductId") Win10ProductName = "Версия Виндовс 10: " & WshShell.RegRead(regKey & "ProductName") & vbNewLine Win10ProductID = "ID продукта: " & WshShell.RegRead(regKey & "ProductID") & vbNewLine Win10ProductKey = ConvertToKey(DigitalProductId) ProductKeyLabel ="Ключ Виндовс 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 (для этого в диалоге сохранения в поле «Тип файла» выберите «Все файлы».
Перейдите в каталог, где был сохранен файлик и запустите его — после выполнения вы увидите окно, в котором будут отображены ключ продукта и версия установленной Виндовс 10.
Как я уже отметил, прог для просмотра ключа есть много — к примеру, в Speccy, а также других утилитах для просмотра характеристик писишника можно узнать эту инфу. Но, уверен, тех способов, что описаны здесь, будет достаточно практически в любой ситуации.
Как узнать ключ активации Виндовс
Для активации Виндовс используется 25-ти значный ключ продукта.
Он имеет вид XXXXX-XXXXX-XXXXX-XXXXX-XXXXX.
Узнать ключ активации Виндовс требуется в нескольких случаях. К примеру, если у вас на ноуте или PC установлена Семёрка или Восьмёрка и вы хотите обновить её до Виндовс 10.
Есть несколько способов сделать это. Некоторые разберем в тексте ниже.
Сначала воспользуемся скриптом VBS. Это, на мой взгляд, самый простейший способ, который не предполагает использования сторонних приложений.
Видео инструкция поможет с определением ключа продукта.
Чтобы изготовить скрипт, создаём обычный текстовый документ. На свободном местечке.ке.ке.ке Рабочего стола щёлкаем правой клавишей мышки и в контекстном меню наводим курсор на пункт Создать. В дополнительном меню выбираем пункт Текстовый документ.
Скрипт VBS
——начало скрипта——
Set WshShell = CreateObject("WScript.Shell") regKey = "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\" DigitalProductId = WshShell.RegRead(regKey & "DigitalProductId") Win8ProductName = "Windows Product Name: " & WshShell.RegRead(regKey & "ProductName") & vbNewLine Win8ProductID = "Windows Product ID: " & WshShell.RegRead(regKey & "ProductID") & vbNewLine Win8ProductKey = ConvertToKey(DigitalProductId) strProductKey ="Windows Key: " & Win8ProductKey Win8ProductID = Win8ProductName & Win8ProductID & strProductKey MsgBox(Win8ProductKey) MsgBox(Win8ProductID) Function ConvertToKey(regKey) Const KeyOffset = 52 isWin8 = (regKey(66) \ 6) And 1 regKey(66) = (regKey(66) And &HF7) Or ((isWin8 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 (isWin8 = 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
——конец скрипта——
Ещё один способ увидеть ключ. Принцип работы похож — копируем текстовку скрипта в текстовый документ, сохраняем в нужном формате и выполняем. Но, на данный раз, используем для выполнения скрипта PowerShell.
Код скрипта для PowerShell
#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 Виндовс 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 «Запускайте скрипт в Виндовс 10»
}
}
Else
{
Write-Warning «Запускайте скрипт в Виндовс 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
Необходимо скопировать данный текст, к примеру в блокнот, и сохранить его с расширением .psl
К примеру, я сохранил его на диск С под названием key. Таким образом, путь до этого файла у меня вот такой:
C:\key.ps1
После этого, врубаем PowerShell от имени администратора.
После того как PowerShell запущен, вставляем в его окно следующую команду:
Set-ExecutionPolicy RemoteSigned
После ввода команды и нажатия на Enter, появится запрос на подтверждение. Надо ввести букву Y (англ.) и нажать Enter.
Теперь, для выполнения скрипта, просто вводим в PowerShell путь до него:
C:\key.ps1
При этом, в строке с текстом Installed Key: мы увидим ключ продукта.
После того, как вы разобрались со своим ключом, я рекомендую запретить политику выполнения PowerShell, разрешённую нами на первом этапе. Это можно проделать, введя в PowerShell команду:
Set-ExecutionPolicy restricted
Увидеть ключ установленной Виндовс можно так же при помощи сторонних программ.
Одна из самых популярных — ProduKey. Скачать её можно с официального сайта.
Ещё одна неплохая программка, для того, чтобы вытащить ключ — Show Key Plus. Её можно закачать со страничек. проекта на Githab. Я приведу вот эту ссылку на список релизов программы. Последнюю версию выберите сами.
Как узнать ключ продукта Виндовс при помощи PowerShell
Как узнать ключ продукта установленной операционки Windows? Разумеется проще всего воспользоваться специализированными программами (ProduKey, ShowKeyPlus и т.п.), но мы не ищем легких путей В поисках ключа нам поможет PowerShell.
Ключ продукта Виндовс хранится в системном реестре, в разделе HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion, в параметре DigitalProductID.
Примечание. На самом деле у Виндовс есть два ключа продукта. Помимо ключа активации есть еще ключ установки (generic), находящийся в разделе HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\DefaultProductKey. С этим ключом можно установить систему, но нельзя ее активировать.
Но просто так ключ увидеть не удастся. Данные в DigitalProductID хранятся в двоичном виде, сам ключ занимает байты с 52 по 66. Помимо этого данные зашифрованы в кодировке base 24.
Чтобы узнать ключ, надо извлечь его из реестра и расшифровать. Для расшифровки используем следующий PowerShell скрипт. Сознаюсь, скрипт не мой Я нашел его на просторах интернета и немного подправил, а также добавил комментарии. Еще в скрипте активно используются побитовые операторы.
# 24 символа, использующиеся в ключах продукта Microsoft
$base24 = ‘BCDFGHJKMPQRTVWXY2346789’;
# длина ключа продукта в символах
$decodeStringLength = 24;
# длина ключа продукта в байтах
$decodeLength = 14;
# строка с расшифрованным ключом
$decodedKey = ? ?;
#Извлекаем зашифрованный ключ из реестра и сохраняем его в массив
$digitalProductId = (Get-Item ‘HKLM:\SOFTWARE\Microsoft\Windows NT\CurrentVersion’).GetValue(‘DigitalProductId’)[52..66]
#Проверяем наличие в ключе буковки ‘N’ (для Виндовс 8 и старше)
#Если третий бит младшего байта массива равен 1, то в номере присутствует буква ‘N’
$containsN = ($digitalProductId[$decodeLength] -shr 3) -bAnd 1;
#Для корректной расшифровки номера данный бит необходимо сбросить
$digitalProductId[$decodeLength] = $digitalProductId[$decodeLength] -band 0xF7;
<# Расшифровка ключа. Заключается в том, что полученное из реестра значение $digitalProductId переводится в систему счисления с основанием 24, затем каждая цифра заменяется на символ из $base24, индексом которого значится эта цифра #>
for ($i = $decodeStringLength; $i -ge 0; $i??) {
# Переменная для хранения индекса текущего символа, перед началом вычисления обнуляем
$digitMapIndex = 0;
for ($j = $decodeLength; $j -ge 0; $j??) {
<# Размерность в байтах, так что исходное основание 256. Умножаем на него остаток от предыдущей итерации и добавляем цифру из следующего разряда #>
$digitMapIndex = ($digitMapIndex -shl -bXor $digitalProductId[$j];
<# Делим $digitMapIndex на количество символов в $base24. Частное попадает в $digitalProductId[$j],
а остаток от деления в $digitMapIndex #>
$digitalProductId[$j] = [System.Math]::DivRem($digitMapIndex, $base24.Length, [ref]$digitMapIndex);
}
# Находим в $base24 символ с полученным индексом и добавляем его в $decodedKey
$decodedKey = $decodedKey.Insert(0, $base24[$digitMapIndex]);
}
<# Если в ключе присутвует символ ?N?, то добавляем его. Для этого находим в расшифрованной строке первый символ и запоминаем его индекс в $base24. Затем удаляем первый символ, а в оставшуюся строку вставляем ?N? в позицию с номером индекса удалённого символа #>
if ($containsN -eq 1) {
$index = $base24.IndexOf($decodedKey[0]);
$decodedKey = $decodedKey.Substring(1).Insert($index, ‘N’);
}
# Вставляем тире через каждые пять символов
for ($n = 20; $n -ge 5; $n -= 5){$decodedKey = $decodedKey.Insert($n, ‘-‘)}
# Формируем вывод, добавляем в него дополнительную инфу об операционной системе
$Target = [System.Net.Dns]::GetHostName();
$win32os = Get-WmiObject -Class ‘Win32_OperatingSystem’ -ComputerName $target;
$product = New-Object -TypeName System.Object;
$product | Add-Member -MemberType ‘NoteProperty’ -Name ‘Computer’ -Value $target;
$product | Add-Member -MemberType ‘NoteProperty’ -Name ‘Caption’ -Value $win32os.Caption;
$product | Add-Member -MemberType ‘NoteProperty’ -Name ‘OSArch’ -Value $win32os.OSArchitecture;
$product | Add-Member -MemberType ‘NoteProperty’ -Name ‘BuildNumber’ -Value $win32os.BuildNumber;
$product | Add-Member -MemberType ‘NoteProperty’ -Name ‘ProductID’ -Value $win32os.SerialNumber;
$product | Add-Member -MemberType ‘NoteProperty’ -Name ‘ProductKey’ -Value $decodedKey;
Write-Output $product;
Сохраняем код в файлик с расширением .ps1, врубаем и получаем результат. Готовый скрипт getproductkey.ps1.
Ну и чтобы узнать в том, что скрипт работает правильно, проверим полученный итог при помощи программы ProduKey. Как видите, она выдает такой же ключ.
И еще. Если система была активирована корпоративным ключом (MAK) либо при помощи цифровой лицензии, то ключ не сохраняется в системе. В данном случае и скрипт выдаст что то вроде этого BBBBB-BBBBB-BBBBB-BBBBB-BBBBB.