Windows 產品激活狀態、密鑰等信息查看


  目前,大多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 中了解。

  最后,以上內容僅供參考。如有冒犯之處還望見諒.

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM