Function get windows key

Как узнать лицензионный ключ Microsoft Windows?

После замены винчестера на NVMe SSD вам так или иначе потребуется перенести на твердотельный накопитель операционную систему, в противном случае производительность компьютера не вырастет ни на йоту. Вот только в процессе клонирования диска или чистовой установки ОС может потребоваться лицензионный ключ. И если у обладателей retail-версии с этим не возникнет ровным счетом никаких проблем (код активации всегда можно найти внутри коробки с установочным DVD), то владельцев ПК или лэптопа с предустановленной Windows будет ожидать крайне неприятный сюрприз.

Лет 10 назад при покупке ноутбука или готового компьютера вы получали в свое распоряжение два диска: на одном из них находились необходимые драйверы, а на другом — дистрибутив операционной системы. Благодаря этому вы могли без труда переустановить Windows при возникновении каких-либо проблем программного характера или при замене системного накопителя, благо лицензионный ключ для активации ОС всегда можно было посмотреть на фирменной наклейке: обычно лейбл располагался на боковой или задней стенке корпуса ПК либо был приклеен к днищу лэптопа.

Времена изменились. Большинство современных машин вообще не оборудованы оптическими приводами, и в коробке с ноутбуком вы не найдете ни DVD, ни даже флешки с установочным образом операционной системы. А при осмотре корпуса максимум, что вы увидите, — логотип Windows без каких-либо дополнительных сведений о лицензии.

Сегодня производители готовых ПК и ноутбуков чаще всего поступают следующим образом:

  • лицензионный ключ «зашивается» непосредственно в UEFI, от глаз рядового пользователя он скрыт;
  • на системном накопителе создается раздел, содержащий бэкап операционной системы, — с его помощью компьютер или лэптоп можно вернуть к заводскому состоянию.

Это действительно удобно: вам больше не надо вбивать 25-значный код при переустановке операционной системы, да и о флешках с DVD можно навсегда забыть. Вот только у каждой медали есть и оборотная сторона. Стоит вам заменить жесткий диск на высокоскоростной SSD WD Black SN750 — и вы лишитесь дистрибутива Windows, а вместе с обновлением прошивки материнской платы может благополучно исчезнуть и ключ. Не говоря уже о том, что активация способна слететь даже после установки очередного апдейта из-за какого-нибудь бага.

Покупка новой лицензии взамен утраченной — перспектива не самая радужная (официальная цена Windows 10 Home составляет 199 долларов США, а Pro — и вовсе 289 долларов), поэтому мы настоятельно рекомендуем тщательно подготовиться к переходу на твердотельный накопитель, предварительно узнав заветную последовательность букв и цифр. Разберемся, как это сделать.

Извлекаем лицензионный ключ Windows из реестра с помощью скрипта

Данный способ является универсальным и подходит для Windows 7, 8.1 и 10. С помощью простого VBS-скрипта мы извлечем лицензионный ключ непосредственно из реестра операционной системы, куда он записывается в процессе активации.

1. Создайте в блокноте текстовый файл и скопируйте в него следующее:

Set WshShell = CreateObject(«WScript.Shell»)

regKey = «HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\»

DigitalProductId = WshShell.RegRead(regKey & «DigitalProductId»)

WinProductName = «Windows Product Name: » & WshShell.RegRead(regKey & «ProductName») & vbNewLine

WinProductID = «Windows Product ID: » & WshShell.RegRead(regKey & «ProductID») & vbNewLine

strProductKey =»Windows Key: » & WinProductKey

WinProductID = WinProductName & WinProductID & strProductKey

regKey(66) = (regKey(66) And &HF7) Or ((isWin And 2) * 4)

Узнать ключ активации Windows

Технический уровень : Средний

Для активации windows используется 25-значный код (ключ) формата (XXXXX-XXXXX-XXXXX-XXXXX-XXXXX). Чтобы узнать какой ключ использовался для активации системы, или появилась необходимость в переустановки системы, а ключ на наклейке стерся, можно воспользоваться данным VBS скриптом.

*Внимание! Данная статья относится к Windows 7/8/8.1 и не подходит для Windows 10.

Читайте также:  Схемы для windows terminal

Создайте Текстовый документ.

Скопируйте в него текст скрипта.

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

strProductKey = «Windows Key: » & Win8ProductKey

Win8ProductID = Win8ProductName & Win8ProductID & strProductKey

Function ConvertToKey(regKey)

Const KeyOffset = 52

isWin8 = (regKey(66) \ 6) And 1

regKey(66) = (regKey(66) And &HF7) Or ((isWin8 And 2) * 4)

Do

Do

Cur = regKey(y + KeyOffset) + Cur

regKey(y + KeyOffset) = (Cur \ 24)

Cur = Cur Mod 24

Loop While y >= 0

winKeyOutput = Mid(Chars, Cur + 1, 1) & winKeyOutput

Loop While j >= 0

If (isWin8 = 1) Then

keypart1 = Mid(winKeyOutput, 2, Last)

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 .

Как узнать ключ продукта Windows с помощью PowerShell

Как узнать ключ продукта установленной операционной системы Windows? Конечно проще всего воспользоваться специализированными программами (ProduKey, ShowKeyPlus и т.п.), но мы не ищем легких путей 🙂 В поисках ключа нам поможет PowerShell.

Ключ продукта Windows хранится в системном реестре, в разделе HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion, в параметре DigitalProductID.

Примечание. На самом деле у Windows есть два ключа продукта. Кроме ключа активации есть еще ключ установки (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’ (для Windows 8 и старше)

#Если третий бит младшего байта массива равен 1, то в номере присутствует буква ‘N’
$containsN = ($digitalProductId[$decodeLength] -shr 3) -bAnd 1;

#Для корректной расшифровки номера этот бит необходимо сбросить
$digitalProductId[$decodeLength] = $digitalProductId[$decodeLength] -band 0xF7;

затем каждая цифра заменяется на символ из $base24, индексом которого является эта цифра #>

for ($i = $decodeStringLength; $i -ge 0; $i−−) <

# Переменная для хранения индекса текущего символа, перед началом вычисления обнуляем
$digitMapIndex = 0;

for ($j = $decodeLength; $j -ge 0; $j−−) <

$digitMapIndex = ($digitMapIndex -shl 8) -bXor $digitalProductId[$j];

а остаток от деления в $digitMapIndex #>
$digitalProductId[$j] = [System.Math]::DivRem($digitMapIndex, $base24.Length, [ref]$digitMapIndex);

# Находим в $base24 символ с полученным индексом и добавляем его в $decodedKey
$decodedKey = $decodedKey.Insert(0, $base24[$digitMapIndex]);

Затем удаляем первый символ, а в оставшуюся строку вставляем ′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)

# Формируем вывод, добавляем в него дополнительную информацию об операционной системе

$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;

Сохраняем код в файлик с расширением .ps1, запускаем и получаем результат. Готовый скрипт getproductkey.ps1.

Читайте также:  Как восстановить данные с флешки линукс

Ну и чтобы убедиться в том, что скрипт работает правильно, проверим полученный результат с помощью программы ProduKey. Как видите, она выдает такой же ключ.

И еще. Если система была активирована корпоративным ключом (MAK) либо с помощью цифровой лицензии, то ключ не сохраняется в системе. В этом случае и скрипт выдаст что то вроде этого BBBBB-BBBBB-BBBBB-BBBBB-BBBBB.

5 простых способов как узнать ключ продукта ОС Windows 10

Ключ продукта Windows (product key) — это 25-значный цифробуквенный код, который используется при активации системы.

До выхода Windows 8 наклейку с ключом производители размещали на корпусе ноутбуков и ПК, поэтому никаких сложностей с его определением не возникало.

Сейчас от этой практики отказались, поэтому владельцам «десятки» приходится искать иные, неочевидные решения.

Рассмотрим 5 способов, позволяющих узнать ключ продукта Windows 10 быстро, просто и бесплатно.

Узнаем ключ Windows 10 с помощью VBScript

Этот скрипт был создан для извлечения product key из Windows 8, но с успехом работает и на Windows 10. Ключи обеих систем хранятся в реестре в зашифрованном виде, а средства VBScrit, входящие в состав Windows, позволяют их расшифровать.

Порядок запуска скрипта

  • Откройте блокнот и скопируйте в него приведенный ниже код.

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 8 Key: » & Win8ProductKey
Win8ProductID = Win8ProductName & Win8ProductID & strProductKey

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

  • Сохраните файл под любым именем с расширением .vbs. При сохранении необходимо выбрать тип «все файлы».
  • Дважды кликните по созданному vbs-файлу. Лицензионный ключ Windows 10 будет показан в небольшом окне на рабочем столе.

К преимуществам этого способа можно отнести простоту, безопасность и полную прозрачность операций. К недостаткам — возможность ошибок при копировании, которые сделают скрипт невыполнимым.

Узнаем ключ Windows 10 через PowerShell

PowerShell — еще один системный инструмент, с помощью которого можно автоматически расшифровать данные реестра, в частности — ключ продукта. Поблагодарим за эту возможность автора скрипта для PowerShhell — Jakob Bindslet.

Порядок выполнения

  • Скопируйте в блокнот приведенный ниже код.

function Get-WindowsKey <
## get the Windows Product Key from any PC

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
>
>

  • Сохраните файл с расширением .ps1 под любым именем.
  • Запустите командную строку с правами администратора или откройте консоль Windows PowerShell (кликните по значку «Поиск» в панели быстрого запуска, наберите в поисковой строке слово powershell и запустите приложение от имени администратора).
  • В окно командной строки введите команду powershell, нажмите Enter и дождитесь появления запроса ввода PS C:\Windows\system32>. Пропустите это, если вы работаете в консоли Windows PowerShell.
  • Далее введите инструкцию Set-ExecutionPolicy RemoteSigned и, если будет запрос, подтвердите выполнение нажатием клавиши «Y«.
  • После этого поочередно выполните еще 2 команды: Import-Module «Путь_к _файлу_*.ps1», например, Import-Module D:\win-key.ps1 и Get-WindowsKey.
  • Ключ продукта отобразится в окне консоли в строке «ProductKey».
Читайте также:  Violets on the windows

Преимущества этого способа — безопасность и универсальность. Недостатки — более сложное выполнение, чем скрипта VB, и не стопроцентная точность. На некоторых системах ключ продукта определяется неправильно, поэтому желательна перепроверка другими средствами.

«ProduKey» от NirSoft для определения ключа Windows 10 и не только

Те, кто не любит работать с консольными приложениями, могут использовать для определения ключа «десятки» сторонний софт.

Таких программ довольно много, мы отобрали наиболее простые из них, которые не показывают лишнего и не вызывают затруднений даже у новичков. Одна из них — утилита «ProduKey» от NirSoft.

Она позволяет узнать не только ключ системы, но и приложений Microsoft Office, и браузера Internet Explorer (ныне переименованного в Edge).

«ProduKey» от NirSoft не требует установки — достаточно скачать утилиту с официального сайта и запустить с правами админа. Ключ Windows 10, как и остальные, отображается в главном окне. При желании его можно сохранить в файл.

Кроме того, «ProduKey» от NirSoft умеет определять ключи других копий Windows, установленных на локальном и удаленных компьютерах, в том числе на всех машинах в домене. Также он может вытащить ключ из реестра незагруженной системы.

Последнее бывает необходимо при переустановке ОС, чтобы повторно активировать Windows 10, когда она потребует ключ продукта.

Чтобы выбрать, из какой копии Windows загружать данные, кликните в панели инструментов кнопку «Select source».

Преимущества «ProduKey» от NirSoft — это максимальная простота, отсутствие необходимости установки, возможность работать с незагруженными копиями Windows и удаленными компьютерами.

«Magical Jelly Bean Keyfinder» достанет ключ продукта из дистрибутива Windows 10

Утилита «Magical Jelly Bean Keyfinder» имеет уникальную функцию определения product key как в установленной системе, так и в дистрибутивах Windows — на компакт-дисках и в образах формата .ico. Найденный ключ с ее помощью можно сохранить в файл.

«Magical Jelly Bean Keyfinder» выпускается в двух версиях — бесплатной и коммерческой. Чтобы вытянуть ключ из загруженной Windows 10, достаточно бесплатной.

Коммерческая версия позволяет сканировать системы на удаленных компьютерах, вытягивать ключи из BIOS (UEFI), определять серийные номера продуктов Adobe и пользоваться техподдержкой. Цена лицензии — от $ 29.95.

Важно! В отличие от «ProduKey», бесплатная версия «Magical Jelly Bean Keyfinder» требует инсталляции на ПК и помимо себя пытается установить ненужное рекламное ПО. В этом, пожалуй, и есть его главный недостаток.

«ShowKeyPlus» подскажет ключ текущей Windows 10 и ее предшественника

Небольшая, простая утилитка «ShowKeyPlus» — единственный продукт, который смог определить ключ установленной ОС Windows 10 и ее предшественницы Windows 7 («семерка» в нашем примере была обновлена до «десятки»).

Как и «ProduKey» от NirSoft, она не требует инсталляции и не распространяет рекламу, ее достаточно скачать и запустить. Ключи продуктов отображаются в основном окне. Нажатием «Save» их можно скопировать и сохранить в текстовом файле.

Кроме того, «ShowKeyPlus» умеет извлекать product key из реестра незагруженной ОС. Кликните для этого «Retrieve key from backup» и укажите путь к источнику — файлу Software, который находится в каталоге Буква_раздела\Windows\system32\config.

Обратите внимание! Еще одна полезная ее функция — это определение версии Windows по известному product key. Она незаменима, когда имеющиеся у вас ключи не подходят для активации Windows 10, поскольку принадлежат другой системе. Чтобы использовать возможность, перейдите во вкладку «Check product key».

Утилита «ShowKeyPlus», как и «ProduKey» от NirSoft, отлично справляется со своими задачами и не имеет недостатков.

Все упомянутые в обзоре программы необходимо скачивать только с официальных сайтов. Продукты, загруженные непонятно откуда, могут передать product key вашей системы злоумышленникам.

Как узнать ключ продукта Windows 7, 8.1, 10

Сразу после выхода новой ОС Windows 10, все стали интересоваться, как узнать ключ установленной Windows 10, хотя в большинстве случаев он не требуется

Оцените статью