Ospp vbs error the software protection platform service is not installed

Приветствую. Крупные компании выпускают софт и заинтересованы в его честном использовании — имеется ввиду приобретение лицензии. Для контроля лицензирования создаются специальные инструменты, в том числе в Офисе.

Приветствую. Крупные компании выпускают софт и заинтересованы в его честном использовании — имеется ввиду приобретение лицензии. Для контроля лицензирования создаются специальные инструменты, в том числе в Офисе.

Microsoft Office Software Protection Platform Service — что это такое?

Служба, основная задача которой — лицензирование программ ПО Microsoft Office, а также защита от пиратства. Работает под процессом osppsvc.exe, который можно увидеть при использовании Офиса.

Процесс запускается из папки:

C:Program FilesCommon FilesMicrosoft SharedOfficeSoftwareProtectionPlatform

При завершении работы osppsvc.exe — может восстановиться вновь, либо запустится при запуске Офиса.

Отключение службы

Один пользователь отключил сервис — проблем не выявлено.

Инструкция:

  1. Зажмите Win + R, появится окошко Выполнить.
  2. Укажите команду services.msc, нажмите ОК.
  3. Откроется список служб.
  4. Найдите службу, нажмите два раза по ней.
  5. Остановите работу. После — в меню Тип запуска выберите Отключена.

Окошко свойств:

Изменение поведения работы службы

После использования Офиса (например Word, Powerpoint, Excel) может остаться висеть процесс osppsvc.exe.

На офф форуме Microsoft предоставили возможное решение:

  1. Зажмите Win + R, появится окошко Выполнить. Вставьте команду regedit. Нажмите ОК. Откроется редактор реестра (справа — разделы, слева — параметры).
  2. Откройте раздел HKEY_LOCAL_MACHINESOFTWAREMicrosoftOfficeSoftwareProtectionPlatform
  3. Найдите параметр InactivityShutdownDelay, при отсутствии — создайте (правой кнопкой по пустому месту > DWORD 32).
  4. Нажмите два раза по InactivityShutdownDelay, установите значение — сколько в секундах будет работать процесс osppsvc.exe после закрытия Офиса. Можно установить например цифру 1.
  5. После внесения изменений — выполните перезагрузку ПК.

Изменяем значение в реестре:

Заключение

Главное выяснили:

  1. Служба нужна для проверки лицензий в ПО Microsoft Office, а также защита от пиратства.
  2. Может вызывать проблемы. Варианты решений: отключить, изменить поведение (когда процесс висит после закрытия Офиса).

Удачи!

На главную!

25.02.2020

‘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 = «:WindowsSystem32» CONST STR_OSPPREARMPATH = «Microsoft OfficeOffice15OSPPREARM.EXE» CONST STR_OSPPREARMPATH_DEBUG = «Microsoft Office DebugOffice15OSPPREARM.EXE» CONST REG_OSPP = «SOFTWAREMicrosoftOfficeSoftwareProtectionPlatform» CONST REG_SPP = «SOFTWAREMicrosoftWindows NTCurrentVersionSoftwareProtectionPlatform» 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 Next Set 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 = False currentDir = Left(WScript.ScriptFullName, InStrRev(WScript.ScriptFullName, «»)) Select Case WSCript.Arguments.Count Case 0 verifyFileExists currentDir & «ospp.htm» showIePopUp currentDir & «ospp.htm» WScript.Quit Case 1 var1 = WSCript.Arguments(0) Case 2 var1 = WSCript.Arguments(0) var2 = WSCript.Arguments(1) Case 3 var1 = WSCript.Arguments(0) var2 = WSCript.Arguments(1) var3 = WSCript.Arguments(2) Case 4 var1 = 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 Next getEngine() pProcessing() getSlui() strLocal = objNetwork.ComputerName strCommand = LCase(strCommand) Select Case strCommand Case «/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,«»,strMachine Case «/puserops», «/duserops» connectWMI strMachine,strUser,strPassword,«reg» performRegAction strCommand Case «/osppsvcrestart», «/osppsvcauto» connectWMI strMachine,strUser,strPassword,«» performServiceAction strCommand Case «/help», «help», «?», «/?», «/?» verifyFileExists currentDir & «ospp.htm» showIePopUp currentDir & «ospp.htm» quitExit() Case «/regmof» registerMof «osppwmi.mof» Case «/rearm» If strMachine = «» Then reARM «» Else globalPopFailure MSG_UNSUPPORTEDLOCAL & vbCr & strCommand,True End If quitExit() Case «/version» globalPopSuccess VER_INFO,True Case Else pos = InStr(strCommand,«:») Select Case pos Case 7 getCommand = Left(strCommand,6) Case 8 getCommand = Left(strCommand,7) Case 13 getCommand = Left(strCommand,12) Case Else globalPopFailure MSG_UNSUPPORTED,True End Select Select Case getCommand Case «/skms-domain», «/actype», «/inpkey», «/unpkey», «/inslic», «/actcid», «/sethst», «/setprt», «/ddescr», «/rtokil», «/tokact», «/cachst», «/rearm» strValue = Replace(strCommand,getCommand & «:»,«») If strValue = «» Then globalPopFailure MSG_UNSUPPORTED & » A value is required for: « & strCommand,True End If If getCommand = «/ddescr» Then If Left(strValue,2) = «0x» Then getDescription strValue,«» Else WScript.Echo MSG_ERRCODEVALUE quitExit() End If ElseIf getCommand = «/rearm» Then If strMachine = «» Then reARM strValue Else globalPopFailure MSG_UNSUPPORTEDLOCAL & vbCr & strCommand,True End If quitExit() Else connectWMI strMachine,strUser,strPassword,«» performLicAction getCommand,strValue,«» End If Case Else globalPopFailure MSG_UNSUPPORTED,True End Select End Select End Sub ‘//////////////////////////////////////////////////////////////////////////////////////// ‘//////////////////////////////////////////////////////////////////////////////////////// Function showIePopUp(strPath) On Error Resume Next Set objExplorer = CreateObject(«InternetExplorer.Application») With objExplorer .Navigate strPath .ToolBar = 0 .StatusBar = 0 .Width = 1000 .Height = 593 .Left = 1 .Top = 1 .Visible = 1 End With End Function ‘//////////////////////////////////////////////////////////////////////////////////////// ‘//////////////////////////////////////////////////////////////////////////////////////// Function getEngine() strEngine = LCase(Right(WScript.FullName,12)) If strEngine <> «cscript.exe» Then WshShell.Popup «Unable to perform operation. « & WSCript.ScriptName & » requires the cscript engine.» & _ vbCr & «Command line example: cscript ospp.vbs ?», _ ,WSCript.ScriptName, VALUE_ICON_WARNING WScript.Quit End If End 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 Then If cType <> «wmi» Then globalPopFailure «slui.exe not found.»,True quitExit() End If Else Set objScriptExec = WshShell.Exec (strSluiPath & » 0x2a « & strSearch) readOut = objScriptExec.StdOut.ReadAll quitExit() End If End Function ‘//////////////////////////////////////////////////////////////////////////////////////// ‘//////////////////////////////////////////////////////////////////////////////////////// Function checkRegRights(wmiObject,strKeyPath) On Error Resume next wmiObject.CheckAccess HKEY_LOCAL_MACHINE, strKeyPath, KEY_SET_VALUE, _ bHasAccessRight If bHasAccessRight = True Then ‘Success Else globalPopFailure MSG_NOREGRIGHTS & vbCr & MSG_ISCMD_ELEVATED,True End If End Function ‘//////////////////////////////////////////////////////////////////////////////////////// ‘//////////////////////////////////////////////////////////////////////////////////////// Function quitExit() Set WshShell = Nothing Set objFSO = Nothing Set objNetwork = Nothing Set objWMI = Nothing WScript.Echo MSG_SEPERATE WScript.Echo MSG_EXIT WSCript.Quit End Function ‘//////////////////////////////////////////////////////////////////////////////////////// ‘//////////////////////////////////////////////////////////////////////////////////////// Function verifyFileExists(file) If Not objFSO.FileExists(file) Then If file = currentDir & «slerror.xml» Then WScript.Echo «[« & MSG_FILENOTFOUND & file & » Unable to display error description.]» ElseIf file = currentDir & «ospp.htm» Then globalPopFailure MSG_FILENOTFOUND & vbCr & file,False quitExit() Else globalPopFailure MSG_FILENOTFOUND & vbCr & file,True End If End If End Function ‘//////////////////////////////////////////////////////////////////////////////////////// ‘//////////////////////////////////////////////////////////////////////////////////////// Function registerMof(strFile) For Each Drv In objFSO.Drives If Drv.DriveType=2 Then If objFSO.FileExists(Drv.DriveLetter & STR_SYS32PATH & «wbemmofcomp.exe») Then foundComp = True strMofExePath = Drv.DriveLetter & STR_SYS32PATH & «wbemmofcomp.exe» If objFSO.FileExists(Drv.DriveLetter & STR_SYS32PATH & «wbem» & strFile) Then foundMof = True strOWmi = Drv.DriveLetter & STR_SYS32PATH & «wbem» & strFile Set objScriptExec = WshShell.Exec (strMofExePath & » « & strOWmi) readOut = objScriptExec.StdOut.ReadAll WScript.Echo readOut quitExit() End If End If End If Next If foundComp <> True Then globalPopFailure MSG_FILENOTFOUND & Replace(STR_SYS32PATH,«:»,«») & «wbemmofcomp.exe»,True Else If foundMof <> True Then globalPopFailure MSG_FILENOTFOUND & Replace(STR_SYS32PATH,«:»,«») & «wbemosppwmi.mof»,True End If End If End Function ‘//////////////////////////////////////////////////////////////////////////////////////// ‘//////////////////////////////////////////////////////////////////////////////////////// Function pProcessing() WScript.Echo MSG_PROCESSING WScript.Echo MSG_SEPERATE End Function ‘//////////////////////////////////////////////////////////////////////////////////////// ‘//////////////////////////////////////////////////////////////////////////////////////// Function getSlui() For Each Drv In objFSO.Drives If Drv.DriveType=2 Then If objFSO.FileExists(Drv.DriveLetter & STR_SYS32PATH & «slui.exe») Then strSluiPath = Drv.DriveLetter & STR_SYS32PATH & «slui.exe» foundSlUi = True Exit For End If End If Next End Function ‘//////////////////////////////////////////////////////////////////////////////////////// ‘//////////////////////////////////////////////////////////////////////////////////////// ‘ Returns the encoding for a givven file. ‘ Possible return values: ascii, unicode, unicodeFFFE (big-endian), utf-8 Function GetFileEncoding(strFileName) Dim strData Dim strEncoding Set oStream = CreateObject(«ADODB.Stream») oStream.Type = 1 ‘adTypeBinary oStream.Open oStream.LoadFromFile(strFileName) ‘ Default encoding is ascii strEncoding = «ascii» strData = BinaryToString(oStream.Read(2)) ‘ Check for little endian (x86) unicode preamble If (Len(strData) = 2) and strData = (Chr(255) + Chr(254)) Then strEncoding = «unicode» Else oStream.Position = 0 strData = BinaryToString(oStream.Read(3)) ‘ Check for utf-8 preamble If (Len(strData) >= 3) and strData = (Chr(239) + Chr(187) + Chr(191)) Then strEncoding = «utf-8» End If End If oStream.Close GetFileEncoding = strEncoding End Function ‘//////////////////////////////////////////////////////////////////////////////////////// ‘//////////////////////////////////////////////////////////////////////////////////////// ‘ Converts binary data (VT_UI1 | VT_ARRAY) to a string (BSTR) Function BinaryToString(dataBinary) Dim i Dim str For i = 1 To LenB(dataBinary) str = str & Chr(AscB(MidB(dataBinary, i, 1))) Next BinaryToString = str End Function ‘//////////////////////////////////////////////////////////////////////////////////////// ‘//////////////////////////////////////////////////////////////////////////////////////// ‘ Returns string containing the whole text file data. ‘ Supports ascii, unicode (little-endian) and utf-8 encoding. Function ReadAllTextFile(strFileName) Dim strData Set oStream = CreateObject(«ADODB.Stream») oStream.Type = 2 ‘adTypeText oStream.Open oStream.Charset = GetFileEncoding(strFileName) oStream.LoadFromFile(strFileName) strData = oStream.ReadText(-1) ‘adReadAll oStream.Close ReadAllTextFile = strData End Function ‘//////////////////////////////////////////////////////////////////////////////////////// ‘//////////////////////////////////////////////////////////////////////////////////////// Function sppErrHandle(strCommand) globalErr = Hex(Err.Number) Select Case Err.Number Case 0 ‘Success Select Case strCommand Case «/act»,«/tokact» WScript.Echo MSG_ACTSUCCESS Case «/inpkey» WScript.Echo MSG_KEYINSTALLSUCCESS quitExit() Case «/inslic» WScript.Echo MSG_INSTALLLICSUCCESS quitExit() Case «/ckms-domain»,«/skms-domain»,«/actype»,«/sethst»,«/setprt»,«/remhst»,«/stokflag»,«/ctokflag»,«/cachst» WScript.Echo MSG_SUCCESS quitExit() Case «/rtokil» WScript.Echo MSG_REMILID & UCase(strValue) quitExit() Case «/unpkey» WScript.Echo MSG_UNINSTALLKEYSUCCESS quitExit() Case Else End Select Case Else verifyFileExists currentDir & «slerror.xml» getResource(«err» & «0x» & globalErr) If globalResource = «» Then If Len(globalErr) <> «8» Then WScript.Echo MSG_ERRDESC & MSG_ERRUNKNOWN Else If foundSlUi = True Then WScript.Echo MSG_ERRCODE & «0x» & globalErr WScript.Echo MSG_ERRDESC & «Run the following: cscript ospp.vbs /ddescr:0x» & globalErr Else WScript.Echo MSG_ERRCODE & «0x» & globalErr End If End If If strCommand <> «/act» Then quitExit() End If Else WScript.Echo MSG_ERRCODE & «0x» & globalErr Wscript.Echo MSG_ERRDESC & globalResource End If If strCommand = «/dtokcerts» Or strCommand = «/ignore» Then quitExit() End If End Select If globalErr = «C004F074» Then WScript.Echo «To view the activation event history run: cscript « & WScript.ScriptName & » /dhistorykms» End If globalResource = «» globalErr = «» Err.Clear End Function ‘//////////////////////////////////////////////////////////////////////////////////////// ‘//////////////////////////////////////////////////////////////////////////////////////// Function wmiErrHandle() Select Case Err.Number Case 0 ‘Successs Case 424 globalPopFailure MSG_ERRCODE & Err.Number & vbCr & MSG_ERRDESC & MSG_CREDENTIALFAILURE,True Case Else If Err.Description <> «» Then globalPopFailure MSG_ERRCODE & Err.Number & vbCr & MSG_ERRDESC & Err.Description,True Else globalPopFailure «An error occurred while making the connection.» & vbCr & MSG_ERRCODE & Err.Number,True End If End Select End Function ‘//////////////////////////////////////////////////////////////////////////////////////// ‘//////////////////////////////////////////////////////////////////////////////////////// Function setRegValue(wmiObject,opsValue,strValueName) On Error Resume Next Err.Clear() If Win7 = True Then strKeyPath = REG_OSPP Else strKeyPath = REG_SPP End If Select Case strValueName Case «UserOperations» wmiObject.CreateKey HKEY_LOCAL_MACHINE,strKeyPath wmiObject.SetDWORDValue HKEY_LOCAL_MACHINE,_ strKeyPath,strValueName,opsValue Case Else End Select wmiErrHandle() 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 Then WshShell.Popup strSuccess,,WScript.ScriptName, wshOK + VALUE_ICON_INFORMATION quitExit() Else WshShell.Popup strSuccess,,WScript.ScriptName, wshOK + VALUE_ICON_INFORMATION End If End Function ‘//////////////////////////////////////////////////////////////////////////////////////// ‘//////////////////////////////////////////////////////////////////////////////////////// Function globalPopFailure(strFailure,boolQuit) If boolQuit = True Then WshShell.Popup strFailure,,WScript.ScriptName, wshOK + VALUE_ICON_WARNING quitExit() Else WshShell.Popup strFailure,,WScript.ScriptName, wshOK + VALUE_ICON_WARNING End If End Function ‘//////////////////////////////////////////////////////////////////////////////////////// ‘//////////////////////////////////////////////////////////////////////////////////////// Function connectWMI(strMachine,strUser,strPassword,ctype) On Error Resume Next If ctype = «» Then If strMachine = «» Or LCase(strMachine) = LCase(strLocal) Then Set objWMI = GetObject(«winmgmts:» _ & «{impersonationLevel=impersonate}!\» & «.» & «rootcimv2») Else If strUser = «» And strPassword = «» Then Set objWMI = GetObject(«winmgmts:» _ & «{impersonationLevel=impersonate}!\» & strMachine & «rootcimv2») Else Set objSWbemLocator = CreateObject(«WbemScripting.SWbemLocator») Set objWMI = objSWbemLocator.ConnectServer _ (strMachine, «rootcimv2», strUser, strPassword) wmiErr = CStr(Hex(Err.Number)) If Len(wmiErr) = «8» Then getDescription «0x» & wmiErr,«wmi» End If objWMI.Security_.ImpersonationLevel = 3 End If End If Else If strUser <> «» Then globalPopFailure MSG_CREDENTIALERR,True End If If strMachine = «» Or LCase(strMachine) = LCase(strLocal) Then Set objWMI1 = GetObject(«winmgmts:» _ & «{impersonationLevel=impersonate}!\» & «.» & «rootdefault:StdRegProv») Set objWMI = GetObject(«winmgmts:» _ & «{impersonationLevel=impersonate}!\» & «.» & «rootcimv2») Else Set objWMI1 = GetObject(«winmgmts:» _ & «{impersonationLevel=impersonate}!\» & strMachine & «rootdefault:StdRegProv») Set objWMI = GetObject(«winmgmts:» _ & «{impersonationLevel=impersonate}!\» & strMachine & «rootcimv2») End If End If wmiErrHandle() isWin7OS() End Function ‘//////////////////////////////////////////////////////////////////////////////////////// ‘//////////////////////////////////////////////////////////////////////////////////////// Private Function TkaGetSigner() On Error Resume Next If Win7 = True Then Set TkaGetSigner = WScript.CreateObject(«OSPPWMI.OSppWmiTokenActivationSigner») Else Set TkaGetSigner = WScript.CreateObject(«SPPWMI.SppWmiTokenActivationSigner») End If If Hex(Err.Number) = «80020009» Then globalPopFailure MSG_ERRCODE & «0x» & Hex(Err.Number) & vbCr & MSG_ERRDESC & Err.Description,True End If End 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: « & vf vt = FormatDateTime(CDate(arrParams(4)), vbShortDate) WScript.Echo «Valid To: « & vt WScript.Echo MSG_SEPERATE End Function ‘//////////////////////////////////////////////////////////////////////////////////////// ‘//////////////////////////////////////////////////////////////////////////////////////// Function ExecuteQuery(strSelect,strWhere,strClass) Err.Clear If strWhere = «» Then Set productinstances = objWMI.ExecQuery(«SELECT « & strSelect & » FROM « & strClass) Else Set productinstances = objWMI.ExecQuery(«SELECT « & strSelect & » FROM « & strClass & » WHERE « & strWhere) End If sppErrHandle «» End Function ‘//////////////////////////////////////////////////////////////////////////////////////// ‘//////////////////////////////////////////////////////////////////////////////////////// Function performLicAction(strCommand,strValue,strMachine) On Error Resume Next If strCommand = «/dhistorykms» Or strCommand = «/dhistoryacterr» Then verifyFileExists currentDir & «slerror.xml» If strCommand = «/dhistorykms» Then ‘12288 = KMS Activation event id eventCode = «12288» strSrcEvents = MSG_SEARCHEVENTSKMS strNoEvents = MSG_NOEVENTSSKMS Else ‘8200 = Internet Activation event id eventCode = «8200» strSrcEvents = MSG_SEARCHEVENTSRET strNoEvents = MSG_NOEVENTSRET End If If strMachine <> «» Then WScript.Echo strSrcEvents & strMachine Else WScript.Echo strSrcEvents & strLocal End If WScript.Echo «Event ID: « & eventCode WScript.Echo vbCr Set objEvents = objWMI.ExecQuery _ («Select * from Win32_NTLogEvent Where Logfile = ‘Application’ and « _ & «EventCode = ‘» & eventCode & «‘») If objEvents.Count > 0 Then For each objEvent in objEvents If strCommand = «/dhistoryacterr» Then i = i + 1 dtmEventDate = objEvent.TimeWritten strTimeWritten = WMIDateStringToDate(dtmEventDate) WScript.Echo «Coordinated Universal Time Written: « & strTimeWritten strReplCrs = Replace(objEvent.Message,vbCrLf,«») WScript.Echo «MESSAGE: « & strReplCrs strhr10 = Right(strReplCrs,10) getResource(«err» & strhr10) If globalResource = «» Then If foundSlUi = True Then WScript.Echo MSG_ERRDESC & «Run the following: cscript ospp.vbs /ddescr:» & strhr10 Else WScript.Echo MSG_ERRDESC & «Not available.» End If Else Wscript.Echo MSG_ERRDESC & globalResource End If WScript.Echo MSG_SEPERATE Else strhr10 = Mid(objEvent.Message,90,10) strReplCrs = Replace(objEvent.Message,vbCrLf,«») If Right(strReplCrs,2) = » 5″ Then strReplStrs = Replace(strReplCrs,«The client has sent an activation request to the key management service machine.Info:»,«») dtmEventDate = objEvent.TimeWritten strTimeWritten = WMIDateStringToDate(dtmEventDate) WScript.Echo «Coordinated Universal Time Written: « & strTimeWritten intColon = InStr(strReplStrs,«:») strErrHost = Left(strReplStrs,intColon) strErrHost = Trim(strErrHost) strErrHost = Replace(strErrHost,«:»,«») WScript.Echo «ERROR/HOST: « & strErrHost Select Case strhr10 Case «0x00000000» WScript.Echo MSG_ERRDESC & «N/A» Case Else getResource(«err» & strhr10) If globalResource = «» Then If foundSlUi = True Then WScript.Echo MSG_ERRDESC & «Run the following: cscript ospp.vbs /ddescr:» & strhr10 Else WScript.Echo MSG_ERRDESC & «Not available.» End If Else Wscript.Echo MSG_ERRDESC & globalResource End If End Select WScript.Echo MSG_SEPERATE End If End If Next Else WScript.Echo MSG_SEPERATE If strMachine <> «» Then WScript.Echo strNoEvents & strMachine Else WScript.Echo strNoEvents & strLocal End If WScript.Echo MSG_SEPERATE End If quitExit() End If ‘Verify osppsvc service is installed for win7 case If Win7 = True Then Set colListOfServices = objWMI.ExecQuery _ («Select * from Win32_Service «) For Each objService in colListOfServices If objService.Name = «osppsvc» Then installed = True Exit For End If Next If installed <> True Then globalPopFailure MSG_OSPPSVC_NOINSTALL,True End If End If Select Case strCommand ‘The following operations are performed @ a service level Case «/inpkey», «/dcmid», «/inslic», «/cachst», «/stokflag», «/ctokflag», «/dstatus», «/dstatusall» If Win7 = True Then For Each objService in objWMI.InstancesOf(«OfficeSoftwareProtectionService») Set objOspp = objService Exit For Next Else ‘Win8 and beyond For Each objService in objWMI.InstancesOf(«SoftwareLicensingService») Set objOspp = objService Exit For Next End If Case Else End Select sppErrHandle «» If strCommand = «/inpkey» Then i = i + 1 Err.Clear objOspp.InstallProductKey(strValue) sppErrHandle(strCommand) ElseIf strCommand = «/cachst» Then i = i + 1 If strValue = «true» Then objOspp.DisableKeyManagementServiceHostCaching(False) sppErrHandle(strCommand) ElseIf strValue = «false» Then objOspp.DisableKeyManagementServiceHostCaching(True) sppErrHandle(strCommand) Else globalPopFailure MSG_UNSUPPORTED & » A TRUE or FALSE value is required for: « & strCommand,True End If ElseIf strCommand = «/dcmid» Then If objOspp.ClientMachineID <> «» Or objOspp.ClientMachineID <> Null Then WScript.Echo MSG_CMID & objOspp.ClientMachineID Else WScript.Echo MSG_CMID & «Not found.» End If quitExit() ElseIf strCommand = «/inslic» Then i = i + 1 If Right(strValue,7) = «.xrm-ms» Then verifyFileExists strValue WScript.Echo MSG_INSTALLLICENSE & strValue Else globalPopFailure MSG_UNRECOGFILE,True End If LicenseData = ReadAllTextFile(strValue) objOSpp.InstallLicense(LicenseData) SppErrHandle(strCommand) ElseIf strCommand = «/stokflag» Then i = i + 1 If Win7 = True Then objOspp.DisableKeyManagementServiceActivation(True) sppErrHandle(strCommand) Else ‘Unsupported — osppsvc only supports this. globalPopFailure MSG_UNSUPPORTEDOPEROS7 & vbCr & strCommand,True End If ElseIf strCommand = «/ctokflag» Then i = i + 1 If Win7 = True Then objOspp.DisableKeyManagementServiceActivation(False) SppErrHandle(strCommand) Else ‘Unsupported — osppsvc only supports this. globalPopFailure MSG_UNSUPPORTEDOPEROS7 & vbCr & strCommand,True End If ElseIf strCommand = «/dtokils» Then Err.Clear Set objWmiDate = CreateObject(«WBemScripting.SWbemDateTime») ExecuteQuery «ILID, ILVID, AuthorizationStatus, ExpirationDate, Description, AdditionalInfo»,«»,tokenClass For Each instance in productinstances sppErrHandle «» i = i + 1 WScript.Echo «License ID (ILID): « & instance.ILID WScript.Echo «Version ID (ILvID): « & instance.ILVID If Not IsNull(instance.ExpirationDate) Then objWmiDate.Value = instance.ExpirationDate If (objWmiDate.GetFileTime(false) <> 0) Then WScript.Echo «Expiry Date: « & objWmiDate.GetVarDate End If End If If Not IsNull(instance.AdditionalInfo) Then WScript.Echo «Additional Info: « & instance.AdditionalInfo End If If Not IsNull(instance.AuthorizationStatus) And instance.AuthorizationStatus <> 0 Then globalErr = CStr(Hex(instance.AuthorizationStatus)) WScript.Echo MSG_AUTHERR & globalErr quitExit() Else WScript.Echo «Description: « & instance.Description End If WScript.Echo MSG_SEPERATE Next If i = 0 Then WScript.Echo MSG_NOLICENSEFOUND End If quitExit() ElseIf strCommand = «/rtokil» Then Err.Clear ExecuteQuery «ILID, ID»,«»,tokenClass For Each instance in productinstances sppErrHandle «» i = i + 1 If LCase(strValue) = LCase(instance.ILID) Then instance.Uninstall SppErrHandle(strCommand) Else WScript.Echo MSG_NOTFOUNDILID & strValue & » Run /dtokils to display the ILID for installed licenses.» End If Next If i = 0 Then WScript.Echo MSG_NOLICENSEFOUND End If quitExit() ElseIf strCommand = «/dtokcerts» Then Err.Clear Set objSigner = TkaGetSigner() sppErrHandle(strCommand) ExecuteQuery «ID, Name, ApplicationId, PartialProductKey, Description, LicenseIsAddon «,«ApplicationId = ‘» & OfficeAppId & «‘ « & «AND PartialProductKey <> NULL « & «AND LicenseIsAddon = FALSE»,productClass For each instance in productinstances i = i + 1 sppErrHandle «» iRet = instance.GetTokenActivationGrants(arrGrants) If Err.Number = 0 Then arrThumbprints = objSigner.GetCertificateThumbprints(arrGrants) If Err.Number = 0 Then For Each strThumbprint in arrThumbprints TkaPrintCertificate strThumbprint Next Else sppErrHandle «» End If Else sppErrHandle «» End If WScript.Echo MSG_SEPERATE Err.Clear Next ElseIf strCommand = «/tokact» Then Err.Clear Set objSigner = TkaGetSigner() sppErrHandle «/ignore» pos1 = InStr(strValue,«:») If pos1 = 0 Then ‘PIN not passed strThumbprint = strValue Else ‘PIN passed strThumbprint = Left(strValue,pos1 1) strPin = Replace(strValue,strThumbprint & «:»,«») End If ExecuteQuery «ID, Name, ApplicationId, PartialProductKey, Description, LicenseIsAddon «,«ApplicationId = ‘» & OfficeAppId & «‘ « & «AND PartialProductKey <> NULL « & «AND LicenseIsAddon = FALSE»,productClass For each instance in productinstances i = i + 1 sppErrHandle «» WScript.Echo MSG_TOKACTATTEMPT WScript.Echo MSG_SKUID & instance.ID WScript.Echo MSG_LICENSENAME & instance.Name WScript.Echo MSG_DESCRIPTION & instance.Description WScript.Echo MSG_PARTIALKEY & instance.PartialProductKey iRet = instance.GenerateTokenActivationChallenge(strChallenge) If Err.Number = 0 Then strAuthInfo1 = objSigner.Sign(strChallenge, strThumbprint, strPin, strAuthInfo2) If Err.Number = 0 Then iRet = instance.DepositTokenActivationResponse(strChallenge, strAuthInfo1, strAuthInfo2) SppErrHandle(strCommand) Else sppErrHandle «» End If Else sppErrHandle «» End If WScript.Echo MSG_SEPERATE Next Else Err.Clear If strCommand = «/dstatus» Or strCommand = «/dstatusall» Then If Win7 = True Then ExecuteQuery «ID, ApplicationId, EvaluationEndDate, PartialProductKey, Description, Name, LicenseStatus, LicenseStatusReason, ProductKeyID, GracePeriodRemaining, DiscoveredKeyManagementServiceMachineName, DiscoveredKeyManagementServiceMachinePort, VLActivationInterval, VLRenewalInterval, KeyManagementServiceMachine, KeyManagementServicePort»,«ApplicationId = ‘» & OfficeAppId & «‘ «,productClass Else ExecuteQuery «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 If ElseIf strCommand = «/act» Then ExecuteQuery «ID, ApplicationId, PartialProductKey, Description, Name»,«ApplicationId = ‘» & OfficeAppId & «‘ « & «AND PartialProductKey <> NULL «,productClass ElseIf strCommand = «/unpkey» Then ExecuteQuery «ID, ApplicationId, Description, PartialProductKey, Name, ProductKeyID»,«ApplicationId = ‘» & OfficeAppId & «‘ « & «AND PartialProductKey <> NULL «,productClass ElseIf strCommand = «/dinstid» Or strCommand = «/actcid» Then ExecuteQuery «ID, ApplicationId, Description, PartialProductKey, Name, OfflineInstallationId»,«ApplicationId = ‘» & OfficeAppId & «‘ « & «AND PartialProductKey <> NULL «,productClass ElseIf strCommand = «/actype» Or strCommand = «/skms-domain» Or strCommand = «/ckms-domain» Then If Win7 = True Then ‘Unsupported — sppsvc only supports this. globalPopFailure MSG_UNSUPPORTEDOPEROS8 & vbCr & strCommand,True Else ExecuteQuery «ID, Description, PartialProductKey, ApplicationId «,«ApplicationId = ‘» & OfficeAppId & «‘ «,productClass End If ElseIf strCommand = «/sethst» Or strCommand = «/setprt» Or strCommand = «/remhst» Then ExecuteQuery «ID, Description, PartialProductKey, ApplicationId «,«ApplicationId = ‘» & OfficeAppId & «‘ «,productClass End If For Each instance in productinstances sppErrHandle «» If (LCase(instance.ApplicationId) = OfficeAppId) Then If instance.PartialProductKey <> «» Then i = i + 1 End If intIsKms = InStr(UCase(instance.Description),«KMS») If intIsKms <> 0 Then kmsCounter = kmsCounter + 1 End If Select Case strCommand Case «/actype» Select Case strValue Case «0»,«1»,«2»,«3» Case Else globalPopFailure 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,True End Select If intIsKms <> 0 Then If strValue <> 0 Then instance.SetVLActivationTypeEnabled(strValue) Else instance.ClearVLActivationTypeEnabled() End If End If sppErrHandle «» Case «/skms-domain» If intIsKms <> 0 Then instance.SetKeyManagementServiceLookupDomain(strValue) End If sppErrHandle «» Case «/ckms-domain» If intIsKms <> 0 Then instance.ClearKeyManagementServiceLookupDomain() End If sppErrHandle «» Case «/sethst» If intIsKms <> 0 Then instance.SetKeyManagementServiceMachine(strValue) End If sppErrHandle «» Case «/setprt» If intIsKms <> 0 Then instance.SetKeyManagementServicePort(strValue) End If sppErrHandle «» Case «/remhst» If intIsKms <> 0 Then instance.ClearKeyManagementServiceMachine() sppErrHandle «» instance.ClearKeyManagementServicePort() sppErrHandle «» End If Case «/act» WScript.Echo MSG_ACTATTEMPT WScript.Echo MSG_SKUID & instance.ID WScript.Echo MSG_LICENSENAME & instance.Name WScript.Echo MSG_DESCRIPTION & instance.Description WScript.Echo MSG_PARTIALKEY & instance.PartialProductKey instance.Activate SppErrHandle(strCommand) WScript.Echo MSG_SEPERATE Case «/unpkey» If Len(strValue) <> «5» Then globalPopFailure MSG_ERRPARTIALKEY,True End If If UCase(strValue) = instance.PartialProductKey Then y = y + 1 WScript.Echo MSG_UNINSTALLKEY & instance.Name instance.UninstallProductKey(instance.ProductKeyID) SppErrHandle(strCommand) End If Case «/dinstid» WScript.Echo «Installation ID for: « & instance.Name & «: « & instance.OfflineInstallationId WScript.Echo MSG_SEPERATE Case «/actcid» instance.DepositOfflineConfirmationId instance.OfflineInstallationId, strValue If Err.Number = 0 Then If telsuccess <> True Then WScript.Echo MSG_LICENSENAME & instance.Name WScript.Echo MSG_OFFLINEACTSUCCESS telsuccess = True End If Else WScript.Echo MSG_LICENSENAME & instance.Name sppErrHandle «» End If WScript.Echo MSG_SEPERATE Case «/dstatus», «/dstatusall» getInstalled = False verifyFileExists currentDir & «slerror.xml» licSr = Hex(instance.LicenseStatusReason) If strCommand = «/dstatusall» Then getInstalled = True WScript.Echo MSG_SKUID & instance.ID WScript.Echo MSG_LICENSENAME & instance.Name WScript.Echo MSG_DESCRIPTION & instance.Description Else If instance.ProductKeyID <> «» Then getInstalled = True WScript.Echo MSG_SKUID & instance.ID WScript.Echo MSG_LICENSENAME & instance.Name WScript.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 <> «» Then Set objDate = CreateObject(«WBemScripting.SWbemDateTime») objDate.Value = instance.EvaluationEndDate If objDate.GetVarDate() <> «1/1/1601» Then WScript.Echo MSG_LICEXPIRY & objDate.GetVarDate() End If Set objDate = Nothing End If End If End If If getInstalled = True Then Select Case instance.LicenseStatus Case 0 WScript.Echo MSG_LICSTATUS & MSG_UNLICENSED Case 1 WScript.Echo MSG_LICSTATUS & MSG_LICENSED Case 2 WScript.Echo MSG_LICSTATUS & MSG_OOBGRACE Case 3 WScript.Echo MSG_LICSTATUS & MSG_OOTGRACE Case 4 WScript.Echo MSG_LICSTATUS & MSG_NONGENGRACE Case 5 WScript.Echo MSG_LICSTATUS & MSG_NOTIFICATION Case 6 WScript.Echo MSG_LICSTATUS & MSG_EXTENDEDGRACE Case Else WScript.Echo MSG_LICSTATUS & MSG_LICUNKNOWN End Select If licSr <> «0» Then If instance.LicenseStatus <> 1 Then WScript.Echo MSG_ERRCODE & «0x» & licSr Else WScript.Echo MSG_ERRCODE & «0x» & licSr & MSG_INFO_ONLY End If getResource(«err» & «0x» & licSr) If globalResource = «» Then If foundSlUi <> True Then WScript.Echo MSG_ERRDESC & «Not available.» Else WScript.Echo MSG_ERRDESC & «Run the following: cscript ospp.vbs /ddescr:0x» & licSr End if Else WScript.Echo MSG_ERRDESC & globalResource End If End If If instance.GracePeriodRemaining <> 0 Then dGrace = instance.GracePeriodRemaining / 60 / 24 rndDown = Int(dGrace) WScript.Echo MSG_REMAINGRACE & rndDown & » days « & » (« & instance.GracePeriodRemaining & » minute(s) before expiring» & «)» End If If instance.PartialProductKey <> «» Then WScript.Echo MSG_PARTIALKEY & instance.PartialProductKey ‘Display additional volume info for KMS licenses If intIsKms <> 0 Then ‘Display activation type set (Win8+). If Win7 <> True Then Select Case instance.VLActivationTypeEnabled Case 1 WScript.Echo MSG_VLActivationType & «AD» Case 2 WScript.Echo MSG_VLActivationType & «KMS» Case 3 WScript.Echo MSG_VLActivationType & «Token» Case Else WScript.Echo MSG_VLActivationType & «ALL» End Select ‘Check to see if last activated via AD- display object info (Win8+). If instance.VLActivationType = 1 Then isAdActivated = True WScript.Echo MSG_Act_Recent + «AD» WScript.Echo vbTab & MSG_ADInfoAOName & instance.ADActivationObjectName WScript.Echo vbTab & MSG_ADInfoAODN & instance.ADActivationObjectDN WScript.Echo vbTab & MSG_ADInfoExtendedPid & instance.ADActivationCsvlkPid WScript.Echo vbTab & MSG_ADInfoActID & instance.ADActivationCsvlkSkuId End If End If If isAdActivated = False Then strKms = instance.DiscoveredKeyManagementServiceMachineName strPort = instance.DiscoveredKeyManagementServiceMachinePort If IsNull(strKms) Or (strKms = «») Or IsNull(strPort) Or (strPort = 0) Then WScript.Echo vbTab & MSG_KMS_DNS_ERR Else WScript.Echo vbTab & MSG_KMS_DNS & strKMS & «:» & strPort End If ‘Check to see if registry override is defined strKms = instance.KeyManagementServiceMachine If strKms <> «» And Not IsNull(strKms) Then strPort = instance.KeyManagementServicePort If (strPort = 0) Then strPort = MSG_DEFAULT_PORT End If WScript.Echo vbTab & MSG_HOST_REG_OVERRIDE & strKms & «:» & strPort End If WScript.Echo vbTab & MSG_ACTIVATION_INTERVAL & instance.VLActivationInterval & » minutes» WScript.Echo vbTab & MSG_RENEWAL_INTERVAL & instance.VLRenewalInterval & » minutes» If (objOspp.KeyManagementServiceHostCaching = True) Then WScript.Echo vbTab & MSG_HOST_CACHING & «Enabled» Else WScript.Echo vbTab & MSG_HOST_CACHING & «Disabled» End If If Win7 <> True Then If instance.KeyManagementServiceLookupDomain <> «» Then WScript.Echo vbTab & MSG_KMSLOOKUP & instance.KeyManagementServiceLookupDomain End If End If End If End If End If WScript.Echo MSG_SEPERATE End If Case Else End Select End If Next End If Select Case strCommand Case «/unpkey» If y = 0 Then WScript.Echo MSG_KEYNOTFOUND quitExit() End If Case «/ckms-domain»,«/skms-domain»,«/actype»,«/sethst»,«/setprt»,«/remhst» If kmsCounter = 0 Then WScript.Echo MSG_NOKMSLICS quitExit() Else sppErrHandle(strCommand) End If Case Else End Select If i = 0 Then WScript.Echo MSG_NOKEYSINSTALLED WScript.Echo MSG_SEPERATE End If quitExit() End Function ‘//////////////////////////////////////////////////////////////////////////////////////// ‘//////////////////////////////////////////////////////////////////////////////////////// Function performRegAction(strCommand) On Error Resume Next If Win7 = True Then Set colListOfServices = objWMI.ExecQuery _ («Select * from Win32_Service «) For Each objService in colListOfServices If objService.Name = «osppsvc» Then installed = True Exit For End If Next If installed <> True Then globalPopFailure MSG_OSPPSVC_NOINSTALL,True End If checkRegRights objWMI1,REG_OSPP Else checkRegRights objWMI1,REG_SPP End If Select Case strCommand Case «/puserops» setRegValue objWMI1,«1»,«UserOperations» Case «/duserops» setRegValue objWMI1,«0»,«UserOperations» End Select End Function ‘//////////////////////////////////////////////////////////////////////////////////////// ‘//////////////////////////////////////////////////////////////////////////////////////// Function performServiceAction(strCommand) On Error Resume Next Set colListOfServices = objWMI.ExecQuery _ («Select * from Win32_Service «) For Each objService in colListOfServices If objService.Name = «osppsvc» Then installed = True Exit For End If Next If installed <> True Then globalPopFailure MSG_OSPPSVC_NOINSTALL,True End If Set objService = Nothing Set colListOfServices = Nothing If strCommand = «/osppsvcauto» Then Set colListOfServices = objWMI.ExecQuery _ («Select * from Win32_Service where StartMode = ‘Manual’ or StartMode = ‘Disabled'») For Each objService in colListOfServices If LCase(objService.Name) = «osppsvc» Then foundOsppNonAuto = True objService.Change , , , , «Automatic» WScript.Sleep(15000) Exit For End If Next If foundOsppNonAuto <> True Then WScript.Echo «Service startup type already set to automatic: Office Software Protection Platform» quitExit() End If Set objService = Nothing Set colListOfServices = Nothing Set colListOfServices = objWMI.ExecQuery _ («Select * from Win32_Service where StartMode = ‘Auto'») For Each objService in colListOfServices If LCase(objService.Name) = «osppsvc» Then foundOsppAuto = True WScript.Echo «Successfully set service startup to automatic:» & objService.DisplayName quitExit() End If Next If foundOsppAuto <> True Then WScript.Echo «Unsuccessful setting service startup to automatic. « & MSG_ISCMD_ELEVATED quitExit() End If Else Set colListOfServices = objWMI.ExecQuery _ («Select * from Win32_Service «) For Each objService in colListOfServices If LCase(objService.Name) = «osppsvc» Then Select Case LCase(objService.State) Case «running» objService.StopService() WScript.Sleep(15000) objService.StartService() WScript.Sleep(15000) Case Else objService.StartService() WScript.Sleep(15000) End Select Exit For End If Next Set objService = Nothing Set colListOfServices = Nothing Set colListOfServices = objWMI.ExecQuery _ («Select * from Win32_Service «) For Each objService in colListOfServices If LCase(objService.Name) = «osppsvc» Then If LCase(objService.State) = «running» Then WScript.Echo «Successfully restarted: « & objService.DisplayName quitExit() Else WScript.Echo «Unsuccessful restart: « & objService.DisplayName & «. Status: « _ & objService.State & «. « & MSG_ISCMD_ELEVATED quitExit() End If Exit For End If Next End If End Function ‘//////////////////////////////////////////////////////////////////////////////////////// ‘//////////////////////////////////////////////////////////////////////////////////////// Function reARM(skuid) progFiles = WshShell.ExpandEnvironmentStrings(«%ProgramFiles%») If objFSO.FileExists(progFiles & STR_OSPPREARMPATH) Then rearmPath = progFiles & STR_OSPPREARMPATH ElseIf objFSO.FileExists(progFiles & STR_OSPPREARMPATH_DEBUG) Then rearmPath = progFiles & STR_OSPPREARMPATH_DEBUG Else progFilesX86 = WshShell.ExpandEnvironmentStrings(«%ProgramFiles(x86)%») If objFSO.FileExists(progFilesX86 & STR_OSPPREARMPATH) Then rearmPath = progFilesX86 & STR_OSPPREARMPATH ElseIf objFSO.FileExists(progFilesX86 & STR_OSPPREARMPATH_DEBUG) Then rearmPath = progFilesX86 & STR_OSPPREARMPATH_DEBUG Else WScript.Echo MSG_FILENOTFOUND & «OSPPREARM.EXE» quitExit() End If End If If skuid = «» Then Set objScriptExec = WshShell.Exec (rearmPath) Else Set objScriptExec = WshShell.Exec (rearmPath & » « & skuid) End If readOut = objScriptExec.StdOut.ReadAll WScript.Echo readOut End Function ‘//////////////////////////////////////////////////////////////////////////////////////// ‘//////////////////////////////////////////////////////////////////////////////////////// Function isWin7OS() Set colOperatingSystems = objWMI.ExecQuery _ («Select * from Win32_OperatingSystem») For Each objOperatingSystem in colOperatingSystems Ver = Split(objOperatingSystem.Version, «.», 1, 1) ‘Win7 If (Ver(0) = «6» And Ver(1) = «1» And objOperatingSystem.ProductType = 1) Then Win7 = True Exit For End If ‘Server2008R2 If (Ver(0) = «6» And Ver(1) = «1» And (objOperatingSystem.ProductType = 2 Or objOperatingSystem.ProductType = 3)) Then Win7 = True Exit For End If Next setWmiClasses() End Function ‘//////////////////////////////////////////////////////////////////////////////////////// ‘//////////////////////////////////////////////////////////////////////////////////////// Function setWmiClasses() If Win7 = True Then productClass = «OfficeSoftwareProtectionProduct» tokenClass = «OfficeSoftwareProtectionTokenActivationLicense» Else productClass = «SoftwareLicensingProduct» tokenClass = «SoftwareLicensingTokenActivationLicense» End If End 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

Иногда система Windows отображает сообщения об ошибках поврежденных или отсутствующих файлов OSPP.VBS. Подобные ситуации могут возникнуть, например, во время процесса установки программного обеспечения. Каждая программа требует определенных ресурсов, библиотек и исходных данных для правильной работы. Поэтому поврежденный или несуществующий файл OSPP.VBS может повлиять на неудачное выполнение запущенного процесса.

Файл был разработан Microsoft для использования с программным обеспечением Office. Здесь вы найдете подробную информацию о файле и инструкции, как действовать в случае ошибок, связанных с OSPP.VBS на вашем устройстве. Вы также можете скачать файл OSPP.VBS, совместимый с устройствами Windows 10, Windows 7, Windows 8, которые (скорее всего) позволят решить проблему.

For Windows
Совместим с: Windows 10, Windows 7, Windows 8

Популярность пользователя

Исправьте ошибки OSPP.VBS

  • 1 Информация о файле OSPP.VBS
  • 2 Ошибки, связанные с файлом OSPP.VBS
  • 3 Как исправить ошибки, связанные с OSPP.VBS?
    • 3.1 Сканирование на наличие вредоносных программ
    • 3.2 Обновление системы и драйверов
    • 3.3 Инструмент проверки системных файлов
    • 3.4 Восстановление системы
  • 4 Скачать OSPP.VBS
    • 4.1 Список версий файла OSPP.VBS

Информация о файле

Основная информация
Имя файла OSPP.VBS
Расширение файла VBS
Тип Script
Описание VBScript Script
Программного обеспечения
программа Office 2010
Программного обеспечения Office
автор Microsoft
Версия программного обеспечения 2010
подробности
Размер файла 49433
Самый старый файл 2017-05-10
Последний файл 2017-05-10

OSPP.VBS

Наиболее распространенные проблемы с файлом OSPP.VBS

Существует несколько типов ошибок, связанных с файлом OSPP.VBS. Файл OSPP.VBS может находиться в неправильном каталоге файлов на вашем устройстве, может отсутствовать в системе или может быть заражен вредоносным программным обеспечением и, следовательно, работать неправильно. Ниже приведен список наиболее распространенных сообщений об ошибках, связанных с файлом OSPP.VBS. Если вы найдете один из перечисленных ниже (или похожих), рассмотрите следующие предложения.

  • OSPP.VBS поврежден
  • OSPP.VBS не может быть расположен
  • Ошибка выполнения — OSPP.VBS
  • Ошибка файла OSPP.VBS
  • Файл OSPP.VBS не может быть загружен. Модуль не найден
  • невозможно зарегистрировать файл OSPP.VBS
  • Файл OSPP.VBS не может быть загружен
  • Файл OSPP.VBS не существует

OSPP.VBS

Error

Не удалось запустить приложение, так как отсутствует файл OSPP.VBS. Переустановите приложение, чтобы решить проблему.

OK

Проблемы, связанные с OSPP.VBS, могут решаться различными способами. Некоторые методы предназначены только для опытных пользователей. Если вы не уверены в своих силах, мы советуем обратиться к специалисту. К исправлению ошибок в файле OSPP.VBS следует подходить с особой осторожностью, поскольку любые ошибки могут привести к нестабильной или некорректно работающей системе. Если у вас есть необходимые навыки, пожалуйста, продолжайте.

Как исправить ошибки OSPP.VBS всего за несколько шагов?

Ошибки файла OSPP.VBS могут быть вызваны различными причинами, поэтому полезно попытаться исправить их различными способами.

Шаг 1.. Сканирование компьютера на наличие вредоносных программ.

Virus Scan

Файлы Windows обычно подвергаются атаке со стороны вредоносного программного обеспечения, которое не позволяет им работать должным образом. Первым шагом в решении проблем с файлом OSPP.VBS или любыми другими системными файлами Windows должно быть сканирование системы на наличие вредоносных программ с использованием антивирусного инструмента.

Если по какой-либо причине в вашей системе еще не установлено антивирусное программное обеспечение, вы должны сделать это немедленно. Незащищенная система не только является источником ошибок в файлах, но, что более важно, делает вашу систему уязвимой для многих опасностей. Если вы не знаете, какой антивирусный инструмент выбрать, обратитесь к этой статье Википедии — сравнение антивирусного программного обеспечения.

Шаг 2.. Обновите систему и драйверы.

Windows Update

Установка соответствующих исправлений и обновлений Microsoft Windows может решить ваши проблемы, связанные с файлом OSPP.VBS. Используйте специальный инструмент Windows для выполнения обновления.

  1. Откройте меню «Пуск» в Windows.
  2. Введите «Центр обновления Windows» в поле поиска.
  3. Выберите подходящую программу (название может отличаться в зависимости от версии вашей системы)
  4. Проверьте, обновлена ​​ли ваша система. Если в списке есть непримененные обновления, немедленно установите их.
  5. После завершения обновления перезагрузите компьютер, чтобы завершить процесс.

Помимо обновления системы рекомендуется установить последние версии драйверов устройств, так как драйверы могут влиять на правильную работу OSPP.VBS или других системных файлов. Для этого перейдите на веб-сайт производителя вашего компьютера или устройства, где вы найдете информацию о последних обновлениях драйверов.

Шаг 3.. Используйте средство проверки системных файлов (SFC).

System File Checker

Проверка системных файлов — это инструмент Microsoft Windows. Как следует из названия, инструмент используется для идентификации и адресации ошибок, связанных с системным файлом, в том числе связанных с файлом OSPP.VBS. После обнаружения ошибки, связанной с файлом %fileextension%, программа пытается автоматически заменить файл OSPP.VBS на исправно работающую версию. Чтобы использовать инструмент:

  1. Откройте меню «Пуск» в Windows.
  2. Введите «cmd» в поле поиска
  3. Найдите результат «Командная строка» — пока не запускайте его:
  4. Нажмите правую кнопку мыши и выберите «Запуск от имени администратора»
  5. Введите «sfc / scannow» в командной строке, чтобы запустить программу, и следуйте инструкциям.

Шаг 4. Восстановление системы Windows.

Windows Recovery

Другой подход заключается в восстановлении системы до предыдущего состояния до того, как произошла ошибка файла OSPP.VBS. Чтобы восстановить вашу систему, следуйте инструкциям ниже

  1. Откройте меню «Пуск» в Windows.
  2. Введите «Восстановление системы» в поле поиска.
  3. Запустите средство восстановления системы — его имя может отличаться в зависимости от версии системы.
  4. Приложение проведет вас через весь процесс — внимательно прочитайте сообщения
  5. После завершения процесса перезагрузите компьютер.

Если все вышеупомянутые методы завершились неудачно и проблема с файлом OSPP.VBS не была решена, перейдите к следующему шагу. Помните, что следующие шаги предназначены только для опытных пользователей

Загрузите и замените файл OSPP.VBS

Последнее решение — вручную загрузить и заменить файл OSPP.VBS в соответствующей папке на диске. Выберите версию файла, совместимую с вашей операционной системой, и нажмите кнопку «Скачать». Затем перейдите в папку «Загруженные» вашего веб-браузера и скопируйте загруженный файл OSPP.VBS.

Перейдите в папку, в которой должен находиться файл, и вставьте загруженный файл. Ниже приведен список путей к каталогу файлов OSPP.VBS.

  • Windows 10: C:Program FilesMicrosoft OfficeOffice15
  • Windows 7: C:Program Files (x86)Microsoft OfficeOffice14
  • Windows 8:

Если действия не помогли решить проблему с файлом OSPP.VBS, обратитесь к профессионалу. Существует вероятность того, что ошибка (и) может быть связана с устройством и, следовательно, должна быть устранена на аппаратном уровне. Может потребоваться новая установка операционной системы — неправильный процесс установки системы может привести к потере данных.

Список версий файлов

For Windows 10

Имя файла
OSPP.VBS

система
Windows 10

Размер файла
79360 bytes

Дата
2017-05-10

Подробности файла
MD5 bf41086c3c6a7be1e8d3af0323a05c42
SHA1 98d178d56102aa857c68750a16e1bfde22be848d
SHA256 77ab812ade8fd465eb47c91d2d8efbc62f25f467da11a50b83a10c7325f813af
CRC32 1314fa5c
Пример расположения файла C:Program FilesMicrosoft OfficeOffice15

For Windows 7

Имя файла
OSPP.VBS

система
Windows 7

Размер файла
49433 bytes

Дата
2017-05-10

Подробности файла
MD5 572e9a87757ac96c7677fd1b1b113c55
SHA1 9c8b96971997cd2dc0ed14f19dd9bc56d3348c3a
SHA256 008cf05944053116a095ad466561d3fd4be8a7de79e5ada7c5daab492f730465
CRC32 5f610f62
Пример расположения файла C:Program Files (x86)Microsoft OfficeOffice14

For Windows 8

Имя файла
OSPP.VBS

система
Windows 8

Размер файла
79360 bytes

Дата
2017-05-10

Подробности файла
MD5 bf41086c3c6a7be1e8d3af0323a05c42
SHA1 98d178d56102aa857c68750a16e1bfde22be848d
SHA256 77ab812ade8fd465eb47c91d2d8efbc62f25f467da11a50b83a10c7325f813af
CRC32 1314fa5c
Пример расположения файла

Содержание

  • Способ 1: Редактирование системного реестра
  • Способ 2: Настройка доступа к папкам
  • Способ 3: Использование других установочных данных
  • Вопросы и ответы

«ошибка 1920. не удалось запустить службу» в microsoft office

Способ 1: Редактирование системного реестра

Рассматриваемый сбой возникает в первую очередь из-за неправильной работы механизма выдачи прав доступа одному из компонентов Майкрософт Офис, что в большинстве случаев можно устранить удалением определённой ветки реестра.

  1. Вызовите «Редактор реестра» – проще всего это сделать с помощью средства «Выполнить», запустив его сочетанием Win+R. Далее введите в окно запрос regedit и нажмите «ОК».
  2. Открыть редактор реестра для устранения проблемы «Ошибка 1920. не удалось запустить службу» в Microsoft Office

  3. Перейдите по адресу:

    HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindows NTCurrentVersionImage File Execution OptionsOSPPSVC.EXE

    На всякий случай рекомендуем сделать резервную копию раздела – выделите папку Image File Execution, затем воспользуйтесь пунктами «Файл»«Экспорт».

    Начать резервное копирование ветки реестра для устранения проблемы «Ошибка 1920. не удалось запустить службу» в Microsoft Office

    Выберите местоположение, куда желаете выгрузить бэкап, задайте ему имя и кликните «Сохранить».

  4. Начать резервное копирование ветки реестра для устранения проблемы «Ошибка 1920. не удалось запустить службу» в Microsoft Office

  5. Теперь выделите запись OSPPSVC.EXE, щёлкните по ней правой кнопкой мыши и выберите пункт «Удалить».
    Удаление проблемной ветки реестра для устранения проблемы «Ошибка 1920. не удалось запустить службу» в Microsoft Office

    Подтвердите своё намерение.

  6. Подтвердить удаление проблемной ветки реестра для устранения проблемы «Ошибка 1920. не удалось запустить службу» в Microsoft Office

  7. Перезагрузите компьютер.
  8. После запуска ОС проверьте наличие проблемы. Если она будет устранена, воспользуйтесь одним из следующих методов.

Способ 2: Настройка доступа к папкам

Второй метод устранения проблем с доступом заключается в выполнении определенных манипуляций с файловой системой компьютера при инсталляции MS Office. Шаги следующие:

  1. После получения ошибки закройте «Мастер по установке…» и перейдите по такому адресу:

    C:Program FilesCommon FilesMicrosoft Shared

    Полностью (посредством сочетания Shift+Del) удалите директорию OfficeSoftwareProtectionPlatform.

  2. Удалить проблемную папку для устранения проблемы «Ошибка 1920. не удалось запустить службу» в Microsoft Office

  3. Снова запустите «Редактор реестра» (см. Способ 1) и перейдите по пути HKEY_CLASSES_ROOTAppID, кликните по последнему каталогу ПКМ и выберите «Разрешения».
  4. Начать выдачу разрешений папке в реестре для устранения проблемы «Ошибка 1920. не удалось запустить службу» в Microsoft Office

  5. В этом окне нажмите «Добавить».
    Добавление учётной записи для устранения проблемы «Ошибка 1920. не удалось запустить службу» в Microsoft Office

    Введите имя пользователя NETWORK SERVICE и нажмите «Проверить».

    Lumpics.ru

    Проверка учётной записи для устранения проблемы «Ошибка 1920. не удалось запустить службу» в Microsoft Office

    После проверки воспользуйтесь кнопкой «ОК».

    Ввод учётной записи для устранения проблемы «Ошибка 1920. не удалось запустить службу» в Microsoft Office

    В столбце «Разрешить» отметьте пункт «Полный доступ», после чего нажмите «Применить» и «ОК».

  6. Разрешения полного доступа учётной записи для устранения проблемы «Ошибка 1920. не удалось запустить службу» в Microsoft Office

  7. Запустите повторно установщик пакета приложений и начните инсталляцию. Не беспокойтесь, если ошибка снова появится, это тоже часть процедуры. Не закрывая «Мастер по установке…», перейдите по адресу из шага 1, и выберите каталог OfficeSoftwareProtectionPlatform, щёлкните по нему ПКМ и перейдите в «Свойства».
    Открыть свойства папки для устранения «Ошибки 1920. не удалось запустить службу» в Microsoft Office

    Здесь откройте «Безопасность» и воспользуйтесь кнопкой «Дополнительно».

    Изменение учётной записи владельца для устранения проблемы «Ошибка 1920. не удалось запустить службу» в Microsoft Office

    Повторите действия по выдаче разрешений пользователю NETWORK SERVICE из шага 3, они ничем не отличаются. Единственное дополнение – отметьте опцию «Заменить разрешения для всех дочерних объектов…».

  8. Заменить владельца подконтейнеров для устранения проблемы «Ошибка 1920. не удалось запустить службу» в Microsoft Office

  9. Сейчас потребуется открыть службы – нужную оснастку можно запустить через уже упомянутое здесь средство «Выполнить», запрос services.msc.
    Открыть службы для устранения проблемы «Ошибка 1920. не удалось запустить службу» в Microsoft Office

    Найдите в перечне позицию с именем Office Software Protection Platform, кликните по ней ПКМ и выберите «Запустить».

  10. Перезапуск службы для устранения проблемы «Ошибка 1920. не удалось запустить службу» в Microsoft Office

    Вернитесь к окну инсталлятора и нажмите на кнопку «Повторить» — теперь процесс должен пройти без проблем.

Способ 3: Использование других установочных данных

Иногда рассматриваемая проблема появляется в случаях, когда содержимое инсталлятора повреждено, например, в процессе скачивания. Если ни первый, ни второй из приведённых методов не помогают, скорее всего, вы столкнулись именно со сбойным установщиком. В таком случае потребуется загрузить либо скопировать его заново, и желательно из другого источника.

Еще статьи по данной теме:

Помогла ли Вам статья?

Понравилась статья? Поделить с друзьями:

Читайте также:

  • Oriel 963 ошибка ash как исправить
  • Ospp vbs error code 2147217394
  • Oriel 963 ash ошибка что делать
  • Ospp vbs an error occurred while making the connection при активации офиса
  • Oriel 960 ошибка ash

  • 0 0 голоса
    Рейтинг статьи
    Подписаться
    Уведомить о
    guest

    0 комментариев
    Старые
    Новые Популярные
    Межтекстовые Отзывы
    Посмотреть все комментарии