AU3获取系统激活信息

If IsActivated() = False Then
   ;InstallProductKey($OSkey) ; installs a product key and also activates it
  Else
   MsgBox(0,'','ssssss os')
  EndIf

 If OfficeIsActivated() = False Then
  ;InstallOfficeProductKey($officekey) ; installs a product key and also activates it
 Else
 MsgBox(0,'','ssssss offf')
 EndIf

Func IsActivated()
 $oWMIService = ObjGet("winmgmts:\\.\root\cimv2")
 If IsObj($oWMIService) Then
  $oCollection = $oWMIService.ExecQuery("SELECT Description, LicenseStatus, GracePeriodRemaining FROM SoftwareLicensingProduct WHERE PartialProductKey <> null")
  If IsObj($oCollection) Then
   For $oItem In $oCollection
    Switch $oItem.LicenseStatus
     Case 0
      ConsoleWrite("Unlicensed" & @CRLF)
      Return False
     Case 1
      If $oItem.GracePeriodRemaining Then
       If StringInStr($oItem.Description, "TIMEBASED_") Then
        ConsoleWrite("Timebased activation will expire in " & $oItem.GracePeriodRemaining & " minutes" & @CRLF)
        Return False
       Else
        ConsoleWrite("Volume activation will expire in " & $oItem.GracePeriodRemaining & " minutes" & @CRLF)
        Return False
       EndIf
      Else
       ConsoleWrite("The machine is permanently activated." & @CRLF)
       Return True
      EndIf
     Case 2
      ConsoleWrite("Initial grace period ends in " & $oItem.GracePeriodRemaining & " minutes" & @CRLF)
      Return False
     Case 3
      ConsoleWrite("Additional grace period ends in " & $oItem.GracePeriodRemaining & " minutes" & @CRLF)
      Return False
     Case 4
      ConsoleWrite("Non-genuine grace period ends in " & $oItem.GracePeriodRemaining & " minutes" & @CRLF)
      Return False
     Case 5
      ConsoleWrite("Windows is in Notification mode" & @CRLF)
      Return False
     Case 6
      ConsoleWrite("Extended grace period ends in " & $oItem.GracePeriodRemaining & " minutes" & @CRLF)
      Return False
    EndSwitch
   Next
  EndIf
 EndIf
EndFunc

Func OfficeIsActivated()
 $oWMIService = ObjGet("winmgmts:\\.\root\cimv2")
 If IsObj($oWMIService) Then
  $oCollection = $oWMIService.ExecQuery("SELECT Description, LicenseStatus, GracePeriodRemaining FROM OfficeSoftwareProtectionProduct WHERE PartialProductKey <> null")
  If IsObj($oCollection) Then
   For $oItem In $oCollection
    Switch $oItem.LicenseStatus
     Case 0
      ConsoleWrite(" ---UNLICENSED--- " & @CRLF)
      Return False
     Case 1
      ConsoleWrite(" ---LICENSED--- " & @CRLF)
       ;If licSr = 0 Then
       ; WScript.Echo MSG_ERRCODE & licSr & " as licensed"
       ;End If
      Return True
     Case 2
      ConsoleWrite("---OOB_GRACE--- Initial grace period ends in " & $oItem.GracePeriodRemaining & " minutes" & @CRLF)
      Return False
     Case 3
      ConsoleWrite("---OOT_GRACE--- Initial grace period ends in " & $oItem.GracePeriodRemaining & " minutes" & @CRLF)
      Return False
     Case 4
      ConsoleWrite("---NON_GENUINE_GRACE--- Grace period ends in " & $oItem.GracePeriodRemaining & " minutes" & @CRLF)
      Return False
     Case 5
      ConsoleWrite("---NOTIFICATIONS--- Grace period ends in " & $oItem.GracePeriodRemaining & " minutes" & @CRLF)
      Return False
     Case 6
      ConsoleWrite("---EXTENDED GRACE--- Extended grace period ends in " & $oItem.GracePeriodRemaining & " minutes" & @CRLF)
      Return False
     Case Else
      ConsoleWrite("---UNKNOWN---" & @CRLF)
      Return False
    EndSwitch
   Next
  EndIf
 EndIf
EndFunc

转载于:https://www.cnblogs.com/czytcn/p/7645597.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值