Daha önce kurulum yapmış olduğunuz ve aktivasyonunu sağladığınız Windows işletim sisteminizin hangi versiyonu olursa olsun kurulum anahtarını bulmak sanıldığı kadar zor değildir. Bunu 3.parti programlarla yapabildiğiniz gibi aşağıda bahsettiğim metodla da rahatlıkla yapabilirsiniz.
Öncelikle aşağıdaki kodları notepad programına kopyalayıp dosya ismi farketmeksizin uzantısını *.ps1 şeklinde kaydetmeniz gerekmektedir. Ben örnek olması açısından key.ps1 olarak masaüstüne kaydettim.
function Get-WindowsKey {
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
}
}
Windows PowerShell uygulamasını yönetici olarak çalıştırdıktan sonra aşağıdaki kodu yazıp Enter tuşuna basınız.
Import-Module c:\users\administrator\desktop\key.ps1; Get-WindowsKey
Aşağıdaki gibi sonuç almanız gerekiyor.
Not: ProductKey : BBBB BBBB BBBB BBBB BBBB şeklinde görmeniz durumunda bu işletim sistemi toplu lisans anahtarı ile kurulmuş demektir. Bu durumda lisans anahtarınız register(kayıt defterinde) saklanmaz. Çok doğru olmamakla birlikte key.ps1 dosyasının 6.satırını aşağıdaki şekilde değiştirip kaydettikten sonra Microsoft PowerShell komutunu yeniden çalıştırmanız gerekmektedir.
$ regPath = “Software \ Microsoft \ Windows NT \ CurrentVersion \ DefaultProductKey”