Ibra86

Check-Activation-Status-vbs

May 1st, 2024
818
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Batch 7.32 KB | None | 0 0
  1. @setlocal DisableDelayedExpansion
  2. @echo off
  3. @cls
  4. set _args=
  5. set _args=%*
  6. if not defined _args goto :NoProgArgs
  7. for %%A in (%_args%) do (
  8. if /i "%%A"=="-wow" set _rel1=1
  9. if /i "%%A"=="-arm" set _rel2=1
  10. )
  11. :NoProgArgs
  12. set "_cmdf=%~f0"
  13. if exist "%SystemRoot%\Sysnative\cmd.exe" if not defined _rel1 (
  14. setlocal EnableDelayedExpansion
  15. start %SystemRoot%\Sysnative\cmd.exe /c ""!_cmdf!" -wow"
  16. exit /b
  17. )
  18. if exist "%SystemRoot%\SysArm32\cmd.exe" if /i %PROCESSOR_ARCHITECTURE%==AMD64 if not defined _rel2 (
  19. setlocal EnableDelayedExpansion
  20. start %SystemRoot%\SysArm32\cmd.exe /c ""!_cmdf!" -arm"
  21. exit /b
  22. )
  23. color 07
  24. title Check Activation Status [vbs]
  25. set "SysPath=%SystemRoot%\System32"
  26. set "Path=%SystemRoot%\System32;%SystemRoot%;%SystemRoot%\System32\Wbem;%SystemRoot%\System32\WindowsPowerShell\v1.0\"
  27. if exist "%SystemRoot%\Sysnative\reg.exe" (
  28. set "SysPath=%SystemRoot%\Sysnative"
  29. set "Path=%SystemRoot%\Sysnative;%SystemRoot%;%SystemRoot%\Sysnative\Wbem;%SystemRoot%\Sysnative\WindowsPowerShell\v1.0\;%Path%"
  30. )
  31. set "_bit=64"
  32. set "_wow=1"
  33. if /i "%PROCESSOR_ARCHITECTURE%"=="x86" if "%PROCESSOR_ARCHITEW6432%"=="" set "_wow=0"&set "_bit=32"
  34. set "_onat=HKLM\SOFTWARE\Microsoft\Office"
  35. set "_owow=HKLM\SOFTWARE\WOW6432Node\Microsoft\Office"
  36. set "_cscript=cscript.exe //NoLogo"
  37. set "_utemp=%TEMP%"
  38. set "line2=************************************************************"
  39. set "line3=____________________________________________________________"
  40. set _sO16vbs=0
  41. set _sO15vbs=0
  42. for %%G in (
  43. "%ProgramFiles%"
  44. "%ProgramW6432%"
  45. "%ProgramFiles(x86)%"
  46. ) do if exist "%%~G\Microsoft Office\Office15\ospp.vbs" (
  47. set _sO15vbs=1
  48. )
  49. set _WSH=1
  50. reg query "HKCU\SOFTWARE\Microsoft\Windows Script Host\Settings" /v Enabled 2>nul | find /i "0x0" 1>nul && (set _WSH=0)
  51. reg query HKU\S-1-5-19 1>nul 2>nul && (
  52. reg query "HKLM\SOFTWARE\Microsoft\Windows Script Host\Settings" /v Enabled 2>nul | find /i "0x0" 1>nul && (set _WSH=0)
  53. )
  54. if %_WSH% EQU 0 goto :casvWSH
  55. if not exist "%SysPath%\vbscript.dll" goto :casvVBS
  56.  
  57. setlocal EnableDelayedExpansion
  58. echo %line2%
  59. echo ***                   Windows Status                     ***
  60. echo %line2%
  61. pushd "!_utemp!"
  62. copy /y %SystemRoot%\System32\slmgr.vbs . >nul 2>&1
  63. net start sppsvc /y >nul 2>&1
  64. %_cscript% slmgr.vbs /dli || (echo Error executing slmgr.vbs&del /f /q slmgr.vbs&popd&goto :casVend)
  65. %_cscript% slmgr.vbs /xpr
  66. del /f /q slmgr.vbs >nul 2>&1
  67. popd
  68. echo %line3%
  69.  
  70. :casVo16
  71. net start osppsvc /y >nul 2>&1
  72. set office=
  73. for /f "skip=2 tokens=2*" %%a in ('"reg query %_onat%\16.0\Common\InstallRoot /v Path" 2^>nul') do if exist "%%b\EntityPicker.dll" set "office=%%b"
  74. if exist "!office!\ospp.vbs" (
  75. set _sO16vbs=1
  76. echo.
  77. echo %line2%
  78. if %_sO15vbs% EQU 0 (
  79. echo ***              Office 2016 %_bit%-bit Status               ***
  80. ) else (
  81. echo ***               Office 2013/2016 Status                ***
  82. )
  83. echo %line2%
  84. %_cscript% "!office!\ospp.vbs" /dstatus
  85. )
  86. if %_wow%==0 goto :casVo13
  87. set office=
  88. for /f "skip=2 tokens=2*" %%a in ('"reg query %_owow%\16.0\Common\InstallRoot /v Path" 2^>nul') do if exist "%%b\EntityPicker.dll" set "office=%%b"
  89. if exist "!office!\ospp.vbs" (
  90. set _sO16vbs=1
  91. echo.
  92. echo %line2%
  93. if %_sO15vbs% EQU 0 (
  94. echo ***              Office 2016 32-bit Status               ***
  95. ) else (
  96. echo ***               Office 2013/2016 Status                ***
  97. )
  98. echo %line2%
  99. %_cscript% "!office!\ospp.vbs" /dstatus
  100. )
  101.  
  102. :casVo13
  103. if %_sO16vbs% EQU 1 goto :casVo10
  104. set office=
  105. for /f "skip=2 tokens=2*" %%a in ('"reg query %_onat%\15.0\Common\InstallRoot /v Path" 2^>nul') do if exist "%%b\EntityPicker.dll" set "office=%%b"
  106. if exist "!office!\ospp.vbs" (
  107. echo.
  108. echo %line2%
  109. echo ***              Office 2013 %_bit%-bit Status               ***
  110. echo %line2%
  111. %_cscript% "!office!\ospp.vbs" /dstatus
  112. )
  113. if %_wow%==0 goto :casVo10
  114. set office=
  115. for /f "skip=2 tokens=2*" %%a in ('"reg query %_owow%\15.0\Common\InstallRoot /v Path" 2^>nul') do if exist "%%b\EntityPicker.dll" set "office=%%b"
  116. if exist "!office!\ospp.vbs" (
  117. echo.
  118. echo %line2%
  119. echo ***              Office 2013 32-bit Status               ***
  120. echo %line2%
  121. %_cscript% "!office!\ospp.vbs" /dstatus
  122. )
  123.  
  124. :casVo10
  125. set office=
  126. for /f "skip=2 tokens=2*" %%a in ('"reg query %_onat%\14.0\Common\InstallRoot /v Path" 2^>nul') do if exist "%%b\EntityPicker.dll" set "office=%%b"
  127. if exist "!office!\ospp.vbs" (
  128. echo.
  129. echo %line2%
  130. echo ***              Office 2010 %_bit%-bit Status               ***
  131. echo %line2%
  132. %_cscript% "!office!\ospp.vbs" /dstatus
  133. )
  134. if %_wow%==0 goto :casVc16
  135. set office=
  136. for /f "skip=2 tokens=2*" %%a in ('"reg query %_owow%\14.0\Common\InstallRoot /v Path" 2^>nul') do if exist "%%b\EntityPicker.dll" set "office=%%b"
  137. if exist "!office!\ospp.vbs" (
  138. echo.
  139. echo %line2%
  140. echo ***              Office 2010 32-bit Status               ***
  141. echo %line2%
  142. %_cscript% "!office!\ospp.vbs" /dstatus
  143. )
  144.  
  145. :casVc16
  146. reg query %_onat%\ClickToRun /v InstallPath >nul 2>&1 || (
  147. reg query %_owow%\ClickToRun /v InstallPath >nul 2>&1 || goto :casVc13
  148. )
  149. set office=
  150. for /f "skip=2 tokens=2*" %%a in ('"reg query %_onat%\ClickToRun /v InstallPath" 2^>nul') do (set "office=%%b\Office16")
  151. if exist "!office!\ospp.vbs" (
  152. set _sO16vbs=1
  153. echo.
  154. echo %line2%
  155. if %_sO15vbs% EQU 0 (
  156. echo ***                Office 2016+ C2R Status               ***
  157. ) else (
  158. echo ***                  Office 2013+ Status                 ***
  159. )
  160. echo %line2%
  161. %_cscript% "!office!\ospp.vbs" /dstatus
  162. )
  163. if %_wow%==0 goto :casVc13
  164. set office=
  165. for /f "skip=2 tokens=2*" %%a in ('"reg query %_owow%\ClickToRun /v InstallPath" 2^>nul') do (set "office=%%b\Office16")
  166. if exist "!office!\ospp.vbs" (
  167. set _sO16vbs=1
  168. echo.
  169. echo %line2%
  170. if %_sO15vbs% EQU 0 (
  171. echo ***                Office 2016+ C2R Status               ***
  172. ) else (
  173. echo ***                  Office 2013+ Status                 ***
  174. )
  175. echo %line2%
  176. %_cscript% "!office!\ospp.vbs" /dstatus
  177. )
  178.  
  179. :casVc13
  180. if %_sO16vbs% EQU 1 goto :casVc10
  181. reg query %_onat%\15.0\ClickToRun /v InstallPath >nul 2>&1 || (
  182. reg query %_owow%\15.0\ClickToRun /v InstallPath >nul 2>&1 || goto :casVc10
  183. )
  184. set office=
  185. for %%G in (
  186. "%ProgramFiles%"
  187. "%ProgramW6432%"
  188. "%ProgramFiles(x86)%"
  189. ) do if exist "%%~G\Microsoft Office\Office15\ospp.vbs" (
  190. if not defined office set "office=%%~G\Microsoft Office\Office15\ospp.vbs"
  191. )
  192. if exist "!office!\ospp.vbs" (
  193. echo.
  194. echo %line2%
  195. echo ***                Office 2013 C2R Status                ***
  196. echo %line2%
  197. %_cscript% "!office!\ospp.vbs" /dstatus
  198. )
  199.  
  200. :casVc10
  201. if %_wow%==0 reg query %_onat%\14.0\CVH /f Click2run /k >nul 2>&1 || goto :casVend
  202. if %_wow%==1 reg query %_owow%\14.0\CVH /f Click2run /k >nul 2>&1 || goto :casVend
  203. set office=
  204. for %%G in (
  205. "%ProgramFiles%"
  206. "%ProgramW6432%"
  207. "%ProgramFiles(x86)%"
  208. ) do if exist "%%~G\Microsoft Office\Office14\ospp.vbs" (
  209. if not defined office set "office=%%~G\Microsoft Office\Office14\ospp.vbs"
  210. )
  211. if exist "!office!\ospp.vbs" (
  212. echo.
  213. echo %line2%
  214. echo ***                Office 2010 C2R Status                ***
  215. echo %line2%
  216. %_cscript% "!office!\ospp.vbs" /dstatus
  217. )
  218. goto :casVend
  219.  
  220. :casvVBS
  221. echo ==== ERROR ====
  222. echo VBScript engine is not installed.
  223. echo It is required for this script to work.
  224. goto :casVend
  225.  
  226. :casvWSH
  227. echo ==== ERROR ====
  228. echo Windows Script Host is disabled.
  229. echo It is required for this script to work.
  230. goto :casVend
  231.  
  232. :casVend
  233. echo.
  234. echo Press any key to exit.
  235. pause >nul
  236. exit /b
  237.  
Add Comment
Please, Sign In to add comment