Windows PowerShell
版权所有 (C) Microsoft Corporation。保留所有权利。

尝试新的跨平台 PowerShell https://aka.ms/pscore6

PS C:\WINDOWS\system32> cd "C:\Program Files (x86)\Microsoft Office\Office15"
PS C:\Program Files (x86)\Microsoft Office\Office15> cscript ospp.vbs /inpkey:YC7DK-G2NP3-2QQC3-J6H88-GVGXT
Microsoft (R) Windows Script Host Version 5.812
版权所有(C) Microsoft Corporation。保留所有权利。

输入错误: 无法找到脚本文件“C:\Program Files (x86)\Microsoft Office\Office15\ospp.vbs”。
PS C:\Program Files (x86)\Microsoft Office\Office15> cscript ospp.vbs /inpkey:YC7DK-G2NP3-2QQC3-J6H88-GVGXT
Microsoft (R) Windows Script Host Version 5.812
版权所有(C) Microsoft Corporation。保留所有权利。

---Processing--------------------------
---------------------------------------
<Product key installation successful>
---------------------------------------
---Exiting-----------------------------
PS C:\Program Files (x86)\Microsoft Office\Office15> cscript ospp.vbs /sethst:kms.03k.org
Microsoft (R) Windows Script Host Version 5.812
版权所有(C) Microsoft Corporation。保留所有权利。

---Processing--------------------------
---------------------------------------
Successfully applied setting.
---------------------------------------
---Exiting-----------------------------
PS C:\Program Files (x86)\Microsoft Office\Office15> cscript ospp.vbs /act
Microsoft (R) Windows Script Host Version 5.812
版权所有(C) Microsoft Corporation。保留所有权利。

---Processing--------------------------
---------------------------------------
Installed product key detected - attempting to activate the following product:
SKU ID: 41499869-4103-4d3b-9da6-d07df41b6e39
LICENSE NAME: Office 15, OfficeProPlusMSDNR_Retail edition
LICENSE DESCRIPTION: Office 15, RETAIL channel
Last 5 characters of installed product key: 628P9
[File not found: C:\Program Files (x86)\Microsoft Office\Office15\slerror.xml  Unable to display error description.]
ERROR CODE: 0xC004C003
ERROR DESCRIPTION: Run the following: cscript ospp.vbs /ddescr:0xC004C003
---------------------------------------
Installed product key detected - attempting to activate the following product:
SKU ID: b322da9c-a2e2-4058-9e4e-f59a6970bd69
LICENSE NAME: Office 15, OfficeProPlusVL_KMS_Client edition
LICENSE DESCRIPTION: Office 15, VOLUME_KMSCLIENT channel
Last 5 characters of installed product key: GVGXT
<Product activation successful>
---------------------------------------
Installed product key detected - attempting to activate the following product:
SKU ID: e13ac10e-75d0-4aff-a0cd-764982cf541c
LICENSE NAME: Office 15, OfficeVisioProVL_KMS_Client edition
LICENSE DESCRIPTION: Office 15, VOLUME_KMSCLIENT channel
Last 5 characters of installed product key: RM3B3
<Product activation successful>
---------------------------------------
---------------------------------------
---Exiting-----------------------------

以下报错可忽略


PS C:\Program Files (x86)\Microsoft Office\Office15> cscript ospp.vbs /dstatus
Microsoft (R) Windows Script Host Version 5.812
版权所有(C) Microsoft Corporation。保留所有权利。

---Processing--------------------------
---------------------------------------
[File not found: C:\Program Files (x86)\Microsoft Office\Office15\slerror.xml  Unable to display error description.]
[File not found: C:\Program Files (x86)\Microsoft Office\Office15\slerror.xml  Unable to display error description.]
[File not found: C:\Program Files (x86)\Microsoft Office\Office15\slerror.xml  Unable to display error description.]
[File not found: C:\Program Files (x86)\Microsoft Office\Office15\slerror.xml  Unable to display error description.]
[File not found: C:\Program Files (x86)\Microsoft Office\Office15\slerror.xml  Unable to display error description.]
[File not found: C:\Program Files (x86)\Microsoft Office\Office15\slerror.xml  Unable to display error description.]
[File not found: C:\Program Files (x86)\Microsoft Office\Office15\slerror.xml  Unable to display error description.]
[File not found: C:\Program Files (x86)\Microsoft Office\Office15\slerror.xml  Unable to display error description.]
[File not found: C:\Program Files (x86)\Microsoft Office\Office15\slerror.xml  Unable to display error description.]
[File not found: C:\Program Files (x86)\Microsoft Office\Office15\slerror.xml  Unable to display error description.]
[File not found: C:\Program Files (x86)\Microsoft Office\Office15\slerror.xml  Unable to display error description.]
[File not found: C:\Program Files (x86)\Microsoft Office\Office15\slerror.xml  Unable to display error description.]
[File not found: C:\Program Files (x86)\Microsoft Office\Office15\slerror.xml  Unable to display error description.]
[File not found: C:\Program Files (x86)\Microsoft Office\Office15\slerror.xml  Unable to display error description.]
[File not found: C:\Program Files (x86)\Microsoft Office\Office15\slerror.xml  Unable to display error description.]
[File not found: C:\Program Files (x86)\Microsoft Office\Office15\slerror.xml  Unable to display error description.]
SKU ID: 41499869-4103-4d3b-9da6-d07df41b6e39
LICENSE NAME: Office 15, OfficeProPlusMSDNR_Retail edition
LICENSE DESCRIPTION: Office 15, RETAIL channel
BETA EXPIRATION: 1601/1/1
LICENSE STATUS:  ---NOTIFICATIONS---
ERROR CODE: 0xC004F009
ERROR DESCRIPTION: Run the following: cscript ospp.vbs /ddescr:0xC004F009
Last 5 characters of installed product key: 628P9
---------------------------------------
[File not found: C:\Program Files (x86)\Microsoft Office\Office15\slerror.xml  Unable to display error description.]
ERROR DESCRIPTION: An unknown error occurred.
---------------------------------------
---Exiting-----------------------------
PS C:\Program Files (x86)\Microsoft Office\Office15>

OSPP.VBS代码:

'Copyright (c) Microsoft Corporation. All rights reserved.
'
'
CONST wshOK                             =0
CONST VALUE_ICON_WARNING                =16
CONST wshYesNoDialog                    =4
CONST VALUE_ICON_QUESTIONMARK           =32
CONST VALUE_ICON_INFORMATION            =64
CONST HKEY_LOCAL_MACHINE                =&H80000002
CONST KEY_SET_VALUE                     =&H0002
CONST KEY_QUERY_VALUE                   =&H0001
CONST REG_SZ                            =1
CONST OfficeAppId                       = "0ff1ce15-a989-479d-af46-f275c6370663"
CONST STR_SYS32PATH                     = ":\Windows\System32\"
CONST STR_OSPPREARMPATH                 = "\Microsoft Office\Office15\OSPPREARM.EXE"
CONST STR_OSPPREARMPATH_DEBUG           = "\Microsoft Office Debug\Office15\OSPPREARM.EXE"
CONST REG_OSPP                          = "SOFTWARE\Microsoft\OfficeSoftwareProtectionPlatform"
CONST REG_SPP                           = "SOFTWARE\Microsoft\Windows NT\CurrentVersion\SoftwareProtectionPlatform"
CONST VER_INFO                          = "Version Info: 2013 1.0 (RTM)"
'
CONST MSG_NOREGRIGHTS                   = "Insufficient rights to perform operation."
CONST MSG_ISCMD_ELEVATED                = "Ensure cmd.exe is elevated (right click > run as administrator)."
CONST MSG_CREDENTIALFAILURE             = "Connection failed with passed credentials."
CONST MSG_FILENOTFOUND                  = "File not found: "
CONST MSG_SEPERATE                      = "---------------------------------------"
CONST MSG_PROCESSING                    = "---Processing--------------------------"
CONST MSG_EXIT                          = "---Exiting-----------------------------"
CONST MSG_UNSUPPORTED                   = "Unsupported command passed."
CONST MSG_UNSUPPORTEDOPEROS7            = "The following command is supported on Windows 7 only: "
CONST MSG_UNSUPPORTEDOPEROS8            = "The following command is supported on Windows 8 and above only: "
CONST MSG_UNSUPPORTEDLOCAL              = "The following command is supported on local machine only: "
CONST MSG_CREDENTIALERR                 = "Passing credentials is not supported for this command."
CONST MSG_SUCCESS                       = "Successfully applied setting."
CONST MSG_NOKMSLICS                     = "No Office KMS licenses were found on the system."
CONST MSG_ACTATTEMPT                    = "Installed product key detected - attempting to activate the following product:"
CONST MSG_TOKACTATTEMPT                 = "Installed product key detected - attempting to token activate the following product:"
CONST MSG_NOKEYSINSTALLED               = "<No installed product keys detected>"
CONST MSG_UNINSTALLKEYSUCCESS           = "<Product key uninstall successful>"
CONST MSG_ACTSUCCESS                    = "<Product activation successful>"
CONST MSG_OFFLINEACTSUCCESS             = "<Offline product activation successful>"
CONST MSG_KEYINSTALLSUCCESS             = "<Product key installation successful>"
CONST MSG_PARTIALKEY                    = "Last 5 characters of installed product key: "
CONST MSG_UNINSTALLKEY                  = "Uninstalling product key for: "
CONST MSG_UNRECOGFILE                   = "Unrecognized file. Office licenses have an .xrm-ms file extension."
CONST MSG_INSTALLLICENSE                = "Installing Office license: "
CONST MSG_INSTALLLICSUCCESS             = "Office license installed successfully."
CONST MSG_SEARCHEVENTSKMS               = "Searching for KMS activation events on machine: "
CONST MSG_SEARCHEVENTSRET               = "Searching for Internet activation failure events on machine: "
CONST MSG_NOEVENTSSKMS                  = "No KMS activation events found on machine: "
CONST MSG_NOEVENTSRET                   = "No failure events found on machine: "
CONST MSG_OSPPSVC_NOINSTALL             = "Error: The Software Protection Platform service is not installed."
CONST MSG_OSPPSVC_NORUN                 = "Error: The Software Protection Platform service is not running."
CONST MSG_ERRPARTIALKEY                 = "The last 5 characters of an installed product key are required to run this option. Run the /dstatus option to display the partial product key."
CONST MSG_KEYNOTFOUND                   = "<Product key not found>"
CONST MSG_CMID                          = "Client Machine ID (CMID): "
CONST MSG_NOLICENSEFOUND                = "<No licenses found>"
CONST MSG_AUTHERR                       = "Authorization Error: 0x"
CONST MSG_REMILID                       = "Removed Token-based Activation License with License ID (ILID): "
CONST MSG_NOTFOUNDILID                  = "License not found with License ID (ILID): "
CONST MSG_KMSLOOKUP                     = "KMS Lookup Domain: "
CONST MSG_INFO_ONLY                     = " (for information purposes only as the status is licensed)"
'
CONST MSG_VLActivationType              = "Activation Type Configuration: "
'
CONST MSG_Act_Recent                    = "Most recent successful activation client information: "
CONST MSG_KMS_DNS                       = "KMS machine name from DNS: "
CONST MSG_KMS_DNS_ERR                   = "DNS auto-discovery: KMS name not available"
CONST MSG_ADInfoAOName                  = "Activation Object name: "
CONST MSG_ADInfoAODN                    = "AO DN: "
CONST MSG_ADInfoExtendedPid             = "AO extended PID: "
CONST MSG_ADInfoActID                   = "AO activation ID: "
CONST MSG_ACTIVATION_INTERVAL           = "Activation Interval: "
CONST MSG_RENEWAL_INTERVAL              = "Renewal Interval: "
CONST MSG_HOST_CACHING                  = "KMS host caching: "
CONST MSG_HOST_REG_OVERRIDE             = "KMS machine registry override defined: "
CONST MSG_DEFAULT_PORT                  = "1688"
'
CONST MSG_SKUID                         = "SKU ID: "
CONST MSG_LICENSENAME                   = "LICENSE NAME: "
CONST MSG_DESCRIPTION                   = "LICENSE DESCRIPTION: "
CONST MSG_LICSTATUS                     = "LICENSE STATUS: "
CONST MSG_LICENSED                      = " ---LICENSED--- "
CONST MSG_UNLICENSED                    = " ---UNLICENSED--- "
CONST MSG_OOBGRACE                      = " ---OOB_GRACE--- "
CONST MSG_OOTGRACE                      = " ---OOT_GRACE--- "
CONST MSG_NONGENGRACE                   = " ---NON_GENUINE_GRACE--- "
CONST MSG_NOTIFICATION                  = " ---NOTIFICATIONS--- "
CONST MSG_EXTENDEDGRACE                 = " ---EXTENDED GRACE--- "
CONST MSG_LICUNKNOWN                    = " ---UNKNOWN--- "
CONST MSG_REMAINGRACE                   = "REMAINING GRACE: "
CONST MSG_LICEXPIRY                     = "BETA EXPIRATION: "
CONST MSG_ERRCODE                       = "ERROR CODE: "
CONST MSG_ERRDESC                       = "ERROR DESCRIPTION: "
CONST MSG_ERRUNKNOWN                    = "An unknown error occurred."
CONST MSG_ERRCODEVALUE                  = "An error code must start with '0x'. Example: 0xC004F009"
'
'
On Error Resume NextSet WshShell = WSCript.CreateObject("WSCript.Shell")
Set objFSO = CreateObject("Scripting.FileSystemObject")
Set objNetwork = WSCript.CreateObject("WSCript.Network")Dim globalResource, globalErr, foundSlUi, strSluiPath, strLocal, objWMI, objWMI1, wmiErr, productinstances, strValue, Win7, productClass, tokenClass, intIsKms, kmsCounter, isAdActivated
globalResource = ""
globalErr = ""
foundSlUi = False
Win7 = False
kmsCounter = 0
isAdActivated = FalsecurrentDir = Left(WScript.ScriptFullName, InStrRev(WScript.ScriptFullName, "\"))Select Case WSCript.Arguments.CountCase 0verifyFileExists currentDir & "ospp.htm"showIePopUp currentDir & "ospp.htm"WScript.QuitCase 1var1 = WSCript.Arguments(0)Case 2var1 = WSCript.Arguments(0)var2 = WSCript.Arguments(1)Case 3var1 = WSCript.Arguments(0)var2 = WSCript.Arguments(1)var3 = WSCript.Arguments(2)Case 4var1 = WSCript.Arguments(0)var2 = WSCript.Arguments(1)var3 = WSCript.Arguments(2)var4 = WSCript.Arguments(3)Case Else
End Select
'
'
Call Main(var1,var2,var3,var4)
'
'
Sub Main(strCommand,strMachine,strUser,strPassword)On Error Resume NextgetEngine()
pProcessing()
getSlui()
strLocal = objNetwork.ComputerName
strCommand = LCase(strCommand)Select Case strCommandCase "/act", "/dstatus", "/dstatusall", "/dinstid", "/dtokils", _"/remhst", "/stokflag", "/ctokflag", "/dcmid", "/dtokcerts", "/ckms-domain"connectWMI strMachine,strUser,strPassword,""performLicAction strCommand,"",""Case "/dhistoryacterr", "/dhistorykms"connectWMI strMachine,strUser,strPassword,""performLicAction strCommand,"",strMachineCase "/puserops", "/duserops"connectWMI strMachine,strUser,strPassword,"reg"performRegAction strCommandCase "/osppsvcrestart", "/osppsvcauto"connectWMI strMachine,strUser,strPassword,""performServiceAction strCommandCase "/help", "help", "?", "/?", "/?"verifyFileExists currentDir & "ospp.htm"showIePopUp currentDir & "ospp.htm"quitExit()Case "/regmof"registerMof "osppwmi.mof"Case "/rearm"If strMachine = "" ThenreARM ""ElseglobalPopFailure MSG_UNSUPPORTEDLOCAL & vbCr & strCommand,TrueEnd IfquitExit()Case "/version"globalPopSuccess VER_INFO,TrueCase Elsepos = InStr(strCommand,":")Select Case posCase 7getCommand = Left(strCommand,6)Case 8getCommand = Left(strCommand,7)Case 13getCommand = Left(strCommand,12)Case ElseglobalPopFailure MSG_UNSUPPORTED,TrueEnd SelectSelect Case getCommand    Case "/skms-domain", "/actype", "/inpkey", "/unpkey", "/inslic", "/actcid", "/sethst", "/setprt", "/ddescr", "/rtokil", "/tokact", "/cachst", "/rearm"strValue = Replace(strCommand,getCommand & ":","")If strValue = "" ThenglobalPopFailure MSG_UNSUPPORTED & " A value is required for: " & strCommand,TrueEnd IfIf getCommand = "/ddescr" ThenIf Left(strValue,2) = "0x" ThengetDescription strValue,""ElseWScript.Echo MSG_ERRCODEVALUEquitExit()End IfElseIf getCommand = "/rearm" ThenIf strMachine = "" ThenreARM strValueElseglobalPopFailure MSG_UNSUPPORTEDLOCAL & vbCr & strCommand,TrueEnd IfquitExit()ElseconnectWMI strMachine,strUser,strPassword,""performLicAction getCommand,strValue,""End IfCase ElseglobalPopFailure MSG_UNSUPPORTED,TrueEnd Select
End SelectEnd Sub
'
'
Function showIePopUp(strPath)On Error Resume NextSet objExplorer = CreateObject("InternetExplorer.Application")With objExplorer.Navigate strPath.ToolBar = 0.StatusBar = 0.Width = 1000.Height = 593 .Left = 1.Top = 1.Visible = 1End WithEnd Function
'
'
Function getEngine()strEngine = LCase(Right(WScript.FullName,12))
If strEngine <> "\cscript.exe" ThenWshShell.Popup "Unable to perform operation. " & WSCript.ScriptName & " requires the cscript engine." & _vbCr & "Command line example: cscript ospp.vbs ?", _,WSCript.ScriptName, VALUE_ICON_WARNINGWScript.Quit
End IfEnd Function
'
'
Function WMIDateStringToDate(dtmEventDate)WMIDateStringToDate = CDate(Mid(dtmEventDate, 5, 2) & "/" & _
Mid(dtmEventDate, 7, 2) & "/" & Left(dtmEventDate, 4) _
& " " & Mid (dtmEventDate, 9, 2) & ":" & _
Mid(dtmEventDate, 11, 2) & ":" & Mid(dtmEventDate, _
13, 2))End Function
'
'
Function getDescription(strSearch,cType)If foundSlUi <> True ThenIf cType <> "wmi" ThenglobalPopFailure "slui.exe not found.",TruequitExit()End If
ElseSet objScriptExec = WshShell.Exec (strSluiPath & " 0x2a " & strSearch)readOut = objScriptExec.StdOut.ReadAllquitExit()
End IfEnd Function
'
'
Function checkRegRights(wmiObject,strKeyPath)On Error Resume nextwmiObject.CheckAccess HKEY_LOCAL_MACHINE, strKeyPath, KEY_SET_VALUE, _bHasAccessRightIf bHasAccessRight = True Then'Success
ElseglobalPopFailure MSG_NOREGRIGHTS & vbCr & MSG_ISCMD_ELEVATED,True
End If   End Function
'
'
Function quitExit()Set WshShell = Nothing
Set objFSO = Nothing
Set objNetwork = Nothing
Set objWMI = NothingWScript.Echo MSG_SEPERATE
WScript.Echo MSG_EXIT
WSCript.QuitEnd Function
'
'
Function verifyFileExists(file)If Not objFSO.FileExists(file) ThenIf file = currentDir & "slerror.xml" ThenWScript.Echo "[" & MSG_FILENOTFOUND & file &  "  Unable to display error description.]"ElseIf file = currentDir & "ospp.htm" ThenglobalPopFailure MSG_FILENOTFOUND & vbCr & file,FalsequitExit()ElseglobalPopFailure MSG_FILENOTFOUND & vbCr & file,TrueEnd If
End IfEnd Function
'
'
Function registerMof(strFile)For Each Drv In objFSO.DrivesIf Drv.DriveType=2 ThenIf objFSO.FileExists(Drv.DriveLetter & STR_SYS32PATH & "wbem\mofcomp.exe") ThenfoundComp = TruestrMofExePath = Drv.DriveLetter & STR_SYS32PATH & "wbem\mofcomp.exe"If objFSO.FileExists(Drv.DriveLetter & STR_SYS32PATH & "wbem\" & strFile) ThenfoundMof = TruestrOWmi = Drv.DriveLetter & STR_SYS32PATH & "wbem\" & strFileSet objScriptExec = WshShell.Exec (strMofExePath & " " & strOWmi)readOut = objScriptExec.StdOut.ReadAllWScript.Echo readOutquitExit()End IfEnd IfEnd If
NextIf foundComp <> True ThenglobalPopFailure MSG_FILENOTFOUND & Replace(STR_SYS32PATH,":","") & "wbem\mofcomp.exe",True
ElseIf foundMof <> True ThenglobalPopFailure MSG_FILENOTFOUND & Replace(STR_SYS32PATH,":","") & "wbem\osppwmi.mof",TrueEnd If
End IfEnd Function
'
'
Function pProcessing()WScript.Echo MSG_PROCESSING
WScript.Echo MSG_SEPERATEEnd Function
'
'
Function getSlui()For Each Drv In objFSO.DrivesIf Drv.DriveType=2 ThenIf objFSO.FileExists(Drv.DriveLetter & STR_SYS32PATH & "slui.exe") ThenstrSluiPath = Drv.DriveLetter & STR_SYS32PATH & "slui.exe"foundSlUi = TrueExit ForEnd IfEnd If
NextEnd Function
'
'
' Returns the encoding for a givven file.
' Possible return values: ascii, unicode, unicodeFFFE (big-endian), utf-8
Function GetFileEncoding(strFileName)Dim strDataDim strEncodingSet oStream = CreateObject("ADODB.Stream")oStream.Type = 1 'adTypeBinaryoStream.OpenoStream.LoadFromFile(strFileName)' Default encoding is asciistrEncoding =  "ascii"strData = BinaryToString(oStream.Read(2))' Check for little endian (x86) unicode preambleIf (Len(strData) = 2) and strData = (Chr(255) + Chr(254)) ThenstrEncoding = "unicode"ElseoStream.Position = 0strData = BinaryToString(oStream.Read(3))' Check for utf-8 preambleIf (Len(strData) >= 3) and strData = (Chr(239) + Chr(187) + Chr(191)) ThenstrEncoding = "utf-8"End IfEnd IfoStream.CloseGetFileEncoding = strEncodingEnd Function
'
'
' Converts binary data (VT_UI1 | VT_ARRAY) to a string (BSTR)
Function BinaryToString(dataBinary)  Dim iDim strFor i = 1 To LenB(dataBinary)str = str & Chr(AscB(MidB(dataBinary, i, 1)))NextBinaryToString = strEnd Function
'
'
' Returns string containing the whole text file data.
' Supports ascii, unicode (little-endian) and utf-8 encoding.
Function ReadAllTextFile(strFileName)Dim strDataSet oStream = CreateObject("ADODB.Stream")oStream.Type = 2 'adTypeTextoStream.OpenoStream.Charset = GetFileEncoding(strFileName)oStream.LoadFromFile(strFileName)strData = oStream.ReadText(-1) 'adReadAlloStream.CloseReadAllTextFile = strDataEnd Function
'
'
Function sppErrHandle(strCommand)globalErr = Hex(Err.Number)Select Case Err.NumberCase 0'SuccessSelect Case strCommandCase "/act","/tokact"WScript.Echo MSG_ACTSUCCESSCase "/inpkey"WScript.Echo MSG_KEYINSTALLSUCCESSquitExit()Case "/inslic"WScript.Echo MSG_INSTALLLICSUCCESSquitExit()Case "/ckms-domain","/skms-domain","/actype","/sethst","/setprt","/remhst","/stokflag","/ctokflag","/cachst"WScript.Echo MSG_SUCCESSquitExit()Case "/rtokil"WScript.Echo MSG_REMILID & UCase(strValue)quitExit()Case "/unpkey"WScript.Echo MSG_UNINSTALLKEYSUCCESSquitExit()Case ElseEnd SelectCase ElseverifyFileExists currentDir & "slerror.xml"getResource("err" & "0x" & globalErr)If globalResource = "" ThenIf Len(globalErr) <> "8" ThenWScript.Echo MSG_ERRDESC & MSG_ERRUNKNOWNElseIf foundSlUi = True ThenWScript.Echo MSG_ERRCODE & "0x" & globalErrWScript.Echo MSG_ERRDESC & "Run the following: cscript ospp.vbs /ddescr:0x" & globalErrElseWScript.Echo MSG_ERRCODE & "0x" & globalErr End IfEnd IfIf strCommand <> "/act" ThenquitExit()End IfElseWScript.Echo MSG_ERRCODE & "0x" & globalErr Wscript.Echo MSG_ERRDESC & globalResourceEnd IfIf strCommand = "/dtokcerts" Or strCommand = "/ignore" ThenquitExit()End If
End SelectIf globalErr = "C004F074" ThenWScript.Echo "To view the activation event history run: cscript " & WScript.ScriptName & " /dhistorykms"
End IfglobalResource = ""
globalErr = ""
Err.ClearEnd Function
'
'
Function wmiErrHandle()Select Case Err.NumberCase 0'SuccesssCase 424globalPopFailure MSG_ERRCODE & Err.Number & vbCr & MSG_ERRDESC & MSG_CREDENTIALFAILURE,True            Case ElseIf Err.Description <> "" ThenglobalPopFailure MSG_ERRCODE & Err.Number & vbCr & MSG_ERRDESC & Err.Description,TrueElseglobalPopFailure "An error occurred while making the connection." & vbCr & MSG_ERRCODE & Err.Number,TrueEnd If
End SelectEnd Function
'
'
Function setRegValue(wmiObject,opsValue,strValueName)On Error Resume NextErr.Clear()
If Win7 = True ThenstrKeyPath = REG_OSPP
ElsestrKeyPath = REG_SPP
End IfSelect Case strValueNameCase "UserOperations"wmiObject.CreateKey HKEY_LOCAL_MACHINE,strKeyPathwmiObject.SetDWORDValue HKEY_LOCAL_MACHINE,_strKeyPath,strValueName,opsValueCase Else
End SelectwmiErrHandle()
WScript.Echo MSG_SUCCESS
quitExit()End Function
'
'
Function getResource(resource)On Error Resume Next
Set xmlDoc = CreateObject("Msxml2.DOMDocument.6.0")
xmlDoc.load(currentDir & "slerror.xml")
Set ElemList = xmlDoc.getElementsByTagName(resource)
resValue = ElemList.item(0).text
globalResource = resValue End Function
'
'
Function globalPopSuccess(strSuccess,boolQuit)If boolQuit = True ThenWshShell.Popup strSuccess,,WScript.ScriptName, wshOK + VALUE_ICON_INFORMATIONquitExit()
ElseWshShell.Popup strSuccess,,WScript.ScriptName, wshOK + VALUE_ICON_INFORMATION
End IfEnd Function
'
'
Function globalPopFailure(strFailure,boolQuit)If boolQuit = True ThenWshShell.Popup strFailure,,WScript.ScriptName, wshOK + VALUE_ICON_WARNINGquitExit()
ElseWshShell.Popup strFailure,,WScript.ScriptName, wshOK + VALUE_ICON_WARNING
End IfEnd Function
'
'
Function connectWMI(strMachine,strUser,strPassword,ctype)On Error Resume NextIf ctype = "" ThenIf strMachine = "" Or LCase(strMachine) = LCase(strLocal) ThenSet objWMI = GetObject("winmgmts:" _& "{impersonationLevel=impersonate}!\\" & "." & "\root\cimv2")ElseIf strUser = "" And strPassword = "" ThenSet objWMI = GetObject("winmgmts:" _& "{impersonationLevel=impersonate}!\\" & strMachine & "\root\cimv2")ElseSet objSWbemLocator = CreateObject("WbemScripting.SWbemLocator")Set objWMI = objSWbemLocator.ConnectServer _(strMachine, "\root\cimv2", strUser, strPassword)wmiErr = CStr(Hex(Err.Number))If Len(wmiErr) = "8" ThengetDescription "0x" & wmiErr,"wmi"End IfobjWMI.Security_.ImpersonationLevel = 3End IfEnd If
ElseIf strUser <> "" ThenglobalPopFailure MSG_CREDENTIALERR,TrueEnd IfIf strMachine = "" Or LCase(strMachine) = LCase(strLocal) ThenSet objWMI1 = GetObject("winmgmts:" _& "{impersonationLevel=impersonate}!\\" & "." & "\root\default:StdRegProv")Set objWMI = GetObject("winmgmts:" _& "{impersonationLevel=impersonate}!\\" & "." & "\root\cimv2")ElseSet objWMI1 = GetObject("winmgmts:" _& "{impersonationLevel=impersonate}!\\" & strMachine & "\root\default:StdRegProv")Set objWMI = GetObject("winmgmts:" _& "{impersonationLevel=impersonate}!\\" & strMachine & "\root\cimv2")End If
End IfwmiErrHandle()
isWin7OS()End Function
'
'
Private Function TkaGetSigner()On Error Resume NextIf Win7 = True Then Set TkaGetSigner = WScript.CreateObject("OSPPWMI.OSppWmiTokenActivationSigner")ElseSet TkaGetSigner = WScript.CreateObject("SPPWMI.SppWmiTokenActivationSigner")End IfIf Hex(Err.Number) = "80020009" ThenglobalPopFailure MSG_ERRCODE & "0x" & Hex(Err.Number) & vbCr & MSG_ERRDESC & Err.Description,TrueEnd IfEnd Function
'
'
Function TkaPrintCertificate(strThumbprint)arrParams = Split(strThumbprint, "|")WScript.Echo "Thumbprint: " & arrParams(0)WScript.Echo "Subject: " & arrParams(1)WScript.Echo "Issuer: " & arrParams(2)vf = FormatDateTime(CDate(arrParams(3)), vbShortDate)WScript.Echo "Valid From: " & vfvt = FormatDateTime(CDate(arrParams(4)), vbShortDate)WScript.Echo "Valid To: " & vtWScript.Echo MSG_SEPERATEEnd Function
'
'
Function ExecuteQuery(strSelect,strWhere,strClass)Err.ClearIf strWhere = "" ThenSet productinstances = objWMI.ExecQuery("SELECT " & strSelect & " FROM " & strClass)
ElseSet productinstances = objWMI.ExecQuery("SELECT " & strSelect & " FROM " & strClass & " WHERE " & strWhere)
End IfsppErrHandle ""End Function
'
'
Function performLicAction(strCommand,strValue,strMachine)On Error Resume NextIf strCommand = "/dhistorykms" Or strCommand = "/dhistoryacterr" ThenverifyFileExists currentDir & "slerror.xml"If strCommand = "/dhistorykms" Then'12288 = KMS Activation event ideventCode = "12288"strSrcEvents = MSG_SEARCHEVENTSKMSstrNoEvents = MSG_NOEVENTSSKMSElse'8200 = Internet Activation event ideventCode = "8200"strSrcEvents = MSG_SEARCHEVENTSRETstrNoEvents = MSG_NOEVENTSRETEnd IfIf strMachine <> "" ThenWScript.Echo strSrcEvents & strMachineElseWScript.Echo strSrcEvents & strLocalEnd IfWScript.Echo "Event ID: " & eventCodeWScript.Echo vbCrSet objEvents = objWMI.ExecQuery _("Select * from Win32_NTLogEvent Where Logfile = 'Application' and " _& "EventCode = '" & eventCode & "'")If objEvents.Count > 0 ThenFor each objEvent in objEventsIf strCommand = "/dhistoryacterr" Theni = i + 1dtmEventDate = objEvent.TimeWrittenstrTimeWritten = WMIDateStringToDate(dtmEventDate)WScript.Echo "Coordinated Universal Time Written: " & strTimeWrittenstrReplCrs = Replace(objEvent.Message,vbCrLf,"")WScript.Echo "MESSAGE: " & strReplCrsstrhr10 = Right(strReplCrs,10)getResource("err" & strhr10)If globalResource = "" ThenIf foundSlUi = True ThenWScript.Echo MSG_ERRDESC & "Run the following: cscript ospp.vbs /ddescr:" & strhr10ElseWScript.Echo MSG_ERRDESC & "Not available."End IfElseWscript.Echo MSG_ERRDESC & globalResourceEnd IfWScript.Echo MSG_SEPERATE        Elsestrhr10 = Mid(objEvent.Message,90,10)strReplCrs = Replace(objEvent.Message,vbCrLf,"")If Right(strReplCrs,2) = " 5" ThenstrReplStrs = Replace(strReplCrs,"The client has sent an activation request to the key management service machine.Info:","")dtmEventDate = objEvent.TimeWrittenstrTimeWritten = WMIDateStringToDate(dtmEventDate)WScript.Echo "Coordinated Universal Time Written: " & strTimeWrittenintColon = InStr(strReplStrs,":")strErrHost = Left(strReplStrs,intColon)strErrHost = Trim(strErrHost)strErrHost = Replace(strErrHost,":","")WScript.Echo "ERROR/HOST: " & strErrHostSelect Case strhr10Case "0x00000000"WScript.Echo MSG_ERRDESC & "N/A"Case ElsegetResource("err" & strhr10)If globalResource = "" ThenIf foundSlUi = True ThenWScript.Echo MSG_ERRDESC & "Run the following: cscript ospp.vbs /ddescr:" & strhr10ElseWScript.Echo MSG_ERRDESC & "Not available."End IfElseWscript.Echo MSG_ERRDESC & globalResourceEnd IfEnd SelectWScript.Echo MSG_SEPERATEEnd IfEnd IfNextElseWScript.Echo MSG_SEPERATEIf strMachine <> "" ThenWScript.Echo strNoEvents & strMachineElseWScript.Echo strNoEvents & strLocalEnd IfWScript.Echo MSG_SEPERATEEnd IfquitExit()
End If'Verify osppsvc service is installed for win7 case
If Win7 = True ThenSet colListOfServices = objWMI.ExecQuery _("Select * from Win32_Service ")For Each objService in colListOfServicesIf objService.Name = "osppsvc" Theninstalled = TrueExit ForEnd IfNextIf installed <> True ThenglobalPopFailure MSG_OSPPSVC_NOINSTALL,TrueEnd If
End IfSelect Case strCommand'The following operations are performed @ a service levelCase "/inpkey", "/dcmid", "/inslic", "/cachst", "/stokflag", "/ctokflag", "/dstatus", "/dstatusall" If Win7 = True ThenFor Each objService in objWMI.InstancesOf("OfficeSoftwareProtectionService")Set objOspp = objServiceExit ForNextElse'Win8 and beyondFor Each objService in objWMI.InstancesOf("SoftwareLicensingService")Set objOspp = objServiceExit ForNextEnd IfCase Else
End SelectsppErrHandle ""If strCommand = "/inpkey" Theni = i + 1Err.ClearobjOspp.InstallProductKey(strValue)sppErrHandle(strCommand)
ElseIf strCommand = "/cachst" Theni = i + 1If strValue = "true" ThenobjOspp.DisableKeyManagementServiceHostCaching(False)sppErrHandle(strCommand)ElseIf strValue = "false" ThenobjOspp.DisableKeyManagementServiceHostCaching(True)sppErrHandle(strCommand) ElseglobalPopFailure MSG_UNSUPPORTED & " A TRUE or FALSE value is required for: " & strCommand,TrueEnd If
ElseIf strCommand = "/dcmid" ThenIf objOspp.ClientMachineID <> "" Or objOspp.ClientMachineID <> Null ThenWScript.Echo MSG_CMID & objOspp.ClientMachineIDElseWScript.Echo MSG_CMID & "Not found."End IfquitExit()
ElseIf strCommand = "/inslic" Theni = i + 1If Right(strValue,7) = ".xrm-ms" ThenverifyFileExists strValueWScript.Echo MSG_INSTALLLICENSE & strValueElseglobalPopFailure MSG_UNRECOGFILE,TrueEnd IfLicenseData = ReadAllTextFile(strValue)objOSpp.InstallLicense(LicenseData)SppErrHandle(strCommand)
ElseIf strCommand = "/stokflag" Theni = i + 1If Win7 = True ThenobjOspp.DisableKeyManagementServiceActivation(True)sppErrHandle(strCommand)Else'Unsupported - osppsvc only supports this.globalPopFailure MSG_UNSUPPORTEDOPEROS7 & vbCr & strCommand,TrueEnd If
ElseIf strCommand = "/ctokflag" Theni = i + 1If Win7 = True ThenobjOspp.DisableKeyManagementServiceActivation(False)SppErrHandle(strCommand)Else'Unsupported - osppsvc only supports this.globalPopFailure MSG_UNSUPPORTEDOPEROS7 & vbCr & strCommand,TrueEnd If
ElseIf strCommand = "/dtokils" ThenErr.ClearSet objWmiDate = CreateObject("WBemScripting.SWbemDateTime")ExecuteQuery "ILID, ILVID, AuthorizationStatus, ExpirationDate, Description, AdditionalInfo","",tokenClassFor Each instance in productinstancessppErrHandle ""i = i + 1WScript.Echo "License ID (ILID): " & instance.ILIDWScript.Echo "Version ID (ILvID): " & instance.ILVIDIf Not IsNull(instance.ExpirationDate) ThenobjWmiDate.Value = instance.ExpirationDateIf (objWmiDate.GetFileTime(false) <> 0) ThenWScript.Echo "Expiry Date: " & objWmiDate.GetVarDateEnd IfEnd IfIf Not IsNull(instance.AdditionalInfo) ThenWScript.Echo "Additional Info: " & instance.AdditionalInfoEnd IfIf Not IsNull(instance.AuthorizationStatus) And instance.AuthorizationStatus <> 0 ThenglobalErr = CStr(Hex(instance.AuthorizationStatus))WScript.Echo MSG_AUTHERR & globalErrquitExit()Else            WScript.Echo "Description: " & instance.DescriptionEnd IfWScript.Echo MSG_SEPERATENextIf i = 0 ThenWScript.Echo MSG_NOLICENSEFOUNDEnd IfquitExit()
ElseIf strCommand = "/rtokil" ThenErr.Clear    ExecuteQuery "ILID, ID","",tokenClassFor Each instance in productinstancessppErrHandle ""i = i + 1If LCase(strValue) = LCase(instance.ILID) Theninstance.UninstallSppErrHandle(strCommand)ElseWScript.Echo MSG_NOTFOUNDILID & strValue & " Run /dtokils to display the ILID for installed licenses."End IfNextIf i = 0 ThenWScript.Echo MSG_NOLICENSEFOUNDEnd IfquitExit()
ElseIf strCommand = "/dtokcerts" ThenErr.ClearSet objSigner = TkaGetSigner()sppErrHandle(strCommand)ExecuteQuery "ID, Name, ApplicationId, PartialProductKey, Description, LicenseIsAddon ","ApplicationId = '" & OfficeAppId & "' " & "AND PartialProductKey <> NULL " & "AND LicenseIsAddon = FALSE",productClassFor each instance in productinstancesi = i + 1sppErrHandle ""iRet = instance.GetTokenActivationGrants(arrGrants)If Err.Number = 0 ThenarrThumbprints = objSigner.GetCertificateThumbprints(arrGrants)If Err.Number = 0 ThenFor Each strThumbprint in arrThumbprintsTkaPrintCertificate strThumbprintNextElsesppErrHandle ""End IfElsesppErrHandle ""End IfWScript.Echo MSG_SEPERATEErr.ClearNext
ElseIf strCommand = "/tokact" ThenErr.ClearSet objSigner = TkaGetSigner()sppErrHandle "/ignore"pos1 = InStr(strValue,":")If pos1 = 0 Then'PIN not passedstrThumbprint = strValueElse'PIN passedstrThumbprint = Left(strValue,pos1 - 1)strPin = Replace(strValue,strThumbprint & ":","")End IfExecuteQuery "ID, Name, ApplicationId, PartialProductKey, Description, LicenseIsAddon ","ApplicationId = '" & OfficeAppId & "' " & "AND PartialProductKey <> NULL " & "AND LicenseIsAddon = FALSE",productClassFor each instance in productinstancesi = i + 1sppErrHandle ""        WScript.Echo MSG_TOKACTATTEMPT WScript.Echo MSG_SKUID & instance.IDWScript.Echo MSG_LICENSENAME & instance.NameWScript.Echo MSG_DESCRIPTION & instance.DescriptionWScript.Echo MSG_PARTIALKEY & instance.PartialProductKeyiRet = instance.GenerateTokenActivationChallenge(strChallenge)If Err.Number = 0 ThenstrAuthInfo1 = objSigner.Sign(strChallenge, strThumbprint, strPin, strAuthInfo2)If Err.Number = 0 TheniRet = instance.DepositTokenActivationResponse(strChallenge, strAuthInfo1, strAuthInfo2)SppErrHandle(strCommand)ElsesppErrHandle ""End IfElsesppErrHandle ""End IfWScript.Echo MSG_SEPERATENext
ElseErr.ClearIf strCommand = "/dstatus" Or strCommand = "/dstatusall" ThenIf Win7 = True ThenExecuteQuery "ID, ApplicationId, EvaluationEndDate, PartialProductKey, Description, Name, LicenseStatus, LicenseStatusReason, ProductKeyID, GracePeriodRemaining, DiscoveredKeyManagementServiceMachineName, DiscoveredKeyManagementServiceMachinePort, VLActivationInterval, VLRenewalInterval, KeyManagementServiceMachine, KeyManagementServicePort","ApplicationId = '" & OfficeAppId & "' ",productClassElseExecuteQuery "ID, ApplicationId, EvaluationEndDate, PartialProductKey, Description, Name, LicenseStatus, LicenseStatusReason, ProductKeyID, GracePeriodRemaining, KeyManagementServiceLookupDomain, VLActivationType, ADActivationObjectName, ADActivationObjectDN, ADActivationCsvlkPid, ADActivationCsvlkSkuId, VLActivationTypeEnabled, DiscoveredKeyManagementServiceMachineName, DiscoveredKeyManagementServiceMachinePort, VLActivationInterval, VLRenewalInterval, KeyManagementServiceMachine, KeyManagementServicePort","ApplicationId = '" & OfficeAppId & "' ",productClass    End IfElseIf strCommand = "/act" ThenExecuteQuery "ID, ApplicationId, PartialProductKey, Description, Name","ApplicationId = '" & OfficeAppId & "' " & "AND PartialProductKey <> NULL ",productClassElseIf strCommand = "/unpkey" ThenExecuteQuery "ID, ApplicationId, Description, PartialProductKey, Name, ProductKeyID","ApplicationId = '" & OfficeAppId & "' " & "AND PartialProductKey <> NULL ",productClassElseIf strCommand = "/dinstid" Or strCommand = "/actcid" ThenExecuteQuery "ID, ApplicationId, Description, PartialProductKey, Name, OfflineInstallationId","ApplicationId = '" & OfficeAppId & "' " & "AND PartialProductKey <> NULL ",productClassElseIf strCommand = "/actype" Or strCommand = "/skms-domain" Or strCommand = "/ckms-domain" ThenIf Win7 = True Then'Unsupported - sppsvc only supports this.globalPopFailure MSG_UNSUPPORTEDOPEROS8 & vbCr & strCommand,TrueElseExecuteQuery "ID, Description, PartialProductKey, ApplicationId ","ApplicationId = '" & OfficeAppId & "' ",productClassEnd IfElseIf strCommand = "/sethst" Or strCommand = "/setprt" Or strCommand = "/remhst" ThenExecuteQuery "ID, Description, PartialProductKey, ApplicationId ","ApplicationId = '" & OfficeAppId & "' ",productClassEnd IfFor Each instance in productinstancessppErrHandle ""If (LCase(instance.ApplicationId) = OfficeAppId) ThenIf instance.PartialProductKey <> "" Theni = i + 1End IfintIsKms = InStr(UCase(instance.Description),"KMS")If intIsKms <> 0 ThenkmsCounter = kmsCounter + 1End IfSelect Case strCommandCase "/actype"Select Case strValueCase "0","1","2","3"Case ElseglobalPopFailure MSG_UNSUPPORTED & " A value of" & vbCr &  _"0  (for all)" & vbCr & "1  (for AD)" & vbCr & "2  (for KMS" & vbCr & _"3  (for Token)" & vbCr & "Is required for: " & strCommand,TrueEnd SelectIf intIsKms <> 0 ThenIf strValue <> 0 Then                    instance.SetVLActivationTypeEnabled(strValue)Elseinstance.ClearVLActivationTypeEnabled()End IfEnd IfsppErrHandle ""Case "/skms-domain"If intIsKms <> 0 Theninstance.SetKeyManagementServiceLookupDomain(strValue)End IfsppErrHandle ""Case "/ckms-domain"If intIsKms <> 0 Theninstance.ClearKeyManagementServiceLookupDomain()End IfsppErrHandle ""Case "/sethst"If intIsKms <> 0 Theninstance.SetKeyManagementServiceMachine(strValue)End IfsppErrHandle ""Case "/setprt"If intIsKms <> 0 Theninstance.SetKeyManagementServicePort(strValue)End IfsppErrHandle ""Case "/remhst"If intIsKms <> 0 Theninstance.ClearKeyManagementServiceMachine()sppErrHandle ""instance.ClearKeyManagementServicePort()sppErrHandle ""End IfCase "/act"WScript.Echo MSG_ACTATTEMPT WScript.Echo MSG_SKUID & instance.IDWScript.Echo MSG_LICENSENAME & instance.NameWScript.Echo MSG_DESCRIPTION & instance.DescriptionWScript.Echo MSG_PARTIALKEY & instance.PartialProductKey            instance.ActivateSppErrHandle(strCommand)WScript.Echo MSG_SEPERATECase "/unpkey"If Len(strValue) <> "5" ThenglobalPopFailure MSG_ERRPARTIALKEY,TrueEnd IfIf UCase(strValue) = instance.PartialProductKey Theny = y + 1WScript.Echo MSG_UNINSTALLKEY & instance.Nameinstance.UninstallProductKey(instance.ProductKeyID)                            SppErrHandle(strCommand)End IfCase "/dinstid"WScript.Echo "Installation ID for: " & instance.Name & ": " & instance.OfflineInstallationIdWScript.Echo MSG_SEPERATECase "/actcid"instance.DepositOfflineConfirmationId instance.OfflineInstallationId, strValueIf Err.Number = 0 ThenIf telsuccess <> True ThenWScript.Echo MSG_LICENSENAME & instance.NameWScript.Echo MSG_OFFLINEACTSUCCESStelsuccess = TrueEnd IfElseWScript.Echo MSG_LICENSENAME & instance.NamesppErrHandle ""End IfWScript.Echo MSG_SEPERATECase "/dstatus", "/dstatusall"getInstalled = FalseverifyFileExists currentDir & "slerror.xml"licSr = Hex(instance.LicenseStatusReason)If strCommand = "/dstatusall" ThengetInstalled = TrueWScript.Echo MSG_SKUID & instance.IDWScript.Echo MSG_LICENSENAME & instance.NameWScript.Echo MSG_DESCRIPTION & instance.Description            ElseIf instance.ProductKeyID <> "" ThengetInstalled = TrueWScript.Echo MSG_SKUID & instance.IDWScript.Echo MSG_LICENSENAME & instance.NameWScript.Echo MSG_DESCRIPTION & instance.Description'EvaluationEndDate always returns a value. When an expiry date is not defined "1/1/1601" is returned.'So avoid displaying this against RTM licenses as that date = no expiry defined.If instance.EvaluationEndDate <> "" ThenSet objDate = CreateObject("WBemScripting.SWbemDateTime")objDate.Value = instance.EvaluationEndDateIf objDate.GetVarDate() <> "1/1/1601" ThenWScript.Echo MSG_LICEXPIRY & objDate.GetVarDate()End IfSet objDate = NothingEnd IfEnd IfEnd IfIf getInstalled = True ThenSelect Case instance.LicenseStatusCase 0WScript.Echo MSG_LICSTATUS & MSG_UNLICENSEDCase 1WScript.Echo MSG_LICSTATUS & MSG_LICENSEDCase 2WScript.Echo MSG_LICSTATUS & MSG_OOBGRACE        Case 3WScript.Echo MSG_LICSTATUS & MSG_OOTGRACECase 4WScript.Echo MSG_LICSTATUS & MSG_NONGENGRACECase 5WScript.Echo MSG_LICSTATUS & MSG_NOTIFICATIONCase 6WScript.Echo MSG_LICSTATUS & MSG_EXTENDEDGRACE    Case ElseWScript.Echo MSG_LICSTATUS & MSG_LICUNKNOWNEnd SelectIf licSr <> "0" ThenIf instance.LicenseStatus <> 1 ThenWScript.Echo MSG_ERRCODE & "0x" & licSrElseWScript.Echo MSG_ERRCODE & "0x" & licSr & MSG_INFO_ONLYEnd IfgetResource("err" & "0x" & licSr)If globalResource = "" ThenIf foundSlUi <> True ThenWScript.Echo MSG_ERRDESC & "Not available."ElseWScript.Echo MSG_ERRDESC & "Run the following: cscript ospp.vbs /ddescr:0x" & licSrEnd ifElseWScript.Echo MSG_ERRDESC & globalResourceEnd IfEnd IfIf instance.GracePeriodRemaining <> 0 ThendGrace = instance.GracePeriodRemaining / 60 / 24rndDown = Int(dGrace)WScript.Echo MSG_REMAINGRACE & rndDown & " days " & " (" & instance.GracePeriodRemaining & " minute(s) before expiring" & ")"End IfIf instance.PartialProductKey <> "" ThenWScript.Echo MSG_PARTIALKEY & instance.PartialProductKey'Display additional volume info for KMS licensesIf intIsKms <> 0 Then'Display activation type set (Win8+).If Win7 <> True ThenSelect Case instance.VLActivationTypeEnabledCase 1WScript.Echo MSG_VLActivationType & "AD"Case 2WScript.Echo MSG_VLActivationType & "KMS"Case 3WScript.Echo MSG_VLActivationType & "Token"Case ElseWScript.Echo MSG_VLActivationType & "ALL"End Select'Check to see if last activated via AD- display object info (Win8+).If instance.VLActivationType = 1 ThenisAdActivated = TrueWScript.Echo MSG_Act_Recent + "AD"WScript.Echo vbTab & MSG_ADInfoAOName & instance.ADActivationObjectNameWScript.Echo vbTab & MSG_ADInfoAODN & instance.ADActivationObjectDNWScript.Echo vbTab & MSG_ADInfoExtendedPid & instance.ADActivationCsvlkPidWScript.Echo vbTab & MSG_ADInfoActID & instance.ADActivationCsvlkSkuIdEnd IfEnd IfIf isAdActivated = False ThenstrKms = instance.DiscoveredKeyManagementServiceMachineNamestrPort = instance.DiscoveredKeyManagementServiceMachinePortIf IsNull(strKms) Or (strKms = "") Or IsNull(strPort) Or (strPort = 0) ThenWScript.Echo vbTab & MSG_KMS_DNS_ERRElseWScript.Echo vbTab & MSG_KMS_DNS & strKMS & ":" & strPortEnd If'Check to see if registry override is definedstrKms = instance.KeyManagementServiceMachineIf strKms <> "" And Not IsNull(strKms) ThenstrPort = instance.KeyManagementServicePortIf (strPort = 0) ThenstrPort = MSG_DEFAULT_PORTEnd IfWScript.Echo vbTab & MSG_HOST_REG_OVERRIDE & strKms & ":" & strPortEnd IfWScript.Echo vbTab & MSG_ACTIVATION_INTERVAL & instance.VLActivationInterval & " minutes"WScript.Echo vbTab & MSG_RENEWAL_INTERVAL & instance.VLRenewalInterval & " minutes"If (objOspp.KeyManagementServiceHostCaching = True) ThenWScript.Echo vbTab & MSG_HOST_CACHING & "Enabled"ElseWScript.Echo vbTab & MSG_HOST_CACHING & "Disabled"End IfIf Win7 <> True Then     If instance.KeyManagementServiceLookupDomain <> "" ThenWScript.Echo vbTab & MSG_KMSLOOKUP & instance.KeyManagementServiceLookupDomainEnd IfEnd IfEnd If                               End IfEnd IfWScript.Echo MSG_SEPERATEEnd IfCase ElseEnd SelectEnd IfNext
End IfSelect Case strCommandCase "/unpkey"If y = 0 ThenWScript.Echo MSG_KEYNOTFOUNDquitExit()End IfCase "/ckms-domain","/skms-domain","/actype","/sethst","/setprt","/remhst"If kmsCounter = 0 ThenWScript.Echo MSG_NOKMSLICSquitExit()ElsesppErrHandle(strCommand)End IfCase Else
End SelectIf i = 0 ThenWScript.Echo MSG_NOKEYSINSTALLEDWScript.Echo MSG_SEPERATE
End If
quitExit()End Function
'
'
Function performRegAction(strCommand)On Error Resume NextIf Win7 = True ThenSet colListOfServices = objWMI.ExecQuery _("Select * from Win32_Service ")For Each objService in colListOfServicesIf objService.Name = "osppsvc" Theninstalled = TrueExit ForEnd IfNextIf installed <> True ThenglobalPopFailure MSG_OSPPSVC_NOINSTALL,TrueEnd IfcheckRegRights objWMI1,REG_OSPP
ElsecheckRegRights objWMI1,REG_SPP
End IfSelect Case strCommandCase "/puserops"setRegValue objWMI1,"1","UserOperations"Case "/duserops"setRegValue objWMI1,"0","UserOperations"
End SelectEnd Function
'
'
Function performServiceAction(strCommand)On Error Resume NextSet colListOfServices = objWMI.ExecQuery _("Select * from Win32_Service ")
For Each objService in colListOfServicesIf objService.Name = "osppsvc" Theninstalled = TrueExit ForEnd If
NextIf installed <> True ThenglobalPopFailure MSG_OSPPSVC_NOINSTALL,True
End IfSet objService = Nothing
Set colListOfServices = NothingIf strCommand = "/osppsvcauto" ThenSet colListOfServices = objWMI.ExecQuery _("Select * from Win32_Service where StartMode = 'Manual' or StartMode = 'Disabled'")For Each objService in colListOfServicesIf LCase(objService.Name) = "osppsvc" ThenfoundOsppNonAuto = TrueobjService.Change , , , , "Automatic"WScript.Sleep(15000)Exit ForEnd IfNextIf foundOsppNonAuto <> True ThenWScript.Echo "Service startup type already set to automatic: Office Software Protection Platform"quitExit()End IfSet objService = NothingSet colListOfServices = NothingSet colListOfServices = objWMI.ExecQuery _("Select * from Win32_Service where StartMode = 'Auto'")For Each objService in colListOfServicesIf LCase(objService.Name) = "osppsvc" ThenfoundOsppAuto = TrueWScript.Echo "Successfully set service startup to automatic:" & objService.DisplayNamequitExit()End IfNextIf foundOsppAuto <> True ThenWScript.Echo "Unsuccessful setting service startup to automatic. " & MSG_ISCMD_ELEVATEDquitExit()End If
ElseSet colListOfServices = objWMI.ExecQuery _("Select * from Win32_Service ")For Each objService in colListOfServicesIf LCase(objService.Name) = "osppsvc" ThenSelect Case LCase(objService.State)Case "running"objService.StopService()WScript.Sleep(15000)objService.StartService()WScript.Sleep(15000)Case ElseobjService.StartService()WScript.Sleep(15000)End SelectExit ForEnd IfNextSet objService = NothingSet colListOfServices = NothingSet colListOfServices = objWMI.ExecQuery _("Select * from Win32_Service ")For Each objService in colListOfServicesIf LCase(objService.Name) = "osppsvc" ThenIf LCase(objService.State) = "running" ThenWScript.Echo "Successfully restarted: " & objService.DisplayNamequitExit()ElseWScript.Echo "Unsuccessful restart: " & objService.DisplayName & ". Status: " _& objService.State & ". " & MSG_ISCMD_ELEVATEDquitExit()End IfExit ForEnd IfNext
End IfEnd Function
'
'
Function reARM(skuid)progFiles = WshShell.ExpandEnvironmentStrings("%ProgramFiles%")If objFSO.FileExists(progFiles & STR_OSPPREARMPATH) ThenrearmPath = progFiles & STR_OSPPREARMPATH
ElseIf objFSO.FileExists(progFiles & STR_OSPPREARMPATH_DEBUG) ThenrearmPath = progFiles & STR_OSPPREARMPATH_DEBUG
ElseprogFilesX86 = WshShell.ExpandEnvironmentStrings("%ProgramFiles(x86)%")If objFSO.FileExists(progFilesX86 & STR_OSPPREARMPATH) ThenrearmPath = progFilesX86 & STR_OSPPREARMPATHElseIf objFSO.FileExists(progFilesX86 & STR_OSPPREARMPATH_DEBUG) ThenrearmPath = progFilesX86 & STR_OSPPREARMPATH_DEBUGElseWScript.Echo MSG_FILENOTFOUND & "OSPPREARM.EXE"quitExit()End If
End IfIf skuid = "" Then   Set objScriptExec = WshShell.Exec (rearmPath)
ElseSet objScriptExec = WshShell.Exec (rearmPath & " " & skuid)
End IfreadOut = objScriptExec.StdOut.ReadAll
WScript.Echo readOutEnd Function
'
'
Function isWin7OS()Set colOperatingSystems = objWMI.ExecQuery _("Select * from Win32_OperatingSystem")For Each objOperatingSystem in colOperatingSystemsVer = Split(objOperatingSystem.Version, ".", -1, 1) 'Win7If (Ver(0) = "6" And Ver(1) = "1" And objOperatingSystem.ProductType = 1) ThenWin7 = TrueExit ForEnd If'Server2008R2If (Ver(0) = "6" And Ver(1) = "1" And (objOperatingSystem.ProductType = 2 Or objOperatingSystem.ProductType = 3)) ThenWin7 = TrueExit ForEnd IfNextsetWmiClasses()End Function
'
'
Function setWmiClasses()If Win7 = True ThenproductClass = "OfficeSoftwareProtectionProduct"tokenClass = "OfficeSoftwareProtectionTokenActivationLicense"
ElseproductClass = "SoftwareLicensingProduct"tokenClass = "SoftwareLicensingTokenActivationLicense"
End IfEnd Function
'
''' SIG '' Begin signature block
'' SIG '' MIIhkgYJKoZIhvcNAQcCoIIhgzCCIX8CAQExDzANBglg
'' SIG '' hkgBZQMEAgEFADB3BgorBgEEAYI3AgEEoGkwZzAyBgor
'' SIG '' BgEEAYI3AgEeMCQCAQEEEE7wKRaZJ7VNj+Ws4Q8X66sC
'' SIG '' AQACAQACAQACAQACAQAwMTANBglghkgBZQMEAgEFAAQg
'' SIG '' zEwik1Z5edAj7+sqHGDiJNmSFwExtnAcWrZywByYrk+g
'' SIG '' ggswMIIEuDCCA6CgAwIBAgITMwAAABYRBLSIOIy+wwAA
'' SIG '' AAAAFjANBgkqhkiG9w0BAQsFADB+MQswCQYDVQQGEwJV
'' SIG '' UzETMBEGA1UECBMKV2FzaGluZ3RvbjEQMA4GA1UEBxMH
'' SIG '' UmVkbW9uZDEeMBwGA1UEChMVTWljcm9zb2Z0IENvcnBv
'' SIG '' cmF0aW9uMSgwJgYDVQQDEx9NaWNyb3NvZnQgQ29kZSBT
'' SIG '' aWduaW5nIFBDQSAyMDEwMB4XDTEyMDgzMDE3NDkwM1oX
'' SIG '' DTEzMTEzMDE3NDkwM1owgYMxCzAJBgNVBAYTAlVTMRMw
'' SIG '' EQYDVQQIEwpXYXNoaW5ndG9uMRAwDgYDVQQHEwdSZWRt
'' SIG '' b25kMR4wHAYDVQQKExVNaWNyb3NvZnQgQ29ycG9yYXRp
'' SIG '' b24xDTALBgNVBAsTBE1PUFIxHjAcBgNVBAMTFU1pY3Jv
'' SIG '' c29mdCBDb3Jwb3JhdGlvbjCCASIwDQYJKoZIhvcNAQEB
'' SIG '' BQADggEPADCCAQoCggEBAKBQnx1OlLoHCty+lknhPaAG
'' SIG '' 75W++b1WKluc7x4RLsbW4S2yb8wzLZ4epLGCFspkMamK
'' SIG '' JoH04y7yHg4cyOFZ4dQjPWV3/+rlt7ONCPYS129JV6SF
'' SIG '' 4wQe0EKop7LbMAoV0ck1bX+8hl6lPraQZAUkHD6gcWgK
'' SIG '' Mfd+1JXpLZvKZQV6FAIMCfaz3XFdJh9aCy8JumcybJwV
'' SIG '' 2Jw8iehHOu+mFN9CPiEeuzHiLNFU9uqAkiuTNHdtkmcm
'' SIG '' NsEqMdt4E0mrk5XcbKoMAHHAzc3dY+2RV5evjCqExd4N
'' SIG '' dWWM4NEfQTu7tZLSaTl1mABMbEw9GEMDzmY7nF1OUXiR
'' SIG '' Qjt+0FrgX0MCAwEAAaOCAScwggEjMB8GA1UdJQQYMBYG
'' SIG '' CCsGAQUFBwMDBgorBgEEAYI3PQYBMB0GA1UdDgQWBBRr
'' SIG '' 2fF2+KN4NKT3Rp4n8bC5bM82pjAfBgNVHSMEGDAWgBTm
'' SIG '' /F97uyIAWORyTrX0IXQjMubvrDBWBgNVHR8ETzBNMEug
'' SIG '' SaBHhkVodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtp
'' SIG '' L2NybC9wcm9kdWN0cy9NaWNDb2RTaWdQQ0FfMjAxMC0w
'' SIG '' Ny0wNi5jcmwwWgYIKwYBBQUHAQEETjBMMEoGCCsGAQUF
'' SIG '' BzAChj5odHRwOi8vd3d3Lm1pY3Jvc29mdC5jb20vcGtp
'' SIG '' L2NlcnRzL01pY0NvZFNpZ1BDQV8yMDEwLTA3LTA2LmNy
'' SIG '' dDAMBgNVHRMBAf8EAjAAMA0GCSqGSIb3DQEBCwUAA4IB
'' SIG '' AQBSQvO9uPl8uzKyi9ukLZAQqUK3SJ69+UtczCFgpL2A
'' SIG '' l2MuKon2m9a8IpIBc56D+/KLa70wWuztMD7uyOF/qDcp
'' SIG '' 90wfrd4j1yptJQrRMD5D8aq1RTirbkTj0KEDM9daNOUh
'' SIG '' MSuOKC547WVyB4e1/rwWxKwvZMuizcnqB2p1YuvM5map
'' SIG '' PMEyOcXRwGxr+gU8K22z+0f9urwcgF0ShtQr2tIsKDJ9
'' SIG '' VwWEJ4Ef8EFlUgHwaq95DbjtwGOnRNb5ngJVRQ54Xlzb
'' SIG '' AHrpZSRzEni2UPk2JkiUBO3YQNXhPUM3H5hFnSzjNtpz
'' SIG '' MFSXah4gXBP5DtiMMLbrPnWEpetjkgotSUu2MIIGcDCC
'' SIG '' BFigAwIBAgIKYQxSTAAAAAAAAzANBgkqhkiG9w0BAQsF
'' SIG '' ADCBiDELMAkGA1UEBhMCVVMxEzARBgNVBAgTCldhc2hp
'' SIG '' bmd0b24xEDAOBgNVBAcTB1JlZG1vbmQxHjAcBgNVBAoT
'' SIG '' FU1pY3Jvc29mdCBDb3Jwb3JhdGlvbjEyMDAGA1UEAxMp
'' SIG '' TWljcm9zb2Z0IFJvb3QgQ2VydGlmaWNhdGUgQXV0aG9y
'' SIG '' aXR5IDIwMTAwHhcNMTAwNzA2MjA0MDE3WhcNMjUwNzA2
'' SIG '' MjA1MDE3WjB+MQswCQYDVQQGEwJVUzETMBEGA1UECBMK
'' SIG '' V2FzaGluZ3RvbjEQMA4GA1UEBxMHUmVkbW9uZDEeMBwG
'' SIG '' A1UEChMVTWljcm9zb2Z0IENvcnBvcmF0aW9uMSgwJgYD
'' SIG '' VQQDEx9NaWNyb3NvZnQgQ29kZSBTaWduaW5nIFBDQSAy
'' SIG '' MDEwMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKC
'' SIG '' AQEA6Q5kUHlntcTj/QkATJ6UrPdWaOpE2M/FWE+ppXZ8
'' SIG '' bUW60zmStKQe+fllguQX0o/9RJwI6GWTzixVhL99COMu
'' SIG '' K6hBKxi3oktuSUxrFQfe0dLCiR5xlM21f0u0rwjYzIjW
'' SIG '' axeUOpPOJj/s5v40mFfVHV1J9rIqLtWFu1k/+JC0K4N0
'' SIG '' yiuzO0bj8EZJwRdmVMkcvR3EVWJXcvhnuSUgNN5dpqWV
'' SIG '' XqsogM3Vsp7lA7Vj07IUyMHIiiYKWX8H7P8O7YASNUwS
'' SIG '' pr5SW/Wm2uCLC0h31oVH1RC5xuiq7otqLQVcYMa0Kluc
'' SIG '' IxxfReMaFB5vN8sZM4BqiU2jamZjeJPVMM+VHwIDAQAB
'' SIG '' o4IB4zCCAd8wEAYJKwYBBAGCNxUBBAMCAQAwHQYDVR0O
'' SIG '' BBYEFOb8X3u7IgBY5HJOtfQhdCMy5u+sMBkGCSsGAQQB
'' SIG '' gjcUAgQMHgoAUwB1AGIAQwBBMAsGA1UdDwQEAwIBhjAP
'' SIG '' BgNVHRMBAf8EBTADAQH/MB8GA1UdIwQYMBaAFNX2VsuP
'' SIG '' 6KJcYmjRPZSQW9fOmhjEMFYGA1UdHwRPME0wS6BJoEeG
'' SIG '' RWh0dHA6Ly9jcmwubWljcm9zb2Z0LmNvbS9wa2kvY3Js
'' SIG '' L3Byb2R1Y3RzL01pY1Jvb0NlckF1dF8yMDEwLTA2LTIz
'' SIG '' LmNybDBaBggrBgEFBQcBAQROMEwwSgYIKwYBBQUHMAKG
'' SIG '' Pmh0dHA6Ly93d3cubWljcm9zb2Z0LmNvbS9wa2kvY2Vy
'' SIG '' dHMvTWljUm9vQ2VyQXV0XzIwMTAtMDYtMjMuY3J0MIGd
'' SIG '' BgNVHSAEgZUwgZIwgY8GCSsGAQQBgjcuAzCBgTA9Bggr
'' SIG '' BgEFBQcCARYxaHR0cDovL3d3dy5taWNyb3NvZnQuY29t
'' SIG '' L1BLSS9kb2NzL0NQUy9kZWZhdWx0Lmh0bTBABggrBgEF
'' SIG '' BQcCAjA0HjIgHQBMAGUAZwBhAGwAXwBQAG8AbABpAGMA
'' SIG '' eQBfAFMAdABhAHQAZQBtAGUAbgB0AC4gHTANBgkqhkiG
'' SIG '' 9w0BAQsFAAOCAgEAGnTvV08pe8QWhXi4UNMi/AmdrIKX
'' SIG '' +DT/KiyXlRLl5L/Pv5PI4zSp24G43B4AvtI1b6/lf3mV
'' SIG '' d+UC1PHr2M1OHhthosJaIxrwjKhiUUVnCOM/PB6T+DCF
'' SIG '' F8g5QKbXDrMhKeWloWmMIpPMdJjnoUdD8lOswA8waX/+
'' SIG '' 0iUgbW9h098H1dlyACxphnY9UdumOUjJN2FtB91TGcun
'' SIG '' 1mHCv+KDqw/ga5uV1n0oUbCJSlGkmmzItx9KGg5pqdfc
'' SIG '' wX7RSXCqtq27ckdjF/qm1qKmhuyoEESbY7ayaYkGx0aG
'' SIG '' ehg/6MUdIdV7+QIjLcVBy78dTMgW77Gcf/wiS0mKbhXj
'' SIG '' pn92W9FTeZGFndXS2z1zNfM8rlSyUkdqwKoTldKOEdqZ
'' SIG '' Z14yjPs3hdHcdYWch8ZaV4XCv90Nj4ybLeu07s8n07Ve
'' SIG '' afqkFgQBpyRnc89NT7beBVaXevfpUk30dwVPhcbYC/GO
'' SIG '' 7UIJ0Q124yNWeCImNr7KsYxuqh3khdpHM2KPpMmRM19x
'' SIG '' HkCvmGXJIuhCISWKHC1g2TeJQYkqFg/XYTyUaGBS79ZH
'' SIG '' maCAQO4VgXc+nOBTGBpQHTiVmx5mMxMnORd4hzbOTsNf
'' SIG '' svU9R1O24OXbC2E9KteSLM43Wj5AQjGkHxAIwlacvyRd
'' SIG '' UQKdannSF9PawZSOB3slcUSrBmrm1MbfI5qWdcUxghW6
'' SIG '' MIIVtgIBATCBlTB+MQswCQYDVQQGEwJVUzETMBEGA1UE
'' SIG '' CBMKV2FzaGluZ3RvbjEQMA4GA1UEBxMHUmVkbW9uZDEe
'' SIG '' MBwGA1UEChMVTWljcm9zb2Z0IENvcnBvcmF0aW9uMSgw
'' SIG '' JgYDVQQDEx9NaWNyb3NvZnQgQ29kZSBTaWduaW5nIFBD
'' SIG '' QSAyMDEwAhMzAAAAFhEEtIg4jL7DAAAAAAAWMA0GCWCG
'' SIG '' SAFlAwQCAQUAoIHAMBkGCSqGSIb3DQEJAzEMBgorBgEE
'' SIG '' AYI3AgEEMBwGCisGAQQBgjcCAQsxDjAMBgorBgEEAYI3
'' SIG '' AgEVMC8GCSqGSIb3DQEJBDEiBCD1TJpTGWrIm4napIKJ
'' SIG '' YhzLZWUWjiXYdz5av5AAR9fYhjBUBgorBgEEAYI3AgEM
'' SIG '' MUYwRKAigCAATQBpAGMAcgBvAHMAbwBmAHQAIABPAGYA
'' SIG '' ZgBpAGMAZaEegBxodHRwOi8vb2ZmaWNlLm1pY3Jvc29m
'' SIG '' dC5jb20gMA0GCSqGSIb3DQEBAQUABIIBAGu21FD/HaKe
'' SIG '' x/u2c2W5ahMQfqtl1D7pmywem006AtumQmviOOafquMZ
'' SIG '' mT/jJf9FrrR6tVKN2v8UfTJwIQi1lWlQAyYTA/bOGiI2
'' SIG '' Uepum9IQyFbbtbqu7RWwqeEGbpugGTHF1H/5nXWTwUfj
'' SIG '' XGUcySYJhQI20/DcGw0G2TD2xPPT7JfbHviXvH0d2nRW
'' SIG '' P/10Gi1AmAY7+Koe/jZ6Z7uhzw2TbL1oZpBrvlDzY/0t
'' SIG '' PopVtLTWf8MMQLD81+oBkj9TcgG684Gu4oYWoXQ2VGxX
'' SIG '' hxTwJJWmJ/Lk16pxtmfsTDKmbVZQKQq/Kfmot6mBhT+v
'' SIG '' srzqUZmrI5fj8kmq27NRiYihghMyMIITLgYKKwYBBAGC
'' SIG '' NwMDATGCEx4wghMaBgkqhkiG9w0BBwKgghMLMIITBwIB
'' SIG '' AzEPMA0GCWCGSAFlAwQCAQUAMIIBPQYLKoZIhvcNAQkQ
'' SIG '' AQSgggEsBIIBKDCCASQCAQEGCisGAQQBhFkKAwEwMTAN
'' SIG '' BglghkgBZQMEAgEFAAQgaPCujLfd+uxBHGfJ4h+nFCAS
'' SIG '' qeiGNAoy2HNoucsL2xUCBlBkYEUZ2hgTMjAxMjEwMDIw
'' SIG '' MDA4NTEuMjQ3WjAHAgEBgAIB9KCBuaSBtjCBszELMAkG
'' SIG '' A1UEBhMCVVMxEzARBgNVBAgTCldhc2hpbmd0b24xEDAO
'' SIG '' BgNVBAcTB1JlZG1vbmQxHjAcBgNVBAoTFU1pY3Jvc29m
'' SIG '' dCBDb3Jwb3JhdGlvbjENMAsGA1UECxMETU9QUjEnMCUG
'' SIG '' A1UECxMebkNpcGhlciBEU0UgRVNOOkI4RUMtMzBBNC03
'' SIG '' MTQ0MSUwIwYDVQQDExxNaWNyb3NvZnQgVGltZS1TdGFt
'' SIG '' cCBTZXJ2aWNloIIOxzCCBnEwggRZoAMCAQICCmEJgSoA
'' SIG '' AAAAAAIwDQYJKoZIhvcNAQELBQAwgYgxCzAJBgNVBAYT
'' SIG '' AlVTMRMwEQYDVQQIEwpXYXNoaW5ndG9uMRAwDgYDVQQH
'' SIG '' EwdSZWRtb25kMR4wHAYDVQQKExVNaWNyb3NvZnQgQ29y
'' SIG '' cG9yYXRpb24xMjAwBgNVBAMTKU1pY3Jvc29mdCBSb290
'' SIG '' IENlcnRpZmljYXRlIEF1dGhvcml0eSAyMDEwMB4XDTEw
'' SIG '' MDcwMTIxMzY1NVoXDTI1MDcwMTIxNDY1NVowfDELMAkG
'' SIG '' A1UEBhMCVVMxEzARBgNVBAgTCldhc2hpbmd0b24xEDAO
'' SIG '' BgNVBAcTB1JlZG1vbmQxHjAcBgNVBAoTFU1pY3Jvc29m
'' SIG '' dCBDb3Jwb3JhdGlvbjEmMCQGA1UEAxMdTWljcm9zb2Z0
'' SIG '' IFRpbWUtU3RhbXAgUENBIDIwMTAwggEiMA0GCSqGSIb3
'' SIG '' DQEBAQUAA4IBDwAwggEKAoIBAQCpHQ28dxGKOiDs/BOX
'' SIG '' 9fp/aZRrdFQQ1aUKAIKF++18aEssX8XD5WHCdrc+Zitb
'' SIG '' 8BVTJwQxH0EbGpUdzgkTjnxhMFmxMEQP8WCIhFRDDNdN
'' SIG '' uDgIs0Ldk6zWczBXJoKjRQ3Q6vVHgc2/JGAyWGBG8lhH
'' SIG '' hjKEHnRhZ5FfgVSxz5NMksHEpl3RYRNuKMYa+YaAu99h
'' SIG '' /EbBJx0kZxJyGiGKr0tkiVBisV39dx898Fd1rL2KQk1A
'' SIG '' UdEPnAY+Z3/1ZsADlkR+79BL/W7lmsqxqPJ6Kgox8NpO
'' SIG '' BpG2iAg16HgcsOmZzTznL0S6p/TcZL2kAcEgCZN4zfy8
'' SIG '' wMlEXV4WnAEFTyJNAgMBAAGjggHmMIIB4jAQBgkrBgEE
'' SIG '' AYI3FQEEAwIBADAdBgNVHQ4EFgQU1WM6XIoxkPNDe3xG
'' SIG '' G8UzaFqFbVUwGQYJKwYBBAGCNxQCBAweCgBTAHUAYgBD
'' SIG '' AEEwCwYDVR0PBAQDAgGGMA8GA1UdEwEB/wQFMAMBAf8w
'' SIG '' HwYDVR0jBBgwFoAU1fZWy4/oolxiaNE9lJBb186aGMQw
'' SIG '' VgYDVR0fBE8wTTBLoEmgR4ZFaHR0cDovL2NybC5taWNy
'' SIG '' b3NvZnQuY29tL3BraS9jcmwvcHJvZHVjdHMvTWljUm9v
'' SIG '' Q2VyQXV0XzIwMTAtMDYtMjMuY3JsMFoGCCsGAQUFBwEB
'' SIG '' BE4wTDBKBggrBgEFBQcwAoY+aHR0cDovL3d3dy5taWNy
'' SIG '' b3NvZnQuY29tL3BraS9jZXJ0cy9NaWNSb29DZXJBdXRf
'' SIG '' MjAxMC0wNi0yMy5jcnQwgaAGA1UdIAEB/wSBlTCBkjCB
'' SIG '' jwYJKwYBBAGCNy4DMIGBMD0GCCsGAQUFBwIBFjFodHRw
'' SIG '' Oi8vd3d3Lm1pY3Jvc29mdC5jb20vUEtJL2RvY3MvQ1BT
'' SIG '' L2RlZmF1bHQuaHRtMEAGCCsGAQUFBwICMDQeMiAdAEwA
'' SIG '' ZQBnAGEAbABfAFAAbwBsAGkAYwB5AF8AUwB0AGEAdABl
'' SIG '' AG0AZQBuAHQALiAdMA0GCSqGSIb3DQEBCwUAA4ICAQAH
'' SIG '' 5ohRDeLG4Jg/gXEDPZ2joSFvs+umzPUxvs8F4qn++ldt
'' SIG '' GTCzwsVmyWrf9efweL3HqJ4l4/m87WtUVwgrUYJEEvu5
'' SIG '' U4zM9GASinbMQEBBm9xcF/9c+V4XNZgkVkt070IQyK+/
'' SIG '' f8Z/8jd9Wj8c8pl5SpFSAK84Dxf1L3mBZdmptWvkx872
'' SIG '' ynoAb0swRCQiPM/tA6WWj1kpvLb9BOFwnzJKJ/1Vry/+
'' SIG '' tuWOM7tiX5rbV0Dp8c6ZZpCM/2pif93FSguRJuI57BlK
'' SIG '' cWOdeyFtw5yjojz6f32WapB4pm3S4Zz5Hfw42JT0xqUK
'' SIG '' loakvZ4argRCg7i1gJsiOCC1JeVk7Pf0v35jWSUPei45
'' SIG '' V3aicaoGig+JFrphpxHLmtgOR5qAxdDNp9DvfYPw4Ttx
'' SIG '' Cd9ddJgiCGHasFAeb73x4QDf5zEHpJM692VHeOj4qEir
'' SIG '' 995yfmFrb3epgcunCaw5u+zGy9iCtHLNHfS4hQEegPsb
'' SIG '' iSpUObJb2sgNVZl6h3M7COaYLeqN4DMuEin1wC9UJyH3
'' SIG '' yKxO2ii4sanblrKnQqLJzxlBTeCG+SqaoxFmMNO7dDJL
'' SIG '' 32N79ZmKLxvHIa9Zta7cRDyXUHHXodLFVeNp3lfB0d4w
'' SIG '' wP3M5k37Db9dT+mdHhk4L7zPWAUu7w2gUDXa7wknHNWz
'' SIG '' fjUeCLraNtvTX4/edIhJEjCCBNEwggO5oAMCAQICCmEH
'' SIG '' 1FUAAAAAAA4wDQYJKoZIhvcNAQELBQAwfDELMAkGA1UE
'' SIG '' BhMCVVMxEzARBgNVBAgTCldhc2hpbmd0b24xEDAOBgNV
'' SIG '' BAcTB1JlZG1vbmQxHjAcBgNVBAoTFU1pY3Jvc29mdCBD
'' SIG '' b3Jwb3JhdGlvbjEmMCQGA1UEAxMdTWljcm9zb2Z0IFRp
'' SIG '' bWUtU3RhbXAgUENBIDIwMTAwHhcNMTIwMTA5MjEzNTMx
'' SIG '' WhcNMTMwNDA5MjE0NTMxWjCBszELMAkGA1UEBhMCVVMx
'' SIG '' EzARBgNVBAgTCldhc2hpbmd0b24xEDAOBgNVBAcTB1Jl
'' SIG '' ZG1vbmQxHjAcBgNVBAoTFU1pY3Jvc29mdCBDb3Jwb3Jh
'' SIG '' dGlvbjENMAsGA1UECxMETU9QUjEnMCUGA1UECxMebkNp
'' SIG '' cGhlciBEU0UgRVNOOkI4RUMtMzBBNC03MTQ0MSUwIwYD
'' SIG '' VQQDExxNaWNyb3NvZnQgVGltZS1TdGFtcCBTZXJ2aWNl
'' SIG '' MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA
'' SIG '' weiiiavCaSU5yAO7J7LMoFhyzUv4QGcC85Sl6EdWInsg
'' SIG '' nJ4/uPz92BPkJqKQ7+S9iEplO1iwcoUEiARNaVXKHaxz
'' SIG '' g/vjTPVeJrFRZwdt7mDhCISPS/Jmzo1gPxiQ89ySBo5u
'' SIG '' 9eCyW35wKULrQhWmxVXzHr3ZvcsT2eqwdL97m4xWCbmI
'' SIG '' ZSSUTMqApPPv8se3fU23u6A/U6J5jWzxubjJ5HXUXttd
'' SIG '' reRWpTihDFQ7KcsEyB4MrRJP8qXec6sZ9HUC0HTUB+GR
'' SIG '' WWqbJRiYCyjH13ViaapBfos7kYb/pPTqtveVi5nDphrs
'' SIG '' i+jxsygf7gyFNBKBUwfIyW9vAqZ86Be0DwIDAQABo4IB
'' SIG '' GzCCARcwHQYDVR0OBBYEFMbW5nU1U+/wnbjYtEvuXlMB
'' SIG '' CGPZMB8GA1UdIwQYMBaAFNVjOlyKMZDzQ3t8RhvFM2ha
'' SIG '' hW1VMFYGA1UdHwRPME0wS6BJoEeGRWh0dHA6Ly9jcmwu
'' SIG '' bWljcm9zb2Z0LmNvbS9wa2kvY3JsL3Byb2R1Y3RzL01p
'' SIG '' Y1RpbVN0YVBDQV8yMDEwLTA3LTAxLmNybDBaBggrBgEF
'' SIG '' BQcBAQROMEwwSgYIKwYBBQUHMAKGPmh0dHA6Ly93d3cu
'' SIG '' bWljcm9zb2Z0LmNvbS9wa2kvY2VydHMvTWljVGltU3Rh
'' SIG '' UENBXzIwMTAtMDctMDEuY3J0MAwGA1UdEwEB/wQCMAAw
'' SIG '' EwYDVR0lBAwwCgYIKwYBBQUHAwgwDQYJKoZIhvcNAQEL
'' SIG '' BQADggEBAI0KBSOJ6bP7QV7OBc3Qqr9NuRE/A3XEtCto
'' SIG '' Oz7ZTYBcGswSypS0o+c2jD54GkUSz8eNIK/HNwpipKCv
'' SIG '' Yqp9KTUgw66SS/r2uF5LX3RmrPKhLXA4cdGYNlu/BuX+
'' SIG '' LeyJ2KXql1BCgrU1+xB4fxhe7baUWx9o5rN8N2/4P8L5
'' SIG '' b4Wlw2clhOvZuKCjtO5YJqk6yH0ESwyoE0ZtnsZaYOcI
'' SIG '' cZEblJidE2CtM702fe0IaCLIMOffLMQr9T+4gVlPq+1s
'' SIG '' vCAGEQVMMDkoR1BU37nOc9+Q82n/qBMTgnvQG9ogqcFQ
'' SIG '' 5skb/6SCon+aXmEWujxcUQfTqh0ixjkd346o0uBTH9yh
'' SIG '' ggN5MIICYQIBATCB46GBuaSBtjCBszELMAkGA1UEBhMC
'' SIG '' VVMxEzARBgNVBAgTCldhc2hpbmd0b24xEDAOBgNVBAcT
'' SIG '' B1JlZG1vbmQxHjAcBgNVBAoTFU1pY3Jvc29mdCBDb3Jw
'' SIG '' b3JhdGlvbjENMAsGA1UECxMETU9QUjEnMCUGA1UECxMe
'' SIG '' bkNpcGhlciBEU0UgRVNOOkI4RUMtMzBBNC03MTQ0MSUw
'' SIG '' IwYDVQQDExxNaWNyb3NvZnQgVGltZS1TdGFtcCBTZXJ2
'' SIG '' aWNloiUKAQEwCQYFKw4DAhoFAAMVAIMU1+AB1G7ZyJUz
'' SIG '' KxZvn3EmZVMnoIHCMIG/pIG8MIG5MQswCQYDVQQGEwJV
'' SIG '' UzETMBEGA1UECBMKV2FzaGluZ3RvbjEQMA4GA1UEBxMH
'' SIG '' UmVkbW9uZDEeMBwGA1UEChMVTWljcm9zb2Z0IENvcnBv
'' SIG '' cmF0aW9uMQ0wCwYDVQQLEwRNT1BSMScwJQYDVQQLEx5u
'' SIG '' Q2lwaGVyIE5UUyBFU046QjAyNy1DNkY4LTFEODgxKzAp
'' SIG '' BgNVBAMTIk1pY3Jvc29mdCBUaW1lIFNvdXJjZSBNYXN0
'' SIG '' ZXIgQ2xvY2swDQYJKoZIhvcNAQEFBQACBQDUFAnFMCIY
'' SIG '' DzIwMTIxMDAxMTIyMzMzWhgPMjAxMjEwMDIxMjIzMzNa
'' SIG '' MHcwPQYKKwYBBAGEWQoEATEvMC0wCgIFANQUCcUCAQAw
'' SIG '' CgIBAAICCfICAf8wBwIBAAICF3EwCgIFANQVW0UCAQAw
'' SIG '' NgYKKwYBBAGEWQoEAjEoMCYwDAYKKwYBBAGEWQoDAaAK
'' SIG '' MAgCAQACAxbjYKEKMAgCAQACAwehIDANBgkqhkiG9w0B
'' SIG '' AQUFAAOCAQEAR/OueYR+g/HRIidEawooT2diG+SL852l
'' SIG '' aPKtFYpQ2evbBhC6mrWYwfJJh7+so1dptvEQ5oCjx2Ko
'' SIG '' /MSkTqsyLn2cfgT160PMyOeabh4/jMgUGU/C1YnkM4R2
'' SIG '' K4ShNBu3H6cGxTJMFv3edD+5tEZjPFJvdfJkewL2u+4T
'' SIG '' Jzbbo/SZ2Mp0mYYNnYlXBbwXy27ZtKeQqwdZO5oqyNlg
'' SIG '' NwYktOW1REwe9+1YIHfw9IhLPmAjF+ag7+FmKZG1ou1J
'' SIG '' R95O7apQeOrLONDdraALCmb4JgNntqwy+x+RgmXdnUgo
'' SIG '' 7mZF2oiDM/NqIWB/mN1ILdPF/ckEXOtLutVGHcEKpdpb
'' SIG '' EzGCAuMwggLfAgEBMIGKMHwxCzAJBgNVBAYTAlVTMRMw
'' SIG '' EQYDVQQIEwpXYXNoaW5ndG9uMRAwDgYDVQQHEwdSZWRt
'' SIG '' b25kMR4wHAYDVQQKExVNaWNyb3NvZnQgQ29ycG9yYXRp
'' SIG '' b24xJjAkBgNVBAMTHU1pY3Jvc29mdCBUaW1lLVN0YW1w
'' SIG '' IFBDQSAyMDEwAgphB9RVAAAAAAAOMA0GCWCGSAFlAwQC
'' SIG '' AQUAoIIBKTAaBgkqhkiG9w0BCQMxDQYLKoZIhvcNAQkQ
'' SIG '' AQQwLwYJKoZIhvcNAQkEMSIEIMVDfBvNNWKr5LBboTVX
'' SIG '' gRlLtx9uanEUsfPaJoM5/ZbLMIHZBgsqhkiG9w0BCRAC
'' SIG '' DDGByTCBxjCBwzCBqAQUgxTX4AHUbtnIlTMrFm+fcSZl
'' SIG '' UycwgY8wgYCkfjB8MQswCQYDVQQGEwJVUzETMBEGA1UE
'' SIG '' CBMKV2FzaGluZ3RvbjEQMA4GA1UEBxMHUmVkbW9uZDEe
'' SIG '' MBwGA1UEChMVTWljcm9zb2Z0IENvcnBvcmF0aW9uMSYw
'' SIG '' JAYDVQQDEx1NaWNyb3NvZnQgVGltZS1TdGFtcCBQQ0Eg
'' SIG '' MjAxMAIKYQfUVQAAAAAADjAWBBRjIEaoyFA06dGB75Ys
'' SIG '' NATncLtMNDANBgkqhkiG9w0BAQsFAASCAQBvTI/fQJ7r
'' SIG '' /bKY6hyQc46TuKX4MBG5kc4j3qwYY9hBWAfZtebgojiU
'' SIG '' N4sDMmAQ9RJo6/tAXqtoc2hh/hn3nwJmXbpDzEj50wmB
'' SIG '' zMnOyo+YNcTkGhV9z3DfdIzLJ6iglM6y3kyy8ySjdXw3
'' SIG '' X9b4UlqeEetg6mb4S7FtLRnBGPNB9wXLt2Cw3tSSLWbt
'' SIG '' hLeGi6Xh5AkWaNMz/2SZZIj7vVj/S01BZsGxGpV6BmXP
'' SIG '' 0UW1gEJSNbqBKPuUsTD1I6aMH7hp57XL9q3np5DHU/Ae
'' SIG '' q45jBLGD0mx3n73y//7FnQiFKpoRM8l33KGaUkkYHDIM
'' SIG '' 5XalKnWa59yf/0L8Ls6Bzflz
'' SIG '' End signature block

win10下office2013命令激活参考相关推荐

  1. 计算机win10下常用命令验证性实验

    文章目录 计算机win10下常用命令验证性实验 ipconfig ping tracert ARP DHCP netstat DNS cache 计算机win10下常用命令验证性实验 1.需要安装的软 ...

  2. Win10下SCP命令免密码上传、下载工程师服务器上的文件

    [1]本地win10操作步骤 1)在本地win10系统打开命令行工具(win+r) 2)执行命令:ssh-keygen -t rsa 3)提示输入保存路径,直接回车,默认即可. 4)提示输入密码,因为 ...

  3. win10下pycharm永久激活

    pycharm 在win10系统和ubuntu18.4下的永久激活,https://blog.csdn.net/u014044812/article/details/78727496

  4. java在win10下用命令行操作(cmd的命令由java程序执行)

    For example: /**      * @param ipAddress  ip地址      * @param pingTimes  次数(一次ping,对方返回的ping的结果的次数)   ...

  5. win10下git命令窗口快速命令

    比如我经常使用ssh这个命令,但是每次都需要输入太长,如何快速输入 在git的命令窗口 cd bin notepad s.sh 输入以下文本: #!/bin/sh ssh root@www.aaaaa ...

  6. win10下nodejs内存泄漏查找工具node-heapdump和node-memwatch的安装

    最近在看<深入浅出Node.js>,看到了第5章提到的node-heapdump和node-memwatch内在泄漏查找工具,我就尝试在win10下安装和使用一下,觉得有必要总结一下. n ...

  7. 解决win10下 git闪退的问题(或者使用git命令报错fatal: open /dev/null or dup failed)

    解决win10下 git闪退的问题(或者使用git命令报错fatal: open /dev/null or dup failed) 本人在win10下安装git完成后,打开闪退,在"运行&q ...

  8. Win10下用SCP命令免密码上传、下载阿里云服务器上的文件

    需求: 需要定时把阿里云服务器上的数据备份文件下载到本地备份,所以需要在本地win10系统上定时执行从阿里云服务器上下载备份文件的操作. 环境和工具 本地win10系统及自带的SCP工具,工具目录:C ...

  9. Windows命令行查看文件的MD5 和win10下获取md5-sha1

    在xp下似乎只能下载7-zip 进行crc验证,win7以上请接着看: 打开命令窗口,不会的就Win + R,然后输入cmd C:\Users\Administrator>certutil -h ...

  10. Win10 下安装Mathtype6.9 + office2013+EndNote-x8

    1. 在Win10下安装mathtype6.9遇到不兼容(这里的6.9版本不是6.9b,所以网上一般说不兼容win10,只是兼容win8) 转载于:http://www.mathtype.cn/wen ...

最新文章

  1. 2006年大话IT数码新潮
  2. 用c语言编写黎曼积分计算pi,C语言实现黎曼和求定积分
  3. asp mysql连接已重置,mysql-检查经典ASP中的连接是否正常
  4. ef AddDays报错
  5. FTP连接时出现“227 Entering Passive Mode”的解决方法
  6. 【kafka】Kafka 2.0 ConsumerGroupCommand新功能
  7. 数据结构 8-0 排序
  8. java 标准_Java标准注解
  9. SAP UI5 SmartForm 智能表单控件的使用方法介绍试读版
  10. NC5.X系列单点登录
  11. c语言函数名称大全,C语言函数大全
  12. python怎么判断质数和合数_什么是质数和合数以及判断方法介绍
  13. 网络协议和标准——IEEE802
  14. 解决打开WORD时提示的:“无法复制文件:无法读源文件或磁盘”
  15. [渝粤教育] 北京师范大学 中国哲学 参考 资料
  16. Flutter报错:Bad state: Stream has already been listened to.
  17. sas html5,什么是sas?
  18. python 语言与numpy库
  19. 仪表板展示|DataEase可视化数据分析工具中的仪表板跳转和联动设置
  20. MySQL学习路线指南

热门文章

  1. 马云:眼光有多远 未来就有多远【2014世界互联网大会】
  2. 经典网络模型 —— 盘点 22篇必读论文与网络模型 + 5种常见数据集
  3. Chrome Edge与Safari书签同步
  4. Webpack打包警告: We noticed you're using the `useBuiltIns` option without declaring a core-js version.
  5. 【游戏】蔚蓝与空洞骑士
  6. 基于Python爬取天眼查网站的企业信息
  7. Google Earth Engine(GEE)——设置经纬格网(日本东京)
  8. k8s中的端口hostPort、port、nodePort、targetPort
  9. 中职计算机教学随笔800字,职高教育工作随笔
  10. 随笔二——班主任工作阶段总结