目前,大多PC都是预装了微软家的桌面级系统 Windows ,这也算是微软一大得意之作。可是 Windows 产品可不是免费的,是要 $ 的。可能在中国,大多数系统可能是盗版过来的,像当年的雨林木风(使用激活工具激活),颠覆了人们对 Windows 的认知,认为它是免费产品。(个人认知:无针对) 其实不然,它是收费的产品而且费用不低,一个正版渠道家庭版的 Windows 10 售 888 RMB。

  微软用来鉴别正盗版用的手段是通过 Windows 产品密钥来激活计算机,那么这个密钥就是关键了,用以区分正版与盗版。(其实正盗版还是由厂商来认定的,其它的来源也可得到密钥来激活计算机,当然了作为普通使用我们好像不用分这么清楚,能用就行啦)还有这个激活机制也是蛮多的,什么批量、零售等等。

  我写这篇文章,好像只是为了搬运个代码吧。说了这么多有的没的。。。 上 Bat 代码,如下:

@echo off
echo msgbox "本Bat文件可查看当前 Windows 产品激活状态、名称、ID及密钥, 所述仅供参考.",0,"声明" >0.vbs
echo Set WshShell = CreateObject("WScript.Shell") >>0.vbs
echo regKey = "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\" >>0.vbs
echo DigitalProductId = WshShell.RegRead(regKey ^& "DigitalProductId") >>0.vbs
echo WinProductName = "Windows Product Name: " ^& WshShell.RegRead(regKey ^& "ProductName") ^& vbNewLine >>0.vbs
echo WinProductID = "Windows Product ID: " ^& WshShell.RegRead(regKey ^& "ProductID") ^& vbNewLine >>0.vbs
echo WinProductKey = "Windows Key:" ^& ConvertToKey(DigitalProductId) >>0.vbs
echo WinProductID = WinProductName ^& WinProductID ^& strProductKey ^& WinProductKey >>0.vbs
echo MsgBox(WinProductID) >>0.vbs
echo Function ConvertToKey(regKey) >>0.vbs
echo Const KeyOffset = 52 >>0.vbs
echo isWin8 = (regKey(66) \ 6) And 1 >>0.vbs
echo regKey(66) = (regKey(66) And ^&HF7) Or ((isWin8 And 2) * 4) >>0.vbs
echo j = 24 >>0.vbs
echo Chars = "BCDFGHJKMPQRTVWXY2346789" >>0.vbs
echo Do >>0.vbs
echo Cur = 0 >>0.vbs
echo y = 14 >>0.vbs
echo Do >>0.vbs
echo Cur = Cur * 256 >>0.vbs
echo Cur = regKey(y + KeyOffset) + Cur >>0.vbs
echo regKey(y + KeyOffset) = (Cur \ 24) >>0.vbs
echo Cur = Cur Mod 24 >>0.vbs
echo y = y -1 >>0.vbs
echo Loop While y ^>= 0 >>0.vbs
echo j = j -1 >>0.vbs
echo winKeyOutput = Mid(Chars, Cur + 1, 1) ^& winKeyOutput >>0.vbs
echo Last = Cur >>0.vbs
echo Loop While j ^>= 0 >>0.vbs
echo If (isWin8 = 1) Then >>0.vbs
echo keypart1 = Mid(winKeyOutput, 2, Last) >>0.vbs
echo insert = "N" >>0.vbs
echo winKeyOutput = Replace(winKeyOutput, keypart1, keypart1 ^& insert, 2, 1, 0) >>0.vbs
echo If Last = 0 Then winKeyOutput = insert ^& winKeyOutput >>0.vbs
echo End If >>0.vbs
echo a = Mid(winKeyOutput, 1, 5) >>0.vbs
echo b = Mid(winKeyOutput, 6, 5) >>0.vbs
echo c = Mid(winKeyOutput, 11, 5) >>0.vbs
echo d = Mid(winKeyOutput, 16, 5) >>0.vbs
echo e = Mid(winKeyOutput, 21, 5) >>0.vbs
echo ConvertToKey = a ^& "-" ^& b ^& "-" ^& c ^& "-" ^& d ^& "-" ^& e>>0.vbs
echo End Function >>0.vbs
echo msgbox " 已清理本文件及运行时产生的文件 ",0," 完毕" >>0.vbs
start 0.vbs
slmgr/xpr
slmgr/dli
slmgr/dlv
ping -n 3 127.0.0.1>nul
del 0.vbs
del %0

  声明一下: 这并非本人的创作,是借鉴于某大佬然后自己加以修改而成。特此声明,以尊重大佬.

  本人修改的并不是关键,大佬给出的核心才是重点。我只是增加了一些次要的,复制以上代码粘贴到文本文件中修改文件后缀名为 .bat 保存,双击打开运行即可。

  说说主要的作用吧,就是运用 bat 中的 echo >> 写入VBS文本到 0.vbs 中然后调用运行 0.vbs 最后删除 0.vbs 以及本 bat 文件,还运行了 slmgr/xpr 、 slmgr/dli 、 slmgr/dlv 这三个用来辅助查询详细信息的命令。关于一系列 slmgr 的命令可在命令提示符窗口中运行 slmgr.vbs 进行详细查看.

  比如常用到的:

      slmgr/ipk 安装产品密钥        slmgr/ato 激活 Windows

      slmgr/dli 显示许可证信息       slmgr/dlv 显示详细的许可证信息

      slmgr/xpr 当前许可证状态的截止信息  slmgr/ckms 清除所使用的KMS计算机名称

      slmgr/upk 卸载产品密钥         slmgr/atp 安装确认ID

  等等,这些都可slmgr.vbs 中了解。

  最后,以上内容仅供参考。如有冒犯之处还望见谅.

Windows 产品激活状态、密钥等信息查看的更多相关文章

  1. 产品激活 比如Windows激活 , office激活 等激活的原理是什么? KMS等激活工具安全吗?

    什么是密钥管理服务 (KMS)? 密钥管理服务 (KMS) 允许在本地网络上激活产品.这样,单台计算机不必连接至 Microsoft 便可激活产品.需要将一台计算机配置为 KMS 主机.管理员必须为 ...

  2. 查看win激活状态的命令

    查看win激活状态的命令  1.键盘按下win+R 运行输入如下命令即可. 2.Win+R===>输入 slmgr.vbs -dlv   显示:最为详尽的激活信息,包括:激活ID.安装ID.激活 ...

  3. 如何查看window 7/window 8 等系统 的激活状态?

    http://www.officezhushou.com/office-key/   Office激活密钥 Win+R 输入: slmgr.vbs -dlv 显示:最为详尽的激活信息,包括:激活ID. ...

  4. Windows Server 2016激活方法+密钥+遇到的问题及解决办法(摘抄)

    Windows Server 2016激活方法+密钥+遇到的问题及解决办法 2018年08月30日 13:47:34 Brozer 阅读数:28667   这两天公司准备部署Revit Server ...

  5. 如何查看win10已激活密钥?查看win10已激活完整密钥的方法!

    如何查看win10已激活密钥?查看win10已激活完整密钥的方法! HKEY_LOCAL_MACHINE/SOFTWARE/Microsoft/Windows NT/CurrentVersion/So ...

  6. PowerShell读取Windows产品密钥

    之前大多数人可能用过VBS读取Windows产品密钥的VBS脚本,VBS脚本通常都比较隐晦.难懂,今天忙里偷闲,随手写了一个用于读取Windows产品密钥的PowerShell脚本. 代码如下: == ...

  7. magento -- 添加新产品时状态默认为激活,库存状态默认为有库存

    添加新产品时状态默认为激活 打开文件/app/code/core/Mage/Catalog/Model/Product/Status.php,注释掉“Please Select” /** * Retr ...

  8. 查看 myeclipse激活状态

    查看激活状态  myeclipse-->subscription information

  9. redis的服务器信息状态信息查看

    Redis的服务器信息状态信息查看 Redis的提供了一个信息命令查看Redis的服务器的信息,类似的Linux提供一个顶级命令查看系统的信息 redis-cli info # Server #服务器 ...

随机推荐

  1. rabbitmq:centos7安装与python调用

    1.centos安装rabbitmq 官网下载或者yum list |grep rabbitmq搜索安装,官网是最新的版本 wget http://www.rabbitmq.com/releases/ ...

  2. Git的使用-如何将本地项目上传到Github

    默认你的电脑上已经安装了git. 第一步:我们需要先创建一个本地的版本库(其实也就是一个文件夹). 你可以直接右击新建文件夹,也可以右击打开Git bash命令行窗口通过命令来创建. 现在我通过命令行 ...

  3. DataGridView显示数据库内容及更新内容到数据库

    1:类Access,包含读取数据库,更新数据库方法: class Access    {        private OleDbConnection OleCon = null;//连接数据库    ...

  4. 富文本编辑器Quill的使用

    我们经常需要使用富文本编辑器从后台管理系统上传文字,图片等用于前台页面的显示,Quill在后台传值的时候需要传两个参数,一个用于后台管理系统编辑器的显示,一个用前台页面的显示,具体代码如下截图: 另Q ...

  5. [搬运]在C#使用.NET设计模式的新观点

    原文地址:http://www.dotnetcurry.com/dotnet/1092/dotnet-design-patterns 软件开发有许多设计模式.其中一些模式非常受欢迎.说几乎所有的模式都 ...

  6. mysqlfront提示过期解决方式

    帮助菜单(help)->登记(registration) 粘贴就好了 gNBpPFgyOw9Rwt/ozsnjgM7tJNo2 bhaaAThangemMkaz2tQhq3/f7dZ7Vj29W ...

  7. 读书笔记《PHP与MySQL程序设计》一

    第1章 PHP概述 1.1  历史(PHP4.PHP5.PHP5.3.PHP6[未发布]) 1.2 一般语言特性(实用性.强大功能.可选择性.成本[开源]) 第2章 环境配置 2.1 安装的前提条件( ...

  8. WPF Binding学习(二)

    Binding作为数据的桥梁,连通业务逻辑层的对象(源对象)和UI的控件对象(目标对象).在这座桥梁上,我们不仅可以控制在源对象与目标对象是双向通行还是单向通行.还可以控制数据的放行时机,甚至可以在这 ...

  9. Object.prototype.toString.call()方法浅谈

    使用Object.prototype上的原生toString()方法判断数据类型,使用方法如下: Object.prototype.toString.call(value) 1.判断基本类型: Obj ...

  10. BZOJ:4820: [Sdoi2017]硬币游戏&&BZOJ:1444: [Jsoi2009]有趣的游戏(高斯消元求概率)

    1444: [Jsoi2009]有趣的游戏 4820: [Sdoi2017]硬币游戏 这两道题都是关于不断随机生成字符后求出现给定字符串的概率的问题. 第一题数据范围较小,将串建成AC自动机以后,以A ...