Vbs скрипт для ключа windows 10

Что делать если вы забыли ключ от Windows 10 или Windows 8? Как быть если предыдущий администратор не передал вам ключ от Windows Server 2012 R2? Ноутбук с Windows непонятной версии нужно откатить на заводские настройки, а ключ от операционной системы никто не помнит?

В зависимости от того, как вы получили свою копию Windows 10, для активации может потребоваться 25-значный ключ продукта или цифровая лицензия. 

  • Цифровая лицензия (в Windows 10 версии 1511 носит название цифрового разрешения) — это способ активации в Windows 10, который не требует ввода ключа продукта. 
  • Ключ продукта представляет собой 25-значный код, используемый для активации Windows. Вы увидите КЛЮЧ ПРОДУКТА: XXXXX-XXXXX-XXXXX-XXXXX-XXXXX.

Ключ продукта

Если у вас установлен ключ продукта, то можно его узнать. Просто скопируйте текст ниже в файл winkey.vbs и запустите на нужной машине. Если повезёт, то скрипт определит ключ и версию системы.

  • winkey.vbs

    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
    WinProductKey = ConvertToKey(DigitalProductId)
    strProductKey ="Windows Key: " & WinProductKey
    WinProductID = WinProductName & WinProductID & strProductKey
    
    MsgBox(WinProductKey)
    MsgBox(WinProductID)
    
    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

Ключ продукта в BIOS

Лицензионный ключ может быть прописан в BIOS устройства. Узнать его можно через Powershell:

(Get-WmiObject -query 'select * from SoftwareLicensingService').OA3xOriginalProductKey

win

Или в командной строке:

wmic path softwarelicensingservice get OA3xOriginalProductKey

win

Цифровая лицензия

Если вы бесплатно обновили ОС Windows 7 или Windows 8.1 до Windows 10, вместо ключа продукта вы должны получить цифровую лицензию. Если у вас есть цифровая лицензия для устройства, вы можете переустановить тот же выпуск Windows 10 на этом устройстве без ввода ключа продукта.

В этом случае при попытке запустить скрипт для определения ключа вы получите это: BBBBB-BBBBB-BBBBB-BBBBB-BBBBB.

Открываем окно параметров.

Проверить состояния активации в параметрах

win

Надпись об активации может отличаться:

win

Ключ по умолчанию

Можно узнать ключ по умолчанию для текущей редакции. Он устанавливается, если вы не указываете свой ключ и сохраняется при получении цифровой лицензии.

Частично:

slmgr -dli
slmgr -dlv

win

Полную версия ключа можно посмотреть в реестре:

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\SoftwareProtectionPlatform\BackupProductKeyDefault

Скрипт VBS в помощь. Просто скопируйте текст ниже в файл winkey2.vbs и запустите на нужной машине. Скрипт определит ключ по умолчанию и версию системы.

  • winkey2.vbs

    Set WshShell = CreateObject("WScript.Shell")
    regKey = "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\"
    regKey2 = "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\SoftwareProtectionPlatform\"
    WinProductKey = WshShell.RegRead(regKey2 & "BackupProductKeyDefault")
    
    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
    
    MsgBox(WinProductKey)
    MsgBox(WinProductID)

Этот ключ позволит установить windows 10 без проведения активации. Потом автоматически должна активироваться цифровая лицензия, если она привязана к вашей учётной записи Microsoft.

В отличие от Windows 7 компьютеры с предварительно установленной системой Windows 8 и Windows 10 не имеют наклейку с ключом продукта на ней. Это потому, что ключ продукта встроен в микропрограмму UEFI.

 При использовании Windows 10 PC, вам не нужно знать ваш ключ продукта Windows 10, даже после чистой установки или переустановки того же выпуска Windows 10 на одном компьютере система активирует вашу копию без необходимости вводить ключ продукта.

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

 Существует много программ для просмотра ключа продукта Windows. Но не все из них работают в Windows 10. Вот 2 способа просмотра ключа продукта Windows 10.

 Способ 1

 ProduKey — просмотр ключа продукта Windows 10

 

ProduKey - просмотр ключа продукта Windows 10

Шаг 1: Посетите эту страницу, найдите ссылки на скачивание и нажмите на последнюю версию ProduKey, загрузите zip-файл. Распакуйте zip-архив в новую папку.

Шаг 2: Запустите файл ProduKey.exe, чтобы посмотреть ваш ключа продукта Windows 10.

Способ 2

 Просмотр ключа Windows 10 с помощью простого скрипта.

 

Просмотр ключа Windows 10 с помощью простого скрипта

Шаг 1: Скопируйте текст скрипта в блокнот и поменяйте расширение файла .тхт на .vbs чтобы получить файл W10Key.vbs или загрузите архив с готовым скриптом W10Key.zip

Содержание скрипта:

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

Шаг 2:Разархивируйте скачанный скрипт и Дважды щелкните файл Win10Key.vbs для просмотра вашего ключа продукта.

А вы сделали резервное копирование ключа продукта Windows 10?

Сразу после выхода новой ОС, все стали интересоваться, как узнать ключ установленной Windows 10, хотя в большинстве случаев он не требуется. Тем не менее, если вам все-таки требуется ключ для тех или иных целей, его сравнительно просто определить, как для установленной ОС, так и зашитый производителем в UEFI ключ продукта (они могут отличаться).

В этой инструкции описаны простые способы узнать ключ продукта Windows 10 с помощью командной строки, Windows PowerShell, а также сторонних программ. Заодно упомяну о том, почему разные программы показывают разные данные, как отдельно посмотреть OEM ключ в UEFI (для ОС, которая изначально была на компьютере) и ключ установленной в данный момент системы.

Примечание: если вы произвели бесплатное обновление до Windows 10, а теперь хотите узнать ключ активации для чистой установки на том же компьютере, вы можете это сделать, но это не обязательно (к тому же у вас будет ключ такой же, как и у других людей, получивших десятку путем обновления). При установке Windows 10 с флешки или диска, вас попросят ввести ключ продукта, но вы можете пропустить этот шаг, нажав в окне запроса «У меня нет ключа продукта» (и Майкрософт пишет, что так и нужно делать).

После установки и подключения к Интернету, система будет автоматически активирована, поскольку активация «привязывается» к вашему компьютеру после обновления. То есть поле для ввода ключа в программе установки Windows 10 присутствует только для покупателей Retail-версий системы. Подробнее про такую активацию: Активация Windows 10. А при желании, можно использовать Windows 10 и без активации.

Просмотр ключа продукта  установленной Windows 10 и OEM-ключа в ShowKeyPlus

Есть множество программ для описываемых здесь целей, о многих из которых я писал в статье Как узнать ключ продукта Windows 8 (8.1) (подойдет и для Windows 10), но мне больше других приглянулась найденная недавно ShowKeyPlus, которая не требует установки и отдельно показывает сразу два ключа: установленной в текущий момент системы и OEM ключ в UEFI. Заодно сообщает, для какой именно версии Windows подходит ключ из UEFI. Также с помощью этой программы можно узнать ключ из другой папки с Windows 10 (на другом жестком диске, в папке Windows.old), а заодно проверить ключ на валидность (пункт Check Product Key).

Все, что нужно сделать — запустить программу и посмотреть отображаемые данные:

Посмотреть ключ Windows 10 в ShowKeyPlus

 

  • Installed Key — ключ установленной системы.
  • OEM Key (Original Key) — ключ предустановленной ОС, если она была на компьютере, т.е. ключ из UEFI.

Также эти данные можно сохранить в текстовый файл для дальнейшего использования или архивного хранения, нажав кнопку «Save». Кстати, проблема с тем, что порой разные программы показывают разные ключи продукта для Windows, как раз и появляется из-за того, что некоторые из них смотрят его в установленной системе, другие в UEFI.

Скачать ShowKeyPlus можно со страницы https://github.com/Superfly-Inc/ShowKeyPlus/releases/, также с недавних пор приложение доступно для загрузки в Microsoft Store.

Еще две программы, чтобы узнать ключ продукта Windows 10

Если по той или иной причине ShowKeyPlus для вас оказался неподходящим вариантом, можно использовать следующие две программы:

Просмотр ключа установленной 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 в PowerShell

В результате выполнения команды вы увидите информацию о ключе установленной Windows 10 (в пункте Installed Key) и предложение сохранить ее в текстовый файл. После того, как вы узнали ключ продукта, можете вернуть политику выполнения скриптов в PowerShell к значению по умолчанию с помощью команды Set-ExecutionPolicy restricted

Как узнать OEM ключ из UEFI в PowerShell

Если на вашем компьютере или ноутбуке была предустановлена 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

Должно получиться как на скриншоте ниже.

Скрипт чтобы узнать ключ Windows 10 в блокноте

После этого сохраните документ с расширением .vbs (для этого в диалоге сохранения в поле «Тип файла» выберите «Все файлы».

Сохранение скрипта VBS в блокноте

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

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

Provide feedback

Saved searches

Use saved searches to filter your results more quickly

Sign up

function Get-WindowsKey { ## function to retrieve the Windows Product Key from any PC
## by Jakob Bindslet (jakob@bindslet.dk)
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
} }

PS; I`m not trying to steal our clients product keys, sometimes they do not have them as they damaged the sticker :)

Понравилась статья? Поделить с друзьями:
0 0 голоса
Рейтинг статьи
Подписаться
Уведомить о
guest

0 комментариев
Старые
Новые Популярные
Межтекстовые Отзывы
Посмотреть все комментарии
  • Если внутренние sata ssd диски отображаются windows как съемные носители
  • Dental 4 windows обучение
  • Как удалить файлы пользователя в windows 10
  • Отсутствует vulkan 1 dll как исправить windows 7
  • Этот компьютер не отвечает требованиям к системе для windows 11 хотя все отвечает