Advertisement
Guest User

Untitled

a guest
Nov 23rd, 2017
638
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 6.56 KB | None | 0 0
  1. @echo off
  2. color 1F
  3. chcp 437 >nul
  4. %windir%\system32\reg.exe query "HKU\S-1-5-19" 1>nul 2>nul || (
  5. echo.
  6. echo ============================================================
  7. echo ERROR: Administrator privileges not detected.
  8. echo ============================================================
  9. echo.
  10. echo please, re-open this script and 'Run as administrator'
  11. echo.
  12. echo.
  13. echo Press any key to exit...
  14. pause >nul
  15. goto :eof
  16. )
  17. setlocal enableextensions
  18. for /f "tokens=6 delims=[]. " %%G in ('ver') do set winbuild=%%G
  19. for /f "skip=2 tokens=2*" %%i in ('"reg query "HKLM\System\CurrentControlSet\Control\Session Manager\Environment" /v PROCESSOR_ARCHITECTURE" 2^>nul') do set arch=%%j
  20. if /i %arch%==AMD64 set arch=bin
  21. set "_SLMGR=%SystemRoot%\System32\slmgr.vbs"
  22. for /f "tokens=2*" %%a IN ('"reg query HKLM\SOFTWARE\Microsoft\Office\ClickToRun /v InstallPath" 2^>nul') do (set "_OSPP=%%b\Office16\OSPP.VBS"&set "_LicPath=%%b\root\Licenses16")
  23. sc query ClickToRunSvc >nul 2>&1
  24. if %errorlevel% equ 1060 (
  25. echo.
  26. echo Could not detect Office ClickToRun service...
  27. goto :end
  28. )
  29. if not exist "%_LicPath%\*.xrm-ms" (
  30. echo.
  31. echo Could not detect Office 2016 Licenses files...
  32. goto :end
  33. )
  34. if %winbuild% LSS 9200 if not exist "%_OSPP%" (
  35. echo.
  36. echo Could not detect Licensing tool OSPP.VBS...
  37. goto :end
  38. )
  39.  
  40. :Check
  41. set /a _VL=0
  42. set /a _TB=0
  43. set /a _Grace=0
  44. if %winbuild% GEQ 9200 (
  45. set spp=SoftwareLicensingProduct
  46. set sps=SoftwareLicensingService
  47. ) else (
  48. set spp=OfficeSoftwareProtectionProduct
  49. set sps=OfficeSoftwareProtectionService
  50. )
  51. for /f "tokens=2 delims==" %%A in ('"wmic path %sps% get version /format:list" 2^>nul') do set ver=%%A
  52. wmic path %spp% where (Description like '%%KMSCLIENT%%' AND LicenseFamily != 'Office16MondoR_KMS_Automation') get Name /format:list 2>nul | findstr /i /C:"Office 16" 1>nul && set /a _VL=1
  53. wmic path %spp% where (Description like '%%TIMEBASED%%') get Name /format:list 2>nul | findstr /i /C:"Office 16" 1>nul && set /a _TB=1
  54. wmic path %spp% where (Description like '%%Grace%%') get Name /format:list 2>nul | findstr /i /C:"Office 16" 1>nul && set /a _Grace=1
  55. if %_TB% equ 0 if %_Grace% equ 0 if %_VL% equ 1 (
  56. echo.
  57. echo No Conversion or Cleanup Required...
  58. goto :end
  59. )
  60. setLocal EnableDelayedExpansion
  61. echo.
  62. echo Cleaning Current Office 16 Licenses...
  63. cd /d "%~dp0"
  64. %arch%\cleanospp.exe >nul 2>&1
  65.  
  66. :Ret2VL
  67. echo.
  68. echo Installing Office 16 Volume Licenses...
  69. cd /d "%_LicPath%"
  70. for /f "delims=" %%i in ('dir /b /on client-issuance-*.xrm-ms') do (
  71. if %winbuild% GEQ 9200 (
  72. cscript //Nologo //B %_SLMGR% /ilc %%i
  73. ) else (
  74. cscript //Nologo //B "%_OSPP%" /inslic:%%i
  75. )
  76. )
  77.  
  78. if %winbuild% GEQ 9200 (
  79. cscript //Nologo //B %_SLMGR% /ilc pkeyconfig-office.xrm-ms
  80. ) else (
  81. cscript //Nologo //B "%_OSPP%" /inslic:pkeyconfig-office.xrm-ms
  82. )
  83. set SkuIds=(mondo,proplus,projectpro,visiopro,standard,projectstd,visiostd)
  84. set ProSkuIds=(access,excel,onenote,outlook,powerpoint,publisher,skypeforbusiness,word)
  85. set ProSkuId2=(o365proplus,professional)
  86. set StdSkuIds=(excel,onenote,outlook,powerpoint,publisher,word)
  87. for /d %%a in %SkuIds% do (set /a _%%a=0)
  88. for /d %%a in %ProSkuIds% do (set /a _%%a=0)
  89. for /d %%a in %ProSkuId2% do (set /a _%%a=0)
  90.  
  91. for /f "tokens=2,*" %%a IN ('"reg query HKLM\SOFTWARE\Microsoft\Office\ClickToRun\Configuration /v ProductReleaseIds" 2^>nul') do (set "ProductIds=%%b")
  92.  
  93. for /d %%a in %SkuIds% do (
  94. echo %ProductIds% | findstr /I /C:"%%aretail" 1>nul && set /a _%%a=1
  95. )
  96. for /d %%a in %ProSkuIds% do (
  97. echo %ProductIds% | findstr /I /C:"%%aretail" 1>nul && set /a _%%a=1
  98. )
  99. for /d %%a in %ProSkuId2% do (
  100. echo %ProductIds% | findstr /I /C:"%%aretail" 1>nul && set /a _%%a=1
  101. )
  102. if %_mondo% equ 1 (call :InsLic mondo &goto :GVLK)
  103. for /d %%a in %SkuIds% do (
  104. if !_%%a! equ 1 call :InsLic %%a
  105. )
  106. for /d %%a in %ProSkuId2% do (
  107. if !_%%a! equ 1 if !_proplus! equ 0 call :InsLic proplus
  108. )
  109. for /d %%a in %StdSkuIds% do (
  110. if !_%%a! equ 1 if !_proplus! equ 0 if !_standard! equ 0 if !_professional! equ 0 call :InsLic %%a
  111. )
  112. for /d %%a in (skypeforbusiness) do (
  113. if !_%%a! equ 1 if !_proplus! equ 0 call :InsLic %%a
  114. )
  115. for /d %%a in (access) do (
  116. if !_%%a! equ 1 if !_proplus! equ 0 !_professional! equ 0 call :InsLic %%a
  117. )
  118.  
  119. :GVLK
  120. echo.
  121. echo Installing KMS Client Keys...
  122. echo.
  123. for /f "tokens=2 delims==" %%G in ('"wmic path %spp% where (Description like '%%Office 16, VOLUME_KMSCLIENT%%') get ID /format:list"') do (set ActID=%%G&call :InsKey)
  124. goto :end
  125.  
  126. :InsLic
  127. for /f "delims=" %%i in ('dir /b /on %1VL_*.xrm-ms') do (
  128. if %winbuild% GEQ 9200 (
  129. cscript //Nologo //B %_SLMGR% /ilc %%i
  130. ) else (
  131. cscript //Nologo //B "%_OSPP%" /inslic:%%i
  132. )
  133. )
  134. exit /b
  135.  
  136. :InsKey
  137. for /f "tokens=2 delims==" %%A in ('"wmic path %spp% where ID='%ActID%' get Name /format:list"') do echo %%A
  138. (echo edition = "%ActID%"
  139. echo Set keys = CreateObject ^("Scripting.Dictionary"^)
  140. echo keys.Add "9caabccb-61b1-4b4b-8bec-d10a3c3ac2ce", "HFTND-W9MK4-8B7MJ-B6C4G-XQBR2"
  141. echo keys.Add "d450596f-894d-49e0-966a-fd39ed4c4c64", "XQNVK-8JYDB-WJ9W3-YJ8YR-WFG99"
  142. echo keys.Add "dedfa23d-6ed1-45a6-85dc-63cae0546de6", "JNRGM-WHDWX-FJJG3-K47QV-DRTFM"
  143. echo keys.Add "4f414197-0fc2-4c01-b68a-86cbb9ac254c", "YG9NW-3K39V-2T3HJ-93F3Q-G83KT"
  144. echo keys.Add "da7ddabc-3fbe-4447-9e01-6ab7440b4cd4", "GNFHQ-F6YQM-KQDGJ-327XX-KQBVC"
  145. echo keys.Add "6bf301c1-b94a-43e9-ba31-d494598c47fb", "PD3PC-RHNGV-FXJ29-8JK7D-RJRJK"
  146. echo keys.Add "aa2a7821-1827-4c2c-8f1d-4513a34dda97", "7WHWN-4T7MP-G96JF-G33KR-W8GF4"
  147. echo keys.Add "67c0fc0c-deba-401b-bf8b-9c8ad8395804", "GNH9Y-D2J4T-FJHGG-QRVH7-QPFDW"
  148. echo keys.Add "c3e65d36-141f-4d2f-a303-a842ee756a29", "9C2PK-NWTVB-JMPW8-BFT28-7FTBF"
  149. echo keys.Add "d8cace59-33d2-4ac7-9b1b-9b72339c51c8", "DR92N-9HTF2-97XKM-XW2WJ-XW3J6"
  150. echo keys.Add "ec9d9265-9d1e-4ed0-838a-cdc20f2551a1", "R69KK-NTPKF-7M3Q4-QYBHW-6MT9B"
  151. echo keys.Add "d70b1bba-b893-4544-96e2-b7a318091c33", "J7MQP-HNJ4Y-WJ7YM-PFYGF-BY6C6"
  152. echo keys.Add "041a06cb-c5b8-4772-809f-416d03d16654", "F47MM-N3XJP-TQXJ9-BP99D-8K837"
  153. echo keys.Add "83e04ee1-fa8d-436d-8994-d31a862cab77", "869NQ-FJ69K-466HW-QYCP2-DDBV6"
  154. echo keys.Add "bb11badf-d8aa-470e-9311-20eaf80fe5cc", "WXY84-JN2Q9-RBCCQ-3Q3J3-3PFJ6"
  155. echo if keys.Exists^(edition^) then
  156. echo WScript.Echo keys.Item^(edition^)
  157. echo End If)>"%temp%\key.vbs"
  158. set key=Unknown
  159. for /f %%A in ('cscript /nologo "%temp%\key.vbs"') do set key=%%A
  160. del /f /q "%temp%\key.vbs" >nul 2>&1
  161. if %key%==Unknown (echo.&echo Could not find matching KMS Client key&exit /b)
  162. wmic path %sps% where version='%ver%' call InstallProductKey ProductKey="%key%" >nul 2>&1
  163. exit /b
  164.  
  165. :end
  166. echo.
  167. echo.
  168. echo Press any key to exit...
  169. pause >nul
  170. goto :eof
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement