Compare commits

..

No commits in common. "5ebc9f71a8be0c7eb033d8b107e538cefdc9eb18" and "151763dd1841199f22e3055ceaeb618867f5fdb4" have entirely different histories.

9 changed files with 249 additions and 267 deletions

View File

@ -221,7 +221,7 @@ if not defined _MASunattended (
echo [1] Get Latest MAS echo [1] Get Latest MAS
echo [0] Continue Anyway echo [0] Continue Anyway
echo: echo:
call :_color %_Green% "Enter a menu option in the Keyboard [1,0] :" call :_color %_Green% "Enter a menu option on your keyboard [1,0] :"
choice /C:10 /N choice /C:10 /N
if !errorlevel!==2 rem if !errorlevel!==2 rem
if !errorlevel!==1 (start ht%-%tps://github.com/mass%-%gravel/Microsoft-Acti%-%vation-Scripts & start %mas% & exit /b) if !errorlevel!==1 (start ht%-%tps://github.com/mass%-%gravel/Microsoft-Acti%-%vation-Scripts & start %mas% & exit /b)
@ -285,7 +285,7 @@ echo: [8] Help
echo: [0] Exit echo: [0] Exit
echo: ______________________________________________________________ echo: ______________________________________________________________
echo: echo:
call :_color2 %_White% " " %_Green% "Enter a menu option in the Keyboard [1,2,3,4,5,6,7,8,0] :" call :_color2 %_White% " " %_Green% "Enter a menu option on your keyboard [1,2,3,4,5,6,7,8,0] :"
choice /C:123456780 /N choice /C:123456780 /N
set _erl=%errorlevel% set _erl=%errorlevel%
@ -326,7 +326,7 @@ echo:
echo: [0] Go to Main Menu echo: [0] Go to Main Menu
echo: ______________________________________________________________ echo: ______________________________________________________________
echo: echo:
call :_color2 %_White% " " %_Green% "Enter a menu option in the Keyboard [1,2,3,4,0] :" call :_color2 %_White% " " %_Green% "Enter a menu option on your keyboard [1,2,3,4,0] :"
choice /C:12340 /N choice /C:12340 /N
set _erl=%errorlevel% set _erl=%errorlevel%
@ -392,7 +392,7 @@ call :_color2 %_White% " [R] " %_Green% "ReadMe"
echo: [0] Go Back echo: [0] Go Back
echo: ________________________________________________________ echo: ________________________________________________________
echo: echo:
call :_color2 %_White% " " %_Green% "Enter a menu option in the Keyboard:" call :_color2 %_White% " " %_Green% "Enter a menu option on your keyboard:"
choice /C:123456789R0 /N choice /C:123456789R0 /N
set _erl=%errorlevel% set _erl=%errorlevel%
@ -1786,7 +1786,7 @@ echo:
echo [0] %_exitmsg% echo [0] %_exitmsg%
echo ____________________________________________________________ echo ____________________________________________________________
echo: echo:
call :dk_color2 %_White% " " %_Green% "Enter a menu option in the Keyboard [1,2,3,0]" call :dk_color2 %_White% " " %_Green% "Enter a menu option on your keyboard [1,2,3,0]"
choice /C:1230 /N choice /C:1230 /N
set _el=!errorlevel! set _el=!errorlevel!
if !_el!==4 exit /b if !_el!==4 exit /b
@ -3111,7 +3111,7 @@ echo:
echo [0] %_exitmsg% echo [0] %_exitmsg%
echo ____________________________________________________________ echo ____________________________________________________________
echo: echo:
call :dk_color2 %_White% " " %_Green% "Enter a menu option in the Keyboard [1,2,0]" call :dk_color2 %_White% " " %_Green% "Enter a menu option on your keyboard [1,2,0]"
choice /C:120 /N choice /C:120 /N
set _el=!errorlevel! set _el=!errorlevel!
if !_el!==3 exit /b if !_el!==3 exit /b
@ -4047,7 +4047,7 @@ echo.
echo. [0] %_exitmsg% echo. [0] %_exitmsg%
echo. ______________________________________________________________ echo. ______________________________________________________________
echo. echo.
call :_color2 %_White% " " %_Green% "Enter a menu option in the Keyboard [1,2,3,4,5,6,7,0]" call :_color2 %_White% " " %_Green% "Enter a menu option on your keyboard [1,2,3,4,5,6,7,0]"
choice /C:12345670 /N choice /C:12345670 /N
set _el=%errorlevel% set _el=%errorlevel%
@ -8799,7 +8799,7 @@ echo:
echo: [0] %_exitmsg% echo: [0] %_exitmsg%
echo: _______________________________________________________________ echo: _______________________________________________________________
echo: echo:
call :_color2 %_White% " " %_Green% "Enter a menu option in the Keyboard :" call :_color2 %_White% " " %_Green% "Enter a menu option on your keyboard :"
choice /C:1234560 /N choice /C:1234560 /N
set _erl=%errorlevel% set _erl=%errorlevel%

View File

@ -104,7 +104,7 @@ set "mas=ht%blank%tps%blank%://mass%blank%grave.dev/"
sc query Null | find /i "RUNNING" sc query Null | find /i "RUNNING"
if %errorlevel% NEQ 0 ( if %errorlevel% NEQ 0 (
echo: echo:
echo Null service is not running, script may crash... echo The Null service, which is required for the script to operate, is not running.
echo: echo:
echo: echo:
echo Help - %mas%troubleshoot echo Help - %mas%troubleshoot
@ -119,7 +119,7 @@ cls
pushd "%~dp0" pushd "%~dp0"
>nul findstr /v "$" "%~nx0" && ( >nul findstr /v "$" "%~nx0" && (
echo: echo:
echo Error - Script either has LF line ending issue or an empty line at the end of the script is missing. echo Error - The script either has an LF line ending issue or an empty line at the end of the script is missing.
echo: echo:
echo: echo:
echo Help - %mas%troubleshoot echo Help - %mas%troubleshoot
@ -236,7 +236,7 @@ goto dk_done
%nul1% fltmc || ( %nul1% fltmc || (
if not defined _elev %psc% "start cmd.exe -arg '/c \"!_PSarg!\"' -verb runas" && exit /b if not defined _elev %psc% "start cmd.exe -arg '/c \"!_PSarg!\"' -verb runas" && exit /b
%eline% %eline%
echo This script needs admin rights. echo This script needs administrator rights.
echo Right click on this script and select 'Run as administrator'. echo Right click on this script and select 'Run as administrator'.
goto dk_done goto dk_done
) )
@ -450,7 +450,7 @@ if not defined key call :hwidfallback
if defined altkey (set key=%altkey%&set changekey=1&set notworking=) if defined altkey (set key=%altkey%&set changekey=1&set notworking=)
if defined notworking if defined notfoundaltactID ( if defined notworking if defined notfoundaltactID (
call :dk_color %Red% "Checking Alternate Edition For HWID [%altedition% Activation ID Not Found]" call :dk_color %Red% "Checking for Alternate Edition to Use for HWID [%altedition% Activation ID Not Found]"
) )
if not defined key ( if not defined key (
@ -484,7 +484,7 @@ echo:
) )
if defined winsub ( if defined winsub (
call :dk_color %Blue% "Windows Subscription [SKU ID-%slcSKU%] detected. Script will activate base edition [SKU ID-%regSKU%]." call :dk_color %Blue% "Windows Subscription edition [SKU ID-%slcSKU%] detected. The script will activate the base edition [SKU ID-%regSKU%]."
echo: echo:
) )
@ -502,9 +502,9 @@ if not "%name%"=="US" (
set regionchange=1 set regionchange=1
%psc% "Set-WinHomeLocation -GeoId 244" %nul% %psc% "Set-WinHomeLocation -GeoId 244" %nul%
if !errorlevel! EQU 0 ( if !errorlevel! EQU 0 (
echo Changing Windows Region To USA [Successful] echo Changing the Windows Region to USA [Successful]
) else ( ) else (
call :dk_color %Red% "Changing Windows Region To USA [Failed]" call :dk_color %Red% "Changing the Windows Region to USA [Failed]"
) )
) )
@ -639,7 +639,7 @@ if not defined resfail (
if defined resfail ( if defined resfail (
set error=1 set error=1
echo: echo:
call :dk_color %Red% "Checking Licensing Servers [Failed to Connect]" call :dk_color %Red% "Connecting to Licensing Servers [Failed to Connect]"
set fixes=%fixes% %mas%licensing-servers-issue set fixes=%fixes% %mas%licensing-servers-issue
call :dk_color2 %Blue% "Help - " %_Yellow% " %mas%licensing-servers-issue" call :dk_color2 %Blue% "Help - " %_Yellow% " %mas%licensing-servers-issue"
) )
@ -657,11 +657,11 @@ call :dk_color %Red% "Generating New IdentityCRL Registry [Failed] [%_ident%
reg query "HKLM\SOFTWARE\Policies\Microsoft\Windows\WindowsUpdate" /v DisableWindowsUpdateAccess %nul2% | find /i "0x1" %nul% && set wublock=1 reg query "HKLM\SOFTWARE\Policies\Microsoft\Windows\WindowsUpdate" /v DisableWindowsUpdateAccess %nul2% | find /i "0x1" %nul% && set wublock=1
reg query "HKLM\SOFTWARE\Policies\Microsoft\Windows\WindowsUpdate" /v DoNotConnectToWindowsUpdateInternetLocations %nul2% | find /i "0x1" %nul% && set wublock=1 reg query "HKLM\SOFTWARE\Policies\Microsoft\Windows\WindowsUpdate" /v DoNotConnectToWindowsUpdateInternetLocations %nul2% | find /i "0x1" %nul% && set wublock=1
if defined wublock call :dk_color %Red% "Checking Update Blocker In Registry [Found]" if defined wublock call :dk_color %Red% "Checking for Windows Update Blocker in Registry [Found]"
reg query "HKLM\SOFTWARE\Policies\Microsoft\WindowsStore" /v DisableStoreApps %nul2% | find /i "0x1" %nul% && ( reg query "HKLM\SOFTWARE\Policies\Microsoft\WindowsStore" /v DisableStoreApps %nul2% | find /i "0x1" %nul% && (
set storeblock=1 set storeblock=1
call :dk_color %Red% "Checking Store Blocker In Registry [Found]" call :dk_color %Red% "Checking for Microsoft Store Blocker in Registry [Found]"
) )
for %%G in (DependOnService Description DisplayName ErrorControl ImagePath ObjectName Start Type ServiceSidType RequiredPrivileges FailureActions) do if not defined wucorrupt ( for %%G in (DependOnService Description DisplayName ErrorControl ImagePath ObjectName Start Type ServiceSidType RequiredPrivileges FailureActions) do if not defined wucorrupt (
@ -687,7 +687,7 @@ REM Check Internet related error codes
if not defined wucorrupt if not defined wublock if not defined wuerror if not defined storeblock ( if not defined wucorrupt if not defined wublock if not defined wuerror if not defined storeblock (
echo "%error_code%" | findstr /i "0x80072e 0x80072f 0x800704cf 0x87e10bcf 0x800705b4" %nul% && ( echo "%error_code%" | findstr /i "0x80072e 0x80072f 0x800704cf 0x87e10bcf 0x800705b4" %nul% && (
call :dk_color %Red% "Checking Internet Issues [Found] %error_code%" call :dk_color %Red% "Checking for Internet Issues [Found] %error_code%"
set fixes=%fixes% %mas%licensing-servers-issue set fixes=%fixes% %mas%licensing-servers-issue
call :dk_color2 %Blue% "Help - " %_Yellow% " %mas%licensing-servers-issue" call :dk_color2 %Blue% "Help - " %_Yellow% " %mas%licensing-servers-issue"
) )
@ -720,9 +720,9 @@ echo:
if defined regionchange ( if defined regionchange (
%psc% "Set-WinHomeLocation -GeoId %nation%" %nul% %psc% "Set-WinHomeLocation -GeoId %nation%" %nul%
if !errorlevel! EQU 0 ( if !errorlevel! EQU 0 (
echo Restoring Windows Region [Successful] echo Restoring the Windows Region [Successful]
) else ( ) else (
call :dk_color %Red% "Restoring Windows Region [Failed] [%name% - %nation%]" call :dk_color %Red% "Restoring the Windows Region [Failed] [%name% - %nation%]"
) )
) )
@ -931,7 +931,7 @@ exit /b
:dk_reeval :dk_reeval
:: This key is left by the system in rearm process and sppsvc sometimes fails to delete it, it causes issues in working of the Scheduled Tasks of SPP :: This key is left by the system during the rearm process and sppsvc sometimes fails to delete it, it causes severe issues with SPP's scheduled tasks leading to random deactivations.
set "ruleskey=HKU\S-1-5-20\Software\Microsoft\Windows NT\CurrentVersion\SoftwareProtectionPlatform\PersistedSystemState" set "ruleskey=HKU\S-1-5-20\Software\Microsoft\Windows NT\CurrentVersion\SoftwareProtectionPlatform\PersistedSystemState"
reg delete "%ruleskey%" /v "State" /f %nul% reg delete "%ruleskey%" /v "State" /f %nul%
@ -1072,7 +1072,7 @@ set pupfound=%pupfound1%%pupfound2%
set hcount=0 set hcount=0
for %%# in (avira.com kaspersky.com virustotal.com mcafee.com) do ( for %%# in (avira.com kaspersky.com virustotal.com mcafee.com) do (
find /i "%%#" %SysPath%\drivers\etc\hosts %nul% && set /a hcount+=1) find /i "%%#" %SysPath%\drivers\etc\hosts %nul% && set /a hcount+=1)
if %hcount%==4 set "results=[Antivirus URLs are blocked in hosts]" if %hcount%==4 set "results=[Antivirus URL's are blocked in hosts]"
set wucount=0 set wucount=0
for %%# in (wuauserv) do ( for %%# in (wuauserv) do (
@ -1091,9 +1091,8 @@ if not exist %SysPath%\sppsvc.exe if not exist %SysPath%\alg.exe (set "results=%
) )
if not "%results%%pupfound%"=="" ( if not "%results%%pupfound%"=="" (
if defined pupfound call :dk_color %Gray% "Checking PUP Activators [Found%pupfound%]" if defined pupfound call :dk_color %Gray% "Checking for PUP Activators [Found%pupfound%]"
if defined results call :dk_color %Red% "Checking Probable Mal%w%ware Infection..." if defined results call :dk_color %Red% "Checking for Probable Mal%w%ware Infection %results%"
if defined results call :dk_color %Red% "%results%"
set fixes=%fixes% %mas%remove_mal%w%ware set fixes=%fixes% %mas%remove_mal%w%ware
call :dk_color2 %Blue% "Help - " %_Yellow% " %mas%remove_mal%w%ware" call :dk_color2 %Blue% "Help - " %_Yellow% " %mas%remove_mal%w%ware"
echo: echo:
@ -1112,7 +1111,7 @@ call :dk_chkmal
sc query Null %nul% || ( sc query Null %nul% || (
set error=1 set error=1
set showfix=1 set showfix=1
call :dk_color %Red% "Checking Sandboxing [Found, script may not work properly.]" call :dk_color %Red% "Checking for Sandboxing [Found, script may not work properly.]"
call :dk_color %Blue% "If you are using any third-party antivirus, check if it is blocking the script." call :dk_color %Blue% "If you are using any third-party antivirus, check if it is blocking the script."
echo: echo:
) )
@ -1137,7 +1136,7 @@ if defined _corrupt (if defined serv_cor (set "serv_cor=!serv_cor! %%#") else (s
if defined serv_cor ( if defined serv_cor (
set error=1 set error=1
set showfix=1 set showfix=1
call :dk_color %Red% "Checking Corrupt Services [%serv_cor%]" call :dk_color %Red% "Checking for Corrupt Services [%serv_cor%]"
) )
::======================================================================================================================================== ::========================================================================================================================================
@ -1201,7 +1200,7 @@ if defined checkerror if defined serv_e (set "serv_e=!serv_e!, %%#-!errorcode!")
if defined serv_e ( if defined serv_e (
set error=1 set error=1
call :dk_color %Red% "Starting Services [Failed] [%serv_e%]" call :dk_color %Red% "Starting Services [Failed] [%serv_e%]"
echo %serv_e% | findstr /i "ClipSVC-1058 sppsvc-1058" %nul% && ( echo %serv_e% | findstr /i "ClipSVC-1058 sppsvc-1058" %nul% && (
call :dk_color %Blue% "Restart your system to fix this error." call :dk_color %Blue% "Restart your system to fix this error."
set showfix=1 set showfix=1
@ -1215,17 +1214,17 @@ set showfix=1
if defined safeboot_option ( if defined safeboot_option (
set error=1 set error=1
set showfix=1 set showfix=1
call :dk_color2 %Red% "Checking Boot Mode [%safeboot_option%] " %Blue% "[Safe mode found. Run in normal mode.]" call :dk_color2 %Red% "Checking Boot Mode [%safeboot_option%] " %Blue% "[Safe mode detected. Run the script in normal mode.]"
) )
for /f "skip=2 tokens=2*" %%A in ('reg query "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Setup\State" /v ImageState') do (set imagestate=%%B) for /f "skip=2 tokens=2*" %%A in ('reg query "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Setup\State" /v ImageState') do (set imagestate=%%B)
if /i not "%imagestate%"=="IMAGE_STATE_COMPLETE" ( if /i not "%imagestate%"=="IMAGE_STATE_COMPLETE" (
set error=1 set error=1
call :dk_color %Red% "Checking Windows Setup State [%imagestate%]" call :dk_color %Red% "Checking Windows Setup State [%imagestate%]"
echo "%imagestate%" | find /i "RESEAL" %nul% && ( echo "%imagestate%" | find /i "RESEAL" %nul% && (
set showfix=1 set showfix=1
call :dk_color %Blue% "You need to run it in normal mode in case you are running it in Audit Mode." call :dk_color %Blue% "You need to run the script in normal mode if you are running the script in Audit Mode."
) )
) )
@ -1233,7 +1232,7 @@ call :dk_color %Blue% "You need to run it in normal mode in case you are running
reg query "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\WinPE" /v InstRoot %nul% && ( reg query "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\WinPE" /v InstRoot %nul% && (
set error=1 set error=1
set showfix=1 set showfix=1
call :dk_color2 %Red% "Checking WinPE " %Blue% "[WinPE mode found. Run in normal mode.]" call :dk_color2 %Red% "Checking for WinPE mode " %Blue% "[WinPE mode detected. Run the script in normal mode.]"
) )
@ -1243,16 +1242,16 @@ for /f "delims=" %%a in ('%psc% "$f=[io.file]::ReadAllText('!_batp!') -split ':w
echo "%wpainfo%" | find /i "Error Found" %nul% && ( echo "%wpainfo%" | find /i "Error Found" %nul% && (
set error=1 set error=1
set wpaerror=1 set wpaerror=1
call :dk_color %Red% "Checking WPA Registry Errors [%wpainfo%]" call :dk_color %Red% "Checking for WPA Registry Errors [%wpainfo%]"
) || ( ) || (
echo Checking WPA Registry Count [%wpainfo%] echo Checking WPA Registry Count [%wpainfo%]
) )
if not defined officeact if exist "%SystemRoot%\Servicing\Packages\Microsoft-Windows-*EvalEdition~*.mum" ( if not defined officeact if exist "%SystemRoot%\Servicing\Packages\Microsoft-Windows-*EvalEdition~*.mum" (
reg query "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion" /v EditionID %nul2% | find /i "Eval" %nul1% || ( reg query "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion" /v EditionID %nul2% | find /i "Eval" %nul1% || (
set error=1 set error=1
call :dk_color %Red% "Checking Eval Packages [Non-Eval Licenses are installed in Eval Windows]" call :dk_color %Red% "Checking for Evaluation Packages [Non-Evaluation Licenses are installed in Evaluation Windows]"
set fixes=%fixes% %mas%evaluation_editions set fixes=%fixes% %mas%evaluation_editions
call :dk_color2 %Blue% "Help - " %_Yellow% " %mas%evaluation_editions" call :dk_color2 %Blue% "Help - " %_Yellow% " %mas%evaluation_editions"
) )
@ -1271,18 +1270,18 @@ if "%osSKU%"=="165" set osedition=ProfessionalEducationN
if not defined officeact ( if not defined officeact (
if %osedition%==0 ( if %osedition%==0 (
call :dk_color %Red% "Checking Edition Name [Not Found In Registry]" call :dk_color %Red% "Checking for Edition Name [Not Found In Registry]"
) else ( ) else (
if not exist "%SysPath%\spp\tokens\skus\%osedition%\%osedition%*.xrm-ms" if not exist "%SysPath%\spp\tokens\skus\Security-SPP-Component-SKU-%osedition%\*-%osedition%-*.xrm-ms" ( if not exist "%SysPath%\spp\tokens\skus\%osedition%\%osedition%*.xrm-ms" if not exist "%SysPath%\spp\tokens\skus\Security-SPP-Component-SKU-%osedition%\*-%osedition%-*.xrm-ms" (
set error=1 set error=1
set skunotfound=1 set skunotfound=1
call :dk_color %Red% "Checking License Files [Not Found] [%osedition%]" call :dk_color %Red% "Checking for License Files [Not Found] [%osedition%]"
) )
if not exist "%SystemRoot%\Servicing\Packages\Microsoft-Windows-*-%osedition%-*.mum" ( if not exist "%SystemRoot%\Servicing\Packages\Microsoft-Windows-*-%osedition%-*.mum" (
set error=1 set error=1
call :dk_color %Red% "Checking Package Files [Not Found] [%osedition%]" call :dk_color %Red% "Checking for Package Files [Not Found] [%osedition%]"
) )
) )
) )
@ -1294,7 +1293,7 @@ cmd /c exit /b %error_code%
if %error_code% NEQ 0 set "error_code=0x%=ExitCode%" if %error_code% NEQ 0 set "error_code=0x%=ExitCode%"
if %error_code% NEQ 0 ( if %error_code% NEQ 0 (
set error=1 set error=1
call :dk_color %Red% "Checking SoftwareLicensingService [Not Working] %error_code%" call :dk_color %Red% "Checking SoftwareLicensingService [Not Working] %error_code%"
) )
@ -1306,7 +1305,7 @@ if %errorlevel% NEQ 0 set wmifailed=1
echo "%error_code%" | findstr /i "0x800410 0x800440" %nul1% && set wmifailed=1& :: https://learn.microsoft.com/en-us/windows/win32/wmisdk/wmi-error-constants echo "%error_code%" | findstr /i "0x800410 0x800440" %nul1% && set wmifailed=1& :: https://learn.microsoft.com/en-us/windows/win32/wmisdk/wmi-error-constants
if defined wmifailed ( if defined wmifailed (
set error=1 set error=1
call :dk_color %Red% "Checking WMI [Not Working]" call :dk_color %Red% "Checking WMI [Not Working]"
if not defined showfix call :dk_color %Blue% "Go back to Main Menu, select Troubleshoot and run Fix WMI option." if not defined showfix call :dk_color %Blue% "Go back to Main Menu, select Troubleshoot and run Fix WMI option."
set showfix=1 set showfix=1
) )
@ -1331,14 +1330,14 @@ call :dk_color %Gray% "Checking SLC/WMI SKU [Difference Found
reg query "HKU\S-1-5-20\Software\Microsoft\Windows NT\CurrentVersion\SoftwareProtectionPlatform\PersistedTSReArmed" %nul% && ( reg query "HKU\S-1-5-20\Software\Microsoft\Windows NT\CurrentVersion\SoftwareProtectionPlatform\PersistedTSReArmed" %nul% && (
set error=1 set error=1
set showfix=1 set showfix=1
call :dk_color2 %Red% "Checking Rearm " %Blue% "[System Restart Is Required]" call :dk_color2 %Red% "Checking for Rearm " %Blue% "[System Restart is Required]"
) )
reg query "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\ClipSVC\Volatile\PersistedSystemState" %nul% && ( reg query "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\ClipSVC\Volatile\PersistedSystemState" %nul% && (
set error=1 set error=1
set showfix=1 set showfix=1
call :dk_color2 %Red% "Checking ClipSVC " %Blue% "[System Restart Is Required]" call :dk_color2 %Red% "Checking for ClipSVC Volatile Key " %Blue% "[System Restart is Required]"
) )
@ -1346,14 +1345,14 @@ call :dk_color2 %Red% "Checking ClipSVC " %Blue% "[System
if exist "%SysPath%\wlms\wlms.exe" ( if exist "%SysPath%\wlms\wlms.exe" (
sc query wlms | find /i "RUNNING" %nul% && ( sc query wlms | find /i "RUNNING" %nul% && (
echo Checking Eval WLMS Service [Found] echo Checking for Evaluation WLMS Service [Found]
) )
) )
reg query "HKU\S-1-5-20\Software\Microsoft\Windows NT\CurrentVersion" %nul% || ( reg query "HKU\S-1-5-20\Software\Microsoft\Windows NT\CurrentVersion" %nul% || (
set error=1 set error=1
call :dk_color %Red% "Checking HKU\S-1-5-20 Registry [Not Found]" call :dk_color %Red% "Checking HKU\S-1-5-20 Registry [Not Found]"
set fixes=%fixes% %mas%troubleshoot set fixes=%fixes% %mas%troubleshoot
call :dk_color2 %Blue% "Help - " %_Yellow% " %mas%troubleshoot" call :dk_color2 %Blue% "Help - " %_Yellow% " %mas%troubleshoot"
) )
@ -1363,20 +1362,20 @@ for %%# in (SppEx%w%tComObj.exe sppsvc.exe) do (
reg query "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Ima%w%ge File Execu%w%tion Options\%%#" %nul% && (if defined _sppint (set "_sppint=!_sppint!, %%#") else (set "_sppint=%%#")) reg query "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Ima%w%ge File Execu%w%tion Options\%%#" %nul% && (if defined _sppint (set "_sppint=!_sppint!, %%#") else (set "_sppint=%%#"))
) )
if defined _sppint ( if defined _sppint (
echo Checking SPP Interference In IFEO [%_sppint%] echo Checking for SPP Interference In IFEO [%_sppint%]
) )
for /f "skip=2 tokens=2*" %%a in ('reg query "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\SoftwareProtectionPlatform" /v "SkipRearm" %nul6%') do if /i %%b NEQ 0x0 ( for /f "skip=2 tokens=2*" %%a in ('reg query "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\SoftwareProtectionPlatform" /v "SkipRearm" %nul6%') do if /i %%b NEQ 0x0 (
reg add "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\SoftwareProtectionPlatform" /v "SkipRearm" /t REG_DWORD /d "0" /f %nul% reg add "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\SoftwareProtectionPlatform" /v "SkipRearm" /t REG_DWORD /d "0" /f %nul%
call :dk_color %Red% "Checking SkipRearm [Default 0 Value Not Found. Changing To 0]" call :dk_color %Red% "Checking for SkipRearm Registry Key [Default 0 Value Not Found. Changing to 0]"
%psc% "Start-Job { Stop-Service sppsvc -force } | Wait-Job -Timeout 10 | Out-Null" %psc% "Start-Job { Stop-Service sppsvc -force } | Wait-Job -Timeout 10 | Out-Null"
set error=1 set error=1
) )
reg query "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\SoftwareProtectionPlatform\Plugins\Objects\msft:rm/algorithm/hwid/4.0" /f ba02fed39662 /d %nul% || ( reg query "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\SoftwareProtectionPlatform\Plugins\Objects\msft:rm/algorithm/hwid/4.0" /f ba02fed39662 /d %nul% || (
call :dk_color %Red% "Checking SPP Registry Key [Incorrect ModuleId Found]" call :dk_color %Red% "Checking for SPP Registry Key [Incorrect ModuleId Found]"
set fixes=%fixes% %mas%issues_due_to_gaming_spoofers set fixes=%fixes% %mas%issues_due_to_gaming_spoofers
call :dk_color2 %Blue% "Most likely caused by HWID spoofers. Help - " %_Yellow% " %mas%issues_due_to_gaming_spoofers" call :dk_color2 %Blue% "Most likely caused by HWID spoofers. Help - " %_Yellow% " %mas%issues_due_to_gaming_spoofers"
set error=1 set error=1
@ -1391,7 +1390,7 @@ if %winbuild% GEQ 9200 if /i not "%tokenstore%"=="%SysPath%\spp\store" if /i not
set toerr=1 set toerr=1
set error=1 set error=1
set showfix=1 set showfix=1
call :dk_color %Red% "Checking TokenStore Registry Key [Correct Path Not Found] [%tokenstore%]" call :dk_color %Red% "Checking TokenStore Registry Key [Correct Path Not Found] [%tokenstore%]"
set fixes=%fixes% %mas%troubleshoot set fixes=%fixes% %mas%troubleshoot
call :dk_color2 %Blue% "Help - " %_Yellow% " %mas%troubleshoot" call :dk_color2 %Blue% "Help - " %_Yellow% " %mas%troubleshoot"
) )
@ -1408,9 +1407,9 @@ set "d=!d! $AclObject.SetSecurityDescriptorSddlForm($sddl);"
set "d=!d! Set-Acl -Path %tokenstore% -AclObject $AclObject;" set "d=!d! Set-Acl -Path %tokenstore% -AclObject $AclObject;"
%psc% "!d!" %nul% %psc% "!d!" %nul%
if exist "%tokenstore%\" ( if exist "%tokenstore%\" (
call :dk_color %Gray% "Checking SPP Token Folder [Not Found, Created Now] [%tokenstore%\]" call :dk_color %Gray% "Checking for SPP Token Folder [Not Found, Creating Now] [%tokenstore%\]"
) else ( ) else (
call :dk_color %Red% "Checking SPP Token Folder [Not Found, Failed to Create] [%tokenstore%\]" call :dk_color %Red% "Checking for SPP Token Folder [Not Found, Failed to Create] [%tokenstore%\]"
set error=1 set error=1
set showfix=1 set showfix=1
) )
@ -1428,14 +1427,14 @@ if not defined allapps (
set "_notfoundids=Not found" set "_notfoundids=Not found"
) )
set error=1 set error=1
call :dk_color %Red% "Checking Activation IDs [!_notfoundids!]" call :dk_color %Red% "Checking for Activation IDs [!_notfoundids!]"
) )
) )
if exist "%tokenstore%\" if not exist "%tokenstore%\tokens.dat" ( if exist "%tokenstore%\" if not exist "%tokenstore%\tokens.dat" (
set error=1 set error=1
call :dk_color %Red% "Checking SPP tokens.dat [Not Found] [%tokenstore%\]" call :dk_color %Red% "Checking for SPP tokens.dat [Not Found] [%tokenstore%\]"
) )
@ -1449,7 +1448,7 @@ call :dk_color %Red% "Checking SvcRestartTask Status [!taskinfo!]"
) )
:: This code checks if SPP has permission access to tokens folder and required registry keys. It's often caused by gaming spoofers. :: This code checks if SPP has permission access to tokens folder and required registry keys. It's often caused by HWID spoofers.
set permerror= set permerror=
if %winbuild% GEQ 9200 ( if %winbuild% GEQ 9200 (
@ -1592,7 +1591,7 @@ if !errorlevel!==1 (for %%# in (%fixes%) do (start %%#))
) )
if defined terminal ( if defined terminal (
call :dk_color %_Yellow% "Press [0] key to %_exitmsg%..." call :dk_color %_Yellow% "Press [0] to %_exitmsg%..."
choice /c 0 /n choice /c 0 /n
) else ( ) else (
call :dk_color %_Yellow% "Press any key to %_exitmsg%..." call :dk_color %_Yellow% "Press any key to %_exitmsg%..."

View File

@ -30,7 +30,7 @@ set "_debug=0"
::======================================================================================================================================== ::========================================================================================================================================
:: Set environment variables, it helps if they are misconfigured in the system :: Set Environment variables, it helps if they are misconfigured in the system
setlocal EnableExtensions setlocal EnableExtensions
setlocal DisableDelayedExpansion setlocal DisableDelayedExpansion
@ -107,7 +107,7 @@ set "mas=ht%blank%tps%blank%://mass%blank%grave.dev/"
sc query Null | find /i "RUNNING" sc query Null | find /i "RUNNING"
if %errorlevel% NEQ 0 ( if %errorlevel% NEQ 0 (
echo: echo:
echo Null service is not running, script may crash... echo The Null service, which is required for the script to operate, is not running.
echo: echo:
echo: echo:
echo Help - %mas%troubleshoot echo Help - %mas%troubleshoot
@ -122,7 +122,7 @@ cls
pushd "%~dp0" pushd "%~dp0"
>nul findstr /v "$" "%~nx0" && ( >nul findstr /v "$" "%~nx0" && (
echo: echo:
echo Error - Script either has LF line ending issue or an empty line at the end of the script is missing. echo Error - The script either has an LF line ending issue or an empty line at the end of the script is missing.
echo: echo:
echo: echo:
echo Help - %mas%troubleshoot echo Help - %mas%troubleshoot
@ -178,7 +178,7 @@ goto dk_done
::======================================================================================================================================== ::========================================================================================================================================
:: Fix special character limitations in path name :: Fix special characters limitation in path name
set "_work=%~dp0" set "_work=%~dp0"
if "%_work:~-1%"=="\" set "_work=%_work:~0,-1%" if "%_work:~-1%"=="\" set "_work=%_work:~0,-1%"
@ -239,7 +239,7 @@ goto dk_done
%nul1% fltmc || ( %nul1% fltmc || (
if not defined _elev %psc% "start cmd.exe -arg '/c \"!_PSarg!\"' -verb runas" && exit /b if not defined _elev %psc% "start cmd.exe -arg '/c \"!_PSarg!\"' -verb runas" && exit /b
%eline% %eline%
echo This script needs admin rights. echo This script needs administrator rights.
echo Right click on this script and select 'Run as administrator'. echo Right click on this script and select 'Run as administrator'.
goto dk_done goto dk_done
) )
@ -556,7 +556,7 @@ if %_wmic% EQU 1 for /f "tokens=2 delims==" %%a in ('"wmic path %spp% where (App
if %_wmic% EQU 0 for /f "tokens=2 delims==" %%a in ('%psc% "(([WMISEARCHER]'SELECT ID FROM %spp% WHERE ApplicationID=''55c92734-d682-4d71-983e-d6ec3f16059f'' AND Description like ''%%KMSCLIENT%%'' AND PartialProductKey IS NOT NULL AND LicenseDependsOn is NULL').Get()).ID | %% {echo ('ID='+$_)}" %nul6%') do call set "app=%%a" if %_wmic% EQU 0 for /f "tokens=2 delims==" %%a in ('%psc% "(([WMISEARCHER]'SELECT ID FROM %spp% WHERE ApplicationID=''55c92734-d682-4d71-983e-d6ec3f16059f'' AND Description like ''%%KMSCLIENT%%'' AND PartialProductKey IS NOT NULL AND LicenseDependsOn is NULL').Get()).ID | %% {echo ('ID='+$_)}" %nul6%') do call set "app=%%a"
if not defined app ( if not defined app (
call :dk_color %Red% "Checking Installed GVLK Activation ID [Not Found] Aborting..." call :dk_color %Red% "Checking for Installed GVLK Activation ID [Not Found] Aborting..."
set fixes=%fixes% %mas%troubleshoot set fixes=%fixes% %mas%troubleshoot
call :dk_color2 %Blue% "Help - " %_Yellow% " %mas%troubleshoot" call :dk_color2 %Blue% "Help - " %_Yellow% " %mas%troubleshoot"
goto :dk_done goto :dk_done
@ -629,7 +629,7 @@ set "sessionId=TwBTAE0AYQBqAG8AcgBWAGUAcgBzAGkAbwBuAD0ANQA7AE8AUwBNAGkAbgBvAHIAV
copy /y /b "%tdir%\GenuineTicket" "%tdir%\GenuineTicket.xml" %nul% copy /y /b "%tdir%\GenuineTicket" "%tdir%\GenuineTicket.xml" %nul%
if not exist "%tdir%\GenuineTicket.xml" ( if not exist "%tdir%\GenuineTicket.xml" (
call :dk_color %Red% "Generating GenuineTicket.xml [Failed, aborting...]" call :dk_color %Red% "Generating GenuineTicket.xml [Failed, aborting the process]"
if exist "%tdir%\Genuine*" del /f /q "%tdir%\Genuine*" %nul% if exist "%tdir%\Genuine*" del /f /q "%tdir%\Genuine*" %nul%
goto :k_final goto :k_final
) else ( ) else (
@ -656,7 +656,7 @@ call :dk_color %Gray% "Stopping sppsvc Service [Failed]"
%_xmlexist% ( %_xmlexist% (
set error=1 set error=1
if exist "%tdir%\*.xml" del /f /q "%tdir%\*.xml" %nul% if exist "%tdir%\*.xml" del /f /q "%tdir%\*.xml" %nul%
call :dk_color %Red% "Installing GenuineTicket.xml [Failed with ClipSVC service restart, wait...]" call :dk_color %Red% "Installing GenuineTicket.xml [Failed With ClipSVC Service Restart, Wait...]"
) )
) )
@ -680,7 +680,7 @@ call :dk_color %Red% "Installing GenuineTicket.xml [Failed With clipu
if exist "%ProgramData%\Microsoft\Windows\ClipSVC\Install\Migration\*.xml" ( if exist "%ProgramData%\Microsoft\Windows\ClipSVC\Install\Migration\*.xml" (
set error=1 set error=1
set rebuildinfo=1 set rebuildinfo=1
call :dk_color %Red% "Checking Ticket Migration [Failed]" call :dk_color %Red% "Checking for Ticket Migration [Failed]"
) )
if not defined showfix if defined rebuildinfo ( if not defined showfix if defined rebuildinfo (
@ -798,9 +798,9 @@ title Remove KMS38 Protection %masver%
echo: echo:
%nul% reg query "HKLM\%specific_kms%" && ( %nul% reg query "HKLM\%specific_kms%" && (
call :dk_color %Red% "Removing Specific KMS Host [Failed]" call :dk_color %Red% "Removing the Specific KMS Host [Failed]"
) || ( ) || (
echo Removing Specific KMS Host [Successful] echo Removing the Specific KMS Host [Successful]
) )
goto :dk_done goto :dk_done
@ -1215,7 +1215,7 @@ set pupfound=%pupfound1%%pupfound2%
set hcount=0 set hcount=0
for %%# in (avira.com kaspersky.com virustotal.com mcafee.com) do ( for %%# in (avira.com kaspersky.com virustotal.com mcafee.com) do (
find /i "%%#" %SysPath%\drivers\etc\hosts %nul% && set /a hcount+=1) find /i "%%#" %SysPath%\drivers\etc\hosts %nul% && set /a hcount+=1)
if %hcount%==4 set "results=[Antivirus URLs are blocked in hosts]" if %hcount%==4 set "results=[AV URLs are blocked in hosts]"
set wucount=0 set wucount=0
for %%# in (wuauserv) do ( for %%# in (wuauserv) do (
@ -1224,7 +1224,7 @@ for %%G in (DependOnService Description DisplayName ErrorControl ImagePath Objec
reg query HKLM\SYSTEM\CurrentControlSet\Services\%%# /v %%G %nul% || (set _corrupt=1 & set /a wucount+=1) reg query HKLM\SYSTEM\CurrentControlSet\Services\%%# /v %%G %nul% || (set _corrupt=1 & set /a wucount+=1)
) )
) )
if %wucount% GEQ 1 set "results=%results%[Windows Update registry is corrupt]" if %wucount% GEQ 1 set "results=%results%[WU registry is corrupt]"
sc start sppsvc %nul% sc start sppsvc %nul%
echo "%errorlevel%" | findstr "577 225" %nul% && ( echo "%errorlevel%" | findstr "577 225" %nul% && (
@ -1234,9 +1234,8 @@ if not exist %SysPath%\sppsvc.exe if not exist %SysPath%\alg.exe (set "results=%
) )
if not "%results%%pupfound%"=="" ( if not "%results%%pupfound%"=="" (
if defined pupfound call :dk_color %Gray% "Checking PUP Activators [Found%pupfound%]" if defined pupfound call :dk_color %Gray% "Checking for PUP Activators [Found%pupfound%]"
if defined results call :dk_color %Red% "Checking Probable Mal%w%ware Infection..." if defined results call :dk_color %Red% "Checking Probable Mal%w%ware Infection %results%"
if defined results call :dk_color %Red% "%results%"
set fixes=%fixes% %mas%remove_mal%w%ware set fixes=%fixes% %mas%remove_mal%w%ware
call :dk_color2 %Blue% "Help - " %_Yellow% " %mas%remove_mal%w%ware" call :dk_color2 %Blue% "Help - " %_Yellow% " %mas%remove_mal%w%ware"
echo: echo:
@ -1255,7 +1254,7 @@ call :dk_chkmal
sc query Null %nul% || ( sc query Null %nul% || (
set error=1 set error=1
set showfix=1 set showfix=1
call :dk_color %Red% "Checking Sandboxing [Found, script may not work properly.]" call :dk_color %Red% "Checking for Sandboxing [Found, the script may not work properly.]"
call :dk_color %Blue% "If you are using any third-party antivirus, check if it is blocking the script." call :dk_color %Blue% "If you are using any third-party antivirus, check if it is blocking the script."
echo: echo:
) )
@ -1280,7 +1279,7 @@ if defined _corrupt (if defined serv_cor (set "serv_cor=!serv_cor! %%#") else (s
if defined serv_cor ( if defined serv_cor (
set error=1 set error=1
set showfix=1 set showfix=1
call :dk_color %Red% "Checking Corrupt Services [%serv_cor%]" call :dk_color %Red% "Checking for Corrupt Services [%serv_cor%]"
) )
::======================================================================================================================================== ::========================================================================================================================================
@ -1346,7 +1345,7 @@ if defined serv_e (
set error=1 set error=1
call :dk_color %Red% "Starting Services [Failed] [%serv_e%]" call :dk_color %Red% "Starting Services [Failed] [%serv_e%]"
echo %serv_e% | findstr /i "ClipSVC-1058 sppsvc-1058" %nul% && ( echo %serv_e% | findstr /i "ClipSVC-1058 sppsvc-1058" %nul% && (
call :dk_color %Blue% "Restart your system to fix this error." call :dk_color %Blue% "Restart the system to fix this error."
set showfix=1 set showfix=1
) )
) )
@ -1368,7 +1367,7 @@ set error=1
call :dk_color %Red% "Checking Windows Setup State [%imagestate%]" call :dk_color %Red% "Checking Windows Setup State [%imagestate%]"
echo "%imagestate%" | find /i "RESEAL" %nul% && ( echo "%imagestate%" | find /i "RESEAL" %nul% && (
set showfix=1 set showfix=1
call :dk_color %Blue% "You need to run it in normal mode in case you are running it in Audit Mode." call :dk_color %Blue% "You need to run it in normal mode in case you are running the script in Audit Mode."
) )
) )
@ -1376,7 +1375,7 @@ call :dk_color %Blue% "You need to run it in normal mode in case you are running
reg query "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\WinPE" /v InstRoot %nul% && ( reg query "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\WinPE" /v InstRoot %nul% && (
set error=1 set error=1
set showfix=1 set showfix=1
call :dk_color2 %Red% "Checking WinPE " %Blue% "[WinPE mode found. Run in normal mode.]" call :dk_color2 %Red% "Checking for WinPE mode " %Blue% "[WinPE mode found. Run in normal mode.]"
) )
@ -1386,7 +1385,7 @@ for /f "delims=" %%a in ('%psc% "$f=[io.file]::ReadAllText('!_batp!') -split ':w
echo "%wpainfo%" | find /i "Error Found" %nul% && ( echo "%wpainfo%" | find /i "Error Found" %nul% && (
set error=1 set error=1
set wpaerror=1 set wpaerror=1
call :dk_color %Red% "Checking WPA Registry Errors [%wpainfo%]" call :dk_color %Red% "Checking for WPA Registry Errors [%wpainfo%]"
) || ( ) || (
echo Checking WPA Registry Count [%wpainfo%] echo Checking WPA Registry Count [%wpainfo%]
) )
@ -1395,7 +1394,7 @@ echo Checking WPA Registry Count [%wpainfo%]
if not defined officeact if exist "%SystemRoot%\Servicing\Packages\Microsoft-Windows-*EvalEdition~*.mum" ( if not defined officeact if exist "%SystemRoot%\Servicing\Packages\Microsoft-Windows-*EvalEdition~*.mum" (
reg query "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion" /v EditionID %nul2% | find /i "Eval" %nul1% || ( reg query "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion" /v EditionID %nul2% | find /i "Eval" %nul1% || (
set error=1 set error=1
call :dk_color %Red% "Checking Eval Packages [Non-Eval Licenses are installed in Eval Windows]" call :dk_color %Red% "Checking for Evaluation Packages [Non-Evaluation Licenses are installed in Evaluation Windows]"
set fixes=%fixes% %mas%evaluation_editions set fixes=%fixes% %mas%evaluation_editions
call :dk_color2 %Blue% "Help - " %_Yellow% " %mas%evaluation_editions" call :dk_color2 %Blue% "Help - " %_Yellow% " %mas%evaluation_editions"
) )
@ -1414,18 +1413,18 @@ if "%osSKU%"=="165" set osedition=ProfessionalEducationN
if not defined officeact ( if not defined officeact (
if %osedition%==0 ( if %osedition%==0 (
call :dk_color %Red% "Checking Edition Name [Not Found In Registry]" call :dk_color %Red% "Checking for Edition Name [Not Found in Registry]"
) else ( ) else (
if not exist "%SysPath%\spp\tokens\skus\%osedition%\%osedition%*.xrm-ms" if not exist "%SysPath%\spp\tokens\skus\Security-SPP-Component-SKU-%osedition%\*-%osedition%-*.xrm-ms" ( if not exist "%SysPath%\spp\tokens\skus\%osedition%\%osedition%*.xrm-ms" if not exist "%SysPath%\spp\tokens\skus\Security-SPP-Component-SKU-%osedition%\*-%osedition%-*.xrm-ms" (
set error=1 set error=1
set skunotfound=1 set skunotfound=1
call :dk_color %Red% "Checking License Files [Not Found] [%osedition%]" call :dk_color %Red% "Checking for License Files [Not Found] [%osedition%]"
) )
if not exist "%SystemRoot%\Servicing\Packages\Microsoft-Windows-*-%osedition%-*.mum" ( if not exist "%SystemRoot%\Servicing\Packages\Microsoft-Windows-*-%osedition%-*.mum" (
set error=1 set error=1
call :dk_color %Red% "Checking Package Files [Not Found] [%osedition%]" call :dk_color %Red% "Checking for Package Files [Not Found] [%osedition%]"
) )
) )
) )
@ -1474,7 +1473,7 @@ call :dk_color %Gray% "Checking SLC/WMI SKU [Difference Found
reg query "HKU\S-1-5-20\Software\Microsoft\Windows NT\CurrentVersion\SoftwareProtectionPlatform\PersistedTSReArmed" %nul% && ( reg query "HKU\S-1-5-20\Software\Microsoft\Windows NT\CurrentVersion\SoftwareProtectionPlatform\PersistedTSReArmed" %nul% && (
set error=1 set error=1
set showfix=1 set showfix=1
call :dk_color2 %Red% "Checking Rearm " %Blue% "[System Restart Is Required]" call :dk_color2 %Red% "Checking for Rearm " %Blue% "[System Restart Is Required]"
) )
@ -1489,14 +1488,14 @@ call :dk_color2 %Red% "Checking ClipSVC " %Blue% "[System
if exist "%SysPath%\wlms\wlms.exe" ( if exist "%SysPath%\wlms\wlms.exe" (
sc query wlms | find /i "RUNNING" %nul% && ( sc query wlms | find /i "RUNNING" %nul% && (
echo Checking Eval WLMS Service [Found] echo Checking for Evaluation WLMS Service [Found]
) )
) )
reg query "HKU\S-1-5-20\Software\Microsoft\Windows NT\CurrentVersion" %nul% || ( reg query "HKU\S-1-5-20\Software\Microsoft\Windows NT\CurrentVersion" %nul% || (
set error=1 set error=1
call :dk_color %Red% "Checking HKU\S-1-5-20 Registry [Not Found]" call :dk_color %Red% "Checking HKU\S-1-5-20 Registry [Not Found]"
set fixes=%fixes% %mas%troubleshoot set fixes=%fixes% %mas%troubleshoot
call :dk_color2 %Blue% "Help - " %_Yellow% " %mas%troubleshoot" call :dk_color2 %Blue% "Help - " %_Yellow% " %mas%troubleshoot"
) )
@ -1506,13 +1505,13 @@ for %%# in (SppEx%w%tComObj.exe sppsvc.exe) do (
reg query "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Ima%w%ge File Execu%w%tion Options\%%#" %nul% && (if defined _sppint (set "_sppint=!_sppint!, %%#") else (set "_sppint=%%#")) reg query "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Ima%w%ge File Execu%w%tion Options\%%#" %nul% && (if defined _sppint (set "_sppint=!_sppint!, %%#") else (set "_sppint=%%#"))
) )
if defined _sppint ( if defined _sppint (
echo Checking SPP Interference In IFEO [%_sppint%] echo Checking for SPP Interference in IFEO [%_sppint%]
) )
for /f "skip=2 tokens=2*" %%a in ('reg query "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\SoftwareProtectionPlatform" /v "SkipRearm" %nul6%') do if /i %%b NEQ 0x0 ( for /f "skip=2 tokens=2*" %%a in ('reg query "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\SoftwareProtectionPlatform" /v "SkipRearm" %nul6%') do if /i %%b NEQ 0x0 (
reg add "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\SoftwareProtectionPlatform" /v "SkipRearm" /t REG_DWORD /d "0" /f %nul% reg add "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\SoftwareProtectionPlatform" /v "SkipRearm" /t REG_DWORD /d "0" /f %nul%
call :dk_color %Red% "Checking SkipRearm [Default 0 Value Not Found. Changing To 0]" call :dk_color %Red% "Checking SkipRearm [Default 0 Value Not Found. Changing to 0]"
%psc% "Start-Job { Stop-Service sppsvc -force } | Wait-Job -Timeout 10 | Out-Null" %psc% "Start-Job { Stop-Service sppsvc -force } | Wait-Job -Timeout 10 | Out-Null"
set error=1 set error=1
) )
@ -1521,7 +1520,7 @@ set error=1
reg query "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\SoftwareProtectionPlatform\Plugins\Objects\msft:rm/algorithm/hwid/4.0" /f ba02fed39662 /d %nul% || ( reg query "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\SoftwareProtectionPlatform\Plugins\Objects\msft:rm/algorithm/hwid/4.0" /f ba02fed39662 /d %nul% || (
call :dk_color %Red% "Checking SPP Registry Key [Incorrect ModuleId Found]" call :dk_color %Red% "Checking SPP Registry Key [Incorrect ModuleId Found]"
set fixes=%fixes% %mas%issues_due_to_gaming_spoofers set fixes=%fixes% %mas%issues_due_to_gaming_spoofers
call :dk_color2 %Blue% "Most likely caused by HWID spoofers. Help - " %_Yellow% " %mas%issues_due_to_gaming_spoofers" call :dk_color2 %Blue% "Possibly Caused By Gaming Spoofers. Help - " %_Yellow% " %mas%issues_due_to_gaming_spoofers"
set error=1 set error=1
set showfix=1 set showfix=1
) )
@ -1551,9 +1550,9 @@ set "d=!d! $AclObject.SetSecurityDescriptorSddlForm($sddl);"
set "d=!d! Set-Acl -Path %tokenstore% -AclObject $AclObject;" set "d=!d! Set-Acl -Path %tokenstore% -AclObject $AclObject;"
%psc% "!d!" %nul% %psc% "!d!" %nul%
if exist "%tokenstore%\" ( if exist "%tokenstore%\" (
call :dk_color %Gray% "Checking SPP Token Folder [Not Found, Created Now] [%tokenstore%\]" call :dk_color %Gray% "Checking SPP Token Folder [Not Found. Created Now] [%tokenstore%\]"
) else ( ) else (
call :dk_color %Red% "Checking SPP Token Folder [Not Found, Failed to Create] [%tokenstore%\]" call :dk_color %Red% "Checking SPP Token Folder [Not Found. Failed to Create] [%tokenstore%\]"
set error=1 set error=1
set showfix=1 set showfix=1
) )
@ -1578,7 +1577,7 @@ call :dk_color %Red% "Checking Activation IDs [!_notfoundids!]"
if exist "%tokenstore%\" if not exist "%tokenstore%\tokens.dat" ( if exist "%tokenstore%\" if not exist "%tokenstore%\tokens.dat" (
set error=1 set error=1
call :dk_color %Red% "Checking SPP tokens.dat [Not Found] [%tokenstore%\]" call :dk_color %Red% "Checking for SPP tokens.dat [Not Found] [%tokenstore%\]"
) )
@ -1671,7 +1670,7 @@ if ($osVersion.Build -ge $minBuildNumber) {
} }
for ($i=1; $i -le $count; $i++) { for ($i=1; $i -le $count; $i++) {
if (-not $subkeyHashTable.ContainsKey("$i")) { if (-not $subkeyHashTable.ContainsKey("$i")) {
Write-Output "Total Keys $count. Error Found - $i key does not exist." Write-Output "Total Keys $count. Error Found - $i key does not exist"
$wpaKey.Close() $wpaKey.Close()
exit exit
} }
@ -1682,7 +1681,7 @@ $wpaKey.GetSubKeyNames() | ForEach-Object {
if ($PSVersionTable.PSVersion.Major -lt 3) { if ($PSVersionTable.PSVersion.Major -lt 3) {
cmd /c "reg query "HKLM\SYSTEM\WPA\$_" /ve /t REG_BINARY >nul 2>&1" cmd /c "reg query "HKLM\SYSTEM\WPA\$_" /ve /t REG_BINARY >nul 2>&1"
if ($LASTEXITCODE -ne 0) { if ($LASTEXITCODE -ne 0) {
Write-Host "Total Keys $count. Error Found - Binary Data is corrupt." Write-Host "Total Keys $count. Error Found - Binary Data is corrupt"
$wpaKey.Close() $wpaKey.Close()
exit exit
} }
@ -1690,7 +1689,7 @@ $wpaKey.GetSubKeyNames() | ForEach-Object {
$subkey = $wpaKey.OpenSubKey($_) $subkey = $wpaKey.OpenSubKey($_)
$p = $subkey.GetValueNames() $p = $subkey.GetValueNames()
if (($p | Where-Object { $subkey.GetValueKind($_) -eq [Microsoft.Win32.RegistryValueKind]::Binary }).Count -eq 0) { if (($p | Where-Object { $subkey.GetValueKind($_) -eq [Microsoft.Win32.RegistryValueKind]::Binary }).Count -eq 0) {
Write-Host "Total Keys $count. Error Found - Binary Data is corrupt." Write-Host "Total Keys $count. Error Found - Binary Data is corrupt"
$wpaKey.Close() $wpaKey.Close()
exit exit
} }
@ -1729,13 +1728,13 @@ echo:
if %_unattended%==1 timeout /t 2 & exit /b if %_unattended%==1 timeout /t 2 & exit /b
if defined fixes ( if defined fixes (
call :dk_color2 %Blue% "Press [1] to Open Troubleshoot Page " %Gray% " Press [0] to Ignore" call :dk_color2 %Blue% "Press [1] To Open Troubleshoot Page " %Gray% " Press [0] To Ignore"
choice /C:10 /N choice /C:10 /N
if !errorlevel!==1 (for %%# in (%fixes%) do (start %%#)) if !errorlevel!==1 (for %%# in (%fixes%) do (start %%#))
) )
if defined terminal ( if defined terminal (
call :dk_color %_Yellow% "Press [0] key to %_exitmsg%..." call :dk_color %_Yellow% "Press 0 key to %_exitmsg%..."
choice /c 0 /n choice /c 0 /n
) else ( ) else (
call :dk_color %_Yellow% "Press any key to %_exitmsg%..." call :dk_color %_Yellow% "Press any key to %_exitmsg%..."

View File

@ -27,7 +27,7 @@ set "_debug=0"
::======================================================================================================================================== ::========================================================================================================================================
:: Set environment variables, it helps if they are misconfigured in the system :: Set Environment variables, it helps if they are misconfigured in the system
setlocal EnableExtensions setlocal EnableExtensions
setlocal DisableDelayedExpansion setlocal DisableDelayedExpansion
@ -104,7 +104,7 @@ set "mas=ht%blank%tps%blank%://mass%blank%grave.dev/"
sc query Null | find /i "RUNNING" sc query Null | find /i "RUNNING"
if %errorlevel% NEQ 0 ( if %errorlevel% NEQ 0 (
echo: echo:
echo Null service is not running, script may crash... echo The Null service, which is required for the script to operate, is not running.
echo: echo:
echo: echo:
echo Help - %mas%troubleshoot echo Help - %mas%troubleshoot
@ -119,7 +119,7 @@ cls
pushd "%~dp0" pushd "%~dp0"
>nul findstr /v "$" "%~nx0" && ( >nul findstr /v "$" "%~nx0" && (
echo: echo:
echo Error - Script either has LF line ending issue or an empty line at the end of the script is missing. echo Error - The script either has an LF line ending issue or an empty line at the end of the script is missing.
echo: echo:
echo: echo:
echo Help - %mas%troubleshoot echo Help - %mas%troubleshoot
@ -168,7 +168,7 @@ goto dk_done
::======================================================================================================================================== ::========================================================================================================================================
:: Fix special character limitations in path name :: Fix special characters limitation in path name
set "_work=%~dp0" set "_work=%~dp0"
if "%_work:~-1%"=="\" set "_work=%_work:~0,-1%" if "%_work:~-1%"=="\" set "_work=%_work:~0,-1%"
@ -229,7 +229,7 @@ goto dk_done
%nul1% fltmc || ( %nul1% fltmc || (
if not defined _elev %psc% "start cmd.exe -arg '/c \"!_PSarg!\"' -verb runas" && exit /b if not defined _elev %psc% "start cmd.exe -arg '/c \"!_PSarg!\"' -verb runas" && exit /b
%eline% %eline%
echo This script needs admin rights. echo This script needs administrator rights.
echo Right click on this script and select 'Run as administrator'. echo Right click on this script and select 'Run as administrator'.
goto dk_done goto dk_done
) )
@ -414,7 +414,7 @@ if %winbuild% GEQ 10240 %psc% "Get-AppxPackage -name "Microsoft.Office.Desktop""
if not "%o14msi%%o14c2r%%o16uwp%"=="" ( if not "%o14msi%%o14c2r%%o16uwp%"=="" (
echo: echo:
call :dk_color %Red% "Checking Unsupported Office Install [ %o14msi%%o14c2r%%o16uwp%]" call :dk_color %Red% "Checking for Unsupported Office Installs [%o14msi%%o14c2r%%o16uwp%]"
) )
if %winbuild% GEQ 10240 %psc% "Get-AppxPackage -name "Microsoft.MicrosoftOfficeHub"" | find /i "Office" %nul1% && ( if %winbuild% GEQ 10240 %psc% "Get-AppxPackage -name "Microsoft.MicrosoftOfficeHub"" | find /i "Office" %nul1% && (
@ -431,7 +431,7 @@ sc query ClickToRunSvc %nul%
set error1=%errorlevel% set error1=%errorlevel%
if defined o16c2r if %error1% EQU 1060 ( if defined o16c2r if %error1% EQU 1060 (
call :dk_color %Red% "Checking ClickToRun Service [Not found, Office 16.0 files found]" call :dk_color %Red% "Checking for ClickToRun Service [Not found, Office 16.0 files found]"
set o16c2r= set o16c2r=
set error=1 set error=1
) )
@ -440,7 +440,7 @@ sc query OfficeSvc %nul%
set error2=%errorlevel% set error2=%errorlevel%
if defined o15c2r if %error1% EQU 1060 if %error2% EQU 1060 ( if defined o15c2r if %error1% EQU 1060 if %error2% EQU 1060 (
call :dk_color %Red% "Checking ClickToRun Service [Not found, Office 15.0 files found]" call :dk_color %Red% "Checking for ClickToRun Service [Not found, Office 15.0 files found]"
set o15c2r= set o15c2r=
set error=1 set error=1
) )
@ -449,9 +449,9 @@ if "%o16c2r%%o15c2r%%o16msi%%o15msi%"=="" (
set error=1 set error=1
echo: echo:
if not "%o14msi%%o14c2r%%o16uwp%"=="" ( if not "%o14msi%%o14c2r%%o16uwp%"=="" (
call :dk_color %Red% "Checking Supported Office Install [Not Found]" call :dk_color %Red% "Checking for Supported Office Installs [Not Found]"
) else ( ) else (
call :dk_color %Red% "Checking Installed Office [Not Found]" call :dk_color %Red% "Checking for Installed Office [Not Found]"
) )
if defined ohub ( if defined ohub (
@ -471,7 +471,7 @@ if not "%o16c2r%%o15c2r%%o16msi%%o15msi%"=="1" set multioffice=1
if not "%o14msi%%o14c2r%%o16uwp%"=="" set multioffice=1 if not "%o14msi%%o14c2r%%o16uwp%"=="" set multioffice=1
if defined multioffice ( if defined multioffice (
call :dk_color %Gray% "Checking Multiple Office Install [Found, its recommended to install only one version]" call :dk_color %Gray% "Checking for Multiple Office Installs [Found, it's recommended to install only one version]"
) )
::======================================================================================================================================== ::========================================================================================================================================
@ -533,7 +533,7 @@ echo:
echo Activating Office... [C2R ^| %_version% ^| %_oArch%] echo Activating Office... [C2R ^| %_version% ^| %_oArch%]
if not defined _oIds ( if not defined _oIds (
call :dk_color %Red% "Checking Installed Products [Product IDs not found. Aborting activation...]" call :dk_color %Red% "Checking for Installed Products' ID's [Product IDs not found, aborting...]"
set error=1 set error=1
goto :starto16c2r goto :starto16c2r
) )
@ -583,7 +583,7 @@ echo:
echo Activating Office... [C2R ^| %_version% %_AudienceData%^| %_oArch%] echo Activating Office... [C2R ^| %_version% %_AudienceData%^| %_oArch%]
if not defined _oIds ( if not defined _oIds (
call :dk_color %Red% "Checking Installed Products [Product IDs not found. Aborting activation...]" call :dk_color %Red% "Checking for Installed Products' ID's [Product IDs not found, aborting...]"
set error=1 set error=1
goto :startmsi goto :startmsi
) )
@ -600,7 +600,7 @@ call :oh_hookinstall
if defined _sublic ( if defined _sublic (
if not exist "%_oLPath%\Word2019VL_KMS_Client_AE*.xrm-ms" ( if not exist "%_oLPath%\Word2019VL_KMS_Client_AE*.xrm-ms" (
call :dk_color %Gray% "Checking Old Office With Sub License [Found. Update Office, otherwise, it may show a licensing issue-related banner.]" call :dk_color %Gray% "Checking for Old Office With Sub License [Found, Update Office otherwise it may show a licensing issue-related banner.]"
) )
) )
@ -619,7 +619,7 @@ reg add "%kmskey%" /f /v KeyManagementServiceName /t REG_SZ /d "10.0.0.10" /reg:
) )
reg delete "%kmskey%" /f %nul% reg delete "%kmskey%" /f %nul%
reg add "%kmskey%" /f /v KeyManagementServiceName /t REG_SZ /d "10.0.0.10" %nul% reg add "%kmskey%" /f /v KeyManagementServiceName /t REG_SZ /d "10.0.0.10" %nul%
echo Adding a Registry to Prevent Banner [Successful] echo Adding a Registry Key to Prevent Banner [Successful]
) )
) )
@ -641,7 +641,7 @@ call :oh_licrefresh
echo: echo:
if not defined error ( if not defined error (
call :dk_color %Green% "Office is permanently activated." call :dk_color %Green% "Office is permanently activated."
if defined ohub call :dk_color %Gray% "Office apps such as Word, Excel are activated, use them directly. Ignore 'Buy' button in Office dashboard app." if defined ohub call :dk_color %Gray% "Office apps such as Word, Excel are activated. Search for them and use them directly. Ignore the 'Buy' button in the Office dashboard app."
echo Help: %mas%troubleshoot echo Help: %mas%troubleshoot
) else ( ) else (
call :dk_color %Red% "Some errors were detected." call :dk_color %Red% "Some errors were detected."
@ -808,7 +808,7 @@ exit /b
:oh_fixprids :oh_fixprids
if not defined _prids ( if not defined _prids (
call :dk_color %Gray% "Checking ProductReleaseIds In Registry [Not Found]" call :dk_color %Gray% "Checking for ProductReleaseIds Registry [Not Found]"
exit /b exit /b
) )
@ -919,7 +919,7 @@ if not exist "%_hookPath%\sppc.dll" (if not defined ierror set ierror=Copy)
echo: echo:
if not defined ierror ( if not defined ierror (
echo Symlinking System's sppc.dll to ["%_hookPath%\sppcs.dll"] [Successful] echo Symlinking System sppc.dll to ["%_hookPath%\sppcs.dll"] [Successful]
if defined exhook ( if defined exhook (
echo Copying Custom %_hook% to ["%_hookPath%\sppc.dll"] [Successful] echo Copying Custom %_hook% to ["%_hookPath%\sppc.dll"] [Successful]
) else ( ) else (
@ -981,7 +981,7 @@ echo "!allapps!" | find /i "!_actid!" %nul1% || call :oh_installlic
call :dk_inskey "[!key!] [!_prod!] [!_lic!]" call :dk_inskey "[!key!] [!_prod!] [!_lic!]"
) else ( ) else (
set error=1 set error=1
call :dk_color %Red% "Checking Product In Script [Office %oVer%.0 !_prod! not found in script]" call :dk_color %Red% "Checking for the Product in the Script [Office %oVer%.0 !_prod! Not Found]"
call :dk_color %Blue% "Make sure you are using the latest version of MAS." call :dk_color %Blue% "Make sure you are using the latest version of MAS."
set fixes=%fixes% %mas% set fixes=%fixes% %mas%
call :dk_color %_Yellow% "%mas%" call :dk_color %_Yellow% "%mas%"
@ -996,7 +996,7 @@ if defined winserver if defined _config (
echo %_oIds% | find /i "Retail" %nul1% && ( echo %_oIds% | find /i "Retail" %nul1% && (
set scaIsNeeded=1 set scaIsNeeded=1
reg add %_config% /v SharedComputerLicensing /t REG_SZ /d "1" /f %nul1% reg add %_config% /v SharedComputerLicensing /t REG_SZ /d "1" /f %nul1%
echo Adding SharedComputerLicensing Reg [Successful] [Needed on Server With Retail Office]" echo Adding SharedComputerLicensing Registry [Successful] [Needed on Windows Server With Retail Office]"
) )
) )
@ -1043,13 +1043,13 @@ echo Activating Office... [MSI ^| %_version% ^| %_oArch%]
if not defined _oBranding ( if not defined _oBranding (
set error=1 set error=1
call :dk_color %Red% "Checking BRANDING.XML [Not Found, aborting activation...]" call :dk_color %Red% "Checking for BRANDING.XML [Not Found, aborting...]"
exit /b exit /b
) )
if not defined _oIds ( if not defined _oIds (
set error=1 set error=1
call :dk_color %Red% "Checking Installed Products [Product IDs not found, aborting activation...]" call :dk_color %Red% "Checking for Installed Product ID's [Product IDs not found, aborting...]"
exit /b exit /b
) )
@ -1110,7 +1110,7 @@ for /f "tokens=* delims=" %%a in ('%psc% "$p = 'HKLM:\SOFTWARE\Microsoft\Windows
if not defined _sidlist ( if not defined _sidlist (
set error=1 set error=1
call :dk_color %Red% "Checking User Accounts SID [Not Found]" call :dk_color %Red% "Checking for User Account SID's [Not Found]"
exit /b exit /b
) )
@ -1118,7 +1118,7 @@ set /a counter=0
for %%# in (%_sidlist%) do set /a counter+=1 for %%# in (%_sidlist%) do set /a counter+=1
if %counter% GTR 10 ( if %counter% GTR 10 (
call :dk_color %Gray% "Checking Total User Accounts [%counter%]" call :dk_color %Gray% "Checking Total User Account Count [%counter%]"
) )
::========================== ::==========================
@ -1187,8 +1187,6 @@ reg delete "HKLM\SOFTWARE\Microsoft\Office\%%#.0\Common\OEM" /f /reg:32 %nul%
) )
reg delete "HKU\S-1-5-20\Software\Microsoft\Windows NT\CurrentVersion\SoftwareProtectionPlatform\Policies\0ff1ce15-a989-479d-af46-f275c6370663" /f %nul% reg delete "HKU\S-1-5-20\Software\Microsoft\Windows NT\CurrentVersion\SoftwareProtectionPlatform\Policies\0ff1ce15-a989-479d-af46-f275c6370663" /f %nul%
reg delete "HKU\S-1-5-20\Software\Microsoft\OfficeSoftwareProtectionPlatform\Policies\0ff1ce15-a989-479d-af46-f275c6370663" /f %nul%
reg delete "HKU\S-1-5-20\Software\Microsoft\OfficeSoftwareProtectionPlatform\Policies\59a52881-a989-479d-af46-f275c6370663" /f %nul%
echo Clearing Office License Blocks [Successfully cleared from all %counter% user accounts] echo Clearing Office License Blocks [Successfully cleared from all %counter% user accounts]
@ -1400,7 +1398,7 @@ echo Installing Generic Product Key %~1 [Successful]
) else ( ) else (
call :dk_color %Red% "Installing Generic Product Key %~1 [Failed] %keyerror%" call :dk_color %Red% "Installing Generic Product Key %~1 [Failed] %keyerror%"
if not defined error ( if not defined error (
if defined altapplist call :dk_color %Red% "Activation ID not found for this key." if defined altapplist call :dk_color %Red% "No Activation ID was found for this key."
call :dk_color %Blue% "%_fixmsg%" call :dk_color %Blue% "%_fixmsg%"
set showfix=1 set showfix=1
) )
@ -1524,7 +1522,7 @@ set pupfound=%pupfound1%%pupfound2%
set hcount=0 set hcount=0
for %%# in (avira.com kaspersky.com virustotal.com mcafee.com) do ( for %%# in (avira.com kaspersky.com virustotal.com mcafee.com) do (
find /i "%%#" %SysPath%\drivers\etc\hosts %nul% && set /a hcount+=1) find /i "%%#" %SysPath%\drivers\etc\hosts %nul% && set /a hcount+=1)
if %hcount%==4 set "results=[Antivirus URLs are blocked in hosts]" if %hcount%==4 set "results=[AV URLs are blocked in hosts]"
set wucount=0 set wucount=0
for %%# in (wuauserv) do ( for %%# in (wuauserv) do (
@ -1543,9 +1541,8 @@ if not exist %SysPath%\sppsvc.exe if not exist %SysPath%\alg.exe (set "results=%
) )
if not "%results%%pupfound%"=="" ( if not "%results%%pupfound%"=="" (
if defined pupfound call :dk_color %Gray% "Checking PUP Activators [Found%pupfound%]" if defined pupfound call :dk_color %Gray% "Checking for PUP Activators [Found%pupfound%]"
if defined results call :dk_color %Red% "Checking Probable Mal%w%ware Infection..." if defined results call :dk_color %Red% "Checking Probable Mal%w%ware Infection %results%"
if defined results call :dk_color %Red% "%results%"
set fixes=%fixes% %mas%remove_mal%w%ware set fixes=%fixes% %mas%remove_mal%w%ware
call :dk_color2 %Blue% "Help - " %_Yellow% " %mas%remove_mal%w%ware" call :dk_color2 %Blue% "Help - " %_Yellow% " %mas%remove_mal%w%ware"
echo: echo:
@ -1564,7 +1561,7 @@ call :dk_chkmal
sc query Null %nul% || ( sc query Null %nul% || (
set error=1 set error=1
set showfix=1 set showfix=1
call :dk_color %Red% "Checking Sandboxing [Found, script may not work properly.]" call :dk_color %Red% "Checking for Sandboxing [Found, the script may not work properly.]"
call :dk_color %Blue% "If you are using any third-party antivirus, check if it is blocking the script." call :dk_color %Blue% "If you are using any third-party antivirus, check if it is blocking the script."
echo: echo:
) )
@ -1589,7 +1586,7 @@ if defined _corrupt (if defined serv_cor (set "serv_cor=!serv_cor! %%#") else (s
if defined serv_cor ( if defined serv_cor (
set error=1 set error=1
set showfix=1 set showfix=1
call :dk_color %Red% "Checking Corrupt Services [%serv_cor%]" call :dk_color %Red% "Checking for Corrupt Services [%serv_cor%]"
) )
::======================================================================================================================================== ::========================================================================================================================================
@ -1667,7 +1664,7 @@ set showfix=1
if defined safeboot_option ( if defined safeboot_option (
set error=1 set error=1
set showfix=1 set showfix=1
call :dk_color2 %Red% "Checking Boot Mode [%safeboot_option%] " %Blue% "[Safe mode found. Run in normal mode.]" call :dk_color2 %Red% "Checking Boot Mode [%safeboot_option%] " %Blue% "[Safe mode detected, run in normal mode.]"
) )
@ -1677,7 +1674,7 @@ set error=1
call :dk_color %Red% "Checking Windows Setup State [%imagestate%]" call :dk_color %Red% "Checking Windows Setup State [%imagestate%]"
echo "%imagestate%" | find /i "RESEAL" %nul% && ( echo "%imagestate%" | find /i "RESEAL" %nul% && (
set showfix=1 set showfix=1
call :dk_color %Blue% "You need to run it in normal mode in case you are running it in Audit Mode." call :dk_color %Blue% "You need to run the script in normal mode in case you are running it in Audit Mode."
) )
) )
@ -1685,7 +1682,7 @@ call :dk_color %Blue% "You need to run it in normal mode in case you are running
reg query "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\WinPE" /v InstRoot %nul% && ( reg query "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\WinPE" /v InstRoot %nul% && (
set error=1 set error=1
set showfix=1 set showfix=1
call :dk_color2 %Red% "Checking WinPE " %Blue% "[WinPE mode found. Run in normal mode.]" call :dk_color2 %Red% "Checking for WinPE Mode " %Blue% "[WinPE mode found. Run in normal mode.]"
) )
@ -1695,7 +1692,7 @@ for /f "delims=" %%a in ('%psc% "$f=[io.file]::ReadAllText('!_batp!') -split ':w
echo "%wpainfo%" | find /i "Error Found" %nul% && ( echo "%wpainfo%" | find /i "Error Found" %nul% && (
set error=1 set error=1
set wpaerror=1 set wpaerror=1
call :dk_color %Red% "Checking WPA Registry Errors [%wpainfo%]" call :dk_color %Red% "Checking for WPA Registry Errors [%wpainfo%]"
) || ( ) || (
echo Checking WPA Registry Count [%wpainfo%] echo Checking WPA Registry Count [%wpainfo%]
) )
@ -1704,7 +1701,7 @@ echo Checking WPA Registry Count [%wpainfo%]
if not defined officeact if exist "%SystemRoot%\Servicing\Packages\Microsoft-Windows-*EvalEdition~*.mum" ( if not defined officeact if exist "%SystemRoot%\Servicing\Packages\Microsoft-Windows-*EvalEdition~*.mum" (
reg query "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion" /v EditionID %nul2% | find /i "Eval" %nul1% || ( reg query "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion" /v EditionID %nul2% | find /i "Eval" %nul1% || (
set error=1 set error=1
call :dk_color %Red% "Checking Eval Packages [Non-Eval Licenses are installed in Eval Windows]" call :dk_color %Red% "Checking for Evaluation Packages [Non-Evaluation Licenses are installed in Evaluation Windows]"
set fixes=%fixes% %mas%evaluation_editions set fixes=%fixes% %mas%evaluation_editions
call :dk_color2 %Blue% "Help - " %_Yellow% " %mas%evaluation_editions" call :dk_color2 %Blue% "Help - " %_Yellow% " %mas%evaluation_editions"
) )
@ -1723,18 +1720,18 @@ if "%osSKU%"=="165" set osedition=ProfessionalEducationN
if not defined officeact ( if not defined officeact (
if %osedition%==0 ( if %osedition%==0 (
call :dk_color %Red% "Checking Edition Name [Not Found In Registry]" call :dk_color %Red% "Checking for Edition Name [Not Found in Registry]"
) else ( ) else (
if not exist "%SysPath%\spp\tokens\skus\%osedition%\%osedition%*.xrm-ms" if not exist "%SysPath%\spp\tokens\skus\Security-SPP-Component-SKU-%osedition%\*-%osedition%-*.xrm-ms" ( if not exist "%SysPath%\spp\tokens\skus\%osedition%\%osedition%*.xrm-ms" if not exist "%SysPath%\spp\tokens\skus\Security-SPP-Component-SKU-%osedition%\*-%osedition%-*.xrm-ms" (
set error=1 set error=1
set skunotfound=1 set skunotfound=1
call :dk_color %Red% "Checking License Files [Not Found] [%osedition%]" call :dk_color %Red% "Checking for License Files [Not Found] [%osedition%]"
) )
if not exist "%SystemRoot%\Servicing\Packages\Microsoft-Windows-*-%osedition%-*.mum" ( if not exist "%SystemRoot%\Servicing\Packages\Microsoft-Windows-*-%osedition%-*.mum" (
set error=1 set error=1
call :dk_color %Red% "Checking Package Files [Not Found] [%osedition%]" call :dk_color %Red% "Checking for Package Files [Not Found] [%osedition%]"
) )
) )
) )
@ -1783,14 +1780,14 @@ call :dk_color %Gray% "Checking SLC/WMI SKU [Difference Found
reg query "HKU\S-1-5-20\Software\Microsoft\Windows NT\CurrentVersion\SoftwareProtectionPlatform\PersistedTSReArmed" %nul% && ( reg query "HKU\S-1-5-20\Software\Microsoft\Windows NT\CurrentVersion\SoftwareProtectionPlatform\PersistedTSReArmed" %nul% && (
set error=1 set error=1
set showfix=1 set showfix=1
call :dk_color2 %Red% "Checking Rearm " %Blue% "[System Restart Is Required]" call :dk_color2 %Red% "Checking for Rearm " %Blue% "[System Restart is Required]"
) )
reg query "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\ClipSVC\Volatile\PersistedSystemState" %nul% && ( reg query "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\ClipSVC\Volatile\PersistedSystemState" %nul% && (
set error=1 set error=1
set showfix=1 set showfix=1
call :dk_color2 %Red% "Checking ClipSVC " %Blue% "[System Restart Is Required]" call :dk_color2 %Red% "Checking for Volatile ClipSVC Key " %Blue% "[System Restart is Required]"
) )
@ -1798,14 +1795,14 @@ call :dk_color2 %Red% "Checking ClipSVC " %Blue% "[System
if exist "%SysPath%\wlms\wlms.exe" ( if exist "%SysPath%\wlms\wlms.exe" (
sc query wlms | find /i "RUNNING" %nul% && ( sc query wlms | find /i "RUNNING" %nul% && (
echo Checking Eval WLMS Service [Found] echo Checking for Evaluation WLMS Service [Found]
) )
) )
reg query "HKU\S-1-5-20\Software\Microsoft\Windows NT\CurrentVersion" %nul% || ( reg query "HKU\S-1-5-20\Software\Microsoft\Windows NT\CurrentVersion" %nul% || (
set error=1 set error=1
call :dk_color %Red% "Checking HKU\S-1-5-20 Registry [Not Found]" call :dk_color %Red% "Checking for HKU\S-1-5-20 Registry [Not Found]"
set fixes=%fixes% %mas%troubleshoot set fixes=%fixes% %mas%troubleshoot
call :dk_color2 %Blue% "Help - " %_Yellow% " %mas%troubleshoot" call :dk_color2 %Blue% "Help - " %_Yellow% " %mas%troubleshoot"
) )
@ -1815,13 +1812,13 @@ for %%# in (SppEx%w%tComObj.exe sppsvc.exe) do (
reg query "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Ima%w%ge File Execu%w%tion Options\%%#" %nul% && (if defined _sppint (set "_sppint=!_sppint!, %%#") else (set "_sppint=%%#")) reg query "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Ima%w%ge File Execu%w%tion Options\%%#" %nul% && (if defined _sppint (set "_sppint=!_sppint!, %%#") else (set "_sppint=%%#"))
) )
if defined _sppint ( if defined _sppint (
echo Checking SPP Interference In IFEO [%_sppint%] echo Checking for SPP Interference in IFEO [%_sppint%]
) )
for /f "skip=2 tokens=2*" %%a in ('reg query "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\SoftwareProtectionPlatform" /v "SkipRearm" %nul6%') do if /i %%b NEQ 0x0 ( for /f "skip=2 tokens=2*" %%a in ('reg query "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\SoftwareProtectionPlatform" /v "SkipRearm" %nul6%') do if /i %%b NEQ 0x0 (
reg add "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\SoftwareProtectionPlatform" /v "SkipRearm" /t REG_DWORD /d "0" /f %nul% reg add "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\SoftwareProtectionPlatform" /v "SkipRearm" /t REG_DWORD /d "0" /f %nul%
call :dk_color %Red% "Checking SkipRearm [Default 0 Value Not Found. Changing To 0]" call :dk_color %Red% "Checking for SkipRearm [Default 0 Value Not Found. Changing To 0]"
%psc% "Start-Job { Stop-Service sppsvc -force } | Wait-Job -Timeout 10 | Out-Null" %psc% "Start-Job { Stop-Service sppsvc -force } | Wait-Job -Timeout 10 | Out-Null"
set error=1 set error=1
) )
@ -1830,7 +1827,7 @@ set error=1
reg query "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\SoftwareProtectionPlatform\Plugins\Objects\msft:rm/algorithm/hwid/4.0" /f ba02fed39662 /d %nul% || ( reg query "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\SoftwareProtectionPlatform\Plugins\Objects\msft:rm/algorithm/hwid/4.0" /f ba02fed39662 /d %nul% || (
call :dk_color %Red% "Checking SPP Registry Key [Incorrect ModuleId Found]" call :dk_color %Red% "Checking SPP Registry Key [Incorrect ModuleId Found]"
set fixes=%fixes% %mas%issues_due_to_gaming_spoofers set fixes=%fixes% %mas%issues_due_to_gaming_spoofers
call :dk_color2 %Blue% "Most likely caused by HWID spoofers. Help - " %_Yellow% " %mas%issues_due_to_gaming_spoofers" call :dk_color2 %Blue% "Possibly Caused By HWID Spoofers. Help - " %_Yellow% " %mas%issues_due_to_gaming_spoofers"
set error=1 set error=1
set showfix=1 set showfix=1
) )
@ -1860,7 +1857,7 @@ set "d=!d! $AclObject.SetSecurityDescriptorSddlForm($sddl);"
set "d=!d! Set-Acl -Path %tokenstore% -AclObject $AclObject;" set "d=!d! Set-Acl -Path %tokenstore% -AclObject $AclObject;"
%psc% "!d!" %nul% %psc% "!d!" %nul%
if exist "%tokenstore%\" ( if exist "%tokenstore%\" (
call :dk_color %Gray% "Checking SPP Token Folder [Not Found, Created Now] [%tokenstore%\]" call :dk_color %Gray% "Checking SPP Token Folder [Not Found, Creating Now] [%tokenstore%\]"
) else ( ) else (
call :dk_color %Red% "Checking SPP Token Folder [Not Found, Failed to Create] [%tokenstore%\]" call :dk_color %Red% "Checking SPP Token Folder [Not Found, Failed to Create] [%tokenstore%\]"
set error=1 set error=1
@ -1880,14 +1877,14 @@ if not defined allapps (
set "_notfoundids=Not found" set "_notfoundids=Not found"
) )
set error=1 set error=1
call :dk_color %Red% "Checking Activation IDs [!_notfoundids!]" call :dk_color %Red% "Checking Activation ID's [!_notfoundids!]"
) )
) )
if exist "%tokenstore%\" if not exist "%tokenstore%\tokens.dat" ( if exist "%tokenstore%\" if not exist "%tokenstore%\tokens.dat" (
set error=1 set error=1
call :dk_color %Red% "Checking SPP tokens.dat [Not Found] [%tokenstore%\]" call :dk_color %Red% "Checking for SPP tokens.dat [Not Found] [%tokenstore%\]"
) )
@ -1980,7 +1977,7 @@ if ($osVersion.Build -ge $minBuildNumber) {
} }
for ($i=1; $i -le $count; $i++) { for ($i=1; $i -le $count; $i++) {
if (-not $subkeyHashTable.ContainsKey("$i")) { if (-not $subkeyHashTable.ContainsKey("$i")) {
Write-Output "Total Keys $count. Error Found - $i key does not exist." Write-Output "Total Keys $count. Error Found - $i key does not exist"
$wpaKey.Close() $wpaKey.Close()
exit exit
} }
@ -1991,7 +1988,7 @@ $wpaKey.GetSubKeyNames() | ForEach-Object {
if ($PSVersionTable.PSVersion.Major -lt 3) { if ($PSVersionTable.PSVersion.Major -lt 3) {
cmd /c "reg query "HKLM\SYSTEM\WPA\$_" /ve /t REG_BINARY >nul 2>&1" cmd /c "reg query "HKLM\SYSTEM\WPA\$_" /ve /t REG_BINARY >nul 2>&1"
if ($LASTEXITCODE -ne 0) { if ($LASTEXITCODE -ne 0) {
Write-Host "Total Keys $count. Error Found - Binary Data is corrupt." Write-Host "Total Keys $count. Error Found - Binary Data is corrupt"
$wpaKey.Close() $wpaKey.Close()
exit exit
} }
@ -1999,7 +1996,7 @@ $wpaKey.GetSubKeyNames() | ForEach-Object {
$subkey = $wpaKey.OpenSubKey($_) $subkey = $wpaKey.OpenSubKey($_)
$p = $subkey.GetValueNames() $p = $subkey.GetValueNames()
if (($p | Where-Object { $subkey.GetValueKind($_) -eq [Microsoft.Win32.RegistryValueKind]::Binary }).Count -eq 0) { if (($p | Where-Object { $subkey.GetValueKind($_) -eq [Microsoft.Win32.RegistryValueKind]::Binary }).Count -eq 0) {
Write-Host "Total Keys $count. Error Found - Binary Data is corrupt." Write-Host "Total Keys $count. Error Found - Binary Data is corrupt"
$wpaKey.Close() $wpaKey.Close()
exit exit
} }
@ -2038,13 +2035,13 @@ echo:
if %_unattended%==1 timeout /t 2 & exit /b if %_unattended%==1 timeout /t 2 & exit /b
if defined fixes ( if defined fixes (
call :dk_color2 %Blue% "Press [1] to Open Troubleshoot Page " %Gray% " Press [0] to Ignore" call :dk_color2 %Blue% "Press [1] To Open Troubleshoot Page " %Gray% " Press [0] To Ignore"
choice /C:10 /N choice /C:10 /N
if !errorlevel!==1 (for %%# in (%fixes%) do (start %%#)) if !errorlevel!==1 (for %%# in (%fixes%) do (start %%#))
) )
if defined terminal ( if defined terminal (
call :dk_color %_Yellow% "Press [0] key to %_exitmsg%..." call :dk_color %_Yellow% "Press 0 key to %_exitmsg%..."
choice /c 0 /n choice /c 0 /n
) else ( ) else (
call :dk_color %_Yellow% "Press any key to %_exitmsg%..." call :dk_color %_Yellow% "Press any key to %_exitmsg%..."

View File

@ -52,7 +52,7 @@ set "_debug=0"
::======================================================================================================================================== ::========================================================================================================================================
:: Set environment variables, it helps if they are misconfigured in the system :: Set Environment variables, it helps if they are misconfigured in the system
setlocal EnableExtensions setlocal EnableExtensions
setlocal DisableDelayedExpansion setlocal DisableDelayedExpansion
@ -129,7 +129,7 @@ set "mas=ht%blank%tps%blank%://mass%blank%grave.dev/"
sc query Null | find /i "RUNNING" sc query Null | find /i "RUNNING"
if %errorlevel% NEQ 0 ( if %errorlevel% NEQ 0 (
echo: echo:
echo Null service is not running, script may crash... echo the Null service, which is required for the script to operate, is not running.
echo: echo:
echo: echo:
echo Help - %mas%troubleshoot echo Help - %mas%troubleshoot
@ -144,7 +144,7 @@ cls
pushd "%~dp0" pushd "%~dp0"
>nul findstr /v "$" "%~nx0" && ( >nul findstr /v "$" "%~nx0" && (
echo: echo:
echo Error - Script either has LF line ending issue or an empty line at the end of the script is missing. echo Error - The script either has an LF line ending issue or an empty line at the end of the script is missing.
echo: echo:
echo: echo:
echo Help - %mas%troubleshoot echo Help - %mas%troubleshoot
@ -197,7 +197,7 @@ goto dk_done
::======================================================================================================================================== ::========================================================================================================================================
:: Fix special character limitations in path name :: Fix special characters limitation in path name
set "_work=%~dp0" set "_work=%~dp0"
if "%_work:~-1%"=="\" set "_work=%_work:~0,-1%" if "%_work:~-1%"=="\" set "_work=%_work:~0,-1%"
@ -258,7 +258,7 @@ goto dk_done
%nul1% fltmc || ( %nul1% fltmc || (
if not defined _elev %psc% "start cmd.exe -arg '/c \"!_PSarg!\"' -verb runas" && exit /b if not defined _elev %psc% "start cmd.exe -arg '/c \"!_PSarg!\"' -verb runas" && exit /b
%eline% %eline%
echo This script needs admin rights. echo This script needs administrator rights.
echo Right click on this script and select 'Run as administrator'. echo Right click on this script and select 'Run as administrator'.
goto dk_done goto dk_done
) )
@ -551,7 +551,7 @@ call :dk_color %Blue% "Windows must be updated to build 19044.2788 or higher for
) )
if not defined key if defined notfoundaltactID ( if not defined key if defined notfoundaltactID (
call :dk_color %Red% "Checking Alternate Edition For %KS% [%altedition% Activation ID Not Found]" call :dk_color %Red% "Checking Alternate Edition for %KS% [%altedition% Activation ID Not Found]"
) )
if not defined key if not defined _gvlk ( if not defined key if not defined _gvlk (
@ -579,7 +579,7 @@ echo:
) )
if defined winsub ( if defined winsub (
call :dk_color %Blue% "Windows Subscription [SKU ID-%slcSKU%] found. Script will activate base edition [SKU ID-%regSKU%]." call :dk_color %Blue% "Windows Subscription [SKU ID-%slcSKU%] found. The script will activate the base edition [SKU ID-%regSKU%]."
echo: echo:
) )
@ -1288,10 +1288,8 @@ reg delete "HKLM\SOFTWARE\Microsoft\Office\%%#.0\Common\OEM" /f /reg:32 %nul%
) )
reg delete "HKU\S-1-5-20\Software\Microsoft\Windows NT\CurrentVersion\SoftwareProtectionPlatform\Policies\0ff1ce15-a989-479d-af46-f275c6370663" /f %nul% reg delete "HKU\S-1-5-20\Software\Microsoft\Windows NT\CurrentVersion\SoftwareProtectionPlatform\Policies\0ff1ce15-a989-479d-af46-f275c6370663" /f %nul%
reg delete "HKU\S-1-5-20\Software\Microsoft\OfficeSoftwareProtectionPlatform\Policies\0ff1ce15-a989-479d-af46-f275c6370663" /f %nul%
reg delete "HKU\S-1-5-20\Software\Microsoft\OfficeSoftwareProtectionPlatform\Policies\59a52881-a989-479d-af46-f275c6370663" /f %nul%
echo Clearing Office License Blocks [Successfully cleared from all %counter% user accounts] echo Clearing Office License Blocks [Successfully Cleared From All %counter% Useraccounts]
::========================== ::==========================
@ -1309,7 +1307,7 @@ for %%# in (%_sidlist%) do (
reg delete HKU\%%#\Software\Microsoft\Office\16.0\Common\Licensing\Resiliency /f %nul% reg delete HKU\%%#\Software\Microsoft\Office\16.0\Common\Licensing\Resiliency /f %nul%
reg add HKU\%%#\Software\Microsoft\Office\16.0\Common\Licensing\Resiliency /v "TimeOfLastHeartbeatFailure" /t REG_SZ /d "2040-01-01T00:00:00Z" /f %nul% reg add HKU\%%#\Software\Microsoft\Office\16.0\Common\Licensing\Resiliency /v "TimeOfLastHeartbeatFailure" /t REG_SZ /d "2040-01-01T00:00:00Z" /f %nul%
) )
echo Adding Reg Keys to Skip License Check [Successfully added to all %counter% ^& future new user accounts] echo Adding Reg Keys To Skip License Check [Successfully Added To All %counter% ^& Future New Useraccounts]
) )
::========================== ::==========================
@ -1323,14 +1321,14 @@ reg query HKU\%%# %nul% && set failedtounload=1
if defined failedtoload ( if defined failedtoload (
set error=1 set error=1
call :dk_color %Red% "Loading Unloaded Accounts Registry [Failed for some user accounts]" call :dk_color %Red% "Loading Unloaded accounts Registry [Failed For Some Useraccounts]"
call :dk_color %Blue% "Restart your system and try again." call :dk_color %Blue% "Restart the system and try again."
) )
if defined failedtounload ( if defined failedtounload (
set error=1 set error=1
call :dk_color %Red% "Unloading Loaded Account Registries [Failed for some user accounts]" call :dk_color %Red% "Unloading loaded accounts Registry [Failed For Some Useraccounts]"
call :dk_color %Blue% "Restart your system and try again." call :dk_color %Blue% "Restart the system and try again."
) )
exit /b exit /b
@ -2573,7 +2571,7 @@ set pupfound=%pupfound1%%pupfound2%
set hcount=0 set hcount=0
for %%# in (avira.com kaspersky.com virustotal.com mcafee.com) do ( for %%# in (avira.com kaspersky.com virustotal.com mcafee.com) do (
find /i "%%#" %SysPath%\drivers\etc\hosts %nul% && set /a hcount+=1) find /i "%%#" %SysPath%\drivers\etc\hosts %nul% && set /a hcount+=1)
if %hcount%==4 set "results=[Antivirus URLs are blocked in hosts]" if %hcount%==4 set "results=[AV URLs are blocked in hosts]"
set wucount=0 set wucount=0
for %%# in (wuauserv) do ( for %%# in (wuauserv) do (
@ -2582,7 +2580,7 @@ for %%G in (DependOnService Description DisplayName ErrorControl ImagePath Objec
reg query HKLM\SYSTEM\CurrentControlSet\Services\%%# /v %%G %nul% || (set _corrupt=1 & set /a wucount+=1) reg query HKLM\SYSTEM\CurrentControlSet\Services\%%# /v %%G %nul% || (set _corrupt=1 & set /a wucount+=1)
) )
) )
if %wucount% GEQ 1 set "results=%results%[Windows Update registry is corrupt]" if %wucount% GEQ 1 set "results=%results%[WU registry is corrupt]"
sc start sppsvc %nul% sc start sppsvc %nul%
echo "%errorlevel%" | findstr "577 225" %nul% && ( echo "%errorlevel%" | findstr "577 225" %nul% && (
@ -2593,8 +2591,7 @@ if not exist %SysPath%\sppsvc.exe if not exist %SysPath%\alg.exe (set "results=%
if not "%results%%pupfound%"=="" ( if not "%results%%pupfound%"=="" (
if defined pupfound call :dk_color %Gray% "Checking PUP Activators [Found%pupfound%]" if defined pupfound call :dk_color %Gray% "Checking PUP Activators [Found%pupfound%]"
if defined results call :dk_color %Red% "Checking Probable Mal%w%ware Infection..." if defined results call :dk_color %Red% "Checking Probable Mal%w%ware Infection %results%"
if defined results call :dk_color %Red% "%results%"
set fixes=%fixes% %mas%remove_mal%w%ware set fixes=%fixes% %mas%remove_mal%w%ware
call :dk_color2 %Blue% "Help - " %_Yellow% " %mas%remove_mal%w%ware" call :dk_color2 %Blue% "Help - " %_Yellow% " %mas%remove_mal%w%ware"
echo: echo:
@ -2613,7 +2610,7 @@ call :dk_chkmal
sc query Null %nul% || ( sc query Null %nul% || (
set error=1 set error=1
set showfix=1 set showfix=1
call :dk_color %Red% "Checking Sandboxing [Found, script may not work properly.]" call :dk_color %Red% "Checking Sandboxing [Found. Script may not work properly.]"
call :dk_color %Blue% "If you are using any third-party antivirus, check if it is blocking the script." call :dk_color %Blue% "If you are using any third-party antivirus, check if it is blocking the script."
echo: echo:
) )
@ -2704,7 +2701,7 @@ if defined serv_e (
set error=1 set error=1
call :dk_color %Red% "Starting Services [Failed] [%serv_e%]" call :dk_color %Red% "Starting Services [Failed] [%serv_e%]"
echo %serv_e% | findstr /i "ClipSVC-1058 sppsvc-1058" %nul% && ( echo %serv_e% | findstr /i "ClipSVC-1058 sppsvc-1058" %nul% && (
call :dk_color %Blue% "Restart your system to fix this error." call :dk_color %Blue% "Restart the system to fix this error."
set showfix=1 set showfix=1
) )
) )
@ -2744,7 +2741,7 @@ for /f "delims=" %%a in ('%psc% "$f=[io.file]::ReadAllText('!_batp!') -split ':w
echo "%wpainfo%" | find /i "Error Found" %nul% && ( echo "%wpainfo%" | find /i "Error Found" %nul% && (
set error=1 set error=1
set wpaerror=1 set wpaerror=1
call :dk_color %Red% "Checking WPA Registry Errors [%wpainfo%]" call :dk_color %Red% "Checking WPA Registry Error [%wpainfo%]"
) || ( ) || (
echo Checking WPA Registry Count [%wpainfo%] echo Checking WPA Registry Count [%wpainfo%]
) )
@ -2783,7 +2780,7 @@ call :dk_color %Red% "Checking License Files [Not Found] [%osed
if not exist "%SystemRoot%\Servicing\Packages\Microsoft-Windows-*-%osedition%-*.mum" ( if not exist "%SystemRoot%\Servicing\Packages\Microsoft-Windows-*-%osedition%-*.mum" (
set error=1 set error=1
call :dk_color %Red% "Checking Package Files [Not Found] [%osedition%]" call :dk_color %Red% "Checking Package File [Not Found] [%osedition%]"
) )
) )
) )
@ -2854,7 +2851,7 @@ echo Checking Eval WLMS Service [Found]
reg query "HKU\S-1-5-20\Software\Microsoft\Windows NT\CurrentVersion" %nul% || ( reg query "HKU\S-1-5-20\Software\Microsoft\Windows NT\CurrentVersion" %nul% || (
set error=1 set error=1
call :dk_color %Red% "Checking HKU\S-1-5-20 Registry [Not Found]" call :dk_color %Red% "Checking HKU\S-1-5-20 Reg [Not Found]"
set fixes=%fixes% %mas%troubleshoot set fixes=%fixes% %mas%troubleshoot
call :dk_color2 %Blue% "Help - " %_Yellow% " %mas%troubleshoot" call :dk_color2 %Blue% "Help - " %_Yellow% " %mas%troubleshoot"
) )
@ -2879,7 +2876,7 @@ set error=1
reg query "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\SoftwareProtectionPlatform\Plugins\Objects\msft:rm/algorithm/hwid/4.0" /f ba02fed39662 /d %nul% || ( reg query "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\SoftwareProtectionPlatform\Plugins\Objects\msft:rm/algorithm/hwid/4.0" /f ba02fed39662 /d %nul% || (
call :dk_color %Red% "Checking SPP Registry Key [Incorrect ModuleId Found]" call :dk_color %Red% "Checking SPP Registry Key [Incorrect ModuleId Found]"
set fixes=%fixes% %mas%issues_due_to_gaming_spoofers set fixes=%fixes% %mas%issues_due_to_gaming_spoofers
call :dk_color2 %Blue% "Most likely caused by HWID spoofers. Help - " %_Yellow% " %mas%issues_due_to_gaming_spoofers" call :dk_color2 %Blue% "Possibly Caused By Gaming Spoofers. Help - " %_Yellow% " %mas%issues_due_to_gaming_spoofers"
set error=1 set error=1
set showfix=1 set showfix=1
) )
@ -2909,9 +2906,9 @@ set "d=!d! $AclObject.SetSecurityDescriptorSddlForm($sddl);"
set "d=!d! Set-Acl -Path %tokenstore% -AclObject $AclObject;" set "d=!d! Set-Acl -Path %tokenstore% -AclObject $AclObject;"
%psc% "!d!" %nul% %psc% "!d!" %nul%
if exist "%tokenstore%\" ( if exist "%tokenstore%\" (
call :dk_color %Gray% "Checking SPP Token Folder [Not Found, Created Now] [%tokenstore%\]" call :dk_color %Gray% "Checking SPP Token Folder [Not Found. Created Now] [%tokenstore%\]"
) else ( ) else (
call :dk_color %Red% "Checking SPP Token Folder [Not Found, Failed to Create] [%tokenstore%\]" call :dk_color %Red% "Checking SPP Token Folder [Not Found. Failed To Create] [%tokenstore%\]"
set error=1 set error=1
set showfix=1 set showfix=1
) )
@ -3029,7 +3026,7 @@ if ($osVersion.Build -ge $minBuildNumber) {
} }
for ($i=1; $i -le $count; $i++) { for ($i=1; $i -le $count; $i++) {
if (-not $subkeyHashTable.ContainsKey("$i")) { if (-not $subkeyHashTable.ContainsKey("$i")) {
Write-Output "Total Keys $count. Error Found - $i key does not exist." Write-Output "Total Keys $count. Error Found- $i key does not exist"
$wpaKey.Close() $wpaKey.Close()
exit exit
} }
@ -3040,7 +3037,7 @@ $wpaKey.GetSubKeyNames() | ForEach-Object {
if ($PSVersionTable.PSVersion.Major -lt 3) { if ($PSVersionTable.PSVersion.Major -lt 3) {
cmd /c "reg query "HKLM\SYSTEM\WPA\$_" /ve /t REG_BINARY >nul 2>&1" cmd /c "reg query "HKLM\SYSTEM\WPA\$_" /ve /t REG_BINARY >nul 2>&1"
if ($LASTEXITCODE -ne 0) { if ($LASTEXITCODE -ne 0) {
Write-Host "Total Keys $count. Error Found - Binary Data is corrupt." Write-Host "Total Keys $count. Error Found- Binary Data is corrupt"
$wpaKey.Close() $wpaKey.Close()
exit exit
} }
@ -3048,7 +3045,7 @@ $wpaKey.GetSubKeyNames() | ForEach-Object {
$subkey = $wpaKey.OpenSubKey($_) $subkey = $wpaKey.OpenSubKey($_)
$p = $subkey.GetValueNames() $p = $subkey.GetValueNames()
if (($p | Where-Object { $subkey.GetValueKind($_) -eq [Microsoft.Win32.RegistryValueKind]::Binary }).Count -eq 0) { if (($p | Where-Object { $subkey.GetValueKind($_) -eq [Microsoft.Win32.RegistryValueKind]::Binary }).Count -eq 0) {
Write-Host "Total Keys $count. Error Found - Binary Data is corrupt." Write-Host "Total Keys $count. Error Found- Binary Data is corrupt"
$wpaKey.Close() $wpaKey.Close()
exit exit
} }
@ -3087,13 +3084,13 @@ echo:
if %_unattended%==1 timeout /t 2 & exit /b if %_unattended%==1 timeout /t 2 & exit /b
if defined fixes ( if defined fixes (
call :dk_color2 %Blue% "Press [1] to Open Troubleshoot Page " %Gray% " Press [0] to Ignore" call :dk_color2 %Blue% "Press [1] To Open Troubleshoot Page " %Gray% " Press [0] To Ignore"
choice /C:10 /N choice /C:10 /N
if !errorlevel!==1 (for %%# in (%fixes%) do (start %%#)) if !errorlevel!==1 (for %%# in (%fixes%) do (start %%#))
) )
if defined terminal ( if defined terminal (
call :dk_color %_Yellow% "Press [0] key to %_exitmsg%..." call :dk_color %_Yellow% "Press 0 key to %_exitmsg%..."
choice /c 0 /n choice /c 0 /n
) else ( ) else (
call :dk_color %_Yellow% "Press any key to %_exitmsg%..." call :dk_color %_Yellow% "Press any key to %_exitmsg%..."

View File

@ -69,7 +69,7 @@ set "mas=ht%blank%tps%blank%://mass%blank%grave.dev/"
sc query Null | find /i "RUNNING" sc query Null | find /i "RUNNING"
if %errorlevel% NEQ 0 ( if %errorlevel% NEQ 0 (
echo: echo:
echo Null service is not running, script may crash... echo The Null service, which is required for the script to operate, is not running.
echo: echo:
echo: echo:
echo Help - %mas%troubleshoot echo Help - %mas%troubleshoot
@ -84,7 +84,7 @@ cls
pushd "%~dp0" pushd "%~dp0"
>nul findstr /v "$" "%~nx0" && ( >nul findstr /v "$" "%~nx0" && (
echo: echo:
echo Error - Script either has LF line ending issue or an empty line at the end of the script is missing. echo Error - The script either has an LF line ending issue or the empty line at the end of the script is missing.
echo: echo:
echo: echo:
echo Help - %mas%troubleshoot echo Help - %mas%troubleshoot
@ -127,7 +127,7 @@ set "line=echo _________________________________________________________________
if %winbuild% LSS 7600 ( if %winbuild% LSS 7600 (
%nceline% %nceline%
echo Unsupported OS version detected [%winbuild%]. echo Unsupported OS version detected [%winbuild%].
echo Project is supported only for Windows 7/8/8.1/10/11 and their Server equivalents. echo MAS only supports Windows 7/8/8.1/10/11 and their Server equivalents.
goto dk_done goto dk_done
) )
@ -153,7 +153,7 @@ setlocal EnableDelayedExpansion
echo "!_batf!" | find /i "!_ttemp!" %nul1% && ( echo "!_batf!" | find /i "!_ttemp!" %nul1% && (
if /i not "!_work!"=="!_ttemp!" ( if /i not "!_work!"=="!_ttemp!" (
%eline% %eline%
echo The script was launched from the temp folder. echo Script is launched from the temp folder.
echo You are most likely running the script directly from the archive file. echo You are most likely running the script directly from the archive file.
echo: echo:
echo Extract the archive file and launch the script from the extracted folder. echo Extract the archive file and launch the script from the extracted folder.
@ -178,7 +178,7 @@ echo:
set fixes=%fixes% %mas%troubleshoot set fixes=%fixes% %mas%troubleshoot
call :dk_color2 %Blue% "Help - " %_Yellow% " %mas%troubleshoot" call :dk_color2 %Blue% "Help - " %_Yellow% " %mas%troubleshoot"
) || ( ) || (
echo PowerShell is not working. Aborting... echo PowerShell is not working, aborting...
echo If you have applied restrictions on Powershell then undo those changes. echo If you have applied restrictions on Powershell then undo those changes.
echo: echo:
set fixes=%fixes% %mas%fix_powershell set fixes=%fixes% %mas%fix_powershell
@ -194,7 +194,7 @@ goto dk_done
%nul1% fltmc || ( %nul1% fltmc || (
if not defined _elev %psc% "start cmd.exe -arg '/c \"!_PSarg!\"' -verb runas" && exit /b if not defined _elev %psc% "start cmd.exe -arg '/c \"!_PSarg!\"' -verb runas" && exit /b
%eline% %eline%
echo This script needs admin rights. echo This script needs administrator rights.
echo Right click on this script and select 'Run as administrator'. echo Right click on this script and select 'Run as administrator'.
goto dk_done goto dk_done
) )
@ -302,7 +302,7 @@ dism.exe
) do ( ) do (
if not exist %SysPath%\%%# ( if not exist %SysPath%\%%# (
%eline% %eline%
echo [%SysPath%\%%#] file is missing, aborting... echo [%SysPath%\%%#] file is missing. Aborting...
echo: echo:
set fixes=%fixes% %mas%troubleshoot set fixes=%fixes% %mas%troubleshoot
call :dk_color2 %Blue% "Help - " %_Yellow% " %mas%troubleshoot" call :dk_color2 %Blue% "Help - " %_Yellow% " %mas%troubleshoot"
@ -335,7 +335,7 @@ if defined UBR (set "fullbuild=%%G.!UBR!") else (set "fullbuild=%%G.%%H")
call :dk_actid 55c92734-d682-4d71-983e-d6ec3f16059f call :dk_actid 55c92734-d682-4d71-983e-d6ec3f16059f
if not defined apps ( if not defined apps (
%eline% %eline%
echo Either key is not insalled or script failed to get installed key's activation ID. Aborting... echo Either a key is not installed or MAS failed to get installed keys' activation ID, aborting...
echo: echo:
set fixes=%fixes% %mas%troubleshoot set fixes=%fixes% %mas%troubleshoot
call :dk_color2 %Blue% "Help - " %_Yellow% " %mas%troubleshoot" call :dk_color2 %Blue% "Help - " %_Yellow% " %mas%troubleshoot"
@ -423,9 +423,9 @@ echo %%# | findstr /i "CountrySpecific CloudEdition" %nul% || (set "_ntarget=!_n
if not defined _ntarget ( if not defined _ntarget (
%line% %line%
echo: echo:
if defined dismnotworking call :dk_color %Red% "DISM.exe is not working." if defined dismnotworking call :dk_color %Red% "DISM is not working."
call :dk_color %Gray% "Target editions not found." call :dk_color %Gray% "Target editions not found."
echo Current Edition [%osedition% ^| %winbuild%] can not be changed to any other Edition. echo Current edition [%osedition% ^| %winbuild%] cannot be changed.
%line% %line%
goto dk_done goto dk_done
) )
@ -443,11 +443,11 @@ set targetedition=
%line% %line%
echo: echo:
call :dk_color %Gray% "You can change the edition [%osedition%] [%fullbuild%] to one of the following." call :dk_color %Gray% "You can change the current edition [%osedition%] [%fullbuild%] to one of the following:"
%showeditionerror% %showeditionerror%
if defined dismnotworking ( if defined dismnotworking (
call :dk_color %_Yellow% "Note - DISM.exe is not working." call :dk_color %_Yellow% "Note - DISM is not working."
if /i "%osedition:~0,4%"=="Core" call :dk_color %_Yellow% " - You will see more edition options to choose once its changed to Pro." if /i "%osedition:~0,4%"=="Core" call :dk_color %_Yellow% " - You will see more editions to choose from once you've changed to Professional."
) )
%line% %line%
echo: echo:
@ -543,7 +543,7 @@ cls
%line% %line%
echo: echo:
%showeditionerror% %showeditionerror%
if defined dismnotworking call :dk_color %_Yellow% "DISM.exe is not working." if defined dismnotworking call :dk_color %_Yellow% "DISM is not working."
echo Changing the current edition [%osedition%] %fullbuild% to [%targetedition%]... echo Changing the current edition [%osedition%] %fullbuild% to [%targetedition%]...
echo: echo:
@ -613,7 +613,7 @@ if defined rebootreq goto dk_done
echo: echo:
%showeditionerror% %showeditionerror%
if defined dismnotworking call :dk_color %_Yellow% "Note - DISM.exe is not working." if defined dismnotworking call :dk_color %_Yellow% "Note - DISM is not working."
echo Changing the current edition [%osedition%] %fullbuild% to [%targetedition%]... echo Changing the current edition [%osedition%] %fullbuild% to [%targetedition%]...
echo: echo:
call :dk_color %Blue% "Important - Save your work before continuing, the system will auto-restart." call :dk_color %Blue% "Important - Save your work before continuing, the system will auto-restart."
@ -670,7 +670,7 @@ if defined rebootreq goto dk_done
cls cls
echo: echo:
%showeditionerror% %showeditionerror%
if defined dismnotworking call :dk_color %_Yellow% "Note - DISM.exe is not working." if defined dismnotworking call :dk_color %_Yellow% "Note - DISM is not working."
echo Changing the current edition [%osedition%] %fullbuild% to [%targetedition%]... echo Changing the current edition [%osedition%] %fullbuild% to [%targetedition%]...
echo: echo:
@ -987,13 +987,13 @@ echo:
if %_unattended%==1 timeout /t 2 & exit /b if %_unattended%==1 timeout /t 2 & exit /b
if defined fixes ( if defined fixes (
call :dk_color2 %Blue% "Press [1] to Open Troubleshoot Page " %Gray% " Press [0] to Ignore" call :dk_color2 %Blue% "Press [1] to open troubleshoot page " %Gray% " Press [0] to ignore"
choice /C:10 /N choice /C:10 /N
if !errorlevel!==1 (for %%# in (%fixes%) do (start %%#)) if !errorlevel!==1 (for %%# in (%fixes%) do (start %%#))
) )
if defined terminal ( if defined terminal (
call :dk_color %_Yellow% "Press [0] key to %_exitmsg%..." call :dk_color %_Yellow% "Press [0] to %_exitmsg%..."
choice /c 0 /n choice /c 0 /n
) else ( ) else (
call :dk_color %_Yellow% "Press any key to %_exitmsg%..." call :dk_color %_Yellow% "Press any key to %_exitmsg%..."

View File

@ -64,7 +64,7 @@ set "mas=ht%blank%tps%blank%://mass%blank%grave.dev/"
sc query Null | find /i "RUNNING" sc query Null | find /i "RUNNING"
if %errorlevel% NEQ 0 ( if %errorlevel% NEQ 0 (
echo: echo:
echo Null service is not running, script may crash... echo The Null service, which is required for the script to operate, is not running.
echo: echo:
echo: echo:
echo Help - %mas%troubleshoot echo Help - %mas%troubleshoot
@ -79,7 +79,7 @@ cls
pushd "%~dp0" pushd "%~dp0"
>nul findstr /v "$" "%~nx0" && ( >nul findstr /v "$" "%~nx0" && (
echo: echo:
echo Error - Script either has LF line ending issue or an empty line at the end of the script is missing. echo Error - Script either has an LF line ending issue or an empty line at the end of the script is missing.
echo: echo:
echo: echo:
echo Help - %mas%troubleshoot echo Help - %mas%troubleshoot
@ -121,7 +121,7 @@ call :dk_setvar
if %winbuild% LSS 7600 ( if %winbuild% LSS 7600 (
%nceline% %nceline%
echo Unsupported OS version detected [%winbuild%]. echo Unsupported OS version detected [%winbuild%].
echo Project is supported only for Windows 7/8/8.1/10/11 and their Server equivalents. echo MAS only supports Windows 7/8/8.1/10/11 and their Server equivalents.
goto done2 goto done2
) )
@ -147,7 +147,7 @@ setlocal EnableDelayedExpansion
echo "!_batf!" | find /i "!_ttemp!" %nul1% && ( echo "!_batf!" | find /i "!_ttemp!" %nul1% && (
if /i not "!_work!"=="!_ttemp!" ( if /i not "!_work!"=="!_ttemp!" (
%eline% %eline%
echo The script was launched from the temp folder. echo Script is launched from the temp folder.
echo You are most likely running the script directly from the archive file. echo You are most likely running the script directly from the archive file.
echo: echo:
echo Extract the archive file and launch the script from the extracted folder. echo Extract the archive file and launch the script from the extracted folder.
@ -188,7 +188,7 @@ goto done2
%nul1% fltmc || ( %nul1% fltmc || (
if not defined _elev %psc% "start cmd.exe -arg '/c \"!_PSarg!\"' -verb runas" && exit /b if not defined _elev %psc% "start cmd.exe -arg '/c \"!_PSarg!\"' -verb runas" && exit /b
%eline% %eline%
echo This script needs admin rights. echo This script needs administrator rights.
echo Right click on this script and select 'Run as administrator'. echo Right click on this script and select 'Run as administrator'.
goto done2 goto done2
) )
@ -681,7 +681,7 @@ cd \
:errorfound :errorfound
%eline% %eline%
echo The script failed to create the $OEM$ folder. echo The script failed to create the $OEM$ folder successfully.
goto :done2 goto :done2
:done :done
@ -689,11 +689,11 @@ goto :done2
echo ______________________________________________________________ echo ______________________________________________________________
echo: echo:
call :dk_color %Blue% "%oem%" call :dk_color %Blue% "%oem%"
call :dk_color %Green% "$OEM$ folder was successfully created on your Desktop." call :dk_color %Green% "The $OEM$ folder was successfully created on your Desktop."
echo "%oem%" | find /i "38" %nul% && ( echo "%oem%" | find /i "38" %nul% && (
echo: echo:
echo To KMS38 activate Server Cor/Acor editions ^(No GUI Versions^), echo If you want to activate Server Cor/Acor editions ^(No GUI Versions^) using KMS38,
echo Check this page %mas%oem-folder echo refer to this page for instructions: %mas%oem-folder
) )
echo ______________________________________________________________ echo ______________________________________________________________
@ -701,13 +701,13 @@ echo ______________________________________________________________
echo: echo:
if defined fixes ( if defined fixes (
call :dk_color2 %Blue% "Press [1] to Open Troubleshoot Page " %Gray% " Press [0] to Ignore" call :dk_color2 %Blue% "Press [1] to open the Troubleshoot page " %Gray% " Press [0] to ignore"
choice /C:10 /N choice /C:10 /N
if !errorlevel!==1 (for %%# in (%fixes%) do (start %%#)) if !errorlevel!==1 (for %%# in (%fixes%) do (start %%#))
) )
if defined terminal ( if defined terminal (
call :dk_color %_Yellow% "Press [0] key to %_exitmsg%..." call :dk_color %_Yellow% "Press [0] to %_exitmsg%..."
choice /c 0 /n choice /c 0 /n
) else ( ) else (
call :dk_color %_Yellow% "Press any key to %_exitmsg%..." call :dk_color %_Yellow% "Press any key to %_exitmsg%..."

View File

@ -64,7 +64,7 @@ set "mas=ht%blank%tps%blank%://mass%blank%grave.dev/"
sc query Null | find /i "RUNNING" sc query Null | find /i "RUNNING"
if %errorlevel% NEQ 0 ( if %errorlevel% NEQ 0 (
echo: echo:
echo Null service is not running, script may crash... echo The Null service, which is required for the script to operate, is not running.
echo: echo:
echo: echo:
echo Help - %mas%troubleshoot echo Help - %mas%troubleshoot
@ -79,7 +79,7 @@ cls
pushd "%~dp0" pushd "%~dp0"
>nul findstr /v "$" "%~nx0" && ( >nul findstr /v "$" "%~nx0" && (
echo: echo:
echo Error - Script either has LF line ending issue or an empty line at the end of the script is missing. echo Error - Script either has an LF line ending issue or an empty line at the end of the script is missing.
echo: echo:
echo: echo:
echo Help - %mas%troubleshoot echo Help - %mas%troubleshoot
@ -122,7 +122,7 @@ set "line=______________________________________________________________________
if %winbuild% LSS 7600 ( if %winbuild% LSS 7600 (
%nceline% %nceline%
echo Unsupported OS version detected [%winbuild%]. echo Unsupported OS version detected [%winbuild%].
echo Project is supported only for Windows 7/8/8.1/10/11 and their Server equivalents. echo MAS only supports Windows 7/8/8.1/10/11 and their Server equivalents.
goto dk_done goto dk_done
) )
@ -148,7 +148,7 @@ setlocal EnableDelayedExpansion
echo "!_batf!" | find /i "!_ttemp!" %nul1% && ( echo "!_batf!" | find /i "!_ttemp!" %nul1% && (
if /i not "!_work!"=="!_ttemp!" ( if /i not "!_work!"=="!_ttemp!" (
%eline% %eline%
echo The script was launched from the temp folder. echo Script is launched from the temp folder,
echo You are most likely running the script directly from the archive file. echo You are most likely running the script directly from the archive file.
echo: echo:
echo Extract the archive file and launch the script from the extracted folder. echo Extract the archive file and launch the script from the extracted folder.
@ -189,7 +189,7 @@ goto dk_done
%nul1% fltmc || ( %nul1% fltmc || (
if not defined _elev %psc% "start cmd.exe -arg '/c \"!_PSarg!\"' -verb runas" && exit /b if not defined _elev %psc% "start cmd.exe -arg '/c \"!_PSarg!\"' -verb runas" && exit /b
%eline% %eline%
echo This script needs admin rights. echo This script needs admininistrator rights.
echo Right click on this script and select 'Run as administrator'. echo Right click on this script and select 'Run as administrator'.
goto dk_done goto dk_done
) )
@ -436,7 +436,7 @@ copy /y /b "%SystemRoot%\logs\cbs\cbs.log" "%SystemRoot%\logs\cbs\backup_cbs_%_t
del /f /q "%SystemRoot%\logs\cbs\cbs.log" %nul% del /f /q "%SystemRoot%\logs\cbs\cbs.log" %nul%
echo: echo:
echo Applying the command... echo Applying the command,..
echo sfc /scannow echo sfc /scannow
sfc /scannow sfc /scannow
@ -470,7 +470,7 @@ echo %line%
echo: echo:
echo Notes: echo Notes:
echo: echo:
echo - This option helps in troubleshooting activation issues. echo - This option helps in troubleshooting generic activation issues.
echo: echo:
echo - This option will: echo - This option will:
echo - Deactivate Windows and Office, you may need to reactivate. echo - Deactivate Windows and Office, you may need to reactivate.
@ -554,7 +554,7 @@ echo [Successful]
:: Clear HWID token related registry to fix activation incase there is any corruption :: Clear HWID token related registry to fix activation incase there is any corruption
echo: echo:
echo Deleting IdentityCRL Registry Key... echo Deleting IdentityCRL...
echo [%_ident%] echo [%_ident%]
reg delete "%_ident%" /f %nul% reg delete "%_ident%" /f %nul%
reg query "%_ident%" %nul% && ( reg query "%_ident%" %nul% && (
@ -609,7 +609,7 @@ echo:
call :scandat check call :scandat check
if not defined token ( if not defined token (
call :dk_color %Red% "tokens.dat file not found." call :dk_color %Red% "tokens.dat file was not found."
) else ( ) else (
echo tokens.dat file: [%token%] echo tokens.dat file: [%token%]
) )
@ -620,14 +620,14 @@ for /f "skip=2 tokens=2*" %%a in ('reg query "HKLM\SOFTWARE\Microsoft\Windows NT
if %winbuild% GEQ 9200 if /i not "%tokenstore%"=="%SysPath%\spp\store" if /i not "%tokenstore%"=="%SysPath%\spp\store\2.0" if /i not "%tokenstore%"=="%SysPath%\spp\store_test\2.0" ( if %winbuild% GEQ 9200 if /i not "%tokenstore%"=="%SysPath%\spp\store" if /i not "%tokenstore%"=="%SysPath%\spp\store\2.0" if /i not "%tokenstore%"=="%SysPath%\spp\store_test\2.0" (
set badregistry=1 set badregistry=1
echo: echo:
call :dk_color %Red% "Correct path not found in TokenStore Registry [%tokenstore%]" call :dk_color %Red% "Correct path was not found in the TokenStore registry. [%tokenstore%]"
) )
:: Check sppsvc permissions and apply fixes :: Check sppsvc permissions and apply fixes
if %winbuild% GEQ 9200 if not defined badregistry ( if %winbuild% GEQ 9200 if not defined badregistry (
echo: echo:
echo Checking SPP permission related issues... echo Checking for SPP permission related issues...
call :checkperms call :checkperms
if defined permerror ( if defined permerror (
call :dk_color %Red% "[!permerror!]" call :dk_color %Red% "[!permerror!]"
@ -651,7 +651,7 @@ if %winbuild% LSS 9200 (
REM Fix issues caused by Update KB971033 in Windows 7 REM Fix issues caused by Update KB971033 in Windows 7
REM https://support.microsoft.com/help/4487266 REM https://support.microsoft.com/help/4487266
echo: echo:
echo Checking Update KB971033... echo Checking for update KB971033...
%psc% "if (Get-Hotfix -Id KB971033 -ErrorAction SilentlyContinue) {Exit 3}" %nul% %psc% "if (Get-Hotfix -Id KB971033 -ErrorAction SilentlyContinue) {Exit 3}" %nul%
if !errorlevel!==3 ( if !errorlevel!==3 (
echo Found, uninstalling it... echo Found, uninstalling it...
@ -664,16 +664,6 @@ sc config sppuinotify start= disabled
del /f /q %SysPath%\7B296FB0-376B-497e-B012-9C450E1B7327-*.C7483456-A289-439d-8115-601632D005A0 /ah del /f /q %SysPath%\7B296FB0-376B-497e-B012-9C450E1B7327-*.C7483456-A289-439d-8115-601632D005A0 /ah
) )
:: Delete registry keys that are not deleted by activation scripts
echo:
echo Cleaning some licensing-related registry keys...
%nul% reg delete "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\SoftwareProtectionPlatform" /v "ServiceSessionId" /f
%nul% reg delete "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\SoftwareProtectionPlatform" /v "LicStatusArray" /f
%nul% reg delete "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\SoftwareProtectionPlatform" /v "PolicyValuesArray" /f
%nul% reg delete "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\SoftwareProtectionPlatform" /v "actionlist" /f
%nul% reg delete "HKLM\SOFTWARE\Microsoft\OfficeSoftwareProtectionPlatform\data" /f
echo: echo:
call :scandat delete call :scandat delete
call :scandat check call :scandat check
@ -726,13 +716,13 @@ goto :repairoffice
call :scandatospp check call :scandatospp check
if not defined token ( if not defined token (
call :dk_color %Red% "tokens.dat file not found." call :dk_color %Red% "tokens.dat file was not found."
) else ( ) else (
echo tokens.dat file: [%token%] echo tokens.dat file: [%token%]
) )
echo: echo:
echo Stopping osppsvc service... echo Stopping the osppsvc service...
%psc% Stop-Service osppsvc -force %nul% %psc% Stop-Service osppsvc -force %nul%
echo: echo:
@ -746,7 +736,7 @@ echo:
) )
echo: echo:
echo Starting osppsvc service to generate tokens.dat... echo Starting the osppsvc service to generate tokens.dat...
%psc% Start-Service osppsvc %nul% %psc% Start-Service osppsvc %nul%
call :scandatospp check call :scandatospp check
if not defined token ( if not defined token (
@ -776,6 +766,15 @@ echo:
for /f "skip=2 tokens=2*" %%a in ('reg query "HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\Environment" /v PROCESSOR_ARCHITECTURE') do set arch=%%b for /f "skip=2 tokens=2*" %%a in ('reg query "HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\Environment" /v PROCESSOR_ARCHITECTURE') do set arch=%%b
if /i "%arch%"=="ARM64" (
echo:
echo ARM64 Windows detected.
echo You need to use the Repair option in Windows Settings for Office.
echo:
start ms-settings:appsfeatures
goto :repairend
)
if /i "%arch%"=="x86" ( if /i "%arch%"=="x86" (
set arch=X86 set arch=X86
) else ( ) else (
@ -792,12 +791,12 @@ set _86=HKLM\SOFTWARE\Wow6432Node\Microsoft\Office
reg query %_68%\14.0\CVH /f Click2run /k %nul% && (set "c2r14_68=Office 14.0 C2R x86/x64" & set "c2r14repair68=") reg query %_68%\14.0\CVH /f Click2run /k %nul% && (set "c2r14_68=Office 14.0 C2R x86/x64" & set "c2r14repair68=")
reg query %_86%\14.0\CVH /f Click2run /k %nul% && (set "c2r14_86=Office 14.0 C2R x86" & set "c2r14repair86=") reg query %_86%\14.0\CVH /f Click2run /k %nul% && (set "c2r14_86=Office 14.0 C2R x86" & set "c2r14repair86=")
for /f "skip=2 tokens=2*" %%a in ('"reg query %_86%\14.0\Common\InstallRoot /v Path" %nul6%') do if exist "%%b\EntityPicker.dll" (set "msi14_86=Office 14.0 MSI x86" & call :getrepairsetup msi14repair86 14) for /f "skip=2 tokens=2*" %%a in ('"reg query %_86%\14.0\Common\InstallRoot /v Path" %nul6%') do if exist "%%b\EntityPicker.dll" (set "msi14_86=Office 14.0 MSI x86" & set "msi14repair86=%systemdrive%\Program Files (x86)\Common Files\Microsoft Shared\OFFICE14\Office Setup Controller\Setup.exe")
for /f "skip=2 tokens=2*" %%a in ('"reg query %_68%\14.0\Common\InstallRoot /v Path" %nul6%') do if exist "%%b\EntityPicker.dll" (set "msi14_68=Office 14.0 MSI x86/x64" & call :getrepairsetup msi14repair68 14) for /f "skip=2 tokens=2*" %%a in ('"reg query %_68%\14.0\Common\InstallRoot /v Path" %nul6%') do if exist "%%b\EntityPicker.dll" (set "msi14_68=Office 14.0 MSI x86/x64" & set "msi14repair68=%systemdrive%\Program Files\Common Files\microsoft shared\OFFICE14\Office Setup Controller\Setup.exe")
for /f "skip=2 tokens=2*" %%a in ('"reg query %_86%\15.0\Common\InstallRoot /v Path" %nul6%') do if exist "%%b\EntityPicker.dll" (set "msi15_86=Office 15.0 MSI x86" & call :getrepairsetup msi15repair86 15) for /f "skip=2 tokens=2*" %%a in ('"reg query %_86%\15.0\Common\InstallRoot /v Path" %nul6%') do if exist "%%b\EntityPicker.dll" (set "msi15_86=Office 15.0 MSI x86" & set "msi15repair86=%systemdrive%\Program Files (x86)\Common Files\Microsoft Shared\OFFICE15\Office Setup Controller\Setup.exe")
for /f "skip=2 tokens=2*" %%a in ('"reg query %_68%\15.0\Common\InstallRoot /v Path" %nul6%') do if exist "%%b\EntityPicker.dll" (set "msi15_68=Office 15.0 MSI x86/x64" & call :getrepairsetup msi15repair68 15) for /f "skip=2 tokens=2*" %%a in ('"reg query %_68%\15.0\Common\InstallRoot /v Path" %nul6%') do if exist "%%b\EntityPicker.dll" (set "msi15_68=Office 15.0 MSI x86/x64" & set "msi15repair68=%systemdrive%\Program Files\Common Files\microsoft shared\OFFICE15\Office Setup Controller\Setup.exe")
for /f "skip=2 tokens=2*" %%a in ('"reg query %_86%\16.0\Common\InstallRoot /v Path" %nul6%') do if exist "%%b\EntityPicker.dll" (set "msi16_86=Office 16.0 MSI x86" & call :getrepairsetup msi16repair86 16) for /f "skip=2 tokens=2*" %%a in ('"reg query %_86%\16.0\Common\InstallRoot /v Path" %nul6%') do if exist "%%b\EntityPicker.dll" (set "msi16_86=Office 16.0 MSI x86" & set "msi16repair86=%systemdrive%\Program Files (x86)\Common Files\Microsoft Shared\OFFICE16\Office Setup Controller\Setup.exe")
for /f "skip=2 tokens=2*" %%a in ('"reg query %_68%\16.0\Common\InstallRoot /v Path" %nul6%') do if exist "%%b\EntityPicker.dll" (set "msi16_68=Office 16.0 MSI x86/x64" & call :getrepairsetup msi16repair68 16) for /f "skip=2 tokens=2*" %%a in ('"reg query %_68%\16.0\Common\InstallRoot /v Path" %nul6%') do if exist "%%b\EntityPicker.dll" (set "msi16_68=Office 16.0 MSI x86/x64" & set "msi16repair68=%systemdrive%\Program Files\Common Files\Microsoft Shared\OFFICE16\Office Setup Controller\Setup.exe")
for /f "skip=2 tokens=2*" %%a in ('"reg query %_86%\15.0\ClickToRun /v InstallPath" %nul6%') do if exist "%%b\root\Licenses\ProPlus*.xrm-ms" (set "c2r15_86=Office 15.0 C2R x86" & set "c2r15repair86=%systemdrive%\Program Files\Microsoft Office 15\Client%arch%\integratedoffice.exe") for /f "skip=2 tokens=2*" %%a in ('"reg query %_86%\15.0\ClickToRun /v InstallPath" %nul6%') do if exist "%%b\root\Licenses\ProPlus*.xrm-ms" (set "c2r15_86=Office 15.0 C2R x86" & set "c2r15repair86=%systemdrive%\Program Files\Microsoft Office 15\Client%arch%\integratedoffice.exe")
for /f "skip=2 tokens=2*" %%a in ('"reg query %_68%\15.0\ClickToRun /v InstallPath" %nul6%') do if exist "%%b\root\Licenses\ProPlus*.xrm-ms" (set "c2r15_68=Office 15.0 C2R x86/x64" & set "c2r15repair68=%systemdrive%\Program Files\Microsoft Office 15\Client%arch%\integratedoffice.exe") for /f "skip=2 tokens=2*" %%a in ('"reg query %_68%\15.0\ClickToRun /v InstallPath" %nul6%') do if exist "%%b\root\Licenses\ProPlus*.xrm-ms" (set "c2r15_68=Office 15.0 C2R x86/x64" & set "c2r15repair68=%systemdrive%\Program Files\Microsoft Office 15\Client%arch%\integratedoffice.exe")
@ -903,15 +902,6 @@ echo:
call :dk_color %Green% "Finished" call :dk_color %Green% "Finished"
goto :at_back goto :at_back
:getrepairsetup
set "_common86=%systemdrive%\Program Files (x86)\Common Files\Microsoft Shared\OFFICE%2\Office Setup Controller\setup.exe"
set "_common68=%systemdrive%\Program Files\Common Files\Microsoft Shared\OFFICE%2\Office Setup Controller\setup.exe"
if exist "%_common86%" set "%1=%_common86%"
if exist "%_common68%" set "%1=%_common68%"
exit /b
::======================================================================================================================================== ::========================================================================================================================================
:fixwmi :fixwmi
@ -929,7 +919,7 @@ goto :at_back
) )
echo: echo:
echo Checking WMI echo Checking WMI...
call :checkwmi call :checkwmi
:: Apply basic fix first and check :: Apply basic fix first and check
@ -961,18 +951,18 @@ echo Winmgmt service is corrupted, aborting...
goto :at_back goto :at_back
) )
echo Disabling Winmgmt service echo Disabling Winmgmt service...
sc config Winmgmt start= disabled %nul% sc config Winmgmt start= disabled %nul%
if %errorlevel% EQU 0 ( if %errorlevel% EQU 0 (
echo [Successful] echo [Successful]
) else ( ) else (
call :dk_color %Red% "[Failed] Aborting..." call :dk_color %Red% "[Failed, aborting...]"
sc config Winmgmt start= auto %nul% sc config Winmgmt start= auto %nul%
goto :at_back goto :at_back
) )
echo: echo:
echo Stopping Winmgmt service echo Stopping Winmgmt service...
%psc% Stop-Service Winmgmt -force %nul% %psc% Stop-Service Winmgmt -force %nul%
%psc% Stop-Service Winmgmt -force %nul% %psc% Stop-Service Winmgmt -force %nul%
%psc% Stop-Service Winmgmt -force %nul% %psc% Stop-Service Winmgmt -force %nul%
@ -981,7 +971,7 @@ echo [Successful]
) || ( ) || (
call :dk_color %Red% "[Failed]" call :dk_color %Red% "[Failed]"
echo: echo:
call :dk_color %Blue% "Its recommended to select [Restart] option and then apply Fix WMI option again." call :dk_color %Blue% "It is recommended to select [Restart] option and then apply Fix WMI option again."
echo %line% echo %line%
echo: echo:
choice /C:21 /N /M "> [1] Restart [2] Revert Back Changes :" choice /C:21 /N /M "> [1] Restart [2] Revert Back Changes :"
@ -993,7 +983,7 @@ exit
) )
echo: echo:
echo Deleting WMI repository echo Deleting WMI repository...
rmdir /s /q "%SysPath%\wbem\repository\" %nul% rmdir /s /q "%SysPath%\wbem\repository\" %nul%
if exist "%SysPath%\wbem\repository\" ( if exist "%SysPath%\wbem\repository\" (
call :dk_color %Red% "[Failed]" call :dk_color %Red% "[Failed]"
@ -1002,7 +992,7 @@ echo [Successful]
) )
echo: echo:
echo Enabling Winmgmt service echo Enabling Winmgmt service...
sc config Winmgmt start= auto %nul% sc config Winmgmt start= auto %nul%
if %errorlevel% EQU 0 ( if %errorlevel% EQU 0 (
echo [Successful] echo [Successful]
@ -1013,17 +1003,17 @@ call :dk_color %Red% "[Failed]"
call :checkwmi call :checkwmi
if not defined error ( if not defined error (
echo: echo:
echo Checking WMI echo Checking WMI...
call :dk_color %Green% "[Working]" call :dk_color %Green% "[Working]"
goto :at_back goto :at_back
) )
echo: echo:
echo Registering .dll's and Compiling .mof's, .mfl's echo Registering .dll's, compiling .mof's and .mfl's...
call :registerobj %nul% call :registerobj %nul%
echo: echo:
echo Checking WMI echo Checking WMI...
call :checkwmi call :checkwmi
if defined error ( if defined error (
call :dk_color %Red% "[Not Responding]" call :dk_color %Red% "[Not Responding]"
@ -1079,7 +1069,7 @@ echo:
echo %line% echo %line%
echo: echo:
if defined terminal ( if defined terminal (
call :dk_color %_Yellow% "Press [0] key to %_exitmsg%..." call :dk_color %_Yellow% "Press [0] to %_exitmsg%..."
choice /c 0 /n choice /c 0 /n
) else ( ) else (
call :dk_color %_Yellow% "Press any key to %_exitmsg%..." call :dk_color %_Yellow% "Press any key to %_exitmsg%..."
@ -1123,7 +1113,7 @@ exit /b
:checkperms :checkperms
:: This code checks if SPP has permission access to tokens folder and required registry keys. Incorrect permissions are often set by gaming spoofers. :: This code checks if SPP has permission access to tokens folder and required registry keys. Incorrect permissions are often set by HWID gaming spoofers.
set permerror= set permerror=
if not exist "%tokenstore%\" set "permerror=Error Found In Token Folder" if not exist "%tokenstore%\" set "permerror=Error Found In Token Folder"
@ -1138,7 +1128,7 @@ if !errorlevel!==2 (
if "%%A"=="%tokenstore%" ( if "%%A"=="%tokenstore%" (
set "permerror=Error Found In Token Folder" set "permerror=Error Found In Token Folder"
) else ( ) else (
set "permerror=Error Found In SPP Registries" set "permerror=Error Found In SPP registries"
) )
) )
) )
@ -1191,7 +1181,7 @@ if ($env:permerror -eq 'Error Found In SPP Registries') {
# Fix perms for SPP in HKU\S-1-5-20 # Fix perms for SPP in HKU\S-1-5-20
# https://learn.microsoft.com/office/troubleshoot/activation/license-issue-when-start-office-application # https://learn.microsoft.com/office/troubleshoot/activation/license-issue-when-start-office-application
if ($env:permerror -ne 'Error Found In S-1-5-20 SPP') { if ($env:permerror -ne 'Error found in S-1-5-20 SPP') {
exit exit
} }
if (-not (Test-Path 'Registry::HKU\S-1-5-20\Software\Microsoft\Windows NT\CurrentVersion\SoftwareProtectionPlatform')) { if (-not (Test-Path 'Registry::HKU\S-1-5-20\Software\Microsoft\Windows NT\CurrentVersion\SoftwareProtectionPlatform')) {
@ -1377,7 +1367,7 @@ if !errorlevel!==1 (for %%# in (%fixes%) do (start %%#))
) )
if defined terminal ( if defined terminal (
call :dk_color %_Yellow% "Press [0] key to %_exitmsg%..." call :dk_color %_Yellow% "Press [0] to %_exitmsg%..."
choice /c 0 /n choice /c 0 /n
) else ( ) else (
call :dk_color %_Yellow% "Press any key to %_exitmsg%..." call :dk_color %_Yellow% "Press any key to %_exitmsg%..."