如何提取已安装的Visual Studio 2017 Professional产品密钥?
找回Visual Studio 2017 Professional产品密钥的方法
嘿,我来帮你搞定VS2017专业版密钥找回的问题!你说得没错,VS2017确实不再把密钥明文存在注册表了,不过有几个靠谱的方法能提取出来:
方法1:用VS自带命令行工具提取
这是最官方的方法,步骤很简单:
- 找到并打开开发者命令提示符 for VS2017(记得右键选择「以管理员身份运行」)
- 在命令行里输入以下命令并回车:
cscript "%ProgramFiles(x86)%\Microsoft Visual Studio\2017\Professional\Common7\IDE\VSIXInstaller.exe" /sku:Professional /action:getkey - 执行完成后,命令行窗口里就会显示你的产品密钥,直接复制保存即可。
方法2:通过微软账户查看
如果当初激活VS时绑定了你的微软账户,这会是最省心的方式:
- 打开浏览器登录你的微软账户(就是激活VS用的那个账号)
- 进入账户的「服务和订阅」页面,找到Visual Studio 2017 Professional的条目,里面就能直接看到对应的产品密钥。
方法3:用PowerShell脚本提取
如果命令行方法没生效,可以试试这个脚本:
- 新建一个文本文件,把后缀改成
.ps1(比如命名为Get-VS2017Key.ps1) - 把以下代码粘贴进去:
$path = "HKLM:\SOFTWARE\Microsoft\VisualStudio\Setup" $instanceId = (Get-ItemProperty -Path $path).InstanceId $keyPath = "HKLM:\SOFTWARE\Microsoft\VisualStudio\$instanceId\Licenses\4D8CFBCB-2F6A-4AD2-BABF-10E28F6F2C8F" $keyValue = Get-ItemProperty -Path $keyPath -Name "DigitalProductId" $digitalProductId = $keyValue.DigitalProductId[52..66] $chars = "BCDFGHJKMPQRTVWXY2346789" $key = "" for ($i = 24; $i -ge 0; $i--) { $index = 0 for ($j = 14; $j -ge 0; $j--) { $index = ($index * 256) -bxor $digitalProductId[$j] $digitalProductId[$j] = [math]::Floor($index / 24) $index = $index % 24 } $key = $chars[$index] + $key if (($i % 5) -eq 0 -and $i -ne 0) { $key = "-" + $key } } Write-Host "Visual Studio 2017 Professional Product Key: $key"
- 右键点击这个脚本文件,选择「用PowerShell运行」(同样需要管理员权限),脚本执行后就会输出你的密钥。
补充:如果你的VS是批量授权版本,建议联系公司IT管理员或者登录批量授权中心查询密钥哦。
内容的提问来源于stack exchange,提问作者SidD




