Лицензионный ключ Windows — как узнать за 2 минуты

Узнайте лицензионный ключ Windows через PowerShell, командную строку или бесплатные утилиты. Три рабочих способа без установки сторонних программ.

Лицензионный ключ Windows — как узнать за 2 минуты

Лицензионный ключ Windows зашит в реестре или прошивке UEFI и извлекается без каких-либо платных инструментов. Ниже — три способа: PowerShell-скрипт, команда WMIC в командной строке, а также пара портативных утилит для тех, кто предпочитает графический интерфейс.

Примечание: если вы обновляли Windows 7 или 8 до Windows 10/11, узнавать ключ не нужно — активация привязана к материнской плате и происходит автоматически при подключении к интернету. Ключ понадобится только при покупке Retail-версии или чистой установке на новое железо.

Способ 1: PowerShell-скрипт

Специальной встроенной команды для извлечения ключа в Windows нет, но задачу решает короткий скрипт, читающий двоичное значение из реестра.

  1. Откройте Блокнот (поиск → Блокнот).Как узнать лицензионный ключ с помощью Windows PowerShell
  2. Вставьте в Блокнот скрипт ниже:
    #Main function
    Function GetWin10Key
    {
    	$Hklm = 2147483650
    	$Target = $env:COMPUTERNAME
    	$regPath = "Software\Microsoft\Windows NT\CurrentVersion"
    	$DigitalID = "DigitalProductId"
    	$wmi = [WMIClass]"\\$Target\root\default:stdRegProv"
    	$Object = $wmi.GetBinaryValue($hklm,$regPath,$DigitalID)
    	[Array]$DigitalIDvalue = $Object.uValue
    	If($DigitalIDvalue)
    	{
    		$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
    		$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
    				$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 "Возникла ошибка, не удалось получить ключ" }
    }
    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
    }
    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
  3. Нажмите Файл → Сохранить как… и сохраните файл с расширением .ps1, например C:\win-10-key.ps1.Как узнать лицензионный ключ с помощью Windows PowerShellКак узнать лицензионный ключ с помощью Windows PowerShell
  4. Откройте PowerShell от имени администратора (поиск → PowerShell → правая кнопка → Запуск от имени администратора).Как узнать лицензионный ключ с помощью Windows PowerShellКак узнать лицензионный ключ с помощью Windows PowerShell
  5. Введите команду для снятия ограничения на запуск скриптов и нажмите Enter, затем подтвердите клавишей Y:
    Set-ExecutionPolicy RemoteSigned

    Как узнать лицензионный ключ с помощью Windows PowerShell

  6. Запустите скрипт, указав путь к файлу:
    C:\win-10-key.ps1

    Как узнать лицензионный ключ с помощью Windows PowerShell

  7. Скрипт выведет название ОС, Product ID и лицензионный ключ Windows. Нажмите Y, чтобы сохранить данные в текстовый файл на рабочем столе.Как узнать лицензионный ключ с помощью Windows PowerShellКак узнать лицензионный ключ с помощью Windows PowerShell
  8. После получения ключа верните политику выполнения скриптов в исходное состояние:
    Set-ExecutionPolicy Restricted

    Как узнать лицензионный ключ с помощью Windows PowerShell

Способ 2: извлечь OEM-ключ из прошивки UEFI

На компьютерах с предустановленной Windows OEM-ключ вшит прямо в прошивку материнской платы. Его можно извлечь одной командой даже если ОС была переустановлена.

Через командную строку (от администратора)

  1. Откройте командную строку от имени администратора.Как извлечь ОЕМ-ключ из прошивки UEFI
  2. Введите команду и нажмите Enter:
    wmic path softwarelicensingservice get OA3xOriginalProductKey

    Как извлечь ОЕМ-ключ из прошивки UEFI

  3. Если OEM-ключ присутствует в прошивке — он отобразится в ответе. Пустая строка означает, что ключ в UEFI не записан.

Через PowerShell (от администратора)

Тот же результат даёт команда в PowerShell:

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

Как извлечь ОЕМ-ключ из прошивки UEFI

Способ 3: портативные утилиты

Если командная строка не устраивает — есть два бесплатных инструмента без установки.

ProduKey

Утилита от NirSoft показывает ключи всех продуктов Microsoft, установленных на компьютере.

  1. Скачайте архив с официальной страницы nirsoft.net.Использование утилиты ProduKeyИспользование утилиты ProduKey
  2. Распакуйте архив и запустите ProduKey.exe.Использование утилиты ProduKeyИспользование утилиты ProduKey
  3. В окне программы сразу отображаются название ОС, Product ID и лицензионный ключ.Использование утилиты ProduKey

ShowKeyPlus

Утилита дополнительно показывает ключ из прошивки UEFI и ключи предыдущих ОС из папки Windows.old.

  1. Скачайте последний релиз с GitHub.Применение программы ShowKeyPlus
  2. Распакуйте и запустите исполняемый файл — все данные появятся в главном окне сразу.Применение программы ShowKeyPlus
  3. Нажмите Save, чтобы сохранить данные в текстовый файл.

Частые проблемы

Проблема Причина Решение
Скрипт выдаёт «Запускайте скрипт в Windows 10» Скрипт проверяет строку Caption из WMI — в Windows 11 там написано «Windows 11» Замените в условии -match "Windows 10" на -match "Windows"
WMIC возвращает пустую строку для OEM-ключа Ключ не был вшит производителем в UEFI — распространено на ПК, собранных самостоятельно Используйте PowerShell-скрипт или ProduKey для чтения ключа из реестра
Set-ExecutionPolicy запрещена групповой политикой Корпоративная политика блокирует изменение политики выполнения скриптов Запустите скрипт напрямую: powershell -ExecutionPolicy Bypass -File C:\win-10-key.ps1
ProduKey показывает «N/A» вместо ключа Цифровая лицензия привязана к аккаунту Microsoft, ключ в реестре не хранится Ключ не нужен — активация происходит автоматически через учётную запись Microsoft
Ошибка доступа при запуске скрипта PowerShell запущен без прав администратора Закройте окно и откройте PowerShell через «Запуск от имени администратора»

Когда ключ действительно нужен, а когда нет

Лицензионный ключ Windows требуется только при чистой установке на новое железо с Retail-лицензией. При обновлении с Windows 7/8/8.1 или переустановке на том же компьютере активация происходит автоматически — система сравнивает «железный отпечаток» с серверами активации Microsoft. OEM-лицензии привязаны к конкретной материнской плате и не переносятся на другой компьютер. Если вы сменили материнскую плату — потребуется новая лицензия или звонок в поддержку Microsoft.

FAQ

Можно ли узнать лицензионный ключ Windows без сторонних программ?

Да. Используйте PowerShell-скрипт или команду wmic path softwarelicensingservice get OA3xOriginalProductKey в командной строке — оба метода встроены в систему.

Где хранится лицензионный ключ Windows?

В двух местах: в реестре по пути HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion (значение DigitalProductId) и в прошивке UEFI для OEM-устройств.

Подойдёт ли найденный ключ для активации Windows на другом ПК?

OEM-ключ — нет, он привязан к материнской плате. Retail-ключ — да, но только после деактивации на текущем устройстве.

Что делать, если ключ нужен, а команды возвращают пустую строку?

Ключ хранится в цифровой лицензии, привязанной к аккаунту Microsoft. Войдите в учётную запись на сайте account.microsoft.com/devices — там можно просмотреть привязанные устройства.

Работает ли способ с WMIC в Windows 11?

Да, команда wmic path softwarelicensingservice get OA3xOriginalProductKey работает в Windows 10 и 11. WMIC объявлен устаревшим, но пока не удалён из системы.

Как сохранить ключ Windows, чтобы не потерять его при переустановке?

Запустите скрипт или ProduKey, скопируйте ключ в текстовый файл и сохраните его на внешний накопитель или в облачное хранилище.

Оцените статью
( Пока оценок нет )
MW10
Добавить комментарий

Нажимая на кнопку "Отправить комментарий", я даю согласие на обработку персональных данных и принимаю политику конфиденциальности.

  1. Анастасия

    Нужен как узнать ключ активации виндовс 10 лицензионную через командную строку

    Ответить
    1. admin автор

      Введите команду: wmic path softwarelicensingservice get OA3xOriginalProductKey

      Ответить