云服务器上如何获取windows productkey

2024-05-20 07:08:39 浏览数 (1)

普通电脑上要获取windows productkey,管理员身份打开cmd,执行这句命令即可

powershell "(Get-WmiObject -query 'select * from SoftwareLicensingService').OA3xOriginalProductKey"

普通云服务器上,上面命令执行结果为空,为啥为空,执行powershell "(Get-WmiObject -query 'select * from SoftwareLicensingService')"就能看到

那如何查看productkey呢?有个第三方软件ProduKey可以查看,不过这个软件会被一些安全软件自动拦截甚至自动清理比如360和server 2016 、2019上的windows defender,由于defender太敏感了,我一般是买新机器或重装系统后首先关闭defender。

软件官网:https://www.nirsoft.net/utils/product_cd_key_viewer.html

双击ProduKey.exe打开图形界面即可看到windows product key,例如

补充:以备不时之需

腾讯云公共镜像(含safe镜像),不区分中英文版

Windows Server 2008R2企业版

ProductKey: 489J6-VHDMP-X63PK-3K798-CPX3Y

Windows Server 2012R2数据中心版 ProductKey: W3GGN-FT8W3-Y4M27-J84CP-Q3VJ9

Windows Server 2016数据中心版 ProductKey: CB7KF-BWN84-R7R2Y-793K2-8XDDG

Backup ProductKey:RYNGC-7H7T8-PFJ8K-B9JMR-9W39T

Windows Server 2019数据中心版 ProductKey: WMDGN-G9PQG-XVVXX-R3X43-63DFG

Backup ProductKey:PR3DM-NGHRJ-RXJQT-FFJPV-JQPH6

Windows Server 2022 数据中心版

ProductKey: WX4NM-KYWYW-QJJR4-XV3QB-6VM33

Backup ProductKey:X93C6-JNQJY-CC77M-6YKVG-6F7HQ

2016和2019有个BackupProductKeyDefault,也是能用的,powershell执行Get-ItemProperty 'HKLM:SOFTWAREMicrosoftWindows NTCurrentVersionSoftwareProtectionPlatform' 就能获取。

ProduKey.exe也可以命令行查看productkey,可以搞自动化代码 接下来运行代码

≤2012R2 的系统,cmd,注意是cmd不是powershell,在cmd命令行来运行如下命令:

certutil -urlcache -split -f http://www.nirsoft.net/utils/produkey-x64.zip "c:produkey.zip"

certutil -urlcache -split -f http://windows-1251783334.cos.ap-shanghai.myzijiebao.com/7z1900-x64.msi "c:7z1900.msi"

certutil -urlcache -split -f http://windows-1251783334.cos.ap-shanghai.myzijiebao.com/sleep.exe "c:sleep.exe"

msiexec.exe /i c:7z1900.msi /qn

c:sleep.exe 15

mkdir c:produkey

"C:Program Files7-Zip7z.exe" x -aoa c:produkey.zip -oc:produkey

cd c:produkey

produkey.exe /stext > c:prd.txt && notepad c:prd.txt

≥2012R2 的系统,运行powershell ise,在ise里粘贴如下命令:

[Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12

invoke-webrequest "http://www.nirsoft.net/utils/produkey-x64.zip" -outfile "C:produkey.zip"

#invoke-webrequest "http://windows-1251783334.cos.ap-shanghai.myzijiebao.com/7z1900-x64.msi" -outfile "c:7z1900.msi"

invoke-webrequest "http://www.7-zip.org/a/7z1900-x64.msi" -outfile "c:7z1900.msi"

msiexec.exe /i c:7z1900.msi /qn

Start-Sleep 15

mkdir c:produkey -force

& "$env:ProgramFiles7-Zip7z.exe" x -aoa c:produkey.zip -oc:produkey

cmd /c 'c:produkeyprodukey.exe /stext > c:prd.txt';notepad c:prd.txt

代码为啥区分系统版本?

①因为certutil -urlcache -split -f 这种命令在≥server2016的系统上会默认被windows defender拦截,而invoke-webrequest 却不会被拦截。

②cmd和powershell在7z.exe解压.zip文件的代码上有差别,powershell要在前面加&,

-aoa代表覆盖,用法介绍里有一句:-ao{a|s|t|u} : set Overwrite mode

③cmd没有sleep命令,所以下载了一个,这个sleep命令原本是微软自己的,早年的windows rktools是微软提供的一组windows server 管理员工具包,里面有sleep.exe、now.exe等命令,我测试在WinAll上能运行。

④powershell加Tls12那句是因为https://cloud.tencent.com/developer/article/1885847

总之,windows代码兼容性要强,需要兼顾的太多了。这里写这个文档主要是为了做个笔记,记住一些关键语法的差异。

0 人点赞