时间:2021-05-22
之前大多数人可能用过VBS读取Windows产品密钥的VBS脚本,VBS脚本通常都比较隐晦、难懂,今天忙里偷闲,随手写了一个用于读取Windows产品密钥的PowerShell脚本。
代码如下:
复制代码 代码如下:
=====文件名:Get-WindowsProductKey.ps1=====
function Get-WindowsProductKey([string]$computer)
{
$comments =@'
author:fuhj(powershell#live.cn ,http://fuhaijun.com)
example: Get-WindowsProductKey .
'@
$reg = [WMIClass] ("\\" + $computer + "\root\default:StdRegProv")
$values = [byte[]]($reg.getbinaryvalue(2147483650,"SOFTWARE\Microsoft\Windows NT\CurrentVersion","DigitalProductId").uvalue)
$lookup = [char[]]("B","C","D","F","G","H","J","K","M","P","Q","R","T","V","W","X","Y","2","3","4","6","7","8","9")
$keyStartIndex = [int]52;
$keyEndIndex = [int]($keyStartIndex + 15);
$decodeLength = [int]29
$decodeStringLength = [int]15
$decodedChars = new-object char[] $decodeLength
$hexPid = new-object System.Collections.ArrayList
for ($i = $keyStartIndex; $i -le $keyEndIndex; $i++){ [void]$hexPid.Add($values[$i]) }
for ( $i = $decodeLength - 1; $i -ge 0; $i--)
{
if (($i + 1) % 6 -eq 0){$decodedChars[$i] = '-'}
else
{
$digitMapIndex = [int]0
for ($j = $decodeStringLength - 1; $j -ge 0; $j--)
{
$byteValue = [int](($digitMapIndex * [int]256) -bor [byte]$hexPid[$j]);
$hexPid[$j] = [byte] ([math]::Floor($byteValue / 24));
$digitMapIndex = $byteValue % 24;
$decodedChars[$i] = $lookup[$digitMapIndex];
}
}
}
$STR = ''
$decodedChars | % { $str+=$_}
$STR
}
Get-WindowsProductKey .
执行效果如下:
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
PowerShell可以读取或修改计划任务所有信息。不过请注意,小编是在Windows7,Windows2008上测试的,貌似Windows2003好像有一些区
一、为什么需要Windows10产品密钥现在,在电脑上安装操作系统不再需要Windows10产品密钥,你可以在安装过程中添加它,但也可以在安装后轻松添加它。Wi
在企业中大批量部署Windows7后,一些员工可能会恶意使用一些工具,提取当前Windows7系统的产品密钥,造成企业IT资产的流失,更有可能造成因密钥泄漏引起
windows序列号可以直接在注册表中读取,PowerShell要做的只是读出数据后稍作处理,让它更像一个序列号。复制代码代码如下:functionGet-Pr
我们在Win10系统中已经安装的产品密钥怎么删除呢,如果想要删除Win10密钥,那么现在就可以跟着小编按下面教程操作,删除密钥之后就可以使用新的产品密钥,有需要