美文网首页
找回已激活的SQL秘钥

找回已激活的SQL秘钥

作者: milo_e1ce | 来源:发表于2017-10-25 17:59 被阅读0次

    之前激活的秘钥已经忘记了,只能想办法从老机器上尝试找回秘钥。查了下用powershell会比较方便,也有现成的函数。

支持SQL Server 2008, 2008 R2

function Get-SQLServerKey {

## function to retrieve the license key of a SQL 2008 Server.

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

}

}

$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

}

}

支持SQL Server 2012

function Get-SQLServerKey {

## function to retrieve the license key of a SQL 2012 Server.

param ($targets = ".")

$hklm = 2147483650

$regPath = "SOFTWARE\Microsoft\Microsoft SQL Server\110\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)[0..16]

$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

}

}

相关文章

  • 找回已激活的SQL秘钥

    之前激活的秘钥已经忘记了,只能想办法从老机器上尝试找回秘钥。查了下用powershell会比较方便,也有现成的...

  • 激活秘钥

    VMware虚拟机已升级至14版本,之前的12版本的秘钥已经无法使用,在此分享一下VMware Workstati...

  • phpstrom,pycharm idea激活码2020

    1.获取秘钥 2.如何使用(1)打开主机文件(2)编辑主机文件(3)添加秘钥 共享许可证密钥可激活Jetbrain...

  • KMS 激活方案与常用密钥

    本文仅提供WIN10激活方法和秘钥,查看更多请访问原文 原文 迷失的笔记-KMS 激活方案与常用密钥 激活系统 常...

  • studio one4安装教程Studio One 4 for

    PreSonus Studio One 4 for Mac(数字音乐创作软件)附激活秘钥 V4.1.1.49941...

  • Diffie-Hellman秘钥交换

    什么是秘钥交换 秘钥交换也叫秘钥协商,在进行对称加密的时候,怎么进行安全的传送秘钥呢?需要使用秘钥交换。 Diff...

  • linux秘钥登录+普通用户sudo权限

    linux秘钥登录 文件准备 秘钥准备 下载私钥 尝试秘钥连接 同样的操作把root用户的秘钥也保留一份 系统配置...

  • 获取秘钥、生成新秘钥

    一: 查看本地秘钥 二:生成新的秘钥

  • HTTPS的混合加密机制

    HTTPS采用共享秘钥加密和公开秘钥加密两者并用的混合加密机制。 什么是共享秘钥加密? 共享秘钥加密也称对称加密,...

  • Ubuntu免密码登录

    生成秘钥 将秘钥拷贝到server 重新登录即可注意点:如果你有多个账号的秘钥,应该自己新建一个文件目录来存放秘钥...

网友评论

      本文标题:找回已激活的SQL秘钥

      本文链接:https://www.haomeiwen.com/subject/nyqcpxtx.html