PowerShell中获取Windows系统序列号的脚本分享
windows序列号可以直接在注册表中读取,PowerShell要做的只是读出数据后稍作处理,让它更像一个序列号。
functionGet-ProductKey{
$map="BCDFGHJKMPQRTVWXY2346789"
$value=(get-itemproperty"HKLM:\SOFTWARE\Microsoft\WindowsNT\CurrentVersion").digitalproductid[0x34..0x42]
$ProductKey=""
for($i=24;$i-ge0;$i--){
$r=0
for($j=14;$j-ge0;$j--){
$r=($r*256)-bxor$value[$j]
$value[$j]=[math]::Floor([double]($r/24))
$r=$r%24
}
$ProductKey=$map[$r]+$ProductKey
if(($i%5)-eq0-and$i-ne0){
$ProductKey="-"+$ProductKey
}
}
$ProductKey
}
输出结果为:
PS>Get-ProductKey VKTXG-GXXY3-W97QP-GP4PV-XXXXX