Сегодня хочу поговорить о том, как найти Ваш оригинальный ключ для Windows 10. Большинство современных ноутбуков поставляются уже с имеющимся ключем для Windows, так сказать с предустановленным OEM ключем. Раньше, во времена Windows XP и Windows Vista на ноутбуке была фирменная наклейка, на которую нанесен Windows ключ, но со времен Windows 8.1 и Windows 10 если имеется предустановленная ОС, то на поддоне ноутбука имеется только наклейка с логотипом Windows, а где брать сам ключ я расскажу ниже.
Допустим ОС еще находится в полурабочем стостоянии, тогда сведения о её редакции и ключ можно вытащить из системного реестра, для этого есть куча софта, но лично я в последнее время боюсь запускать непонятные бинарные файлы из интернетов, предлагаю Вам посмотреть на этот замечательный PowerShell скрипт
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 "Возникла ошибка, не удалось получить ключ"
<div class="adinsertion"></div>
	}
}
#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
В результате выполнения будет понятная строка

(прошу не обращать внимание на указанный ключик, это шаровый ключ для устновки win10Pro c ним активацию не получить)
Но есть еще вариант вытащить ключик из BIOS/UEFI для этого пожно выполнить следующую PowerShell команду
(Get-WmiObject -query "select * from SoftwareLicensingService").OA3xOriginalProductKey
очередная альтернатива можно вытащить Ключ из дампа bios. Как правило ключ расположен в открытом виде. Для его получения достаточно открыть дамп в HEX редакторе и после значения
010000000000000001000000000000001D000000
Будет расположен Ваш ключ.
![OLORG[dot]ru OLORG[dot]ru](http://olorg.ru/application/maxsite/templates/olorgru/assets/images/logos/olorg-logo.png)