You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
209 lines
7.0 KiB
Batchfile
209 lines
7.0 KiB
Batchfile
@setlocal DisableDelayedExpansion
|
|
@echo off
|
|
@cls
|
|
|
|
|
|
|
|
:: Check-Activation-Status-vbs.cmd
|
|
:: Written by @abbodi1406
|
|
:: forums.mydigitallife.net/posts/838808
|
|
|
|
|
|
|
|
set "_cmdf=%~f0"
|
|
if exist "%SystemRoot%\Sysnative\cmd.exe" (
|
|
setlocal EnableDelayedExpansion
|
|
start %SystemRoot%\Sysnative\cmd.exe /c ""!_cmdf!" "
|
|
exit /b
|
|
)
|
|
if exist "%SystemRoot%\SysArm32\cmd.exe" if /i %PROCESSOR_ARCHITECTURE%==AMD64 (
|
|
setlocal EnableDelayedExpansion
|
|
start %SystemRoot%\SysArm32\cmd.exe /c ""!_cmdf!" "
|
|
exit /b
|
|
)
|
|
color 07
|
|
title Check Activation Status [vbs]
|
|
set "SysPath=%SystemRoot%\System32"
|
|
if exist "%SystemRoot%\Sysnative\reg.exe" (set "SysPath=%SystemRoot%\Sysnative")
|
|
set "Path=%SysPath%;%SystemRoot%;%SysPath%\Wbem;%SysPath%\WindowsPowerShell\v1.0\"
|
|
set "_bit=64"
|
|
set "_wow=1"
|
|
if /i "%PROCESSOR_ARCHITECTURE%"=="x86" if "%PROCESSOR_ARCHITEW6432%"=="" set "_wow=0"&set "_bit=32"
|
|
set "_utemp=%TEMP%"
|
|
set "line2=************************************************************"
|
|
set "line3=____________________________________________________________"
|
|
set _sO16vbs=0
|
|
set _sO15vbs=0
|
|
if exist "%ProgramFiles%\Microsoft Office\Office15\ospp.vbs" (
|
|
set _sO15vbs=1
|
|
) else if exist "%ProgramW6432%\Microsoft Office\Office15\ospp.vbs" (
|
|
set _sO15vbs=1
|
|
) else if exist "%ProgramFiles(x86)%\Microsoft Office\Office15\ospp.vbs" (
|
|
set _sO15vbs=1
|
|
)
|
|
setlocal EnableDelayedExpansion
|
|
echo %line2%
|
|
echo *** Windows Status ***
|
|
echo %line2%
|
|
pushd "!_utemp!"
|
|
copy /y %SystemRoot%\System32\slmgr.vbs . >nul 2>&1
|
|
net start sppsvc /y >nul 2>&1
|
|
cscript //nologo slmgr.vbs /dli || (echo Error executing slmgr.vbs&del /f /q slmgr.vbs&popd&goto :casVend)
|
|
cscript //nologo slmgr.vbs /xpr
|
|
del /f /q slmgr.vbs >nul 2>&1
|
|
popd
|
|
echo %line3%
|
|
|
|
:casVo16
|
|
set office=
|
|
for /f "skip=2 tokens=2*" %%a in ('"reg query HKLM\SOFTWARE\Microsoft\Office\16.0\Common\InstallRoot /v Path" 2^>nul') do (set "office=%%b")
|
|
if exist "!office!\ospp.vbs" (
|
|
set _sO16vbs=1
|
|
echo.
|
|
echo %line2%
|
|
if %_sO15vbs% EQU 0 (
|
|
echo *** Office 2016 %_bit%-bit Status ***
|
|
) else (
|
|
echo *** Office 2013/2016 Status ***
|
|
)
|
|
echo %line2%
|
|
cscript //nologo "!office!\ospp.vbs" /dstatus
|
|
)
|
|
if %_wow%==0 goto :casVo13
|
|
set office=
|
|
for /f "skip=2 tokens=2*" %%a in ('"reg query HKLM\SOFTWARE\Wow6432Node\Microsoft\Office\16.0\Common\InstallRoot /v Path" 2^>nul') do (set "office=%%b")
|
|
if exist "!office!\ospp.vbs" (
|
|
set _sO16vbs=1
|
|
echo.
|
|
echo %line2%
|
|
if %_sO15vbs% EQU 0 (
|
|
echo *** Office 2016 32-bit Status ***
|
|
) else (
|
|
echo *** Office 2013/2016 Status ***
|
|
)
|
|
echo %line2%
|
|
cscript //nologo "!office!\ospp.vbs" /dstatus
|
|
)
|
|
|
|
:casVo13
|
|
if %_sO16vbs% EQU 1 goto :casVo10
|
|
set office=
|
|
for /f "skip=2 tokens=2*" %%a in ('"reg query HKLM\SOFTWARE\Microsoft\Office\15.0\Common\InstallRoot /v Path" 2^>nul') do (set "office=%%b")
|
|
if exist "!office!\ospp.vbs" (
|
|
echo.
|
|
echo %line2%
|
|
echo *** Office 2013 %_bit%-bit Status ***
|
|
echo %line2%
|
|
cscript //nologo "!office!\ospp.vbs" /dstatus
|
|
)
|
|
if %_wow%==0 goto :casVo10
|
|
set office=
|
|
for /f "skip=2 tokens=2*" %%a in ('"reg query HKLM\SOFTWARE\Wow6432Node\Microsoft\Office\15.0\Common\InstallRoot /v Path" 2^>nul') do (set "office=%%b")
|
|
if exist "!office!\ospp.vbs" (
|
|
echo.
|
|
echo %line2%
|
|
echo *** Office 2013 32-bit Status ***
|
|
echo %line2%
|
|
cscript //nologo "!office!\ospp.vbs" /dstatus
|
|
)
|
|
|
|
:casVo10
|
|
set office=
|
|
for /f "skip=2 tokens=2*" %%a in ('"reg query HKLM\SOFTWARE\Microsoft\Office\14.0\Common\InstallRoot /v Path" 2^>nul') do (set "office=%%b")
|
|
if exist "!office!\ospp.vbs" (
|
|
echo.
|
|
echo %line2%
|
|
echo *** Office 2010 %_bit%-bit Status ***
|
|
echo %line2%
|
|
cscript //nologo "!office!\ospp.vbs" /dstatus
|
|
)
|
|
if %_wow%==0 goto :casVc16
|
|
set office=
|
|
for /f "skip=2 tokens=2*" %%a in ('"reg query HKLM\SOFTWARE\Wow6432Node\Microsoft\Office\14.0\Common\InstallRoot /v Path" 2^>nul') do (set "office=%%b")
|
|
if exist "!office!\ospp.vbs" (
|
|
echo.
|
|
echo %line2%
|
|
echo *** Office 2010 32-bit Status ***
|
|
echo %line2%
|
|
cscript //nologo "!office!\ospp.vbs" /dstatus
|
|
)
|
|
|
|
:casVc16
|
|
reg query HKLM\SOFTWARE\Microsoft\Office\ClickToRun /v InstallPath >nul 2>&1 || (
|
|
reg query HKLM\SOFTWARE\WOW6432Node\Microsoft\Office\ClickToRun /v InstallPath >nul 2>&1 || goto :casVc13
|
|
)
|
|
set office=
|
|
for /f "skip=2 tokens=2*" %%a in ('"reg query HKLM\SOFTWARE\Microsoft\Office\ClickToRun /v InstallPath" 2^>nul') do (set "office=%%b\Office16")
|
|
if exist "!office!\ospp.vbs" (
|
|
set _sO16vbs=1
|
|
echo.
|
|
echo %line2%
|
|
if %_sO15vbs% EQU 0 (
|
|
echo *** Office 2016-2021 C2R Status ***
|
|
) else (
|
|
echo *** Office 2013-2021 Status ***
|
|
)
|
|
echo %line2%
|
|
cscript //nologo "!office!\ospp.vbs" /dstatus
|
|
)
|
|
if %_wow%==0 goto :casVc13
|
|
set office=
|
|
for /f "skip=2 tokens=2*" %%a in ('"reg query HKLM\SOFTWARE\WOW6432Node\Microsoft\Office\ClickToRun /v InstallPath" 2^>nul') do (set "office=%%b\Office16")
|
|
if exist "!office!\ospp.vbs" (
|
|
set _sO16vbs=1
|
|
echo.
|
|
echo %line2%
|
|
if %_sO15vbs% EQU 0 (
|
|
echo *** Office 2016-2021 C2R Status ***
|
|
) else (
|
|
echo *** Office 2013-2021 Status ***
|
|
)
|
|
echo %line2%
|
|
cscript //nologo "!office!\ospp.vbs" /dstatus
|
|
)
|
|
|
|
:casVc13
|
|
if %_sO16vbs% EQU 1 goto :casVc10
|
|
reg query HKLM\SOFTWARE\Microsoft\Office\15.0\ClickToRun /v InstallPath >nul 2>&1 || (
|
|
reg query HKLM\SOFTWARE\WOW6432Node\Microsoft\Office\15.0\ClickToRun /v InstallPath >nul 2>&1 || goto :casVc10
|
|
)
|
|
set office=
|
|
if exist "%ProgramFiles%\Microsoft Office\Office15\ospp.vbs" (
|
|
set "office=%ProgramFiles%\Microsoft Office\Office15"
|
|
) else if exist "%ProgramW6432%\Microsoft Office\Office15\ospp.vbs" (
|
|
set "office=%ProgramW6432%\Microsoft Office\Office15"
|
|
) else if exist "%ProgramFiles(x86)%\Microsoft Office\Office15\ospp.vbs" (
|
|
set "office=%ProgramFiles(x86)%\Microsoft Office\Office15"
|
|
)
|
|
if exist "!office!\ospp.vbs" (
|
|
echo.
|
|
echo %line2%
|
|
echo *** Office 2013 C2R Status ***
|
|
echo %line2%
|
|
cscript //nologo "!office!\ospp.vbs" /dstatus
|
|
)
|
|
|
|
:casVc10
|
|
if %_wow%==0 reg query HKLM\SOFTWARE\Microsoft\Office\14.0\CVH /f Click2run /k >nul 2>&1 || goto :casVend
|
|
if %_wow%==1 reg query HKLM\SOFTWARE\Wow6432Node\Microsoft\Office\14.0\CVH /f Click2run /k >nul 2>&1 || goto :casVend
|
|
set office=
|
|
if exist "%ProgramFiles%\Microsoft Office\Office14\ospp.vbs" (
|
|
set "office=%ProgramFiles%\Microsoft Office\Office14"
|
|
) else if exist "%ProgramW6432%\Microsoft Office\Office14\ospp.vbs" (
|
|
set "office=%ProgramW6432%\Microsoft Office\Office14"
|
|
) else if exist "%ProgramFiles(x86)%\Microsoft Office\Office14\ospp.vbs" (
|
|
set "office=%ProgramFiles(x86)%\Microsoft Office\Office14"
|
|
)
|
|
if exist "!office!\ospp.vbs" (
|
|
echo.
|
|
echo %line2%
|
|
echo *** Office 2010 C2R Status ***
|
|
echo %line2%
|
|
cscript //nologo "!office!\ospp.vbs" /dstatus
|
|
)
|
|
|
|
:casVend
|
|
echo.
|
|
echo Press any key to exit.
|
|
pause >nul
|
|
exit /b |