Wednesday, July 31, 2013

Recover SharePoint 2007 / 2010 / 2013 Product Key using PowerShell

Ever wanted to recover your SharePoint 2007 or SharePoint 2010 Product key from an existing SharePoint Farm? Sure! Its encoded and stored in system registry and we can recover the license key with PowerShell. Here is the code:

Here is the PowerShell Script to Recover SharePoint 2007 Product key:

function Get-SP2007ProductKey {    
    $map="BCDFGHJKMPQRTVWXY2346789" 
    $value = (get-itemproperty "HKLM:\SOFTWARE\Microsoft\Office\12.0\Registration\{90120000-110D-0000-1000-0000000FF1CE}").digitalproductid[0x34..0x42]  
    $ProductKey = ""  
    for ($i = 24; $i -ge 0; $i--) { 
      $r = 0 
      for ($j = 14; $j -ge 0; $j--) { 
        $r = ($r * 256) -bxor $value[$j] 
        $value[$j] = [math]::Floor([double]($r/24)) 
        $r = $r % 24 
      } 
      $ProductKey = $map[$r] + $ProductKey 
      if (($i % 5) -eq 0 -and $i -ne 0) { 
        $ProductKey = "-" + $ProductKey 
      } 
    } 
    $ProductKey
} 

#Call the function
Get-SP2007ProductKey 

PowerShell Script to Recover SharePoint 2010 Product Key:
function Get-SP2010ProductKey {    
    $map="BCDFGHJKMPQRTVWXY2346789" 
    $value = (get-itemproperty "HKLM:\SOFTWARE\Microsoft\Office\14.0\Registration\{90140000-110D-0000-1000-0000000FF1CE}").digitalproductid[0x34..0x42]  
    $ProductKey = ""  
    for ($i = 24; $i -ge 0; $i--) { 
      $r = 0 
      for ($j = 14; $j -ge 0; $j--) { 
        $r = ($r * 256) -bxor $value[$j] 
        $value[$j] = [math]::Floor([double]($r/24)) 
        $r = $r % 24 
      } 
      $ProductKey = $map[$r] + $ProductKey 
      if (($i % 5) -eq 0 -and $i -ne 0) { 
        $ProductKey = "-" + $ProductKey 
      } 
    } 
    $ProductKey
} 
#Call the function
Get-SP2010ProductKey

Retrieve SharePoint 2013 Product Key:
For SharePoint 2013, Set the $value parameter in the above code to :
$value = (get-itemproperty "HKLM:\SOFTWARE\Microsoft\Office\15.0\Registration\{90150000-110D-0000-1000-0000000FF1CE}").digitalproductid[0x34..0x42]    
and run the script!

Thanks to http://powershell.com/cs/blogs/tips/archive/2012/04/30/getting-windows-product-key.aspx for the idea!



You might also like:
SharePoint Usage Reports
Usage reports, collaboration and audit for SharePoint.
Document SharePoint Farm
Automatically generate SharePoint documentation.
*Sponsored


Check out these SharePoint products:

6 comments :

  1. Fantastic ! Thank you

    ReplyDelete
  2. excellect . thankyou

    ReplyDelete
  3. Does anyone know what the $value would be for Project Server 2010 please?

    ReplyDelete
  4. Does not work. It Recovers the key of the OS.

    ReplyDelete
  5. awesome.. it works. i received the key from my prod.server But when i apply teh same prod. key for a new VM thats meant for DEV env. , its not working.
    is there any criteria from MS, such that, a license key thats used for prod. can not be used for a another dev. env ?

    thnx
    SaMol

    ReplyDelete

Please Login and comment to get your questions answered!

You might also like:

Related Posts Plugin for WordPress, Blogger...