Step1: Navigate to
the Powershell by Right Click SQL Server ->Start Powershell.
Step2:
Then write the below function in the Powershell.
function
Get-SQLserverKey {
param ($targets = ".")
$hklm = 2147483650
$regPath =
"SOFTWARE\Microsoft\Microsoft SQL Server\100\Tools\Setup"
$regValue1 =
"DigitalProductId"
$regValue2 = "PatchLevel"
$regValue3 = "Edition"
Foreach ($target in $targets) {
$productKey = $null
$win32os
= $null
$wmi =
[WMIClass]"\\$target\root\default:stdRegProv"
$data =
$wmi.GetBinaryValue($hklm,$regPath,$regValue1)
[string]$SQLver =
$wmi.GetstringValue($hklm,$regPath,$regValue2).svalue
[string]$SQLedition =
$wmi.GetstringValue($hklm,$regPath,$regValue3).svalue
$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
OSCaption -value $win32os.Caption
$obj | Add-Member Noteproperty
OSArch -value $win32os.OSArchitecture
$obj | Add-Member Noteproperty
SQLver -value $SQLver
$obj | Add-Member Noteproperty
SQLedition -value $SQLedition
$obj | Add-Member Noteproperty
ProductKey -value $productkey
$obj
}
}
|
Step
3: Then call the below function to know the Sql server key for the local and
remote instances.
PS
SQLSERVER:\SQL\LOCALSERVERNAME\SQL2008R2> Get-SQLserverKey
Output:
Computer : .
OSCaption : Microsoft Windows XP Professional
OSArch :
SQLver : 10.50.1600.1
SQLedition :
Developer Edition
ProductKey :
XXXXX-FFFFF-CCCCC-EEEEE-RRRRR
PS
SQLSERVER:\SQL\LOCALSERVERNAME\SQL2008R2> Get-SQLserverKey
"RemoteSqlServerName"
Output:
Computer : SQLDCWL060
OSCaption : Microsoft Windows Server 2008 R2
Standard
OSArch : 64-bit
SQLver : 10.52.4000.0
SQLedition :
Developer Edition
ProductKey :
XXXXX-FFFFF-CCCCC-EEEEE-RRRRR
|
Refer the below
screenshot to code it in Powershell.
No comments:
Post a Comment