mirror of
https://github.com/massgravel/Microsoft-Activation-Scripts
synced 2026-04-23 05:05:25 +00:00
Compare commits
11 Commits
5e2cc4f5cf
...
3.5
| Author | SHA1 | Date | |
|---|---|---|---|
| 793550725a | |||
| 3917497c82 | |||
| 28c2264d89 | |||
| a51ae62332 | |||
| ffcb641f17 | |||
| 53a2747338 | |||
| 3a99ea4eeb | |||
| e6eaeaa682 | |||
| e2c52b4ac8 | |||
| 31c47b9538 | |||
| 904e96d748 |
+3
-3
@@ -1,4 +1,4 @@
|
||||
# MAS export-ignore
|
||||
# LICENSE export-ignore
|
||||
# README.md export-ignore
|
||||
MAS export-ignore
|
||||
LICENSE export-ignore
|
||||
README.md export-ignore
|
||||
.gitattributes export-ignore
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
@::yfh37fow-random
|
||||
@set masver=3.4
|
||||
@::hr47hf7-random
|
||||
@set masver=3.5
|
||||
@setlocal DisableDelayedExpansion
|
||||
@echo off
|
||||
|
||||
@@ -44,6 +44,7 @@ set "_cmdf=%~f0"
|
||||
for %%# in (%*) do (
|
||||
if /i "%%#"=="re1" set re1=1
|
||||
if /i "%%#"=="re2" set re2=1
|
||||
if /i "%%#"=="-qedit" (set re1=1&set re2=1)
|
||||
)
|
||||
|
||||
:: Re-launch the script with x64 process if it was initiated by x86 process on x64 bit Windows
|
||||
@@ -249,6 +250,9 @@ REM check Powershell core version
|
||||
|
||||
cmd /c "%psc% "$PSVersionTable.PSEdition"" | find /i "Core" %nul1% && (
|
||||
echo Windows Powershell is needed for MAS but it seems to be replaced with Powershell core. Aborting...
|
||||
echo:
|
||||
set fixes=%fixes% %mas%in-place_repair_upgrade
|
||||
call :dk_color2 %Blue% "Check this webpage for help - " %_Yellow% " %mas%in-place_repair_upgrade"
|
||||
goto dk_done
|
||||
)
|
||||
|
||||
@@ -263,13 +267,26 @@ call :dk_color2 %Blue% "Check this webpage for help - " %_Yellow% " %mas%remove_
|
||||
goto dk_done
|
||||
)
|
||||
|
||||
REM check if .NET is working properly
|
||||
|
||||
if /i "!tstresult2!"=="FullLanguage" (
|
||||
cmd /c "%psc% ""try {[System.AppDomain]::CurrentDomain.GetAssemblies(); [System.Math]::Sqrt(144)} catch {Exit 3}""" %nul%
|
||||
if !errorlevel!==3 (
|
||||
echo Windows Powershell failed to load .NET command. Aborting...
|
||||
echo:
|
||||
set fixes=%fixes% %mas%in-place_repair_upgrade
|
||||
call :dk_color2 %Blue% "Check this webpage for help - " %_Yellow% " %mas%in-place_repair_upgrade"
|
||||
goto dk_done
|
||||
)
|
||||
)
|
||||
|
||||
REM check antivirus and other errors
|
||||
|
||||
echo PowerShell is not working properly. Aborting...
|
||||
|
||||
if /i "!tstresult2!"=="FullLanguage" (
|
||||
echo:
|
||||
echo Your antivirus software might be blocking the script, or PowerShell on your system might be corrupted.
|
||||
echo Your antivirus software might be blocking the script.
|
||||
echo:
|
||||
sc query sense | find /i "RUNNING" %nul% && (
|
||||
echo Installed Antivirus - Microsoft Defender for Endpoint
|
||||
@@ -958,7 +975,9 @@ call :dk_color %Red% "Checking Ticket Migration [Failed]"
|
||||
|
||||
if not defined altapplist if not defined showfix if defined rebuildinfo (
|
||||
set showfix=1
|
||||
echo:
|
||||
call :dk_color %Blue% "%_fixmsg%"
|
||||
echo:
|
||||
)
|
||||
|
||||
if exist "%tdir%\Genuine*" del /f /q "%tdir%\Genuine*" %nul%
|
||||
@@ -1028,8 +1047,10 @@ licensing.mp.microsoft.com
|
||||
findstr /i "%%#" "%SysPath%\drivers\etc\hosts" %nul1% && set "hosfail= [%%# Blocked in Hosts]"
|
||||
)
|
||||
call :dk_color %Red% "Checking Licensing Servers [Failed to Connect]!hosfail!"
|
||||
echo:
|
||||
set fixes=%fixes% %mas%licensing-servers-issue
|
||||
call :dk_color2 %Blue% "Check this webpage for help - " %_Yellow% " %mas%licensing-servers-issue"
|
||||
echo:
|
||||
)
|
||||
|
||||
::==========================================================================================================================================
|
||||
@@ -1042,13 +1063,17 @@ reg query "HKLM\SOFTWARE\Policies\Microsoft\Windows\WindowsUpdate" /v DisableWin
|
||||
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]"
|
||||
echo:
|
||||
call :dk_color %Blue% "HWID activation needs working Windows updates, if you have used any tool to block updates, undo it."
|
||||
echo:
|
||||
)
|
||||
|
||||
reg query "HKLM\SOFTWARE\Policies\Microsoft\WindowsStore" /v DisableStoreApps %nul2% | find /i "0x1" %nul% && (
|
||||
set storeblock=1
|
||||
call :dk_color %Red% "Checking Store Blocker In Registry [Found]"
|
||||
echo:
|
||||
call :dk_color %Blue% "If you have used any tool to block Store, undo it."
|
||||
echo:
|
||||
)
|
||||
|
||||
set wcount=0
|
||||
@@ -1065,10 +1090,14 @@ set error=1
|
||||
call :dk_color %Red% "Checking Windows Update Registry [Corruption Found]"
|
||||
if !wcount! GTR 2 (
|
||||
call :dk_color %Red% "Windows seems to be infected with Mal%w%ware."
|
||||
echo:
|
||||
set fixes=%fixes% %mas%remove_mal%w%ware
|
||||
call :dk_color2 %Blue% "Check this webpage for help - " %_Yellow% " %mas%remove_mal%w%ware"
|
||||
echo:
|
||||
) else (
|
||||
echo:
|
||||
call :dk_color %Blue% "HWID activation needs working Windows updates, if you have used any tool to block updates, undo it."
|
||||
echo:
|
||||
)
|
||||
) else (
|
||||
%psc% "Start-Job { Start-Service wuauserv } | Wait-Job -Timeout 20 | Out-Null"
|
||||
@@ -1077,7 +1106,9 @@ set error=1
|
||||
set wuerror=1
|
||||
sc start wuauserv %nul%
|
||||
call :dk_color %Red% "Starting Windows Update Service [Failed] [!errorlevel!]"
|
||||
echo:
|
||||
call :dk_color %Blue% "HWID activation needs working Windows updates, if you have used any tool to block updates, undo it."
|
||||
echo:
|
||||
)
|
||||
)
|
||||
)
|
||||
@@ -1090,8 +1121,10 @@ if %keyerror% EQU 0 if not defined _perm if defined _int (
|
||||
if not defined wucorrupt if not defined wublock if not defined wuerror if not defined storeblock if not defined resfail (
|
||||
echo "%error_code%" | findstr /i "0x80072e 0x80072f 0x800704cf 0x87e10bcf 0x800705b4" %nul% && (
|
||||
call :dk_color %Red% "Checking Internet Issues [Found] %error_code%"
|
||||
echo:
|
||||
set fixes=%fixes% %mas%licensing-servers-issue
|
||||
call :dk_color2 %Blue% "Check this webpage for help - " %_Yellow% " %mas%licensing-servers-issue"
|
||||
echo:
|
||||
)
|
||||
)
|
||||
)
|
||||
@@ -1146,7 +1179,7 @@ goto :dk_done
|
||||
set ps=%SysPath%\WindowsPowerShell\v1.0\powershell.exe
|
||||
set psc=%ps% -nop -c
|
||||
set winbuild=1
|
||||
for /f "tokens=6 delims=[]. " %%G in ('ver') do set winbuild=%%G
|
||||
for /f "tokens=2 delims=[]" %%G in ('ver') do for /f "tokens=2,3,4 delims=. " %%H in ("%%~G") do set "winbuild=%%J"
|
||||
|
||||
set _slexe=sppsvc.exe& set _slser=sppsvc
|
||||
if %winbuild% LEQ 6300 (set _slexe=SLsvc.exe& set _slser=SLsvc)
|
||||
@@ -1298,9 +1331,11 @@ if %sps%==SoftwareLicensingService call :dk_refresh
|
||||
echo %keyecho% %~1 [Successful]
|
||||
) else (
|
||||
call :dk_color %Red% "%keyecho% %~1 [Failed] %keyerror%"
|
||||
if not defined error (
|
||||
if not defined showfix (
|
||||
if defined altapplist call :dk_color %Red% "Activation ID not found for this key."
|
||||
echo:
|
||||
call :dk_color %Blue% "%_fixmsg%"
|
||||
echo:
|
||||
set showfix=1
|
||||
)
|
||||
set error=1
|
||||
@@ -1517,6 +1552,7 @@ if not "%results%%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% "%results%"&set showfix=1)
|
||||
echo:
|
||||
set fixes=%fixes% %mas%remove_mal%w%ware
|
||||
call :dk_color2 %Blue% "Check this webpage for help - " %_Yellow% " %mas%remove_mal%w%ware"
|
||||
echo:
|
||||
@@ -1623,7 +1659,7 @@ sc start %%# %nul%
|
||||
if !errorlevel! EQU 1060 set _corrupt=1
|
||||
sc query %%# %nul% || set _corrupt=1
|
||||
for %%G in (DependOnService Description DisplayName ErrorControl ImagePath ObjectName Start Type) do if not defined _regcorr (
|
||||
reg query HKLM\SYSTEM\CurrentControlSet\Services\%%# /v %%G %nul% || (set _corrupt=1&set _regcorr="-RegistryError" )
|
||||
reg query HKLM\SYSTEM\CurrentControlSet\Services\%%# /v %%G %nul% || (set _corrupt=1&set _regcorr=-RegistryError)
|
||||
)
|
||||
|
||||
if defined _corrupt (if defined serv_cor (set "serv_cor=!serv_cor! %%#!_regcorr!") else (set "serv_cor=%%#!_regcorr!"))
|
||||
@@ -1949,7 +1985,7 @@ cmd /c exit /b %error_code%
|
||||
if %error_code% NEQ 0 set "error_code=0x%=ExitCode%"
|
||||
|
||||
if %error_code% NEQ 0 (
|
||||
call :dk_color %Red% "Checking SoftwareLicensingService [Not Working] %error_code%"
|
||||
call :dk_color %Red% "Checking SoftwareLicensingService [Not Working] [%error_code%]"
|
||||
if not defined showfix (
|
||||
echo:
|
||||
call :dk_color %Blue% "%_fixmsg%"
|
||||
@@ -1968,6 +2004,7 @@ call :dk_actid 55c92734-d682-4d71-983e-d6ec3f16059f
|
||||
|
||||
if not defined apps (
|
||||
%psc% "if (-not $env:_vis) {Start-Job { Stop-Service %_slser% -force } | Wait-Job -Timeout 20 | Out-Null}; $sls = Get-WmiObject SoftwareLicensingService; $f=[System.IO.File]::ReadAllText('!_batp!') -split ':xrm\:.*';. ([scriptblock]::Create($f[1])); ReinstallLicenses" %nul%
|
||||
if not defined _vis if !errorlevel! NEQ 0 set rlicfailed=1
|
||||
call :dk_actid 55c92734-d682-4d71-983e-d6ec3f16059f
|
||||
)
|
||||
|
||||
@@ -1989,6 +2026,13 @@ set error=1
|
||||
set showfix=1
|
||||
)
|
||||
|
||||
if not defined showfix if defined rlicfailed (
|
||||
echo:
|
||||
call :dk_color %Blue% "%_fixmsg%"
|
||||
call :dk_color %Blue% "If activation still fails then run Fix WPA Registry option."
|
||||
echo:
|
||||
)
|
||||
|
||||
if %winbuild% GEQ 7600 if exist "%tokenstore%\" if not exist "%tokenstore%\tokens.dat" (
|
||||
call :dk_color %Red% "Checking SPP tokens.dat [Not Found] [%tokenstore%\]"
|
||||
)
|
||||
@@ -2761,7 +2805,7 @@ if defined ohub call :dk_color %Gray% "Office apps such as Word, Excel are activ
|
||||
echo Help: %mas%troubleshoot
|
||||
) else (
|
||||
call :dk_color %Red% "Some errors were detected."
|
||||
if not defined ierror if not defined showfix if not defined serv_cor if not defined serv_cste call :dk_color %Blue% "%_fixmsg%"
|
||||
if not defined ierror if not defined showfix call :dk_color %Blue% "%_fixmsg%"
|
||||
echo:
|
||||
set fixes=%fixes% %mas%troubleshoot
|
||||
call :dk_color2 %Blue% "Check this webpage for help - " %_Yellow% " %mas%troubleshoot"
|
||||
@@ -3466,10 +3510,12 @@ call :dk_color %Gray% "Checking Total User Accounts [%counter%]"
|
||||
|
||||
:: Clear the vNext/shared/device license blocks which may prevent ohook activation
|
||||
|
||||
set vnextexist=
|
||||
rmdir /s /q "%ProgramData%\Microsoft\Office\Licenses\" %nul%
|
||||
|
||||
for %%x in (15 16) do (
|
||||
for %%# in (%_sidlist%) do (
|
||||
reg query HKU\%%#\Software\Microsoft\Office\%%x.0\Common\Licensing /s %nul2% | findstr /i "CIDToLicenseIdsMapping LicenseIdToEmailMapping @" %nul% && set vnextexist=1
|
||||
reg delete HKU\%%#\Software\Microsoft\Office\%%x.0\Common\Licensing /f %nul%
|
||||
|
||||
for /f "skip=2 tokens=2*" %%a in ('"reg query "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\ProfileList\%%#" /v ProfileImagePath" %nul6%') do (
|
||||
@@ -3492,6 +3538,7 @@ rmdir /s /q "%%b\AppData\Local\Packages\Microsoft.Office.Desktop_8wekyb3d8bbwe\L
|
||||
if exist "%%b\AppData\Local\Packages\Microsoft.Office.Desktop_8wekyb3d8bbwe\SystemAppData\Helium\User.dat" (
|
||||
set defname=DEFTEMP-%%#
|
||||
reg load HKU\!defname! "%%b\AppData\Local\Packages\Microsoft.Office.Desktop_8wekyb3d8bbwe\SystemAppData\Helium\User.dat" %nul%
|
||||
reg query HKU\!defname!\Software\Microsoft\Office\16.0\Common\Licensing /s %nul2% | findstr /i "CIDToLicenseIdsMapping LicenseIdToEmailMapping @" %nul% && set vnextexist=1
|
||||
reg delete HKU\!defname!\Software\Microsoft\Office\16.0\Common\Licensing /f %nul%
|
||||
reg unload HKU\!defname! %nul%
|
||||
)
|
||||
@@ -3499,6 +3546,15 @@ reg unload HKU\!defname! %nul%
|
||||
)
|
||||
)
|
||||
|
||||
if defined vnextexist (
|
||||
echo:
|
||||
call :dk_color %Gray% "Office vNext subscription detected:"
|
||||
call :dk_color %Blue% "If active, this license overrides other activation methods."
|
||||
call :dk_color %Blue% "If expiring soon, rerun the script after expiration."
|
||||
call :dk_color2 %Blue% "If expired and script activation fails, get help - " %_Yellow% " %mas%troubleshoot"
|
||||
echo:
|
||||
)
|
||||
|
||||
:: Clear SharedComputerLicensing for office
|
||||
:: https://learn.microsoft.com/en-us/deployoffice/overview-shared-computer-activation
|
||||
|
||||
@@ -3593,7 +3649,15 @@ set upk_result=2
|
||||
|
||||
if defined ohookact if not %upk_result%==0 echo:
|
||||
if %upk_result%==1 echo Uninstalling Other/Grace Keys [Successful]
|
||||
if %upk_result%==2 call :dk_color %Red% "Uninstalling Other/Grace Keys [Failed]"
|
||||
if %upk_result%==2 (
|
||||
call :dk_color %Red% "Uninstalling Other/Grace Keys [Failed]"
|
||||
if not defined showfix (
|
||||
echo:
|
||||
call :dk_color %Blue% "%_fixmsg%"
|
||||
echo:
|
||||
set showfix=1
|
||||
)
|
||||
)
|
||||
exit /b
|
||||
|
||||
::========================================================================================================================================
|
||||
@@ -5734,6 +5798,7 @@ call :dk_color %Gray% "To activate, check your internet connection and ensure th
|
||||
) else (
|
||||
call :dk_color %Blue% "This Windows version is known to not activate due to MS Windows/Server issues."
|
||||
)
|
||||
if not defined showfix call :dk_color %Blue% "%_fixmsg%"
|
||||
set fixes=%fixes% %mas%troubleshoot
|
||||
call :dk_color2 %Blue% "Check this webpage for help - " %_Yellow% " %mas%troubleshoot"
|
||||
)
|
||||
@@ -5750,7 +5815,7 @@ if /i %tsmethod%==StaticCID (echo Depositing Static Confirmation ID...) else (ec
|
||||
echo:
|
||||
%psc% "$f=[System.IO.File]::ReadAllText('!_batp!') -split ':tsforge\:.*';. ([scriptblock]::Create($f[1])) %tsids%"
|
||||
if !errorlevel!==3 (
|
||||
if %_actman%==0 (if not defined error call :dk_color %Blue% "%_fixmsg%")
|
||||
if %_actman%==0 (if not defined showfix call :dk_color %Blue% "%_fixmsg%")
|
||||
set fixes=%fixes% %mas%troubleshoot
|
||||
call :dk_color2 %Blue% "Check this webpage for help - " %_Yellow% " %mas%troubleshoot"
|
||||
) else (
|
||||
@@ -11151,6 +11216,7 @@ else {
|
||||
if ($env:_debug -eq '0') {
|
||||
[LibTSforge.Logger]::HideOutput = $true
|
||||
}
|
||||
[void][LibTSforge.Utils]::Wow64EnableWow64FsRedirection($false)
|
||||
$ver = [LibTSforge.Utils]::DetectVersion()
|
||||
$prod = [LibTSforge.SPP.SPPUtils]::DetectCurrentKey()
|
||||
$tsactids = @($args)
|
||||
@@ -12244,9 +12310,9 @@ set k_error=
|
||||
%nul% reg add "HKLM\%specific_kms%\%app%" /f /v KeyManagementServicePort /t REG_SZ /d "1688" || set k_error=1
|
||||
|
||||
if not defined k_error (
|
||||
echo Adding Specific KMS Host [LocalHost 127.0.0.2] [Successful]
|
||||
echo Adding Specific KMS Host [LocalHost] [Successful]
|
||||
) else (
|
||||
call :dk_color %Red% "Adding Specific KMS Host [LocalHost 127.0.0.2] [Failed]"
|
||||
call :dk_color %Red% "Adding Specific KMS Host [LocalHost] [Failed]"
|
||||
)
|
||||
|
||||
::========================================================================================================================================
|
||||
@@ -12342,7 +12408,9 @@ call :dk_color %Red% "Checking Ticket Migration [Failed]"
|
||||
|
||||
if not defined showfix if defined rebuildinfo (
|
||||
set showfix=1
|
||||
echo:
|
||||
call :dk_color %Blue% "%_fixmsg%"
|
||||
echo:
|
||||
)
|
||||
|
||||
if exist "%tdir%\Genuine*" del /f /q "%tdir%\Genuine*" %nul%
|
||||
@@ -13569,6 +13637,9 @@ call :ks_clearstuff
|
||||
set error_=9
|
||||
echo Failed to completely clear %KS% Cache.
|
||||
reg query "HKLM\%SPPk%\%_wApp%" /s %nul2% | findstr /i "127.0.0.2" %nul1% && echo KMS38 activation is locked.
|
||||
echo:
|
||||
call :dk_color %Blue% "%_fixmsg%"
|
||||
echo:
|
||||
) || (
|
||||
echo Cleared %KS% Cache successfully.
|
||||
)
|
||||
@@ -13584,6 +13655,10 @@ echo %uline%
|
||||
echo %uline%
|
||||
echo:
|
||||
call :dk_color %Green% "Online %KS% has been successfully uninstalled."
|
||||
echo:
|
||||
call :dk_color %Gray% "If you want to reset the activation status,"
|
||||
call :dk_color %Blue% "%_fixmsg%"
|
||||
echo:
|
||||
echo %uline%
|
||||
)
|
||||
|
||||
@@ -13681,7 +13756,7 @@ set "PSModulePath=%ProgramFiles%\WindowsPowerShell\Modules;%SysPath%\WindowsPowe
|
||||
set _tserror=
|
||||
set winbuild=1
|
||||
set "nul=>nul 2>&1"
|
||||
for /f "tokens=6 delims=[]. " %%G in ('ver') do set winbuild=%%G
|
||||
for /f "tokens=2 delims=[]" %%G in ('ver') do for /f "tokens=2,3,4 delims=. " %%H in ("%%~G") do set "winbuild=%%J"
|
||||
set psc=powershell.exe -nop -c
|
||||
|
||||
set _slexe=sppsvc.exe& set _slser=sppsvc
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
@set masver=3.4
|
||||
@set masver=3.5
|
||||
@echo off
|
||||
|
||||
|
||||
@@ -50,6 +50,7 @@ set "_cmdf=%~f0"
|
||||
for %%# in (%*) do (
|
||||
if /i "%%#"=="re1" set re1=1
|
||||
if /i "%%#"=="re2" set re2=1
|
||||
if /i "%%#"=="-qedit" (set re1=1&set re2=1)
|
||||
)
|
||||
|
||||
:: Re-launch the script with x64 process if it was initiated by x86 process on x64 bit Windows
|
||||
@@ -271,6 +272,9 @@ REM check Powershell core version
|
||||
|
||||
cmd /c "%psc% "$PSVersionTable.PSEdition"" | find /i "Core" %nul1% && (
|
||||
echo Windows Powershell is needed for MAS but it seems to be replaced with Powershell core. Aborting...
|
||||
echo:
|
||||
set fixes=%fixes% %mas%in-place_repair_upgrade
|
||||
call :dk_color2 %Blue% "Check this webpage for help - " %_Yellow% " %mas%in-place_repair_upgrade"
|
||||
goto dk_done
|
||||
)
|
||||
|
||||
@@ -285,13 +289,26 @@ call :dk_color2 %Blue% "Check this webpage for help - " %_Yellow% " %mas%remove_
|
||||
goto dk_done
|
||||
)
|
||||
|
||||
REM check if .NET is working properly
|
||||
|
||||
if /i "!tstresult2!"=="FullLanguage" (
|
||||
cmd /c "%psc% ""try {[System.AppDomain]::CurrentDomain.GetAssemblies(); [System.Math]::Sqrt(144)} catch {Exit 3}""" %nul%
|
||||
if !errorlevel!==3 (
|
||||
echo Windows Powershell failed to load .NET command. Aborting...
|
||||
echo:
|
||||
set fixes=%fixes% %mas%in-place_repair_upgrade
|
||||
call :dk_color2 %Blue% "Check this webpage for help - " %_Yellow% " %mas%in-place_repair_upgrade"
|
||||
goto dk_done
|
||||
)
|
||||
)
|
||||
|
||||
REM check antivirus and other errors
|
||||
|
||||
echo PowerShell is not working properly. Aborting...
|
||||
|
||||
if /i "!tstresult2!"=="FullLanguage" (
|
||||
echo:
|
||||
echo Your antivirus software might be blocking the script, or PowerShell on your system might be corrupted.
|
||||
echo Your antivirus software might be blocking the script.
|
||||
echo:
|
||||
sc query sense | find /i "RUNNING" %nul% && (
|
||||
echo Installed Antivirus - Microsoft Defender for Endpoint
|
||||
@@ -658,7 +675,9 @@ call :dk_color %Red% "Checking Ticket Migration [Failed]"
|
||||
|
||||
if not defined altapplist if not defined showfix if defined rebuildinfo (
|
||||
set showfix=1
|
||||
echo:
|
||||
call :dk_color %Blue% "%_fixmsg%"
|
||||
echo:
|
||||
)
|
||||
|
||||
if exist "%tdir%\Genuine*" del /f /q "%tdir%\Genuine*" %nul%
|
||||
@@ -728,8 +747,10 @@ licensing.mp.microsoft.com
|
||||
findstr /i "%%#" "%SysPath%\drivers\etc\hosts" %nul1% && set "hosfail= [%%# Blocked in Hosts]"
|
||||
)
|
||||
call :dk_color %Red% "Checking Licensing Servers [Failed to Connect]!hosfail!"
|
||||
echo:
|
||||
set fixes=%fixes% %mas%licensing-servers-issue
|
||||
call :dk_color2 %Blue% "Check this webpage for help - " %_Yellow% " %mas%licensing-servers-issue"
|
||||
echo:
|
||||
)
|
||||
|
||||
::==========================================================================================================================================
|
||||
@@ -742,13 +763,17 @@ reg query "HKLM\SOFTWARE\Policies\Microsoft\Windows\WindowsUpdate" /v DisableWin
|
||||
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]"
|
||||
echo:
|
||||
call :dk_color %Blue% "HWID activation needs working Windows updates, if you have used any tool to block updates, undo it."
|
||||
echo:
|
||||
)
|
||||
|
||||
reg query "HKLM\SOFTWARE\Policies\Microsoft\WindowsStore" /v DisableStoreApps %nul2% | find /i "0x1" %nul% && (
|
||||
set storeblock=1
|
||||
call :dk_color %Red% "Checking Store Blocker In Registry [Found]"
|
||||
echo:
|
||||
call :dk_color %Blue% "If you have used any tool to block Store, undo it."
|
||||
echo:
|
||||
)
|
||||
|
||||
set wcount=0
|
||||
@@ -765,10 +790,14 @@ set error=1
|
||||
call :dk_color %Red% "Checking Windows Update Registry [Corruption Found]"
|
||||
if !wcount! GTR 2 (
|
||||
call :dk_color %Red% "Windows seems to be infected with Mal%w%ware."
|
||||
echo:
|
||||
set fixes=%fixes% %mas%remove_mal%w%ware
|
||||
call :dk_color2 %Blue% "Check this webpage for help - " %_Yellow% " %mas%remove_mal%w%ware"
|
||||
echo:
|
||||
) else (
|
||||
echo:
|
||||
call :dk_color %Blue% "HWID activation needs working Windows updates, if you have used any tool to block updates, undo it."
|
||||
echo:
|
||||
)
|
||||
) else (
|
||||
%psc% "Start-Job { Start-Service wuauserv } | Wait-Job -Timeout 20 | Out-Null"
|
||||
@@ -777,7 +806,9 @@ set error=1
|
||||
set wuerror=1
|
||||
sc start wuauserv %nul%
|
||||
call :dk_color %Red% "Starting Windows Update Service [Failed] [!errorlevel!]"
|
||||
echo:
|
||||
call :dk_color %Blue% "HWID activation needs working Windows updates, if you have used any tool to block updates, undo it."
|
||||
echo:
|
||||
)
|
||||
)
|
||||
)
|
||||
@@ -790,8 +821,10 @@ if %keyerror% EQU 0 if not defined _perm if defined _int (
|
||||
if not defined wucorrupt if not defined wublock if not defined wuerror if not defined storeblock if not defined resfail (
|
||||
echo "%error_code%" | findstr /i "0x80072e 0x80072f 0x800704cf 0x87e10bcf 0x800705b4" %nul% && (
|
||||
call :dk_color %Red% "Checking Internet Issues [Found] %error_code%"
|
||||
echo:
|
||||
set fixes=%fixes% %mas%licensing-servers-issue
|
||||
call :dk_color2 %Blue% "Check this webpage for help - " %_Yellow% " %mas%licensing-servers-issue"
|
||||
echo:
|
||||
)
|
||||
)
|
||||
)
|
||||
@@ -846,7 +879,7 @@ goto :dk_done
|
||||
set ps=%SysPath%\WindowsPowerShell\v1.0\powershell.exe
|
||||
set psc=%ps% -nop -c
|
||||
set winbuild=1
|
||||
for /f "tokens=6 delims=[]. " %%G in ('ver') do set winbuild=%%G
|
||||
for /f "tokens=2 delims=[]" %%G in ('ver') do for /f "tokens=2,3,4 delims=. " %%H in ("%%~G") do set "winbuild=%%J"
|
||||
|
||||
set _slexe=sppsvc.exe& set _slser=sppsvc
|
||||
if %winbuild% LEQ 6300 (set _slexe=SLsvc.exe& set _slser=SLsvc)
|
||||
@@ -998,9 +1031,11 @@ if %sps%==SoftwareLicensingService call :dk_refresh
|
||||
echo %keyecho% %~1 [Successful]
|
||||
) else (
|
||||
call :dk_color %Red% "%keyecho% %~1 [Failed] %keyerror%"
|
||||
if not defined error (
|
||||
if not defined showfix (
|
||||
if defined altapplist call :dk_color %Red% "Activation ID not found for this key."
|
||||
echo:
|
||||
call :dk_color %Blue% "%_fixmsg%"
|
||||
echo:
|
||||
set showfix=1
|
||||
)
|
||||
set error=1
|
||||
@@ -1201,6 +1236,7 @@ if not "%results%%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% "%results%"&set showfix=1)
|
||||
echo:
|
||||
set fixes=%fixes% %mas%remove_mal%w%ware
|
||||
call :dk_color2 %Blue% "Check this webpage for help - " %_Yellow% " %mas%remove_mal%w%ware"
|
||||
echo:
|
||||
@@ -1307,7 +1343,7 @@ sc start %%# %nul%
|
||||
if !errorlevel! EQU 1060 set _corrupt=1
|
||||
sc query %%# %nul% || set _corrupt=1
|
||||
for %%G in (DependOnService Description DisplayName ErrorControl ImagePath ObjectName Start Type) do if not defined _regcorr (
|
||||
reg query HKLM\SYSTEM\CurrentControlSet\Services\%%# /v %%G %nul% || (set _corrupt=1&set _regcorr="-RegistryError" )
|
||||
reg query HKLM\SYSTEM\CurrentControlSet\Services\%%# /v %%G %nul% || (set _corrupt=1&set _regcorr=-RegistryError)
|
||||
)
|
||||
|
||||
if defined _corrupt (if defined serv_cor (set "serv_cor=!serv_cor! %%#!_regcorr!") else (set "serv_cor=%%#!_regcorr!"))
|
||||
@@ -1633,7 +1669,7 @@ cmd /c exit /b %error_code%
|
||||
if %error_code% NEQ 0 set "error_code=0x%=ExitCode%"
|
||||
|
||||
if %error_code% NEQ 0 (
|
||||
call :dk_color %Red% "Checking SoftwareLicensingService [Not Working] %error_code%"
|
||||
call :dk_color %Red% "Checking SoftwareLicensingService [Not Working] [%error_code%]"
|
||||
if not defined showfix (
|
||||
echo:
|
||||
call :dk_color %Blue% "%_fixmsg%"
|
||||
@@ -1652,6 +1688,7 @@ call :dk_actid 55c92734-d682-4d71-983e-d6ec3f16059f
|
||||
|
||||
if not defined apps (
|
||||
%psc% "if (-not $env:_vis) {Start-Job { Stop-Service %_slser% -force } | Wait-Job -Timeout 20 | Out-Null}; $sls = Get-WmiObject SoftwareLicensingService; $f=[System.IO.File]::ReadAllText('!_batp!') -split ':xrm\:.*';. ([scriptblock]::Create($f[1])); ReinstallLicenses" %nul%
|
||||
if not defined _vis if !errorlevel! NEQ 0 set rlicfailed=1
|
||||
call :dk_actid 55c92734-d682-4d71-983e-d6ec3f16059f
|
||||
)
|
||||
|
||||
@@ -1673,6 +1710,13 @@ set error=1
|
||||
set showfix=1
|
||||
)
|
||||
|
||||
if not defined showfix if defined rlicfailed (
|
||||
echo:
|
||||
call :dk_color %Blue% "%_fixmsg%"
|
||||
call :dk_color %Blue% "If activation still fails then run Fix WPA Registry option."
|
||||
echo:
|
||||
)
|
||||
|
||||
if %winbuild% GEQ 7600 if exist "%tokenstore%\" if not exist "%tokenstore%\tokens.dat" (
|
||||
call :dk_color %Red% "Checking SPP tokens.dat [Not Found] [%tokenstore%\]"
|
||||
)
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
@set masver=3.4
|
||||
@set masver=3.5
|
||||
@echo off
|
||||
|
||||
|
||||
@@ -50,6 +50,7 @@ set "_cmdf=%~f0"
|
||||
for %%# in (%*) do (
|
||||
if /i "%%#"=="re1" set re1=1
|
||||
if /i "%%#"=="re2" set re2=1
|
||||
if /i "%%#"=="-qedit" (set re1=1&set re2=1)
|
||||
)
|
||||
|
||||
:: Re-launch the script with x64 process if it was initiated by x86 process on x64 bit Windows
|
||||
@@ -178,7 +179,7 @@ goto dk_done
|
||||
if exist "%Systemdrive%\Users\WDAGUtilityAccount" (
|
||||
sc query gcs | find /i "RUNNING" %nul% && (
|
||||
%eline%
|
||||
echo Windows Sandbox detected; activation is not required.
|
||||
echo Windows Sandbox detected; activation is not supported.
|
||||
echo The script cannot run due to missing licensing components. Aborting...
|
||||
echo:
|
||||
goto dk_done
|
||||
@@ -270,6 +271,9 @@ REM check Powershell core version
|
||||
|
||||
cmd /c "%psc% "$PSVersionTable.PSEdition"" | find /i "Core" %nul1% && (
|
||||
echo Windows Powershell is needed for MAS but it seems to be replaced with Powershell core. Aborting...
|
||||
echo:
|
||||
set fixes=%fixes% %mas%in-place_repair_upgrade
|
||||
call :dk_color2 %Blue% "Check this webpage for help - " %_Yellow% " %mas%in-place_repair_upgrade"
|
||||
goto dk_done
|
||||
)
|
||||
|
||||
@@ -284,13 +288,26 @@ call :dk_color2 %Blue% "Check this webpage for help - " %_Yellow% " %mas%remove_
|
||||
goto dk_done
|
||||
)
|
||||
|
||||
REM check if .NET is working properly
|
||||
|
||||
if /i "!tstresult2!"=="FullLanguage" (
|
||||
cmd /c "%psc% ""try {[System.AppDomain]::CurrentDomain.GetAssemblies(); [System.Math]::Sqrt(144)} catch {Exit 3}""" %nul%
|
||||
if !errorlevel!==3 (
|
||||
echo Windows Powershell failed to load .NET command. Aborting...
|
||||
echo:
|
||||
set fixes=%fixes% %mas%in-place_repair_upgrade
|
||||
call :dk_color2 %Blue% "Check this webpage for help - " %_Yellow% " %mas%in-place_repair_upgrade"
|
||||
goto dk_done
|
||||
)
|
||||
)
|
||||
|
||||
REM check antivirus and other errors
|
||||
|
||||
echo PowerShell is not working properly. Aborting...
|
||||
|
||||
if /i "!tstresult2!"=="FullLanguage" (
|
||||
echo:
|
||||
echo Your antivirus software might be blocking the script, or PowerShell on your system might be corrupted.
|
||||
echo Your antivirus software might be blocking the script.
|
||||
echo:
|
||||
sc query sense | find /i "RUNNING" %nul% && (
|
||||
echo Installed Antivirus - Microsoft Defender for Endpoint
|
||||
@@ -679,9 +696,9 @@ set k_error=
|
||||
%nul% reg add "HKLM\%specific_kms%\%app%" /f /v KeyManagementServicePort /t REG_SZ /d "1688" || set k_error=1
|
||||
|
||||
if not defined k_error (
|
||||
echo Adding Specific KMS Host [LocalHost 127.0.0.2] [Successful]
|
||||
echo Adding Specific KMS Host [LocalHost] [Successful]
|
||||
) else (
|
||||
call :dk_color %Red% "Adding Specific KMS Host [LocalHost 127.0.0.2] [Failed]"
|
||||
call :dk_color %Red% "Adding Specific KMS Host [LocalHost] [Failed]"
|
||||
)
|
||||
|
||||
::========================================================================================================================================
|
||||
@@ -777,7 +794,9 @@ call :dk_color %Red% "Checking Ticket Migration [Failed]"
|
||||
|
||||
if not defined showfix if defined rebuildinfo (
|
||||
set showfix=1
|
||||
echo:
|
||||
call :dk_color %Blue% "%_fixmsg%"
|
||||
echo:
|
||||
)
|
||||
|
||||
if exist "%tdir%\Genuine*" del /f /q "%tdir%\Genuine*" %nul%
|
||||
@@ -902,7 +921,7 @@ goto :dk_done
|
||||
set ps=%SysPath%\WindowsPowerShell\v1.0\powershell.exe
|
||||
set psc=%ps% -nop -c
|
||||
set winbuild=1
|
||||
for /f "tokens=6 delims=[]. " %%G in ('ver') do set winbuild=%%G
|
||||
for /f "tokens=2 delims=[]" %%G in ('ver') do for /f "tokens=2,3,4 delims=. " %%H in ("%%~G") do set "winbuild=%%J"
|
||||
|
||||
set _slexe=sppsvc.exe& set _slser=sppsvc
|
||||
if %winbuild% LEQ 6300 (set _slexe=SLsvc.exe& set _slser=SLsvc)
|
||||
@@ -1073,9 +1092,11 @@ if %sps%==SoftwareLicensingService call :dk_refresh
|
||||
echo %keyecho% %~1 [Successful]
|
||||
) else (
|
||||
call :dk_color %Red% "%keyecho% %~1 [Failed] %keyerror%"
|
||||
if not defined error (
|
||||
if not defined showfix (
|
||||
if defined altapplist call :dk_color %Red% "Activation ID not found for this key."
|
||||
echo:
|
||||
call :dk_color %Blue% "%_fixmsg%"
|
||||
echo:
|
||||
set showfix=1
|
||||
)
|
||||
set error=1
|
||||
@@ -1300,6 +1321,7 @@ if not "%results%%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% "%results%"&set showfix=1)
|
||||
echo:
|
||||
set fixes=%fixes% %mas%remove_mal%w%ware
|
||||
call :dk_color2 %Blue% "Check this webpage for help - " %_Yellow% " %mas%remove_mal%w%ware"
|
||||
echo:
|
||||
@@ -1406,7 +1428,7 @@ sc start %%# %nul%
|
||||
if !errorlevel! EQU 1060 set _corrupt=1
|
||||
sc query %%# %nul% || set _corrupt=1
|
||||
for %%G in (DependOnService Description DisplayName ErrorControl ImagePath ObjectName Start Type) do if not defined _regcorr (
|
||||
reg query HKLM\SYSTEM\CurrentControlSet\Services\%%# /v %%G %nul% || (set _corrupt=1&set _regcorr="-RegistryError" )
|
||||
reg query HKLM\SYSTEM\CurrentControlSet\Services\%%# /v %%G %nul% || (set _corrupt=1&set _regcorr=-RegistryError)
|
||||
)
|
||||
|
||||
if defined _corrupt (if defined serv_cor (set "serv_cor=!serv_cor! %%#!_regcorr!") else (set "serv_cor=%%#!_regcorr!"))
|
||||
@@ -1732,7 +1754,7 @@ cmd /c exit /b %error_code%
|
||||
if %error_code% NEQ 0 set "error_code=0x%=ExitCode%"
|
||||
|
||||
if %error_code% NEQ 0 (
|
||||
call :dk_color %Red% "Checking SoftwareLicensingService [Not Working] %error_code%"
|
||||
call :dk_color %Red% "Checking SoftwareLicensingService [Not Working] [%error_code%]"
|
||||
if not defined showfix (
|
||||
echo:
|
||||
call :dk_color %Blue% "%_fixmsg%"
|
||||
@@ -1751,6 +1773,7 @@ call :dk_actid 55c92734-d682-4d71-983e-d6ec3f16059f
|
||||
|
||||
if not defined apps (
|
||||
%psc% "if (-not $env:_vis) {Start-Job { Stop-Service %_slser% -force } | Wait-Job -Timeout 20 | Out-Null}; $sls = Get-WmiObject SoftwareLicensingService; $f=[System.IO.File]::ReadAllText('!_batp!') -split ':xrm\:.*';. ([scriptblock]::Create($f[1])); ReinstallLicenses" %nul%
|
||||
if not defined _vis if !errorlevel! NEQ 0 set rlicfailed=1
|
||||
call :dk_actid 55c92734-d682-4d71-983e-d6ec3f16059f
|
||||
)
|
||||
|
||||
@@ -1772,6 +1795,13 @@ set error=1
|
||||
set showfix=1
|
||||
)
|
||||
|
||||
if not defined showfix if defined rlicfailed (
|
||||
echo:
|
||||
call :dk_color %Blue% "%_fixmsg%"
|
||||
call :dk_color %Blue% "If activation still fails then run Fix WPA Registry option."
|
||||
echo:
|
||||
)
|
||||
|
||||
if %winbuild% GEQ 7600 if exist "%tokenstore%\" if not exist "%tokenstore%\tokens.dat" (
|
||||
call :dk_color %Red% "Checking SPP tokens.dat [Not Found] [%tokenstore%\]"
|
||||
)
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
@set masver=3.4
|
||||
@set masver=3.5
|
||||
@echo off
|
||||
|
||||
|
||||
@@ -50,6 +50,7 @@ set "_cmdf=%~f0"
|
||||
for %%# in (%*) do (
|
||||
if /i "%%#"=="re1" set re1=1
|
||||
if /i "%%#"=="re2" set re2=1
|
||||
if /i "%%#"=="-qedit" (set re1=1&set re2=1)
|
||||
)
|
||||
|
||||
:: Re-launch the script with x64 process if it was initiated by x86 process on x64 bit Windows
|
||||
@@ -176,7 +177,7 @@ goto dk_done
|
||||
if exist "%Systemdrive%\Users\WDAGUtilityAccount" (
|
||||
sc query gcs | find /i "RUNNING" %nul% && (
|
||||
%eline%
|
||||
echo Windows Sandbox detected; activation is not required.
|
||||
echo Windows Sandbox detected; activation is not supported.
|
||||
echo The script cannot run due to missing licensing components. Aborting...
|
||||
echo:
|
||||
goto dk_done
|
||||
@@ -279,6 +280,9 @@ REM check Powershell core version
|
||||
|
||||
cmd /c "%psc% "$PSVersionTable.PSEdition"" | find /i "Core" %nul1% && (
|
||||
echo Windows Powershell is needed for MAS but it seems to be replaced with Powershell core. Aborting...
|
||||
echo:
|
||||
set fixes=%fixes% %mas%in-place_repair_upgrade
|
||||
call :dk_color2 %Blue% "Check this webpage for help - " %_Yellow% " %mas%in-place_repair_upgrade"
|
||||
goto dk_done
|
||||
)
|
||||
|
||||
@@ -293,13 +297,26 @@ call :dk_color2 %Blue% "Check this webpage for help - " %_Yellow% " %mas%remove_
|
||||
goto dk_done
|
||||
)
|
||||
|
||||
REM check if .NET is working properly
|
||||
|
||||
if /i "!tstresult2!"=="FullLanguage" (
|
||||
cmd /c "%psc% ""try {[System.AppDomain]::CurrentDomain.GetAssemblies(); [System.Math]::Sqrt(144)} catch {Exit 3}""" %nul%
|
||||
if !errorlevel!==3 (
|
||||
echo Windows Powershell failed to load .NET command. Aborting...
|
||||
echo:
|
||||
set fixes=%fixes% %mas%in-place_repair_upgrade
|
||||
call :dk_color2 %Blue% "Check this webpage for help - " %_Yellow% " %mas%in-place_repair_upgrade"
|
||||
goto dk_done
|
||||
)
|
||||
)
|
||||
|
||||
REM check antivirus and other errors
|
||||
|
||||
echo PowerShell is not working properly. Aborting...
|
||||
|
||||
if /i "!tstresult2!"=="FullLanguage" (
|
||||
echo:
|
||||
echo Your antivirus software might be blocking the script, or PowerShell on your system might be corrupted.
|
||||
echo Your antivirus software might be blocking the script.
|
||||
echo:
|
||||
sc query sense | find /i "RUNNING" %nul% && (
|
||||
echo Installed Antivirus - Microsoft Defender for Endpoint
|
||||
@@ -753,7 +770,7 @@ if defined ohub call :dk_color %Gray% "Office apps such as Word, Excel are activ
|
||||
echo Help: %mas%troubleshoot
|
||||
) else (
|
||||
call :dk_color %Red% "Some errors were detected."
|
||||
if not defined ierror if not defined showfix if not defined serv_cor if not defined serv_cste call :dk_color %Blue% "%_fixmsg%"
|
||||
if not defined ierror if not defined showfix call :dk_color %Blue% "%_fixmsg%"
|
||||
echo:
|
||||
set fixes=%fixes% %mas%troubleshoot
|
||||
call :dk_color2 %Blue% "Check this webpage for help - " %_Yellow% " %mas%troubleshoot"
|
||||
@@ -1458,10 +1475,12 @@ call :dk_color %Gray% "Checking Total User Accounts [%counter%]"
|
||||
|
||||
:: Clear the vNext/shared/device license blocks which may prevent ohook activation
|
||||
|
||||
set vnextexist=
|
||||
rmdir /s /q "%ProgramData%\Microsoft\Office\Licenses\" %nul%
|
||||
|
||||
for %%x in (15 16) do (
|
||||
for %%# in (%_sidlist%) do (
|
||||
reg query HKU\%%#\Software\Microsoft\Office\%%x.0\Common\Licensing /s %nul2% | findstr /i "CIDToLicenseIdsMapping LicenseIdToEmailMapping @" %nul% && set vnextexist=1
|
||||
reg delete HKU\%%#\Software\Microsoft\Office\%%x.0\Common\Licensing /f %nul%
|
||||
|
||||
for /f "skip=2 tokens=2*" %%a in ('"reg query "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\ProfileList\%%#" /v ProfileImagePath" %nul6%') do (
|
||||
@@ -1484,6 +1503,7 @@ rmdir /s /q "%%b\AppData\Local\Packages\Microsoft.Office.Desktop_8wekyb3d8bbwe\L
|
||||
if exist "%%b\AppData\Local\Packages\Microsoft.Office.Desktop_8wekyb3d8bbwe\SystemAppData\Helium\User.dat" (
|
||||
set defname=DEFTEMP-%%#
|
||||
reg load HKU\!defname! "%%b\AppData\Local\Packages\Microsoft.Office.Desktop_8wekyb3d8bbwe\SystemAppData\Helium\User.dat" %nul%
|
||||
reg query HKU\!defname!\Software\Microsoft\Office\16.0\Common\Licensing /s %nul2% | findstr /i "CIDToLicenseIdsMapping LicenseIdToEmailMapping @" %nul% && set vnextexist=1
|
||||
reg delete HKU\!defname!\Software\Microsoft\Office\16.0\Common\Licensing /f %nul%
|
||||
reg unload HKU\!defname! %nul%
|
||||
)
|
||||
@@ -1491,6 +1511,15 @@ reg unload HKU\!defname! %nul%
|
||||
)
|
||||
)
|
||||
|
||||
if defined vnextexist (
|
||||
echo:
|
||||
call :dk_color %Gray% "Office vNext subscription detected:"
|
||||
call :dk_color %Blue% "If active, this license overrides other activation methods."
|
||||
call :dk_color %Blue% "If expiring soon, rerun the script after expiration."
|
||||
call :dk_color2 %Blue% "If expired and script activation fails, get help - " %_Yellow% " %mas%troubleshoot"
|
||||
echo:
|
||||
)
|
||||
|
||||
:: Clear SharedComputerLicensing for office
|
||||
:: https://learn.microsoft.com/en-us/deployoffice/overview-shared-computer-activation
|
||||
|
||||
@@ -1585,7 +1614,15 @@ set upk_result=2
|
||||
|
||||
if defined ohookact if not %upk_result%==0 echo:
|
||||
if %upk_result%==1 echo Uninstalling Other/Grace Keys [Successful]
|
||||
if %upk_result%==2 call :dk_color %Red% "Uninstalling Other/Grace Keys [Failed]"
|
||||
if %upk_result%==2 (
|
||||
call :dk_color %Red% "Uninstalling Other/Grace Keys [Failed]"
|
||||
if not defined showfix (
|
||||
echo:
|
||||
call :dk_color %Blue% "%_fixmsg%"
|
||||
echo:
|
||||
set showfix=1
|
||||
)
|
||||
)
|
||||
exit /b
|
||||
|
||||
::========================================================================================================================================
|
||||
@@ -1638,7 +1675,7 @@ exit /b
|
||||
set ps=%SysPath%\WindowsPowerShell\v1.0\powershell.exe
|
||||
set psc=%ps% -nop -c
|
||||
set winbuild=1
|
||||
for /f "tokens=6 delims=[]. " %%G in ('ver') do set winbuild=%%G
|
||||
for /f "tokens=2 delims=[]" %%G in ('ver') do for /f "tokens=2,3,4 delims=. " %%H in ("%%~G") do set "winbuild=%%J"
|
||||
|
||||
set _slexe=sppsvc.exe& set _slser=sppsvc
|
||||
if %winbuild% LEQ 6300 (set _slexe=SLsvc.exe& set _slser=SLsvc)
|
||||
@@ -1727,9 +1764,11 @@ if %sps%==SoftwareLicensingService call :dk_refresh
|
||||
echo %keyecho% %~1 [Successful]
|
||||
) else (
|
||||
call :dk_color %Red% "%keyecho% %~1 [Failed] %keyerror%"
|
||||
if not defined error (
|
||||
if not defined showfix (
|
||||
if defined altapplist call :dk_color %Red% "Activation ID not found for this key."
|
||||
echo:
|
||||
call :dk_color %Blue% "%_fixmsg%"
|
||||
echo:
|
||||
set showfix=1
|
||||
)
|
||||
set error=1
|
||||
@@ -1883,6 +1922,7 @@ if not "%results%%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% "%results%"&set showfix=1)
|
||||
echo:
|
||||
set fixes=%fixes% %mas%remove_mal%w%ware
|
||||
call :dk_color2 %Blue% "Check this webpage for help - " %_Yellow% " %mas%remove_mal%w%ware"
|
||||
echo:
|
||||
@@ -1989,7 +2029,7 @@ sc start %%# %nul%
|
||||
if !errorlevel! EQU 1060 set _corrupt=1
|
||||
sc query %%# %nul% || set _corrupt=1
|
||||
for %%G in (DependOnService Description DisplayName ErrorControl ImagePath ObjectName Start Type) do if not defined _regcorr (
|
||||
reg query HKLM\SYSTEM\CurrentControlSet\Services\%%# /v %%G %nul% || (set _corrupt=1&set _regcorr="-RegistryError" )
|
||||
reg query HKLM\SYSTEM\CurrentControlSet\Services\%%# /v %%G %nul% || (set _corrupt=1&set _regcorr=-RegistryError)
|
||||
)
|
||||
|
||||
if defined _corrupt (if defined serv_cor (set "serv_cor=!serv_cor! %%#!_regcorr!") else (set "serv_cor=%%#!_regcorr!"))
|
||||
@@ -2315,7 +2355,7 @@ cmd /c exit /b %error_code%
|
||||
if %error_code% NEQ 0 set "error_code=0x%=ExitCode%"
|
||||
|
||||
if %error_code% NEQ 0 (
|
||||
call :dk_color %Red% "Checking SoftwareLicensingService [Not Working] %error_code%"
|
||||
call :dk_color %Red% "Checking SoftwareLicensingService [Not Working] [%error_code%]"
|
||||
if not defined showfix (
|
||||
echo:
|
||||
call :dk_color %Blue% "%_fixmsg%"
|
||||
@@ -2334,6 +2374,7 @@ call :dk_actid 55c92734-d682-4d71-983e-d6ec3f16059f
|
||||
|
||||
if not defined apps (
|
||||
%psc% "if (-not $env:_vis) {Start-Job { Stop-Service %_slser% -force } | Wait-Job -Timeout 20 | Out-Null}; $sls = Get-WmiObject SoftwareLicensingService; $f=[System.IO.File]::ReadAllText('!_batp!') -split ':xrm\:.*';. ([scriptblock]::Create($f[1])); ReinstallLicenses" %nul%
|
||||
if not defined _vis if !errorlevel! NEQ 0 set rlicfailed=1
|
||||
call :dk_actid 55c92734-d682-4d71-983e-d6ec3f16059f
|
||||
)
|
||||
|
||||
@@ -2355,6 +2396,13 @@ set error=1
|
||||
set showfix=1
|
||||
)
|
||||
|
||||
if not defined showfix if defined rlicfailed (
|
||||
echo:
|
||||
call :dk_color %Blue% "%_fixmsg%"
|
||||
call :dk_color %Blue% "If activation still fails then run Fix WPA Registry option."
|
||||
echo:
|
||||
)
|
||||
|
||||
if %winbuild% GEQ 7600 if exist "%tokenstore%\" if not exist "%tokenstore%\tokens.dat" (
|
||||
call :dk_color %Red% "Checking SPP tokens.dat [Not Found] [%tokenstore%\]"
|
||||
)
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
@set masver=3.4
|
||||
@set masver=3.5
|
||||
@echo off
|
||||
|
||||
|
||||
@@ -75,6 +75,7 @@ set "_cmdf=%~f0"
|
||||
for %%# in (%*) do (
|
||||
if /i "%%#"=="re1" set re1=1
|
||||
if /i "%%#"=="re2" set re2=1
|
||||
if /i "%%#"=="-qedit" (set re1=1&set re2=1)
|
||||
)
|
||||
|
||||
:: Re-launch the script with x64 process if it was initiated by x86 process on x64 bit Windows
|
||||
@@ -207,7 +208,7 @@ goto dk_done
|
||||
if exist "%Systemdrive%\Users\WDAGUtilityAccount" (
|
||||
sc query gcs | find /i "RUNNING" %nul% && (
|
||||
%eline%
|
||||
echo Windows Sandbox detected; activation is not required.
|
||||
echo Windows Sandbox detected; activation is not supported.
|
||||
echo The script cannot run due to missing licensing components. Aborting...
|
||||
echo:
|
||||
goto dk_done
|
||||
@@ -310,6 +311,9 @@ REM check Powershell core version
|
||||
|
||||
cmd /c "%psc% "$PSVersionTable.PSEdition"" | find /i "Core" %nul1% && (
|
||||
echo Windows Powershell is needed for MAS but it seems to be replaced with Powershell core. Aborting...
|
||||
echo:
|
||||
set fixes=%fixes% %mas%in-place_repair_upgrade
|
||||
call :dk_color2 %Blue% "Check this webpage for help - " %_Yellow% " %mas%in-place_repair_upgrade"
|
||||
goto dk_done
|
||||
)
|
||||
|
||||
@@ -324,13 +328,26 @@ call :dk_color2 %Blue% "Check this webpage for help - " %_Yellow% " %mas%remove_
|
||||
goto dk_done
|
||||
)
|
||||
|
||||
REM check if .NET is working properly
|
||||
|
||||
if /i "!tstresult2!"=="FullLanguage" (
|
||||
cmd /c "%psc% ""try {[System.AppDomain]::CurrentDomain.GetAssemblies(); [System.Math]::Sqrt(144)} catch {Exit 3}""" %nul%
|
||||
if !errorlevel!==3 (
|
||||
echo Windows Powershell failed to load .NET command. Aborting...
|
||||
echo:
|
||||
set fixes=%fixes% %mas%in-place_repair_upgrade
|
||||
call :dk_color2 %Blue% "Check this webpage for help - " %_Yellow% " %mas%in-place_repair_upgrade"
|
||||
goto dk_done
|
||||
)
|
||||
)
|
||||
|
||||
REM check antivirus and other errors
|
||||
|
||||
echo PowerShell is not working properly. Aborting...
|
||||
|
||||
if /i "!tstresult2!"=="FullLanguage" (
|
||||
echo:
|
||||
echo Your antivirus software might be blocking the script, or PowerShell on your system might be corrupted.
|
||||
echo Your antivirus software might be blocking the script.
|
||||
echo:
|
||||
sc query sense | find /i "RUNNING" %nul% && (
|
||||
echo Installed Antivirus - Microsoft Defender for Endpoint
|
||||
@@ -1436,10 +1453,12 @@ call :dk_color %Gray% "Checking Total User Accounts [%counter%]"
|
||||
|
||||
:: Clear the vNext/shared/device license blocks which may prevent ohook activation
|
||||
|
||||
set vnextexist=
|
||||
rmdir /s /q "%ProgramData%\Microsoft\Office\Licenses\" %nul%
|
||||
|
||||
for %%x in (15 16) do (
|
||||
for %%# in (%_sidlist%) do (
|
||||
reg query HKU\%%#\Software\Microsoft\Office\%%x.0\Common\Licensing /s %nul2% | findstr /i "CIDToLicenseIdsMapping LicenseIdToEmailMapping @" %nul% && set vnextexist=1
|
||||
reg delete HKU\%%#\Software\Microsoft\Office\%%x.0\Common\Licensing /f %nul%
|
||||
|
||||
for /f "skip=2 tokens=2*" %%a in ('"reg query "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\ProfileList\%%#" /v ProfileImagePath" %nul6%') do (
|
||||
@@ -1462,6 +1481,7 @@ rmdir /s /q "%%b\AppData\Local\Packages\Microsoft.Office.Desktop_8wekyb3d8bbwe\L
|
||||
if exist "%%b\AppData\Local\Packages\Microsoft.Office.Desktop_8wekyb3d8bbwe\SystemAppData\Helium\User.dat" (
|
||||
set defname=DEFTEMP-%%#
|
||||
reg load HKU\!defname! "%%b\AppData\Local\Packages\Microsoft.Office.Desktop_8wekyb3d8bbwe\SystemAppData\Helium\User.dat" %nul%
|
||||
reg query HKU\!defname!\Software\Microsoft\Office\16.0\Common\Licensing /s %nul2% | findstr /i "CIDToLicenseIdsMapping LicenseIdToEmailMapping @" %nul% && set vnextexist=1
|
||||
reg delete HKU\!defname!\Software\Microsoft\Office\16.0\Common\Licensing /f %nul%
|
||||
reg unload HKU\!defname! %nul%
|
||||
)
|
||||
@@ -1469,6 +1489,15 @@ reg unload HKU\!defname! %nul%
|
||||
)
|
||||
)
|
||||
|
||||
if defined vnextexist (
|
||||
echo:
|
||||
call :dk_color %Gray% "Office vNext subscription detected:"
|
||||
call :dk_color %Blue% "If active, this license overrides other activation methods."
|
||||
call :dk_color %Blue% "If expiring soon, rerun the script after expiration."
|
||||
call :dk_color2 %Blue% "If expired and script activation fails, get help - " %_Yellow% " %mas%troubleshoot"
|
||||
echo:
|
||||
)
|
||||
|
||||
:: Clear SharedComputerLicensing for office
|
||||
:: https://learn.microsoft.com/en-us/deployoffice/overview-shared-computer-activation
|
||||
|
||||
@@ -1563,7 +1592,15 @@ set upk_result=2
|
||||
|
||||
if defined ohookact if not %upk_result%==0 echo:
|
||||
if %upk_result%==1 echo Uninstalling Other/Grace Keys [Successful]
|
||||
if %upk_result%==2 call :dk_color %Red% "Uninstalling Other/Grace Keys [Failed]"
|
||||
if %upk_result%==2 (
|
||||
call :dk_color %Red% "Uninstalling Other/Grace Keys [Failed]"
|
||||
if not defined showfix (
|
||||
echo:
|
||||
call :dk_color %Blue% "%_fixmsg%"
|
||||
echo:
|
||||
set showfix=1
|
||||
)
|
||||
)
|
||||
exit /b
|
||||
|
||||
::========================================================================================================================================
|
||||
@@ -1612,6 +1649,9 @@ call :ks_clearstuff
|
||||
set error_=9
|
||||
echo Failed to completely clear %KS% Cache.
|
||||
reg query "HKLM\%SPPk%\%_wApp%" /s %nul2% | findstr /i "127.0.0.2" %nul1% && echo KMS38 activation is locked.
|
||||
echo:
|
||||
call :dk_color %Blue% "%_fixmsg%"
|
||||
echo:
|
||||
) || (
|
||||
echo Cleared %KS% Cache successfully.
|
||||
)
|
||||
@@ -1627,6 +1667,10 @@ echo %uline%
|
||||
echo %uline%
|
||||
echo:
|
||||
call :dk_color %Green% "Online %KS% has been successfully uninstalled."
|
||||
echo:
|
||||
call :dk_color %Gray% "If you want to reset the activation status,"
|
||||
call :dk_color %Blue% "%_fixmsg%"
|
||||
echo:
|
||||
echo %uline%
|
||||
)
|
||||
|
||||
@@ -1724,7 +1768,7 @@ set "PSModulePath=%ProgramFiles%\WindowsPowerShell\Modules;%SysPath%\WindowsPowe
|
||||
set _tserror=
|
||||
set winbuild=1
|
||||
set "nul=>nul 2>&1"
|
||||
for /f "tokens=6 delims=[]. " %%G in ('ver') do set winbuild=%%G
|
||||
for /f "tokens=2 delims=[]" %%G in ('ver') do for /f "tokens=2,3,4 delims=. " %%H in ("%%~G") do set "winbuild=%%J"
|
||||
set psc=powershell.exe -nop -c
|
||||
|
||||
set _slexe=sppsvc.exe& set _slser=sppsvc
|
||||
@@ -2544,7 +2588,7 @@ exit /b
|
||||
set ps=%SysPath%\WindowsPowerShell\v1.0\powershell.exe
|
||||
set psc=%ps% -nop -c
|
||||
set winbuild=1
|
||||
for /f "tokens=6 delims=[]. " %%G in ('ver') do set winbuild=%%G
|
||||
for /f "tokens=2 delims=[]" %%G in ('ver') do for /f "tokens=2,3,4 delims=. " %%H in ("%%~G") do set "winbuild=%%J"
|
||||
|
||||
set _slexe=sppsvc.exe& set _slser=sppsvc
|
||||
if %winbuild% LEQ 6300 (set _slexe=SLsvc.exe& set _slser=SLsvc)
|
||||
@@ -2696,9 +2740,11 @@ if %sps%==SoftwareLicensingService call :dk_refresh
|
||||
echo %keyecho% %~1 [Successful]
|
||||
) else (
|
||||
call :dk_color %Red% "%keyecho% %~1 [Failed] %keyerror%"
|
||||
if not defined error (
|
||||
if not defined showfix (
|
||||
if defined altapplist call :dk_color %Red% "Activation ID not found for this key."
|
||||
echo:
|
||||
call :dk_color %Blue% "%_fixmsg%"
|
||||
echo:
|
||||
set showfix=1
|
||||
)
|
||||
set error=1
|
||||
@@ -2939,6 +2985,7 @@ if not "%results%%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% "%results%"&set showfix=1)
|
||||
echo:
|
||||
set fixes=%fixes% %mas%remove_mal%w%ware
|
||||
call :dk_color2 %Blue% "Check this webpage for help - " %_Yellow% " %mas%remove_mal%w%ware"
|
||||
echo:
|
||||
@@ -3045,7 +3092,7 @@ sc start %%# %nul%
|
||||
if !errorlevel! EQU 1060 set _corrupt=1
|
||||
sc query %%# %nul% || set _corrupt=1
|
||||
for %%G in (DependOnService Description DisplayName ErrorControl ImagePath ObjectName Start Type) do if not defined _regcorr (
|
||||
reg query HKLM\SYSTEM\CurrentControlSet\Services\%%# /v %%G %nul% || (set _corrupt=1&set _regcorr="-RegistryError" )
|
||||
reg query HKLM\SYSTEM\CurrentControlSet\Services\%%# /v %%G %nul% || (set _corrupt=1&set _regcorr=-RegistryError)
|
||||
)
|
||||
|
||||
if defined _corrupt (if defined serv_cor (set "serv_cor=!serv_cor! %%#!_regcorr!") else (set "serv_cor=%%#!_regcorr!"))
|
||||
@@ -3371,7 +3418,7 @@ cmd /c exit /b %error_code%
|
||||
if %error_code% NEQ 0 set "error_code=0x%=ExitCode%"
|
||||
|
||||
if %error_code% NEQ 0 (
|
||||
call :dk_color %Red% "Checking SoftwareLicensingService [Not Working] %error_code%"
|
||||
call :dk_color %Red% "Checking SoftwareLicensingService [Not Working] [%error_code%]"
|
||||
if not defined showfix (
|
||||
echo:
|
||||
call :dk_color %Blue% "%_fixmsg%"
|
||||
@@ -3390,6 +3437,7 @@ call :dk_actid 55c92734-d682-4d71-983e-d6ec3f16059f
|
||||
|
||||
if not defined apps (
|
||||
%psc% "if (-not $env:_vis) {Start-Job { Stop-Service %_slser% -force } | Wait-Job -Timeout 20 | Out-Null}; $sls = Get-WmiObject SoftwareLicensingService; $f=[System.IO.File]::ReadAllText('!_batp!') -split ':xrm\:.*';. ([scriptblock]::Create($f[1])); ReinstallLicenses" %nul%
|
||||
if not defined _vis if !errorlevel! NEQ 0 set rlicfailed=1
|
||||
call :dk_actid 55c92734-d682-4d71-983e-d6ec3f16059f
|
||||
)
|
||||
|
||||
@@ -3411,6 +3459,13 @@ set error=1
|
||||
set showfix=1
|
||||
)
|
||||
|
||||
if not defined showfix if defined rlicfailed (
|
||||
echo:
|
||||
call :dk_color %Blue% "%_fixmsg%"
|
||||
call :dk_color %Blue% "If activation still fails then run Fix WPA Registry option."
|
||||
echo:
|
||||
)
|
||||
|
||||
if %winbuild% GEQ 7600 if exist "%tokenstore%\" if not exist "%tokenstore%\tokens.dat" (
|
||||
call :dk_color %Red% "Checking SPP tokens.dat [Not Found] [%tokenstore%\]"
|
||||
)
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
@set masver=3.4
|
||||
@set masver=3.5
|
||||
@echo off
|
||||
|
||||
|
||||
@@ -84,6 +84,7 @@ set "_cmdf=%~f0"
|
||||
for %%# in (%*) do (
|
||||
if /i "%%#"=="re1" set re1=1
|
||||
if /i "%%#"=="re2" set re2=1
|
||||
if /i "%%#"=="-qedit" (set re1=1&set re2=1)
|
||||
)
|
||||
|
||||
:: Re-launch the script with x64 process if it was initiated by x86 process on x64 bit Windows
|
||||
@@ -222,7 +223,7 @@ goto dk_done
|
||||
if exist "%Systemdrive%\Users\WDAGUtilityAccount" (
|
||||
sc query gcs | find /i "RUNNING" %nul% && (
|
||||
%eline%
|
||||
echo Windows Sandbox detected; activation is not required.
|
||||
echo Windows Sandbox detected; activation is not supported.
|
||||
echo The script cannot run due to missing licensing components. Aborting...
|
||||
echo:
|
||||
goto dk_done
|
||||
@@ -337,6 +338,9 @@ REM check Powershell core version
|
||||
|
||||
cmd /c "%psc% "$PSVersionTable.PSEdition"" | find /i "Core" %nul1% && (
|
||||
echo Windows Powershell is needed for MAS but it seems to be replaced with Powershell core. Aborting...
|
||||
echo:
|
||||
set fixes=%fixes% %mas%in-place_repair_upgrade
|
||||
call :dk_color2 %Blue% "Check this webpage for help - " %_Yellow% " %mas%in-place_repair_upgrade"
|
||||
goto dk_done
|
||||
)
|
||||
|
||||
@@ -351,13 +355,26 @@ call :dk_color2 %Blue% "Check this webpage for help - " %_Yellow% " %mas%remove_
|
||||
goto dk_done
|
||||
)
|
||||
|
||||
REM check if .NET is working properly
|
||||
|
||||
if /i "!tstresult2!"=="FullLanguage" (
|
||||
cmd /c "%psc% ""try {[System.AppDomain]::CurrentDomain.GetAssemblies(); [System.Math]::Sqrt(144)} catch {Exit 3}""" %nul%
|
||||
if !errorlevel!==3 (
|
||||
echo Windows Powershell failed to load .NET command. Aborting...
|
||||
echo:
|
||||
set fixes=%fixes% %mas%in-place_repair_upgrade
|
||||
call :dk_color2 %Blue% "Check this webpage for help - " %_Yellow% " %mas%in-place_repair_upgrade"
|
||||
goto dk_done
|
||||
)
|
||||
)
|
||||
|
||||
REM check antivirus and other errors
|
||||
|
||||
echo PowerShell is not working properly. Aborting...
|
||||
|
||||
if /i "!tstresult2!"=="FullLanguage" (
|
||||
echo:
|
||||
echo Your antivirus software might be blocking the script, or PowerShell on your system might be corrupted.
|
||||
echo Your antivirus software might be blocking the script.
|
||||
echo:
|
||||
sc query sense | find /i "RUNNING" %nul% && (
|
||||
echo Installed Antivirus - Microsoft Defender for Endpoint
|
||||
@@ -1911,6 +1928,7 @@ call :dk_color %Gray% "To activate, check your internet connection and ensure th
|
||||
) else (
|
||||
call :dk_color %Blue% "This Windows version is known to not activate due to MS Windows/Server issues."
|
||||
)
|
||||
if not defined showfix call :dk_color %Blue% "%_fixmsg%"
|
||||
set fixes=%fixes% %mas%troubleshoot
|
||||
call :dk_color2 %Blue% "Check this webpage for help - " %_Yellow% " %mas%troubleshoot"
|
||||
)
|
||||
@@ -1927,7 +1945,7 @@ if /i %tsmethod%==StaticCID (echo Depositing Static Confirmation ID...) else (ec
|
||||
echo:
|
||||
%psc% "$f=[System.IO.File]::ReadAllText('!_batp!') -split ':tsforge\:.*';. ([scriptblock]::Create($f[1])) %tsids%"
|
||||
if !errorlevel!==3 (
|
||||
if %_actman%==0 (if not defined error call :dk_color %Blue% "%_fixmsg%")
|
||||
if %_actman%==0 (if not defined showfix call :dk_color %Blue% "%_fixmsg%")
|
||||
set fixes=%fixes% %mas%troubleshoot
|
||||
call :dk_color2 %Blue% "Check this webpage for help - " %_Yellow% " %mas%troubleshoot"
|
||||
) else (
|
||||
@@ -2394,10 +2412,12 @@ call :dk_color %Gray% "Checking Total User Accounts [%counter%]"
|
||||
|
||||
:: Clear the vNext/shared/device license blocks which may prevent ohook activation
|
||||
|
||||
set vnextexist=
|
||||
rmdir /s /q "%ProgramData%\Microsoft\Office\Licenses\" %nul%
|
||||
|
||||
for %%x in (15 16) do (
|
||||
for %%# in (%_sidlist%) do (
|
||||
reg query HKU\%%#\Software\Microsoft\Office\%%x.0\Common\Licensing /s %nul2% | findstr /i "CIDToLicenseIdsMapping LicenseIdToEmailMapping @" %nul% && set vnextexist=1
|
||||
reg delete HKU\%%#\Software\Microsoft\Office\%%x.0\Common\Licensing /f %nul%
|
||||
|
||||
for /f "skip=2 tokens=2*" %%a in ('"reg query "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\ProfileList\%%#" /v ProfileImagePath" %nul6%') do (
|
||||
@@ -2420,6 +2440,7 @@ rmdir /s /q "%%b\AppData\Local\Packages\Microsoft.Office.Desktop_8wekyb3d8bbwe\L
|
||||
if exist "%%b\AppData\Local\Packages\Microsoft.Office.Desktop_8wekyb3d8bbwe\SystemAppData\Helium\User.dat" (
|
||||
set defname=DEFTEMP-%%#
|
||||
reg load HKU\!defname! "%%b\AppData\Local\Packages\Microsoft.Office.Desktop_8wekyb3d8bbwe\SystemAppData\Helium\User.dat" %nul%
|
||||
reg query HKU\!defname!\Software\Microsoft\Office\16.0\Common\Licensing /s %nul2% | findstr /i "CIDToLicenseIdsMapping LicenseIdToEmailMapping @" %nul% && set vnextexist=1
|
||||
reg delete HKU\!defname!\Software\Microsoft\Office\16.0\Common\Licensing /f %nul%
|
||||
reg unload HKU\!defname! %nul%
|
||||
)
|
||||
@@ -2427,6 +2448,15 @@ reg unload HKU\!defname! %nul%
|
||||
)
|
||||
)
|
||||
|
||||
if defined vnextexist (
|
||||
echo:
|
||||
call :dk_color %Gray% "Office vNext subscription detected:"
|
||||
call :dk_color %Blue% "If active, this license overrides other activation methods."
|
||||
call :dk_color %Blue% "If expiring soon, rerun the script after expiration."
|
||||
call :dk_color2 %Blue% "If expired and script activation fails, get help - " %_Yellow% " %mas%troubleshoot"
|
||||
echo:
|
||||
)
|
||||
|
||||
:: Clear SharedComputerLicensing for office
|
||||
:: https://learn.microsoft.com/en-us/deployoffice/overview-shared-computer-activation
|
||||
|
||||
@@ -2521,7 +2551,15 @@ set upk_result=2
|
||||
|
||||
if defined ohookact if not %upk_result%==0 echo:
|
||||
if %upk_result%==1 echo Uninstalling Other/Grace Keys [Successful]
|
||||
if %upk_result%==2 call :dk_color %Red% "Uninstalling Other/Grace Keys [Failed]"
|
||||
if %upk_result%==2 (
|
||||
call :dk_color %Red% "Uninstalling Other/Grace Keys [Failed]"
|
||||
if not defined showfix (
|
||||
echo:
|
||||
call :dk_color %Blue% "%_fixmsg%"
|
||||
echo:
|
||||
set showfix=1
|
||||
)
|
||||
)
|
||||
exit /b
|
||||
|
||||
::========================================================================================================================================
|
||||
@@ -2599,7 +2637,7 @@ exit /b
|
||||
set ps=%SysPath%\WindowsPowerShell\v1.0\powershell.exe
|
||||
set psc=%ps% -nop -c
|
||||
set winbuild=1
|
||||
for /f "tokens=6 delims=[]. " %%G in ('ver') do set winbuild=%%G
|
||||
for /f "tokens=2 delims=[]" %%G in ('ver') do for /f "tokens=2,3,4 delims=. " %%H in ("%%~G") do set "winbuild=%%J"
|
||||
|
||||
set _slexe=sppsvc.exe& set _slser=sppsvc
|
||||
if %winbuild% LEQ 6300 (set _slexe=SLsvc.exe& set _slser=SLsvc)
|
||||
@@ -2750,9 +2788,11 @@ if %sps%==SoftwareLicensingService call :dk_refresh
|
||||
echo %keyecho% %~1 [Successful]
|
||||
) else (
|
||||
call :dk_color %Red% "%keyecho% %~1 [Failed] %keyerror%"
|
||||
if not defined error (
|
||||
if not defined showfix (
|
||||
if defined altapplist call :dk_color %Red% "Activation ID not found for this key."
|
||||
echo:
|
||||
call :dk_color %Blue% "%_fixmsg%"
|
||||
echo:
|
||||
set showfix=1
|
||||
)
|
||||
set error=1
|
||||
@@ -2951,6 +2991,7 @@ if not "%results%%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% "%results%"&set showfix=1)
|
||||
echo:
|
||||
set fixes=%fixes% %mas%remove_mal%w%ware
|
||||
call :dk_color2 %Blue% "Check this webpage for help - " %_Yellow% " %mas%remove_mal%w%ware"
|
||||
echo:
|
||||
@@ -3057,7 +3098,7 @@ sc start %%# %nul%
|
||||
if !errorlevel! EQU 1060 set _corrupt=1
|
||||
sc query %%# %nul% || set _corrupt=1
|
||||
for %%G in (DependOnService Description DisplayName ErrorControl ImagePath ObjectName Start Type) do if not defined _regcorr (
|
||||
reg query HKLM\SYSTEM\CurrentControlSet\Services\%%# /v %%G %nul% || (set _corrupt=1&set _regcorr="-RegistryError" )
|
||||
reg query HKLM\SYSTEM\CurrentControlSet\Services\%%# /v %%G %nul% || (set _corrupt=1&set _regcorr=-RegistryError)
|
||||
)
|
||||
|
||||
if defined _corrupt (if defined serv_cor (set "serv_cor=!serv_cor! %%#!_regcorr!") else (set "serv_cor=%%#!_regcorr!"))
|
||||
@@ -3383,7 +3424,7 @@ cmd /c exit /b %error_code%
|
||||
if %error_code% NEQ 0 set "error_code=0x%=ExitCode%"
|
||||
|
||||
if %error_code% NEQ 0 (
|
||||
call :dk_color %Red% "Checking SoftwareLicensingService [Not Working] %error_code%"
|
||||
call :dk_color %Red% "Checking SoftwareLicensingService [Not Working] [%error_code%]"
|
||||
if not defined showfix (
|
||||
echo:
|
||||
call :dk_color %Blue% "%_fixmsg%"
|
||||
@@ -3402,6 +3443,7 @@ call :dk_actid 55c92734-d682-4d71-983e-d6ec3f16059f
|
||||
|
||||
if not defined apps (
|
||||
%psc% "if (-not $env:_vis) {Start-Job { Stop-Service %_slser% -force } | Wait-Job -Timeout 20 | Out-Null}; $sls = Get-WmiObject SoftwareLicensingService; $f=[System.IO.File]::ReadAllText('!_batp!') -split ':xrm\:.*';. ([scriptblock]::Create($f[1])); ReinstallLicenses" %nul%
|
||||
if not defined _vis if !errorlevel! NEQ 0 set rlicfailed=1
|
||||
call :dk_actid 55c92734-d682-4d71-983e-d6ec3f16059f
|
||||
)
|
||||
|
||||
@@ -3423,6 +3465,13 @@ set error=1
|
||||
set showfix=1
|
||||
)
|
||||
|
||||
if not defined showfix if defined rlicfailed (
|
||||
echo:
|
||||
call :dk_color %Blue% "%_fixmsg%"
|
||||
call :dk_color %Blue% "If activation still fails then run Fix WPA Registry option."
|
||||
echo:
|
||||
)
|
||||
|
||||
if %winbuild% GEQ 7600 if exist "%tokenstore%\" if not exist "%tokenstore%\tokens.dat" (
|
||||
call :dk_color %Red% "Checking SPP tokens.dat [Not Found] [%tokenstore%\]"
|
||||
)
|
||||
@@ -8799,6 +8848,7 @@ else {
|
||||
if ($env:_debug -eq '0') {
|
||||
[LibTSforge.Logger]::HideOutput = $true
|
||||
}
|
||||
[void][LibTSforge.Utils]::Wow64EnableWow64FsRedirection($false)
|
||||
$ver = [LibTSforge.Utils]::DetectVersion()
|
||||
$prod = [LibTSforge.SPP.SPPUtils]::DetectCurrentKey()
|
||||
$tsactids = @($args)
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
@set masver=3.4
|
||||
@set masver=3.5
|
||||
@echo off
|
||||
|
||||
|
||||
@@ -37,6 +37,7 @@ set "_cmdf=%~f0"
|
||||
for %%# in (%*) do (
|
||||
if /i "%%#"=="re1" set re1=1
|
||||
if /i "%%#"=="re2" set re2=1
|
||||
if /i "%%#"=="-qedit" (set re1=1&set re2=1)
|
||||
)
|
||||
|
||||
:: Re-launch the script with x64 process if it was initiated by x86 process on x64 bit Windows
|
||||
@@ -224,6 +225,9 @@ REM check Powershell core version
|
||||
|
||||
cmd /c "%psc% "$PSVersionTable.PSEdition"" | find /i "Core" %nul1% && (
|
||||
echo Windows Powershell is needed for MAS but it seems to be replaced with Powershell core. Aborting...
|
||||
echo:
|
||||
set fixes=%fixes% %mas%in-place_repair_upgrade
|
||||
call :dk_color2 %Blue% "Check this webpage for help - " %_Yellow% " %mas%in-place_repair_upgrade"
|
||||
goto dk_done
|
||||
)
|
||||
|
||||
@@ -238,13 +242,26 @@ call :dk_color2 %Blue% "Check this webpage for help - " %_Yellow% " %mas%remove_
|
||||
goto dk_done
|
||||
)
|
||||
|
||||
REM check if .NET is working properly
|
||||
|
||||
if /i "!tstresult2!"=="FullLanguage" (
|
||||
cmd /c "%psc% ""try {[System.AppDomain]::CurrentDomain.GetAssemblies(); [System.Math]::Sqrt(144)} catch {Exit 3}""" %nul%
|
||||
if !errorlevel!==3 (
|
||||
echo Windows Powershell failed to load .NET command. Aborting...
|
||||
echo:
|
||||
set fixes=%fixes% %mas%in-place_repair_upgrade
|
||||
call :dk_color2 %Blue% "Check this webpage for help - " %_Yellow% " %mas%in-place_repair_upgrade"
|
||||
goto dk_done
|
||||
)
|
||||
)
|
||||
|
||||
REM check antivirus and other errors
|
||||
|
||||
echo PowerShell is not working properly. Aborting...
|
||||
|
||||
if /i "!tstresult2!"=="FullLanguage" (
|
||||
echo:
|
||||
echo Your antivirus software might be blocking the script, or PowerShell on your system might be corrupted.
|
||||
echo Your antivirus software might be blocking the script.
|
||||
echo:
|
||||
sc query sense | find /i "RUNNING" %nul% && (
|
||||
echo Installed Antivirus - Microsoft Defender for Endpoint
|
||||
@@ -1531,7 +1548,7 @@ if ($appIdsList.Count -gt 0) {
|
||||
set ps=%SysPath%\WindowsPowerShell\v1.0\powershell.exe
|
||||
set psc=%ps% -nop -c
|
||||
set winbuild=1
|
||||
for /f "tokens=6 delims=[]. " %%G in ('ver') do set winbuild=%%G
|
||||
for /f "tokens=2 delims=[]" %%G in ('ver') do for /f "tokens=2,3,4 delims=. " %%H in ("%%~G") do set "winbuild=%%J"
|
||||
|
||||
set _slexe=sppsvc.exe& set _slser=sppsvc
|
||||
if %winbuild% LEQ 6300 (set _slexe=SLsvc.exe& set _slser=SLsvc)
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
@set masver=3.4
|
||||
@set masver=3.5
|
||||
@echo off
|
||||
|
||||
|
||||
@@ -42,6 +42,7 @@ set "_cmdf=%~f0"
|
||||
for %%# in (%*) do (
|
||||
if /i "%%#"=="re1" set re1=1
|
||||
if /i "%%#"=="re2" set re2=1
|
||||
if /i "%%#"=="-qedit" (set re1=1&set re2=1)
|
||||
)
|
||||
|
||||
:: Re-launch the script with x64 process if it was initiated by x86 process on x64 bit Windows
|
||||
@@ -229,6 +230,9 @@ REM check Powershell core version
|
||||
|
||||
cmd /c "%psc% "$PSVersionTable.PSEdition"" | find /i "Core" %nul1% && (
|
||||
echo Windows Powershell is needed for MAS but it seems to be replaced with Powershell core. Aborting...
|
||||
echo:
|
||||
set fixes=%fixes% %mas%in-place_repair_upgrade
|
||||
call :dk_color2 %Blue% "Check this webpage for help - " %_Yellow% " %mas%in-place_repair_upgrade"
|
||||
goto dk_done
|
||||
)
|
||||
|
||||
@@ -243,13 +247,26 @@ call :dk_color2 %Blue% "Check this webpage for help - " %_Yellow% " %mas%remove_
|
||||
goto dk_done
|
||||
)
|
||||
|
||||
REM check if .NET is working properly
|
||||
|
||||
if /i "!tstresult2!"=="FullLanguage" (
|
||||
cmd /c "%psc% ""try {[System.AppDomain]::CurrentDomain.GetAssemblies(); [System.Math]::Sqrt(144)} catch {Exit 3}""" %nul%
|
||||
if !errorlevel!==3 (
|
||||
echo Windows Powershell failed to load .NET command. Aborting...
|
||||
echo:
|
||||
set fixes=%fixes% %mas%in-place_repair_upgrade
|
||||
call :dk_color2 %Blue% "Check this webpage for help - " %_Yellow% " %mas%in-place_repair_upgrade"
|
||||
goto dk_done
|
||||
)
|
||||
)
|
||||
|
||||
REM check antivirus and other errors
|
||||
|
||||
echo PowerShell is not working properly. Aborting...
|
||||
|
||||
if /i "!tstresult2!"=="FullLanguage" (
|
||||
echo:
|
||||
echo Your antivirus software might be blocking the script, or PowerShell on your system might be corrupted.
|
||||
echo Your antivirus software might be blocking the script.
|
||||
echo:
|
||||
sc query sense | find /i "RUNNING" %nul% && (
|
||||
echo Installed Antivirus - Microsoft Defender for Endpoint
|
||||
@@ -854,7 +871,7 @@ exit /b
|
||||
set ps=%SysPath%\WindowsPowerShell\v1.0\powershell.exe
|
||||
set psc=%ps% -nop -c
|
||||
set winbuild=1
|
||||
for /f "tokens=6 delims=[]. " %%G in ('ver') do set winbuild=%%G
|
||||
for /f "tokens=2 delims=[]" %%G in ('ver') do for /f "tokens=2,3,4 delims=. " %%H in ("%%~G") do set "winbuild=%%J"
|
||||
|
||||
set _slexe=sppsvc.exe& set _slser=sppsvc
|
||||
if %winbuild% LEQ 6300 (set _slexe=SLsvc.exe& set _slser=SLsvc)
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
@set masver=3.4
|
||||
@set masver=3.5
|
||||
@echo off
|
||||
|
||||
|
||||
@@ -37,6 +37,7 @@ set "_cmdf=%~f0"
|
||||
for %%# in (%*) do (
|
||||
if /i "%%#"=="re1" set re1=1
|
||||
if /i "%%#"=="re2" set re2=1
|
||||
if /i "%%#"=="-qedit" (set re1=1&set re2=1)
|
||||
)
|
||||
|
||||
:: Re-launch the script with x64 process if it was initiated by x86 process on x64 bit Windows
|
||||
@@ -240,6 +241,9 @@ REM check Powershell core version
|
||||
|
||||
cmd /c "%psc% "$PSVersionTable.PSEdition"" | find /i "Core" %nul1% && (
|
||||
echo Windows Powershell is needed for MAS but it seems to be replaced with Powershell core. Aborting...
|
||||
echo:
|
||||
set fixes=%fixes% %mas%in-place_repair_upgrade
|
||||
call :dk_color2 %Blue% "Check this webpage for help - " %_Yellow% " %mas%in-place_repair_upgrade"
|
||||
goto done2
|
||||
)
|
||||
|
||||
@@ -254,13 +258,26 @@ call :dk_color2 %Blue% "Check this webpage for help - " %_Yellow% " %mas%remove_
|
||||
goto done2
|
||||
)
|
||||
|
||||
REM check if .NET is working properly
|
||||
|
||||
if /i "!tstresult2!"=="FullLanguage" (
|
||||
cmd /c "%psc% ""try {[System.AppDomain]::CurrentDomain.GetAssemblies(); [System.Math]::Sqrt(144)} catch {Exit 3}""" %nul%
|
||||
if !errorlevel!==3 (
|
||||
echo Windows Powershell failed to load .NET command. Aborting...
|
||||
echo:
|
||||
set fixes=%fixes% %mas%in-place_repair_upgrade
|
||||
call :dk_color2 %Blue% "Check this webpage for help - " %_Yellow% " %mas%in-place_repair_upgrade"
|
||||
goto done2
|
||||
)
|
||||
)
|
||||
|
||||
REM check antivirus and other errors
|
||||
|
||||
echo PowerShell is not working properly. Aborting...
|
||||
|
||||
if /i "!tstresult2!"=="FullLanguage" (
|
||||
echo:
|
||||
echo Your antivirus software might be blocking the script, or PowerShell on your system might be corrupted.
|
||||
echo Your antivirus software might be blocking the script.
|
||||
echo:
|
||||
sc query sense | find /i "RUNNING" %nul% && (
|
||||
echo Installed Antivirus - Microsoft Defender for Endpoint
|
||||
@@ -779,7 +796,7 @@ exit /b
|
||||
set ps=%SysPath%\WindowsPowerShell\v1.0\powershell.exe
|
||||
set psc=%ps% -nop -c
|
||||
set winbuild=1
|
||||
for /f "tokens=6 delims=[]. " %%G in ('ver') do set winbuild=%%G
|
||||
for /f "tokens=2 delims=[]" %%G in ('ver') do for /f "tokens=2,3,4 delims=. " %%H in ("%%~G") do set "winbuild=%%J"
|
||||
|
||||
set _slexe=sppsvc.exe& set _slser=sppsvc
|
||||
if %winbuild% LEQ 6300 (set _slexe=SLsvc.exe& set _slser=SLsvc)
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
@set masver=3.4
|
||||
@set masver=3.5
|
||||
@echo off
|
||||
|
||||
|
||||
@@ -37,6 +37,7 @@ set "_cmdf=%~f0"
|
||||
for %%# in (%*) do (
|
||||
if /i "%%#"=="re1" set re1=1
|
||||
if /i "%%#"=="re2" set re2=1
|
||||
if /i "%%#"=="-qedit" (set re1=1&set re2=1)
|
||||
)
|
||||
|
||||
:: Re-launch the script with x64 process if it was initiated by x86 process on x64 bit Windows
|
||||
@@ -241,6 +242,9 @@ REM check Powershell core version
|
||||
|
||||
cmd /c "%psc% "$PSVersionTable.PSEdition"" | find /i "Core" %nul1% && (
|
||||
echo Windows Powershell is needed for MAS but it seems to be replaced with Powershell core. Aborting...
|
||||
echo:
|
||||
set fixes=%fixes% %mas%in-place_repair_upgrade
|
||||
call :dk_color2 %Blue% "Check this webpage for help - " %_Yellow% " %mas%in-place_repair_upgrade"
|
||||
goto dk_done
|
||||
)
|
||||
|
||||
@@ -255,13 +259,26 @@ call :dk_color2 %Blue% "Check this webpage for help - " %_Yellow% " %mas%remove_
|
||||
goto dk_done
|
||||
)
|
||||
|
||||
REM check if .NET is working properly
|
||||
|
||||
if /i "!tstresult2!"=="FullLanguage" (
|
||||
cmd /c "%psc% ""try {[System.AppDomain]::CurrentDomain.GetAssemblies(); [System.Math]::Sqrt(144)} catch {Exit 3}""" %nul%
|
||||
if !errorlevel!==3 (
|
||||
echo Windows Powershell failed to load .NET command. Aborting...
|
||||
echo:
|
||||
set fixes=%fixes% %mas%in-place_repair_upgrade
|
||||
call :dk_color2 %Blue% "Check this webpage for help - " %_Yellow% " %mas%in-place_repair_upgrade"
|
||||
goto dk_done
|
||||
)
|
||||
)
|
||||
|
||||
REM check antivirus and other errors
|
||||
|
||||
echo PowerShell is not working properly. Aborting...
|
||||
|
||||
if /i "!tstresult2!"=="FullLanguage" (
|
||||
echo:
|
||||
echo Your antivirus software might be blocking the script, or PowerShell on your system might be corrupted.
|
||||
echo Your antivirus software might be blocking the script.
|
||||
echo:
|
||||
sc query sense | find /i "RUNNING" %nul% && (
|
||||
echo Installed Antivirus - Microsoft Defender for Endpoint
|
||||
@@ -1639,7 +1656,7 @@ exit /b
|
||||
set ps=%SysPath%\WindowsPowerShell\v1.0\powershell.exe
|
||||
set psc=%ps% -nop -c
|
||||
set winbuild=1
|
||||
for /f "tokens=6 delims=[]. " %%G in ('ver') do set winbuild=%%G
|
||||
for /f "tokens=2 delims=[]" %%G in ('ver') do for /f "tokens=2,3,4 delims=. " %%H in ("%%~G") do set "winbuild=%%J"
|
||||
|
||||
set _slexe=sppsvc.exe& set _slser=sppsvc
|
||||
if %winbuild% LEQ 6300 (set _slexe=SLsvc.exe& set _slser=SLsvc)
|
||||
|
||||
@@ -6,25 +6,42 @@
|
||||
|
||||
<hr>
|
||||
|
||||
## How to Activate Windows / Office?
|
||||
## How to Activate Windows / Office / Extended Updates (ESU)?
|
||||
|
||||
### Method 1 - PowerShell (Windows 8 and later) ❤️
|
||||
### Method 1 - PowerShell ❤️
|
||||
|
||||
1. **Open PowerShell**
|
||||
To do that, press the Windows key + X, then select PowerShell or Terminal.
|
||||
1. **Open PowerShell**
|
||||
Click the **Start Menu**, type `PowerShell`, then open it.
|
||||
|
||||
2. **Copy and paste the code below, then press enter.**
|
||||
```
|
||||
irm https://get.activated.win | iex
|
||||
```
|
||||
Alternatively, you can use the following (this will be deprecated in the future):
|
||||
```
|
||||
irm https://massgrave.dev/get | iex
|
||||
```
|
||||
2. **Copy and paste the code below, then press enter.**
|
||||
- For **Windows 8, 10, 11**: 📌
|
||||
```
|
||||
irm https://get.activated.win | iex
|
||||
```
|
||||
- For **Windows 7** and later:
|
||||
```
|
||||
iex ((New-Object Net.WebClient).DownloadString('https://get.activated.win'))
|
||||
```
|
||||
|
||||
3. You will see the activation options. Choose the activation options highlighted in green.
|
||||
<details>
|
||||
|
||||
4. That's all
|
||||
<summary>Script not launching❓Click here for info.</summary>
|
||||
|
||||
---
|
||||
|
||||
- If the above is blocked (by ISP/DNS), try this (needs **updated Windows 10 or 11**):
|
||||
```
|
||||
iex (curl.exe -s --doh-url https://1.1.1.1/dns-query https://get.activated.win | Out-String)
|
||||
```
|
||||
- If that fails or you have an older Windows, use the below-listed Method 2.
|
||||
|
||||
---
|
||||
|
||||
</details>
|
||||
|
||||
3. The activation menu will appear. **Choose the green-highlighted options** to activate Windows or Office.
|
||||
|
||||
4. **Done!**
|
||||
|
||||
---
|
||||
|
||||
@@ -47,16 +64,14 @@ or
|
||||
|
||||
---
|
||||
|
||||
- To activate additional products such as **Office for macOS, Visual Studio, RDS CALs, and Windows XP**, check [here](https://massgrave.dev/unsupported_products_activation).
|
||||
- To run the scripts in unattended mode, check [here](https://massgrave.dev/command_line_switches).
|
||||
> [!TIP]
|
||||
> - Some ISPs/DNS block access to our domains. You can bypass this by enabling [DNS-over-HTTPS (DoH)](https://developers.cloudflare.com/1.1.1.1/encryption/dns-over-https/encrypted-dns-browsers/) in your browser.
|
||||
> - **Having trouble**❓Visit our [troubleshooting page](https://massgrave.dev/troubleshoot) or raise an issue on [GitHub](https://github.com/massgravel/Microsoft-Activation-Scripts/issues).
|
||||
|
||||
---
|
||||
|
||||
### Not working ❓
|
||||
|
||||
- If you are **unable to launch MAS** using the PowerShell method, please refer to **Method 2** listed above.
|
||||
- If MAS is launched and the script shows any errors, check for any troubleshooting steps mentioned in blue color and try to follow those.
|
||||
- If you have any issues, please feel free to reach out to us [here](https://massgrave.dev/troubleshoot).
|
||||
- To activate additional products such as **Office for macOS, Visual Studio, RDS CALs, and Windows XP**, check [here](https://massgrave.dev/unsupported_products_activation).
|
||||
- To run the scripts in unattended mode, check [here](https://massgrave.dev/command_line_switches).
|
||||
|
||||
---
|
||||
|
||||
@@ -69,8 +84,8 @@ or
|
||||
---
|
||||
|
||||
```
|
||||
Latest Version: 3.4
|
||||
Release date: 3-June-2025
|
||||
Latest Version: 3.5
|
||||
Release date: 10-Aug-2025
|
||||
```
|
||||
|
||||
### [Troubleshooting / Help](https://massgrave.dev/troubleshoot)
|
||||
|
||||
Reference in New Issue
Block a user