• 企业400电话
  • 微网小程序
  • AI电话机器人
  • 电商代运营
  • 全 部 栏 目

    企业400电话 网络优化推广 AI电话机器人 呼叫中心 网站建设 商标✡知产 微网小程序 电商运营 彩铃•短信 增值拓展业务
    PowerShell小技巧之读取Windows产品密钥

    之前大多数人可能用过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] = '#45;'}
         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 .

    执行效果如下:

    您可能感兴趣的文章:
    • PowerShell小技巧之发送TCP请求
    • PowerShell小技巧之尝试ssh登录
    • PowerShell小技巧之执行SOAP请求
    • PowerShell脚本开发之对指定IP进行端口扫描
    • PowerShell脚本开发之收发TCP消息包
    • PowerShell脚本开发之收发UDP消息包
    上一篇:PowerShell小技巧之定时记录操作系统行为
    下一篇:PowerShell小技巧之发送TCP请求
  • 相关文章
  • 

    © 2016-2020 巨人网络通讯 版权所有

    《增值电信业务经营许可证》 苏ICP备15040257号-8

    PowerShell小技巧之读取Windows产品密钥 PowerShell,小,技巧,之,读取,