hello,
I have problem with powershell (x86). In the Web i found a script witch can show me my windows 7 product key, because i lost a cd with this number. And when i using this script i get one of the this error only number is diferent, while for others it has helped.... maybe you can help me :-)
this is a error:
cannot index into a null array.
at c:\users\romas\deskot\getproductkey.ps1: 19 char:47
+$k = $k*256 -bxor $binarray[ <<<< $j]
+categoryinfo :invalidoperation: (0:int32) [], runtimeexception
+fullyqualifiederrorid: nullarray.
and second error in the same time is:
cannot index into a null array.
at c:\users\romas\deskot\getproductkey.ps1: 20 char:27
+$binarray[ <<<<$j] = [math]]::truncate{$k/24)
+categoryinfo :invalidoperation: (0:int32) [], runtimeexception
+fullyqualifiederrorid: nullarray
this is a script:
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 } }
this is a link where i found this: http://winaero.com/blog/how-to-get-the-windows-product-key-without-using-third-party-software/#comment-952