From 4953ed82b58473caf00fcd60258a31a650438038 Mon Sep 17 00:00:00 2001 From: WindowsAddict Date: Tue, 30 Sep 2025 01:55:07 +0530 Subject: [PATCH 01/66] ESU support for PPIPro (added in 19045.6388), add build check for later added ESU editions --- MAS/All-In-One-Version-KL/MAS_AIO.cmd | 11 ++++++++--- .../Activators/TSforge_Activation.cmd | 11 ++++++++--- 2 files changed, 16 insertions(+), 6 deletions(-) diff --git a/MAS/All-In-One-Version-KL/MAS_AIO.cmd b/MAS/All-In-One-Version-KL/MAS_AIO.cmd index a29aecc..9aa1288 100644 --- a/MAS/All-In-One-Version-KL/MAS_AIO.cmd +++ b/MAS/All-In-One-Version-KL/MAS_AIO.cmd @@ -5052,12 +5052,17 @@ if exist "%SystemRoot%\Servicing\Packages\WinEmb-Branding-Embedded-Standard-Pack ) if not defined allapps call :dk_actids 55c92734-d682-4d71-983e-d6ec3f16059f -set w10EsuEditions=Education-EducationN-Enterprise-EnterpriseN-Professional-ProfessionalEducation-ProfessionalEducationN-ProfessionalN-ProfessionalWorkstation-ProfessionalWorkstationN-ServerRdsh +set w10EsuEditions=Education-EducationN-Enterprise-EnterpriseN-Professional-ProfessionalEducation-ProfessionalEducationN-ProfessionalN-ProfessionalWorkstation-ProfessionalWorkstationN + +set minbuild=0 +if /i %tsedition%==ServerRdsh set minbuild=5552 +for %%# in (Core CoreN CoreCountrySpecific CoreSingleLanguage) do (if /i %tsedition%==%%# set minbuild=6156) +if /i %tsedition%==PPIPro set minbuild=6388 set /a UBR=0 for /f "skip=2 tokens=2*" %%a in ('reg query "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion" /v UBR %nul6%') do if not errorlevel 1 set /a UBR=%%b -if %winbuild% EQU 19045 if %UBR% GEQ 6156 ( -set w10EsuEditionsLaterAdded=Core-CoreN-CoreCountrySpecific-CoreSingleLanguage-IoTEnterprise- +if %winbuild% EQU 19045 if %minbuild% GTR 0 if %UBR% GEQ %minbuild% ( +set w10EsuEditionsLaterAdded=%tsedition%- ) if not defined isThinpc if not defined isltsc for %%# in ( diff --git a/MAS/Separate-Files-Version/Activators/TSforge_Activation.cmd b/MAS/Separate-Files-Version/Activators/TSforge_Activation.cmd index d4242bc..cfa1eef 100644 --- a/MAS/Separate-Files-Version/Activators/TSforge_Activation.cmd +++ b/MAS/Separate-Files-Version/Activators/TSforge_Activation.cmd @@ -1112,12 +1112,17 @@ if exist "%SystemRoot%\Servicing\Packages\WinEmb-Branding-Embedded-Standard-Pack ) if not defined allapps call :dk_actids 55c92734-d682-4d71-983e-d6ec3f16059f -set w10EsuEditions=Education-EducationN-Enterprise-EnterpriseN-Professional-ProfessionalEducation-ProfessionalEducationN-ProfessionalN-ProfessionalWorkstation-ProfessionalWorkstationN-ServerRdsh +set w10EsuEditions=Education-EducationN-Enterprise-EnterpriseN-Professional-ProfessionalEducation-ProfessionalEducationN-ProfessionalN-ProfessionalWorkstation-ProfessionalWorkstationN + +set minbuild=0 +if /i %tsedition%==ServerRdsh set minbuild=5552 +for %%# in (Core CoreN CoreCountrySpecific CoreSingleLanguage) do (if /i %tsedition%==%%# set minbuild=6156) +if /i %tsedition%==PPIPro set minbuild=6388 set /a UBR=0 for /f "skip=2 tokens=2*" %%a in ('reg query "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion" /v UBR %nul6%') do if not errorlevel 1 set /a UBR=%%b -if %winbuild% EQU 19045 if %UBR% GEQ 6156 ( -set w10EsuEditionsLaterAdded=Core-CoreN-CoreCountrySpecific-CoreSingleLanguage-IoTEnterprise- +if %winbuild% EQU 19045 if %minbuild% GTR 0 if %UBR% GEQ %minbuild% ( +set w10EsuEditionsLaterAdded=%tsedition%- ) if not defined isThinpc if not defined isltsc for %%# in ( From 233c9d1b29fe03bd9fedf772954b328d2f5b5bc1 Mon Sep 17 00:00:00 2001 From: WindowsAddict Date: Tue, 30 Sep 2025 02:12:44 +0530 Subject: [PATCH 02/66] Show info for sppsvc 1053 error code --- MAS/All-In-One-Version-KL/MAS_AIO.cmd | 5 +++++ MAS/Separate-Files-Version/Activators/HWID_Activation.cmd | 5 +++++ MAS/Separate-Files-Version/Activators/KMS38_Activation.cmd | 5 +++++ .../Activators/Ohook_Activation_AIO.cmd | 5 +++++ .../Activators/Online_KMS_Activation.cmd | 5 +++++ MAS/Separate-Files-Version/Activators/TSforge_Activation.cmd | 5 +++++ MAS/Separate-Files-Version/Change_Office_Edition.cmd | 5 +++++ MAS/Separate-Files-Version/Change_Windows_Edition.cmd | 5 +++++ 8 files changed, 40 insertions(+) diff --git a/MAS/All-In-One-Version-KL/MAS_AIO.cmd b/MAS/All-In-One-Version-KL/MAS_AIO.cmd index 9aa1288..2fa1b79 100644 --- a/MAS/All-In-One-Version-KL/MAS_AIO.cmd +++ b/MAS/All-In-One-Version-KL/MAS_AIO.cmd @@ -1474,6 +1474,11 @@ set spperror=%errorlevel% if %spperror% NEQ 1056 if %spperror% NEQ 0 ( %eline% echo sc start %_slser% [Error Code: %spperror%] +if %spperror% EQU 1053 ( +echo: +call :dk_color %Blue% "Reboot your machine using the restart option and try again." +call :dk_color %Blue% "If it still does not work, go back to Main Menu, select Troubleshoot and run Fix WPA Registry option." +) ) echo: diff --git a/MAS/Separate-Files-Version/Activators/HWID_Activation.cmd b/MAS/Separate-Files-Version/Activators/HWID_Activation.cmd index fb723cc..d6e5b4d 100644 --- a/MAS/Separate-Files-Version/Activators/HWID_Activation.cmd +++ b/MAS/Separate-Files-Version/Activators/HWID_Activation.cmd @@ -1158,6 +1158,11 @@ set spperror=%errorlevel% if %spperror% NEQ 1056 if %spperror% NEQ 0 ( %eline% echo sc start %_slser% [Error Code: %spperror%] +if %spperror% EQU 1053 ( +echo: +call :dk_color %Blue% "Reboot your machine using the restart option and try again." +call :dk_color %Blue% "If it still does not work, go back to Main Menu, select Troubleshoot and run Fix WPA Registry option." +) ) echo: diff --git a/MAS/Separate-Files-Version/Activators/KMS38_Activation.cmd b/MAS/Separate-Files-Version/Activators/KMS38_Activation.cmd index 28bdd18..8f6c718 100644 --- a/MAS/Separate-Files-Version/Activators/KMS38_Activation.cmd +++ b/MAS/Separate-Files-Version/Activators/KMS38_Activation.cmd @@ -1195,6 +1195,11 @@ set spperror=%errorlevel% if %spperror% NEQ 1056 if %spperror% NEQ 0 ( %eline% echo sc start %_slser% [Error Code: %spperror%] +if %spperror% EQU 1053 ( +echo: +call :dk_color %Blue% "Reboot your machine using the restart option and try again." +call :dk_color %Blue% "If it still does not work, go back to Main Menu, select Troubleshoot and run Fix WPA Registry option." +) ) echo: diff --git a/MAS/Separate-Files-Version/Activators/Ohook_Activation_AIO.cmd b/MAS/Separate-Files-Version/Activators/Ohook_Activation_AIO.cmd index 58ee15a..8fd4a28 100644 --- a/MAS/Separate-Files-Version/Activators/Ohook_Activation_AIO.cmd +++ b/MAS/Separate-Files-Version/Activators/Ohook_Activation_AIO.cmd @@ -1859,6 +1859,11 @@ set spperror=%errorlevel% if %spperror% NEQ 1056 if %spperror% NEQ 0 ( %eline% echo sc start %_slser% [Error Code: %spperror%] +if %spperror% EQU 1053 ( +echo: +call :dk_color %Blue% "Reboot your machine using the restart option and try again." +call :dk_color %Blue% "If it still does not work, go back to Main Menu, select Troubleshoot and run Fix WPA Registry option." +) ) echo: diff --git a/MAS/Separate-Files-Version/Activators/Online_KMS_Activation.cmd b/MAS/Separate-Files-Version/Activators/Online_KMS_Activation.cmd index 0408baa..a311a93 100644 --- a/MAS/Separate-Files-Version/Activators/Online_KMS_Activation.cmd +++ b/MAS/Separate-Files-Version/Activators/Online_KMS_Activation.cmd @@ -2862,6 +2862,11 @@ set spperror=%errorlevel% if %spperror% NEQ 1056 if %spperror% NEQ 0 ( %eline% echo sc start %_slser% [Error Code: %spperror%] +if %spperror% EQU 1053 ( +echo: +call :dk_color %Blue% "Reboot your machine using the restart option and try again." +call :dk_color %Blue% "If it still does not work, go back to Main Menu, select Troubleshoot and run Fix WPA Registry option." +) ) echo: diff --git a/MAS/Separate-Files-Version/Activators/TSforge_Activation.cmd b/MAS/Separate-Files-Version/Activators/TSforge_Activation.cmd index cfa1eef..51431a0 100644 --- a/MAS/Separate-Files-Version/Activators/TSforge_Activation.cmd +++ b/MAS/Separate-Files-Version/Activators/TSforge_Activation.cmd @@ -2917,6 +2917,11 @@ set spperror=%errorlevel% if %spperror% NEQ 1056 if %spperror% NEQ 0 ( %eline% echo sc start %_slser% [Error Code: %spperror%] +if %spperror% EQU 1053 ( +echo: +call :dk_color %Blue% "Reboot your machine using the restart option and try again." +call :dk_color %Blue% "If it still does not work, go back to Main Menu, select Troubleshoot and run Fix WPA Registry option." +) ) echo: diff --git a/MAS/Separate-Files-Version/Change_Office_Edition.cmd b/MAS/Separate-Files-Version/Change_Office_Edition.cmd index c1d9114..bfb9435 100644 --- a/MAS/Separate-Files-Version/Change_Office_Edition.cmd +++ b/MAS/Separate-Files-Version/Change_Office_Edition.cmd @@ -1618,6 +1618,11 @@ set spperror=%errorlevel% if %spperror% NEQ 1056 if %spperror% NEQ 0 ( %eline% echo sc start %_slser% [Error Code: %spperror%] +if %spperror% EQU 1053 ( +echo: +call :dk_color %Blue% "Reboot your machine using the restart option and try again." +call :dk_color %Blue% "If it still does not work, go back to Main Menu, select Troubleshoot and run Fix WPA Registry option." +) ) echo: diff --git a/MAS/Separate-Files-Version/Change_Windows_Edition.cmd b/MAS/Separate-Files-Version/Change_Windows_Edition.cmd index 59cfa0b..a1e9689 100644 --- a/MAS/Separate-Files-Version/Change_Windows_Edition.cmd +++ b/MAS/Separate-Files-Version/Change_Windows_Edition.cmd @@ -968,6 +968,11 @@ set spperror=%errorlevel% if %spperror% NEQ 1056 if %spperror% NEQ 0 ( %eline% echo sc start %_slser% [Error Code: %spperror%] +if %spperror% EQU 1053 ( +echo: +call :dk_color %Blue% "Reboot your machine using the restart option and try again." +call :dk_color %Blue% "If it still does not work, go back to Main Menu, select Troubleshoot and run Fix WPA Registry option." +) ) echo: From 8c440c5c481214cded7afb7b2a34aaadfd0d04dd Mon Sep 17 00:00:00 2001 From: WindowsAddict Date: Tue, 30 Sep 2025 02:23:57 +0530 Subject: [PATCH 03/66] Add not LTSC info for IoTEnterprise in change edition --- MAS/All-In-One-Version-KL/MAS_AIO.cmd | 4 ++++ MAS/Separate-Files-Version/Change_Windows_Edition.cmd | 4 ++++ 2 files changed, 8 insertions(+) diff --git a/MAS/All-In-One-Version-KL/MAS_AIO.cmd b/MAS/All-In-One-Version-KL/MAS_AIO.cmd index 2fa1b79..8fe2fe2 100644 --- a/MAS/All-In-One-Version-KL/MAS_AIO.cmd +++ b/MAS/All-In-One-Version-KL/MAS_AIO.cmd @@ -17986,7 +17986,11 @@ echo: for %%A in (%_ntarget%) do ( set /a counter+=1 +if /i %%A==IoTEnterprise ( +echo [!counter!] %%A [GAC, not LTSC] +) else ( echo [!counter!] %%A +) set targetedition!counter!=%%A ) diff --git a/MAS/Separate-Files-Version/Change_Windows_Edition.cmd b/MAS/Separate-Files-Version/Change_Windows_Edition.cmd index a1e9689..a38ac4e 100644 --- a/MAS/Separate-Files-Version/Change_Windows_Edition.cmd +++ b/MAS/Separate-Files-Version/Change_Windows_Edition.cmd @@ -547,7 +547,11 @@ echo: for %%A in (%_ntarget%) do ( set /a counter+=1 +if /i %%A==IoTEnterprise ( +echo [!counter!] %%A [GAC, not LTSC] +) else ( echo [!counter!] %%A +) set targetedition!counter!=%%A ) From 0d4ab4b435bc1389db1817dca79dbe0fe96a59bb Mon Sep 17 00:00:00 2001 From: WindowsAddict Date: Tue, 30 Sep 2025 02:40:05 +0530 Subject: [PATCH 04/66] Fix WMI check regarding SPP --- MAS/All-In-One-Version-KL/MAS_AIO.cmd | 13 +++++++------ .../Activators/HWID_Activation.cmd | 13 +++++++------ .../Activators/KMS38_Activation.cmd | 13 +++++++------ .../Activators/Ohook_Activation_AIO.cmd | 13 +++++++------ .../Activators/Online_KMS_Activation.cmd | 13 +++++++------ .../Activators/TSforge_Activation.cmd | 13 +++++++------ 6 files changed, 42 insertions(+), 36 deletions(-) diff --git a/MAS/All-In-One-Version-KL/MAS_AIO.cmd b/MAS/All-In-One-Version-KL/MAS_AIO.cmd index 8fe2fe2..c648563 100644 --- a/MAS/All-In-One-Version-KL/MAS_AIO.cmd +++ b/MAS/All-In-One-Version-KL/MAS_AIO.cmd @@ -1790,6 +1790,13 @@ if %_wmic% EQU 1 wmic path Win32_ComputerSystem get CreationClassName /value %nu if %_wmic% EQU 0 %psc% "Get-WmiObject -Class Win32_ComputerSystem | Select-Object -Property CreationClassName" %nul2% | find /i "computersystem" %nul1% if %errorlevel% NEQ 0 set wmifailed=1 + +if %_wmic% EQU 1 wmic path %sps% get Version %nul% +if %_wmic% EQU 0 %psc% "try { $null=([WMISEARCHER]'SELECT * FROM %sps%').Get().Version; exit 0 } catch { exit $_.Exception.InnerException.HResult }" %nul% +set error_code=%errorlevel% +cmd /c exit /b %error_code% +if %error_code% NEQ 0 set "error_code=0x%=ExitCode%" + echo "%error_code%" | findstr /i "0x800410 0x800440 0x80131501" %nul1% && set wmifailed=1& :: https://learn.microsoft.com/en-us/windows/win32/wmisdk/wmi-error-constants if defined wmifailed ( @@ -1983,12 +1990,6 @@ set showfix=1 :: Check SoftwareLicensingService -if %_wmic% EQU 1 wmic path %sps% get Version %nul% -if %_wmic% EQU 0 %psc% "try { $null=([WMISEARCHER]'SELECT * FROM %sps%').Get().Version; exit 0 } catch { exit $_.Exception.InnerException.HResult }" %nul% -set error_code=%errorlevel% -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%]" if not defined showfix ( diff --git a/MAS/Separate-Files-Version/Activators/HWID_Activation.cmd b/MAS/Separate-Files-Version/Activators/HWID_Activation.cmd index d6e5b4d..0bada26 100644 --- a/MAS/Separate-Files-Version/Activators/HWID_Activation.cmd +++ b/MAS/Separate-Files-Version/Activators/HWID_Activation.cmd @@ -1474,6 +1474,13 @@ if %_wmic% EQU 1 wmic path Win32_ComputerSystem get CreationClassName /value %nu if %_wmic% EQU 0 %psc% "Get-WmiObject -Class Win32_ComputerSystem | Select-Object -Property CreationClassName" %nul2% | find /i "computersystem" %nul1% if %errorlevel% NEQ 0 set wmifailed=1 + +if %_wmic% EQU 1 wmic path %sps% get Version %nul% +if %_wmic% EQU 0 %psc% "try { $null=([WMISEARCHER]'SELECT * FROM %sps%').Get().Version; exit 0 } catch { exit $_.Exception.InnerException.HResult }" %nul% +set error_code=%errorlevel% +cmd /c exit /b %error_code% +if %error_code% NEQ 0 set "error_code=0x%=ExitCode%" + echo "%error_code%" | findstr /i "0x800410 0x800440 0x80131501" %nul1% && set wmifailed=1& :: https://learn.microsoft.com/en-us/windows/win32/wmisdk/wmi-error-constants if defined wmifailed ( @@ -1667,12 +1674,6 @@ set showfix=1 :: Check SoftwareLicensingService -if %_wmic% EQU 1 wmic path %sps% get Version %nul% -if %_wmic% EQU 0 %psc% "try { $null=([WMISEARCHER]'SELECT * FROM %sps%').Get().Version; exit 0 } catch { exit $_.Exception.InnerException.HResult }" %nul% -set error_code=%errorlevel% -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%]" if not defined showfix ( diff --git a/MAS/Separate-Files-Version/Activators/KMS38_Activation.cmd b/MAS/Separate-Files-Version/Activators/KMS38_Activation.cmd index 8f6c718..7b0025e 100644 --- a/MAS/Separate-Files-Version/Activators/KMS38_Activation.cmd +++ b/MAS/Separate-Files-Version/Activators/KMS38_Activation.cmd @@ -1556,6 +1556,13 @@ if %_wmic% EQU 1 wmic path Win32_ComputerSystem get CreationClassName /value %nu if %_wmic% EQU 0 %psc% "Get-WmiObject -Class Win32_ComputerSystem | Select-Object -Property CreationClassName" %nul2% | find /i "computersystem" %nul1% if %errorlevel% NEQ 0 set wmifailed=1 + +if %_wmic% EQU 1 wmic path %sps% get Version %nul% +if %_wmic% EQU 0 %psc% "try { $null=([WMISEARCHER]'SELECT * FROM %sps%').Get().Version; exit 0 } catch { exit $_.Exception.InnerException.HResult }" %nul% +set error_code=%errorlevel% +cmd /c exit /b %error_code% +if %error_code% NEQ 0 set "error_code=0x%=ExitCode%" + echo "%error_code%" | findstr /i "0x800410 0x800440 0x80131501" %nul1% && set wmifailed=1& :: https://learn.microsoft.com/en-us/windows/win32/wmisdk/wmi-error-constants if defined wmifailed ( @@ -1749,12 +1756,6 @@ set showfix=1 :: Check SoftwareLicensingService -if %_wmic% EQU 1 wmic path %sps% get Version %nul% -if %_wmic% EQU 0 %psc% "try { $null=([WMISEARCHER]'SELECT * FROM %sps%').Get().Version; exit 0 } catch { exit $_.Exception.InnerException.HResult }" %nul% -set error_code=%errorlevel% -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%]" if not defined showfix ( diff --git a/MAS/Separate-Files-Version/Activators/Ohook_Activation_AIO.cmd b/MAS/Separate-Files-Version/Activators/Ohook_Activation_AIO.cmd index 8fd4a28..ae3ae34 100644 --- a/MAS/Separate-Files-Version/Activators/Ohook_Activation_AIO.cmd +++ b/MAS/Separate-Files-Version/Activators/Ohook_Activation_AIO.cmd @@ -2160,6 +2160,13 @@ if %_wmic% EQU 1 wmic path Win32_ComputerSystem get CreationClassName /value %nu if %_wmic% EQU 0 %psc% "Get-WmiObject -Class Win32_ComputerSystem | Select-Object -Property CreationClassName" %nul2% | find /i "computersystem" %nul1% if %errorlevel% NEQ 0 set wmifailed=1 + +if %_wmic% EQU 1 wmic path %sps% get Version %nul% +if %_wmic% EQU 0 %psc% "try { $null=([WMISEARCHER]'SELECT * FROM %sps%').Get().Version; exit 0 } catch { exit $_.Exception.InnerException.HResult }" %nul% +set error_code=%errorlevel% +cmd /c exit /b %error_code% +if %error_code% NEQ 0 set "error_code=0x%=ExitCode%" + echo "%error_code%" | findstr /i "0x800410 0x800440 0x80131501" %nul1% && set wmifailed=1& :: https://learn.microsoft.com/en-us/windows/win32/wmisdk/wmi-error-constants if defined wmifailed ( @@ -2353,12 +2360,6 @@ set showfix=1 :: Check SoftwareLicensingService -if %_wmic% EQU 1 wmic path %sps% get Version %nul% -if %_wmic% EQU 0 %psc% "try { $null=([WMISEARCHER]'SELECT * FROM %sps%').Get().Version; exit 0 } catch { exit $_.Exception.InnerException.HResult }" %nul% -set error_code=%errorlevel% -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%]" if not defined showfix ( diff --git a/MAS/Separate-Files-Version/Activators/Online_KMS_Activation.cmd b/MAS/Separate-Files-Version/Activators/Online_KMS_Activation.cmd index a311a93..2be8ae5 100644 --- a/MAS/Separate-Files-Version/Activators/Online_KMS_Activation.cmd +++ b/MAS/Separate-Files-Version/Activators/Online_KMS_Activation.cmd @@ -3223,6 +3223,13 @@ if %_wmic% EQU 1 wmic path Win32_ComputerSystem get CreationClassName /value %nu if %_wmic% EQU 0 %psc% "Get-WmiObject -Class Win32_ComputerSystem | Select-Object -Property CreationClassName" %nul2% | find /i "computersystem" %nul1% if %errorlevel% NEQ 0 set wmifailed=1 + +if %_wmic% EQU 1 wmic path %sps% get Version %nul% +if %_wmic% EQU 0 %psc% "try { $null=([WMISEARCHER]'SELECT * FROM %sps%').Get().Version; exit 0 } catch { exit $_.Exception.InnerException.HResult }" %nul% +set error_code=%errorlevel% +cmd /c exit /b %error_code% +if %error_code% NEQ 0 set "error_code=0x%=ExitCode%" + echo "%error_code%" | findstr /i "0x800410 0x800440 0x80131501" %nul1% && set wmifailed=1& :: https://learn.microsoft.com/en-us/windows/win32/wmisdk/wmi-error-constants if defined wmifailed ( @@ -3416,12 +3423,6 @@ set showfix=1 :: Check SoftwareLicensingService -if %_wmic% EQU 1 wmic path %sps% get Version %nul% -if %_wmic% EQU 0 %psc% "try { $null=([WMISEARCHER]'SELECT * FROM %sps%').Get().Version; exit 0 } catch { exit $_.Exception.InnerException.HResult }" %nul% -set error_code=%errorlevel% -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%]" if not defined showfix ( diff --git a/MAS/Separate-Files-Version/Activators/TSforge_Activation.cmd b/MAS/Separate-Files-Version/Activators/TSforge_Activation.cmd index 51431a0..a2e8111 100644 --- a/MAS/Separate-Files-Version/Activators/TSforge_Activation.cmd +++ b/MAS/Separate-Files-Version/Activators/TSforge_Activation.cmd @@ -3233,6 +3233,13 @@ if %_wmic% EQU 1 wmic path Win32_ComputerSystem get CreationClassName /value %nu if %_wmic% EQU 0 %psc% "Get-WmiObject -Class Win32_ComputerSystem | Select-Object -Property CreationClassName" %nul2% | find /i "computersystem" %nul1% if %errorlevel% NEQ 0 set wmifailed=1 + +if %_wmic% EQU 1 wmic path %sps% get Version %nul% +if %_wmic% EQU 0 %psc% "try { $null=([WMISEARCHER]'SELECT * FROM %sps%').Get().Version; exit 0 } catch { exit $_.Exception.InnerException.HResult }" %nul% +set error_code=%errorlevel% +cmd /c exit /b %error_code% +if %error_code% NEQ 0 set "error_code=0x%=ExitCode%" + echo "%error_code%" | findstr /i "0x800410 0x800440 0x80131501" %nul1% && set wmifailed=1& :: https://learn.microsoft.com/en-us/windows/win32/wmisdk/wmi-error-constants if defined wmifailed ( @@ -3426,12 +3433,6 @@ set showfix=1 :: Check SoftwareLicensingService -if %_wmic% EQU 1 wmic path %sps% get Version %nul% -if %_wmic% EQU 0 %psc% "try { $null=([WMISEARCHER]'SELECT * FROM %sps%').Get().Version; exit 0 } catch { exit $_.Exception.InnerException.HResult }" %nul% -set error_code=%errorlevel% -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%]" if not defined showfix ( From c9789e9aa34145b6608204dba8d8f5f3e71c6d86 Mon Sep 17 00:00:00 2001 From: WindowsAddict Date: Wed, 1 Oct 2025 03:43:27 +0530 Subject: [PATCH 05/66] Add direct link for AIO file --- README.md | 10 ++++------ 1 file changed, 4 insertions(+), 6 deletions(-) diff --git a/README.md b/README.md index dd7d424..016f4ba 100644 --- a/README.md +++ b/README.md @@ -36,12 +36,10 @@ ### Method 2 - Traditional (Windows Vista and later) -1. Download the ZIP file from this [Azure DevOps](https://dev.azure.com/massgrave/Microsoft-Activation-Scripts/_apis/git/repositories/Microsoft-Activation-Scripts/items?$format=zip) link. -2. Right-click on the downloaded ZIP file and extract it. -3. In the extracted folder, find the folder named `All-In-One-Version`. -4. Run the file named `MAS_AIO.cmd`. -5. You will see the activation options. Follow the on-screen instructions. -6. That's all. +1. Download the script: [**MAS_AIO.cmd**](https://dev.azure.com/massgrave/Microsoft-Activation-Scripts/_apis/git/repositories/Microsoft-Activation-Scripts/items?path=/MAS/All-In-One-Version-KL/MAS_AIO.cmd&download=true) or the [full ZIP](https://dev.azure.com/massgrave/Microsoft-Activation-Scripts/_apis/git/repositories/Microsoft-Activation-Scripts/items?$format=zip). +2. Run the file named `MAS_AIO.cmd`. +3. You will see the activation options. Follow the on-screen instructions. +4. That's all. --- From 470d3b900e6aebfba224fde3ea7957308dd61230 Mon Sep 17 00:00:00 2001 From: WindowsAddict Date: Fri, 7 Nov 2025 01:25:30 +0530 Subject: [PATCH 06/66] R.I.P. KMS38 CLiP licenses for KMS have been deprecated from build 26100.7019 --- MAS/All-In-One-Version-KL/MAS_AIO.cmd | 1252 +++------ .../Activators/KMS38_Activation.cmd | 2261 ----------------- .../Activators/Online_KMS_Activation.cmd | 4 +- .../Activators/_ReadMe.txt | 1 - .../Extract_OEM_Folder.cmd | 61 +- 5 files changed, 308 insertions(+), 3271 deletions(-) delete mode 100644 MAS/Separate-Files-Version/Activators/KMS38_Activation.cmd diff --git a/MAS/All-In-One-Version-KL/MAS_AIO.cmd b/MAS/All-In-One-Version-KL/MAS_AIO.cmd index c648563..0689192 100644 --- a/MAS/All-In-One-Version-KL/MAS_AIO.cmd +++ b/MAS/All-In-One-Version-KL/MAS_AIO.cmd @@ -391,7 +391,6 @@ set _elev= if defined _args echo "%_args%" | find /i "/S" %nul% && (set "_silent=%nul%") || (set _silent=) if defined _args echo "%_args%" | find /i "/" %nul% && ( echo "%_args%" | find /i "/HWID" %nul% && (setlocal & cls & (call :HWIDActivation %_args% %_silent%) & endlocal) -echo "%_args%" | find /i "/KMS38" %nul% && (setlocal & cls & (call :KMS38Activation %_args% %_silent%) & endlocal) echo "%_args%" | find /i "/Z-" %nul% && (setlocal & cls & (call :TSforgeActivation %_args% %_silent%) & endlocal) echo "%_args%" | find /i "/K-" %nul% && (setlocal & cls & (call :KMSActivation %_args% %_silent%) & endlocal) echo "%_args%" | find /i "/Ohook" %nul% && (setlocal & cls & (call :OhookActivation %_args% %_silent%) & endlocal) @@ -473,34 +472,32 @@ call :dk_color3 %_White% " [3] " %_Green% "TSforge" %_White% " ) else ( echo: [3] TSforge - Windows / Office / ESU ) -echo: [4] KMS38 - Windows -echo: [5] Online KMS - Windows / Office +echo: [4] Online KMS - Windows / Office echo: __________________________________________________ echo: -echo: [6] Check Activation Status -echo: [7] Change Windows Edition -echo: [8] Change Office Edition +echo: [5] Check Activation Status +echo: [6] Change Windows Edition +echo: [7] Change Office Edition echo: __________________________________________________ echo: -echo: [9] Troubleshoot +echo: [8] Troubleshoot echo: [E] Extras echo: [H] Help echo: [0] Exit echo: ______________________________________________________________ echo: call :dk_color2 %_White% " " %_Green% "Choose a menu option using your keyboard [1,2,3...E,H,0] :" -choice /C:123456789EH0 /N +choice /C:12345678EH0 /N set _erl=%errorlevel% -if %_erl%==12 exit /b -if %_erl%==11 (start %selfgit% & start %github% & start %mas%troubleshoot & goto :MainMenu) -if %_erl%==10 goto :Extras -if %_erl%==9 setlocal & call :troubleshoot & cls & endlocal & goto :MainMenu -if %_erl%==8 setlocal & call :change_offedition & cls & endlocal & goto :MainMenu -if %_erl%==7 setlocal & call :change_winedition & cls & endlocal & goto :MainMenu -if %_erl%==6 setlocal & call :check_actstatus & cls & endlocal & goto :MainMenu -if %_erl%==5 setlocal & call :KMSActivation & cls & endlocal & goto :MainMenu -if %_erl%==4 setlocal & call :KMS38Activation & cls & endlocal & goto :MainMenu +if %_erl%==11 exit /b +if %_erl%==10 (start %selfgit% & start %github% & start %mas%troubleshoot & goto :MainMenu) +if %_erl%==9 goto :Extras +if %_erl%==8 setlocal & call :troubleshoot & cls & endlocal & goto :MainMenu +if %_erl%==7 setlocal & call :change_offedition & cls & endlocal & goto :MainMenu +if %_erl%==6 setlocal & call :change_winedition & cls & endlocal & goto :MainMenu +if %_erl%==5 setlocal & call :check_actstatus & cls & endlocal & goto :MainMenu +if %_erl%==4 setlocal & call :KMSActivation & cls & endlocal & goto :MainMenu if %_erl%==3 setlocal & call :TSforgeActivation & cls & endlocal & goto :MainMenu if %_erl%==2 setlocal & call :OhookActivation & cls & endlocal & goto :MainMenu if %_erl%==1 setlocal & call :HWIDActivation & cls & endlocal & goto :MainMenu @@ -579,28 +576,26 @@ echo: echo: [1] HWID [Windows] echo: [2] Ohook [Office] echo: [3] TSforge [Windows / ESU / Office] -echo: [4] KMS38 [Windows] -echo: [5] Online KMS [Windows / Office] +echo: [4] Online KMS [Windows / Office] echo: -echo: [6] HWID [Windows] ^+ Ohook [Office] -echo: [7] HWID [Windows] ^+ Ohook [Office] ^+ TSforge [ESU] -echo: [8] TSforge [Windows] ^+ Online KMS [Office] +echo: [5] HWID [Windows] ^+ Ohook [Office] +echo: [6] HWID [Windows] ^+ Ohook [Office] ^+ TSforge [ESU] +echo: [7] TSforge [Windows] ^+ Online KMS [Office] echo: call :dk_color2 %_White% " [R] " %_Green% "ReadMe" echo: [0] Go Back echo: ____________________________________________________________ echo: call :dk_color2 %_White% " " %_Green% "Choose a menu option using your keyboard :" -choice /C:12345678R0 /N +choice /C:1234567R0 /N set _erl=%errorlevel% -if %_erl%==10 goto:Extras -if %_erl%==9 start %mas%oem-folder &goto:Extract$OEM$2 -if %_erl%==8 (set "_oem=TSforge [Windows] + Online KMS [Office]" & set "para=/Z-Windows /K-Office" &goto:Extract$OEM$3) -if %_erl%==7 (set "_oem=HWID [Windows] + Ohook [Office] + TSforge [ESU]" & set "para=/HWID /Ohook /Z-ESU" &goto:Extract$OEM$3) -if %_erl%==6 (set "_oem=HWID [Windows] + Ohook [Office]" & set "para=/HWID /Ohook" &goto:Extract$OEM$3) -if %_erl%==5 (set "_oem=Online KMS" & set "para=/K-WindowsOffice" &goto:Extract$OEM$3) -if %_erl%==4 (set "_oem=KMS38" & set "para=/KMS38" &goto:Extract$OEM$3) +if %_erl%==9 goto:Extras +if %_erl%==8 start %mas%oem-folder &goto:Extract$OEM$2 +if %_erl%==7 (set "_oem=TSforge [Windows] + Online KMS [Office]" & set "para=/Z-Windows /K-Office" &goto:Extract$OEM$3) +if %_erl%==6 (set "_oem=HWID [Windows] + Ohook [Office] + TSforge [ESU]" & set "para=/HWID /Ohook /Z-ESU" &goto:Extract$OEM$3) +if %_erl%==5 (set "_oem=HWID [Windows] + Ohook [Office]" & set "para=/HWID /Ohook" &goto:Extract$OEM$3) +if %_erl%==4 (set "_oem=Online KMS" & set "para=/K-WindowsOffice" &goto:Extract$OEM$3) if %_erl%==3 (set "_oem=TSforge" & set "para=/Z-WindowsESUOffice" &goto:Extract$OEM$3) if %_erl%==2 (set "_oem=Ohook" & set "para=/Ohook" &goto:Extract$OEM$3) if %_erl%==1 (set "_oem=HWID" & set "para=/HWID" &goto:Extract$OEM$3) @@ -638,11 +633,6 @@ echo: call :dk_color %Blue% "%_oem%" call :dk_color %Green% "$OEM$ folder was successfully created on your Desktop." ) -echo "%_oem%" | find /i "KMS38" 1>nul && ( -echo: -echo To KMS38 activate Server Cor/Acor editions ^(No GUI Versions^), -echo Check this page %mas%oem-folder -) echo ___________________________________________________________________ echo: call :dk_color %_Yellow% "Press [0] key to %_exitmsg%..." @@ -12055,21 +12045,46 @@ exit /b :+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -:KMS38Activation +:KMSActivation -:: To activate, run the script with "/KMS38" parameter or change 0 to 1 in below line -set _act=0 +:: To activate Windows with K-M-S activation, run the script with "/K-Windows" parameter or change 0 to 1 in below line +set _actwin=0 + +:: To activate all Office apps (including Project/Visio) with K-M-S activation, run the script with "/K-Office" parameter or change 0 to 1 in below line +set _actoff=0 + +:: To activate only Project/Visio with K-M-S activation, run the script with "/K-ProjectVisio" parameter or change 0 to 1 in below line +set _actprojvis=0 -:: To disable changing edition if current edition doesn't support KMS38 activation, change the value to 1 from 0 or run the script with "/KMS38-NoEditionChange" parameter +:: To activate all Windows/Office with K-M-S activation, run the script with "/K-WindowsOffice" parameter or change 0 to 1 in below line +set _actwinoff=0 + +:: To disable changing Windows/Office edition if current edition doesn't support K-M-S activation, run the script with "/K-NoEditionChange" parameter or change 0 to 1 in below line set _NoEditionChange=0 -:: If value is changed in above lines or parameter is used then script will run in unattended mode +:: To NOT auto-install renewal task with activation, run the script with "/K-NoRenewalTask" parameter or change 0 to 1 in below line +set _norentsk=0 + +:: To uninstall K-M-S, run the script with "/K-Uninstall" parameter or change 0 to 1 in below line. It'll take preference over any other parameter. +set _uni=0 + +:: Advanced options: +:: Don't use renewal task option if you are going to use a specific server name instead of public servers used in the script + +:: To specify a server address for activation, run the script with "/K-Server-YOURKMSSERVERNAME" parameter or add it in below line after = sign +set _server= + +:: To specify a port for activation, run the script with "/K-Port-YOURPORTNAME" parameter or add it in below line after = sign +set _port= + +:: Script will run in unattended mode if parameters are used OR value is changed in above lines FOR activation or uninstall. ::======================================================================================================================================== cls color 07 -title KMS38 Activation %masver% +set KS=K%blank%MS +title Online %KS% Activation %masver% set _args= set _elev= @@ -12077,89 +12092,110 @@ set _unattended=0 set _args=%* if defined _args set _args=%_args:"=% -if defined _args ( -for %%A in (%_args%) do ( -if /i "%%A"=="/KMS38" set _act=1 -if /i "%%A"=="/KMS38-NoEditionChange" set _NoEditionChange=1 -if /i "%%A"=="-el" set _elev=1 -) +if defined _args for %%A in (%_args%) do ( +if /i "%%A"=="-el" (set _elev=1) +if /i "%%A"=="/K-Windows" (set _actwin=1) +if /i "%%A"=="/K-Office" (set _actoff=1) +if /i "%%A"=="/K-ProjectVisio" (set _actprojvis=1) +if /i "%%A"=="/K-WindowsOffice" (set _actwinoff=1) +if /i "%%A"=="/K-NoEditionChange" (set _NoEditionChange=1) +if /i "%%A"=="/K-NoRenewalTask" (set _norentsk=1) +if /i "%%A"=="/K-Uninstall" (set _uni=1) +echo "%%A" | find /i "/K-Port-" >nul && (set "_port=%%A" & call set "_port=%%_port:~8%%") +echo "%%A" | find /i "/K-Server-" >nul && (set "_server=%%A" & call set "_server=%%_server:~10%%") ) -for %%A in (%_act% %_NoEditionChange%) do (if "%%A"=="1" set _unattended=1) +for %%A in (%_actwin% %_actoff% %_actprojvis% %_actwinoff% %_uni%) do (if "%%A"=="1" set _unattended=1) ::======================================================================================================================================== -set _k38= -call :dk_setvar -set "specific_kms=SOFTWARE\Microsoft\Windows NT\CurrentVersion\SoftwareProtectionPlatform\55c92734-d682-4d71-983e-d6ec3f16059f" - -if %winbuild% LSS 14393 ( -%eline% -echo Unsupported OS version detected [%winbuild%]. -echo KMS38 activation is only supported on Windows 10/11/Server, build 14393 and later. -echo: -if %winbuild% LSS 10240 ( -call :dk_color %Blue% "Use TSforge activation option from the main menu." -) else ( -call :dk_color %Blue% "Use HWID activation option from the main menu." -) -goto dk_done -) +if %_uni%==1 goto :ks_uninstall -::======================================================================================================================================== +:ks_menu -:k_menu +if defined _server set _norentsk=1 +if not defined _server set _port= if %_unattended%==0 ( cls -if not defined terminal mode 76, 25 -title KMS38 Activation %masver% +if not defined terminal mode 76, 30 +title Online %KS% Activation %masver% echo: echo: echo: echo: -echo: ______________________________________________________ -echo: -echo [1] KMS38 Activation -echo ____________________________________________ +if exist "%ProgramFiles%\Activation-Renewal\Activation_task.cmd" ( +find /i "Ver:2.7" "%ProgramFiles%\Activation-Renewal\Activation_task.cmd" %nul% || ( +call :dk_color %_Yellow% " Old renewal task found, run activation to update it." +) +) +echo ______________________________________________________________ +echo: +echo [1] Activate - Windows +echo [2] Activate - Office [All] +echo [3] Activate - Office [Project/Visio] +echo [4] Activate - All +echo _______________________________________________ +echo: +if %_norentsk%==0 ( +echo [5] Renewal Task With Activation [Yes] +) else ( +call :dk_color2 %_White% " [5] Renewal Task With Activation " %_Yellow% "[No]" +) +if %_NoEditionChange%==0 ( +echo [6] Change Edition If Needed [Yes] +) else ( +call :dk_color2 %_White% " [6] Change Edition If Needed " %_Yellow% "[No]" +) +echo [7] Uninstall Online %KS% +echo _______________________________________________ echo: -echo [2] Remove KMS38 Activation +if defined _server ( +echo [8] Set %KS% Server/Port [%_server%] [%_port%] +) else ( +echo [8] Set %KS% Server/Port +) +echo [9] Download Office +echo [0] %_exitmsg% +echo ______________________________________________________________ echo: -echo [0] %_exitmsg% -echo: ______________________________________________________ -echo: -call :dk_color2 %_White% " " %_Green% "Choose a menu option using your keyboard [1,2,0]" -choice /C:120 /N +call :dk_color2 %_White% " " %_Green% "Choose a menu option using your keyboard [1,2,3,4,5,6,7,8,9,0]" +choice /C:1234567890 /N set _el=!errorlevel! -if !_el!==3 exit /b -if !_el!==2 goto :k_uninstall -if !_el!==1 goto :k_menu2 -goto :k_menu + +if !_el!==10 exit /b +if !_el!==9 start %mas%genuine-installation-media & goto :ks_menu +if !_el!==8 goto :ks_ip +if !_el!==7 cls & call :ks_uninstall & cls & goto :ks_menu +if !_el!==6 (if %_NoEditionChange%==0 (set _NoEditionChange=1) else (set _NoEditionChange=0)) & goto :ks_menu +if !_el!==5 (if %_norentsk%==0 (set _norentsk=1) else (set _norentsk=0)) & goto :ks_menu +if !_el!==4 cls & setlocal & set "_actwin=1" & set "_actoff=1" & set "_actprojvis=0" & call :ks_start & endlocal & cls & goto :ks_menu +if !_el!==3 cls & setlocal & set "_actwin=0" & set "_actoff=0" & set "_actprojvis=1" & call :ks_start & endlocal & cls & goto :ks_menu +if !_el!==2 cls & setlocal & set "_actwin=0" & set "_actoff=1" & set "_actprojvis=0" & call :ks_start & endlocal & cls & goto :ks_menu +if !_el!==1 cls & setlocal & set "_actwin=1" & set "_actoff=0" & set "_actprojvis=0" & call :ks_start & endlocal & cls & goto :ks_menu +goto :ks_menu ) ::======================================================================================================================================== -:k_menu2 +:ks_start cls if not defined terminal ( -mode 110, 34 -if exist "%SysPath%\spp\store_test\" mode 134, 34 +mode 115, 32 +if exist "%SysPath%\spp\store_test\" mode 135, 32 +%psc% "&{$W=$Host.UI.RawUI.WindowSize;$B=$Host.UI.RawUI.BufferSize;$W.Height=32;$B.Height=300;$Host.UI.RawUI.WindowSize=$W;$Host.UI.RawUI.BufferSize=$B;}" %nul% ) -title KMS38 Activation %masver% +title Online %KS% Activation %masver% echo: echo Initializing... call :dk_chkmal -if exist "%SystemRoot%\Servicing\Packages\Microsoft-Windows-Server*CorEdition~*.mum" if not exist "%SysPath%\clipup.exe" set a_cor=1 -if not exist %SysPath%\sppsvc.exe (set _fmiss=sppsvc.exe) -if not exist %SysPath%\ClipUp.exe if not defined a_cor (set _fmiss=%_fmiss%ClipUp.exe) - -if defined _fmiss ( +if not exist %SysPath%\%_slexe% ( %eline% -echo [%_fmiss%] file is missing, aborting... +echo [%SysPath%\%_slexe%] file is missing, aborting... echo: if not defined results ( call :dk_color %Blue% "Go back to Main Menu, select Troubleshoot and run DISM Restore and SFC Scan options." @@ -12173,6 +12209,9 @@ goto dk_done ::======================================================================================================================================== +if %_actprojvis%==1 (set "_actoff=1") +if %_actwinoff%==1 (set "_actwin=1" & set "_actoff=1") + set spp=SoftwareLicensingProduct set sps=SoftwareLicensingService @@ -12183,25 +12222,62 @@ call :dk_sppissue ::======================================================================================================================================== -:: Check if system is permanently activated or not +set error= -call :dk_checkperm -if defined _perm ( cls -echo ___________________________________________________________________________________________ -echo: -call :dk_color2 %_White% " " %Green% "%winos% is already permanently activated." -call :dk_color2 %_White% " " %Gray% "Activation is not required." -echo ___________________________________________________________________________________________ -if %_unattended%==1 goto dk_done echo: -choice /C:10 /N /M "> [1] Activate Anyway [0] %_exitmsg% : " -if errorlevel 2 exit /b +call :dk_showosinfo + +:: Check Internet connection + +set _int= +for %%a in (l.root-servers.net resolver1.opendns.com download.windowsupdate.com google.com) do if not defined _int ( +for /f "delims=[] tokens=2" %%# in ('ping -n 1 %%a') do (if not "%%#"=="" set _int=1) ) -cls + +if not defined _int ( +%psc% "If([Activator]::CreateInstance([Type]::GetTypeFromCLSID([Guid]'{DCB00C01-570F-4A9B-8D69-199FDBA5723B}')).IsConnectedToInternet){Exit 0}Else{Exit 1}" +if !errorlevel!==0 (set _int=1&set ping_f= But Ping Failed) +) + +if defined _int ( +echo Checking Internet Connection [Connected%ping_f%] +) else ( +set error=1 +call :dk_color %Red% "Checking Internet Connection [Not Connected]" +call :dk_color %Blue% "Internet is required for Online %KS% Activation." +) + +::======================================================================================================================================== + +echo Initiating Diagnostic Tests... + +set "_serv=%_slser% Winmgmt" + +:: Software Protection +:: Windows Management Instrumentation + +if %_actwin%==0 set notwinact=1 +call :dk_errorcheck ::======================================================================================================================================== +call :_taskclear-cache +call :_tasksetserv + +if not %_actwin%==1 goto :ks_office + +:: Process Windows +:: Check if system is permanently activated or not + +echo: +echo Processing Windows... +call :dk_checkperm +if defined _perm ( +call :dk_color %Gray% "Checking OS Activation [Windows is already permanently activated]" +goto :ks_office +) + :: Check Evaluation version set _eval= @@ -12213,74 +12289,23 @@ if exist "%SystemRoot%\Servicing\Packages\Microsoft-Windows-Server*EvalCorEditio if defined _eval ( reg query "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion" /v EditionID %nul2% | find /i "Eval" %nul1% && ( -%eline% -echo [%winos% ^| %winbuild%] +call :dk_color %Red% "Checking Evaluation Edition [Evaluation editions cannot be activated outside of evaluation period.]" + if defined _evalserv ( -echo Server Evaluation cannot be activated. Convert it to full Server OS. -echo: -call :dk_color %Blue% "Go Back to main menu and use [Change Edition] option." +call :dk_color %Blue% "Go back to main menu and use [Change Edition] option." ) else ( -echo Evaluation editions cannot be activated outside of their evaluation period. call :dk_color %Blue% "Use TSforge activation option from the main menu to reset evaluation period." -echo: set fixes=%fixes% %mas%evaluation_editions call :dk_color2 %Blue% "Check this webpage for help - " %_Yellow% " %mas%evaluation_editions" ) -goto dk_done -) -) - -::======================================================================================================================================== - -:: Check clipup.exe for the detection and activation of server cor and acor editions - -if defined a_cor ( -if not exist "!_work!\clipup.exe" ( -%eline% -echo clipup.exe doesn't exist in Server Cor/Acor [No GUI] versions. -echo The file is required for KMS38 activation. -echo Check the below page for instructions on how to activate it. -call :dk_color2 %Blue% "Check this webpage for help - " %_Yellow% " %mas%kms38" -goto dk_done -) -) - -:: Check file signature -if defined a_cor ( -%psc% "if (-not (Get-AuthenticodeSignature -FilePath '!_work!\clipup.exe').IsOSBinary) {Exit 3}" %nul% -if !errorlevel!==3 ( -%eline% -echo Valid digital signature not found in clipup.exe file. -call :dk_color2 %Blue% "Check this webpage for help - " %_Yellow% " %mas%troubleshoot" -goto dk_done +goto :ks_office ) ) ::======================================================================================================================================== -set error= - -cls -echo: -call :dk_showosinfo - -::======================================================================================================================================== - -echo Initiating Diagnostic Tests... - -set "_serv=ClipSVC sppsvc KeyIso Winmgmt" - -:: Client License Service (ClipSVC) -:: Software Protection -:: CNG Key Isolation -:: Windows Management Instrumentation - -call :dk_errorcheck - -::======================================================================================================================================== - -:: Check if GVLK (KMS key) is already installed or not +:: Check if GVLK is already installed or not call :k_channel @@ -12293,9 +12318,9 @@ set changekey= set altedition= call :dk_actids 55c92734-d682-4d71-983e-d6ec3f16059f -if defined allapps call :kms38data key +if defined allapps call :ksdata winkey if not defined key call :k_gvlk %nul% -if defined allapps if not defined key call :kms38fallback +if defined allapps if not defined key call :kmsfallback if defined altkey (set key=%altkey%&set changekey=1) @@ -12303,822 +12328,37 @@ set /a UBR=0 if %osSKU%==191 if defined altkey if defined altedition ( for /f "skip=2 tokens=2*" %%a in ('reg query "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion" /v UBR %nul6%') do if not errorlevel 1 set /a UBR=%%b if %winbuild% LSS 22598 if !UBR! LSS 2788 ( -call :dk_color %Blue% "Windows must be updated to build 19044.2788 or higher for IotEnterpriseS KMS38 activation." +call :dk_color %Blue% "Windows must be updated to build 19044.2788 or higher for IotEnterpriseS %KS% activation." ) ) if not defined key if defined notfoundaltactID ( -call :dk_color %Red% "Checking Alternate Edition for KMS38 [%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 ( -echo: echo [%winos% ^| %winbuild% ^| SKU:%osSKU%] -if exist "%SysPath%\spp\tokens\skus\%osedition%\*GVLK*.xrm-ms" set sppks=1 +if %winbuild% GEQ 9200 if exist "%SysPath%\spp\tokens\skus\%osedition%\*GVLK*.xrm-ms" set sppks=1 +if %winbuild% LSS 9200 if exist "%SysPath%\spp\tokens\skus\Security-SPP-Component-SKU-%osedition%\*VLKMS*.xrm-ms" set sppks=1 +if %winbuild% LSS 9200 if exist "%SysPath%\spp\tokens\skus\Security-SPP-Component-SKU-%osedition%\*VL-BYPASS*.xrm-ms" set sppks=1 +if %winbuild% LSS 7600 if exist "%SysPath%\licensing\skus\Security-Licensing-SLC-Component-SKU-%osedition%\*KMS*.xrm-ms" set sppks=1 +if %winbuild% LSS 7600 if exist "%SysPath%\licensing\skus\Security-Licensing-SLC-Component-SKU-%osedition%\*VL-BYPASS*.xrm-ms" set sppks=1 if defined skunotfound ( -call :dk_color %Red% "Required license files not found in %SysPath%\spp\tokens\skus\" +call :dk_color %Red% "Required license files not found." set fixes=%fixes% %mas%troubleshoot call :dk_color2 %Blue% "Check this webpage for help - " %_Yellow% " %mas%troubleshoot" ) if defined sppks ( -call :dk_color %Red% "KMS38 activation is supported but failed to find the key." +call :dk_color %Red% "%KS% activation is supported but failed to find the %KS% key." set fixes=%fixes% %mas%troubleshoot call :dk_color2 %Blue% "Check this webpage for help - " %_Yellow% " %mas%troubleshoot" ) if not defined skunotfound if not defined sppks ( -call :dk_color %Red% "This product does not support KMS38 activation." -call :dk_color %Blue% "Use TSforge activation option from the main menu." -set fixes=%fixes% %mas% -echo %mas% -) -echo: -goto dk_done -) - -::======================================================================================================================================== - -:: Install key - -echo: -if defined changekey ( -call :dk_color %Blue% "[%altedition%] edition product key will be used to enable KMS38 activation." -echo: -) - -if defined winsub ( -call :dk_color %Blue% "Windows Subscription edition [SKU ID-%slcSKU%] found. Script will activate the base edition [SKU ID-%regSKU%]." -echo: -) - -set _partial= -if not defined key ( -if %_wmic% EQU 1 for /f "tokens=2 delims==" %%# in ('wmic path %spp% where "ApplicationID='55c92734-d682-4d71-983e-d6ec3f16059f' and PartialProductKey<>null AND LicenseDependsOn is NULL" Get PartialProductKey /value %nul6%') do set "_partial=%%#" -if %_wmic% EQU 0 for /f "tokens=2 delims==" %%# in ('%psc% "(([WMISEARCHER]'SELECT PartialProductKey FROM %spp% WHERE ApplicationID=''55c92734-d682-4d71-983e-d6ec3f16059f'' AND PartialProductKey IS NOT NULL AND LicenseDependsOn is NULL').Get()).PartialProductKey | %% {echo ('PartialProductKey='+$_)}" %nul6%') do set "_partial=%%#" -call echo Checking Installed Product Key [Partial Key - %%_partial%%] [Volume:GVLK] -) - -if defined key ( -set generickey=1 -call :dk_inskey "[%key%]" -) - -::======================================================================================================================================== - -:: Check activation ID for setting specific KMS host - -set app= -if %_wmic% EQU 1 for /f "tokens=2 delims==" %%a in ('"wmic path %spp% where (ApplicationID='55c92734-d682-4d71-983e-d6ec3f16059f' and Description like '%%KMSCLIENT%%' and PartialProductKey is not NULL AND LicenseDependsOn is NULL) get ID /VALUE" %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 ( -call :dk_color %Red% "Checking Installed GVLK Activation ID [Not Found] Aborting..." -set fixes=%fixes% %mas%troubleshoot -call :dk_color2 %Blue% "Check this webpage for help - " %_Yellow% " %mas%troubleshoot" -goto :dk_done -) - -::======================================================================================================================================== - -:: Set specific KMS host to Local Host -:: By doing this, global KMS IP can not replace KMS38 activation but can be used with Office and other Windows Editions - -echo: -%nul% reg delete "HKLM\%specific_kms%" /f -%nul% reg delete "HKU\S-1-5-20\%specific_kms%" /f - -%nul% reg query "HKLM\%specific_kms%" && ( -call :dk_color %Blue% "Specific KMS registry is locked. %_fixmsg%" -) - -set k_error= -%nul% reg add "HKLM\%specific_kms%\%app%" /f /v KeyManagementServiceName /t REG_SZ /d "127.0.0.2" || set k_error=1 -%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] [Successful] -) else ( -call :dk_color %Red% "Adding Specific KMS Host [LocalHost] [Failed]" -) - -::======================================================================================================================================== - -:: Copy clipup.exe to System32 directory to activate Server Cor/Acor editions - -if defined a_cor ( -set "_clipup=%systemroot%\System32\clipup.exe" -pushd "!_work!\" -copy /y /b "ClipUp.exe" "!_clipup!" %nul% -popd - -echo: -if exist "!_clipup!" ( -echo Copying clipup.exe File to [%systemroot%\System32\] [Successful] -) else ( -call :dk_color %Red% "Copying clipup.exe File to [%systemroot%\System32\] [Failed] Aborting..." -goto :k_final -) -) - -::======================================================================================================================================== - -:: Generate GenuineTicket.xml and apply -:: In some cases clipup -v -o method fails and in some cases service restart method fails as well -:: To maximize success rate and get better error details, script will install tickets two times (service restart + clipup -v -o) - -set "tdir=%ProgramData%\Microsoft\Windows\ClipSVC\GenuineTicket" -if not exist "%tdir%\" md "%tdir%\" %nul% - -if exist "%tdir%\Genuine*" del /f /q "%tdir%\Genuine*" %nul% -if exist "%tdir%\*.xml" del /f /q "%tdir%\*.xml" %nul% -if exist "%ProgramData%\Microsoft\Windows\ClipSVC\Install\Migration\*" del /f /q "%ProgramData%\Microsoft\Windows\ClipSVC\Install\Migration\*" %nul% - -:: Generate ticket - -set "SessionIdStr=OSMajorVersion=5;OSMinorVersion=1;OSPlatformId=2;PP=0;GVLKExp=2038-01-19T03:14:07Z;DownlevelGenuineState=1;" -%psc% "$f=[System.IO.File]::ReadAllText('!_batp!') -split ':sign\:.*';. ([scriptblock]::Create($f[1]))" - -copy /y /b "%tdir%\GenuineTicket" "%tdir%\GenuineTicket.xml" %nul% - -if not exist "%tdir%\GenuineTicket.xml" ( -call :dk_color %Red% "Generating GenuineTicket.xml [Failed, aborting...]" -if exist "%tdir%\Genuine*" del /f /q "%tdir%\Genuine*" %nul% -goto :k_final -) else ( -echo Generating GenuineTicket.xml [Successful] -) - -set "_xmlexist=if exist "%tdir%\GenuineTicket.xml"" - -:: Stop sppsvc - -%psc% "Start-Job { Stop-Service sppsvc -force } | Wait-Job -Timeout 20 | Out-Null" - -%_xmlexist% ( -%psc% "Start-Job { Restart-Service ClipSVC } | Wait-Job -Timeout 20 | Out-Null" -%_xmlexist% timeout /t 2 %nul% -%_xmlexist% timeout /t 2 %nul% - -%_xmlexist% ( -set error=1 -if exist "%tdir%\*.xml" del /f /q "%tdir%\*.xml" %nul% -call :dk_color %Gray% "Installing GenuineTicket.xml [Failed with ClipSVC service restart, wait...]" -) -) - -copy /y /b "%tdir%\GenuineTicket" "%tdir%\GenuineTicket.xml" %nul% -clipup -v -o - -set rebuildinfo= - -if not exist %ProgramData%\Microsoft\Windows\ClipSVC\tokens.dat ( -set error=1 -set rebuildinfo=1 -call :dk_color %Red% "Checking ClipSVC tokens.dat [Not Found]" -) - -%_xmlexist% ( -set error=1 -set rebuildinfo=1 -call :dk_color %Red% "Installing GenuineTicket.xml [Failed With clipup -v -o]" -) - -if exist "%ProgramData%\Microsoft\Windows\ClipSVC\Install\Migration\*.xml" ( -set error=1 -set rebuildinfo=1 -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% - -::========================================================================================================================================== - -call :dk_product - -echo: -echo Activating... -echo: - -call :k_checkexp -if defined _k38 ( -call :k_actinfo -goto :k_final -) - -:: Clear 180 Days KMS Activation lock with Windows SKU specific rearm and without the need to restart the system - -if %_wmic% EQU 1 wmic path %spp% where ID='%app%' call ReArmsku %nul% -if %_wmic% EQU 0 %psc% "$null=([WMI]'%spp%=''%app%''').ReArmsku()" %nul% - -if %errorlevel%==0 ( -echo Applying SKU-ID Rearm [Successful] -) else ( -call :dk_color %Red% "Applying SKU-ID Rearm [Failed]" -) -call :dk_refresh - -echo: -call :k_checkexp -if defined _k38 ( -call :k_actinfo -goto :k_final -) - -call :dk_color %Red% "Activation Failed" -if not defined error call :dk_color %Blue% "%_fixmsg%" -set fixes=%fixes% %mas%troubleshoot -call :dk_color2 %Blue% "Check this webpage for help - " %_Yellow% " %mas%troubleshoot" - -::======================================================================================================================================== - -:k_final - -:: Remove the specific KMS host (LocalHost) added by the script if activation is not completed - -echo: -if not defined _k38 ( -%nul% reg delete "HKLM\%specific_kms%" /f -%nul% reg delete "HKU\S-1-5-20\%specific_kms%" /f -%nul% reg query "HKLM\%specific_kms%" && ( -call :dk_color %Red% "Removing the Added Specific KMS Host [Failed]" -) || ( -echo Removing the Added Specific KMS Host [Successful] -) -) - -if defined _k38 if %winbuild% GEQ 26200 ( -call :dk_color %Gray% "In Windows settings, you may see a renewal notification for activation that can be ignored." -call :dk_color %Gray% "To avoid this notification, please use the HWID or TSforge activation options in the main menu." -) - -:: clipup.exe does not exist in server cor and acor editions by default, it was copied there with this script - -if defined a_cor if exist "%_clipup%" del /f /q "%_clipup%" %nul% - -if defined a_cor ( -if exist "%_clipup%" ( -call :dk_color %Red% "Deleting Copied clipup.exe File [Failed]" -) else ( -echo Deleting Copied clipup.exe File [Successful] -) -) - -for %%# in (407) do if %osSKU%==%%# ( -call :dk_color %Red% "%winos% does not support activation on non-azure platforms." -) - -:: Trigger reevaluation of SPP's Scheduled Tasks - -if defined _k38 ( -call :dk_reeval %nul% -) -goto :dk_done - -::======================================================================================================================================== - -:k_uninstall - -cls -if not defined terminal mode 99, 28 -title Remove KMS38 Activation %masver% - -%nul% reg delete "HKLM\%specific_kms%" /f -%nul% reg delete "HKU\S-1-5-20\%specific_kms%" /f - -echo: -%nul% reg query "HKLM\%specific_kms%" && ( -call :dk_color %Red% "Failed to remove specific KMS Host." -call :dk_color %Blue% "%_fixmsg%" -) || ( -echo Successfully removed specific KMS Host. -) - -echo: -echo KMS38 activation doesn't modify any Windows components and doesn't install any new files. -echo: -call :dk_color %Gray% "If you want to reset the activation status," -call :dk_color %Blue% "%_fixmsg%" -echo: - -goto :dk_done - -::======================================================================================================================================== - -:: Check KMS activation status - -:k_actinfo - -set xpr= -for /f "tokens=* delims=" %%# in ('%psc% "$([DateTime]::Now.addMinutes(%gpr%)).ToString('yyyy-MM-dd HH:mm:ss')" %nul6%') do set "xpr=%%#" -call :dk_color %Green% "%winos% is activated till !xpr!" -exit /b - -:: Check remaining KMS activation grace period - -:k_checkexp - -set gpr=0 -if %_wmic% EQU 1 for /f "tokens=2 delims==" %%# in ('"wmic path %spp% where (ApplicationID='55c92734-d682-4d71-983e-d6ec3f16059f' and Description like '%%KMSCLIENT%%' and PartialProductKey is not NULL AND LicenseDependsOn is NULL) get GracePeriodRemaining /VALUE" %nul6%') do set "gpr=%%#" -if %_wmic% EQU 0 for /f "tokens=2 delims==" %%# in ('%psc% "(([WMISEARCHER]'SELECT GracePeriodRemaining FROM %spp% WHERE ApplicationID=''55c92734-d682-4d71-983e-d6ec3f16059f'' AND Description like ''%%KMSCLIENT%%'' AND PartialProductKey IS NOT NULL AND LicenseDependsOn is NULL').Get()).GracePeriodRemaining | %% {echo ('GracePeriodRemaining='+$_)}" %nul6%') do set "gpr=%%#" -if %gpr% GTR 259200 (set _k38=1) else (set _k38=) -exit /b - -:: Get Windows installed key channel - -:k_channel - -set _gvlk= -if %_wmic% EQU 1 for /f "tokens=2 delims==" %%# in ('wmic path %spp% where "ApplicationID='55c92734-d682-4d71-983e-d6ec3f16059f' and PartialProductKey IS NOT NULL AND LicenseDependsOn is NULL and Description like '%%KMSCLIENT%%'" Get Name /value %nul6%') do (echo %%# findstr /i "Windows" %nul1% && set _gvlk=1) -if %_wmic% EQU 0 for /f "tokens=2 delims==" %%# in ('%psc% "(([WMISEARCHER]'SELECT Name FROM %spp% WHERE ApplicationID=''55c92734-d682-4d71-983e-d6ec3f16059f'' AND PartialProductKey IS NOT NULL AND LicenseDependsOn is NULL and Description like ''%%KMSCLIENT%%''').Get()).Name | %% {echo ('Name='+$_)}" %nul6%') do (echo %%# findstr /i "Windows" %nul1% && set _gvlk=1) -exit /b - -::======================================================================================================================================== - -:: Get Product Key from pkeyhelper.dll for future new editions -:: It works on Windows 10 1803 (17134) and later builds. - -:k_pkey - -call :dk_reflection - -set d1=%ref% [void]$TypeBuilder.DefinePInvokeMethod('SkuGetProductKeyForEdition', 'pkeyhelper.dll', 'Public, Static', 1, [int], @([int], [String], [String].MakeByRefType(), [String].MakeByRefType()), 1, 3); -set d1=%d1% $out = ''; [void]$TypeBuilder.CreateType()::SkuGetProductKeyForEdition(%1, %2, [ref]$out, [ref]$null); $out - -set pkey= -for /f %%a in ('%psc% "%d1%"') do if not errorlevel 1 (set pkey=%%a) -exit /b - -:: Get channel name for the key which was extracted from pkeyhelper.dll - -:k_pkeychannel - -set k=%1 -set m=[Runtime.InteropServices.Marshal] -set p=%SysPath%\spp\tokens\pkeyconfig\pkeyconfig.xrm-ms - -set d1=%ref% [void]$TypeBuilder.DefinePInvokeMethod('PidGenX', 'pidgenx.dll', 'Public, Static', 1, [int], @([String], [String], [String], [int], [IntPtr], [IntPtr], [IntPtr]), 1, 3); -set d1=%d1% $r = [byte[]]::new(0x04F8); $r[0] = 0xF8; $r[1] = 0x04; $f = %m%::AllocHGlobal(0x04F8); %m%::Copy($r, 0, $f, 0x04F8); -set d1=%d1% [void]$TypeBuilder.CreateType()::PidGenX('%k%', '%p%', '00000', 0, 0, 0, $f); %m%::Copy($f, $r, 0, 0x04F8); %m%::FreeHGlobal($f); [Text.Encoding]::Unicode.GetString($r, 1016, 128) - -set pkeychannel= -for /f %%a in ('%psc% "%d1%"') do if not errorlevel 1 (set pkeychannel=%%a) -exit /b - -:k_gvlk - -for %%# in (pkeyhelper.dll) do @if "%%~$PATH:#"=="" exit /b -for %%# in (Volume:GVLK) do ( -call :k_pkey %osSKU% '%%#' -if defined pkey call :k_pkeychannel !pkey! -if /i "!pkeychannel!"=="%%#" ( -set key=!pkey! -exit /b -) -) -exit /b - -::======================================================================================================================================== - -:: 1st column = Activation ID -:: 2nd column = GVLK (Generic volume licensing key) -:: 3rd column = SKU ID -:: 4th column = WMI Edition ID (For reference only) -:: 5th column = Build Branch name incase same Edition ID is used in different OS versions with different key (For reference only) -:: Separator = "_" - -:kms38data - -set f= -for %%# in ( -:: Windows 10/11 -73111121-5638-40f6-bc11-f1d7b0d64300_NPPR9-FWDCX-D2C8J-H872K-2Y%f%T43___4_Enterprise -e272e3e2-732f-4c65-a8f0-484747d0d947_DPH2V-TTNVB-4X9Q3-TJR4H-KH%f%JW4__27_EnterpriseN -2de67392-b7a7-462a-b1ca-108dd189f588_W269N-WFGWX-YVC9B-4J6C9-T8%f%3GX__48_Professional -a80b5abf-76ad-428b-b05d-a47d2dffeebf_MH37W-N47XK-V7XM9-C7227-GC%f%QG9__49_ProfessionalN -7b9e1751-a8da-4f75-9560-5fadfe3d8e38_3KHY7-WNT83-DGQKR-F7HPR-84%f%4BM__98_CoreN -a9107544-f4a0-4053-a96a-1479abdef912_PVMJN-6DFY6-9CCP6-7BKTT-D3%f%WVR__99_CoreCountrySpecific -cd918a57-a41b-4c82-8dce-1a538e221a83_7HNRX-D7KGG-3K4RQ-4WPJ4-YT%f%DFH_100_CoreSingleLanguage -58e97c99-f377-4ef1-81d5-4ad5522b5fd8_TX9XD-98N7V-6WMQ6-BX7FG-H8%f%Q99_101_Core -e0c42288-980c-4788-a014-c080d2e1926e_NW6C2-QMPVW-D7KKK-3GKT6-VC%f%FB2_121_Education -3c102355-d027-42c6-ad23-2e7ef8a02585_2WH4N-8QGBV-H22JP-CT43Q-MD%f%WWJ_122_EducationN -32d2fab3-e4a8-42c2-923b-4bf4fd13e6ee_M7XTQ-FN8P6-TTKYV-9D4CC-J4%f%62D_125_EnterpriseS_RS5,VB,Ge -2d5a5a60-3040-48bf-beb0-fcd770c20ce0_DCPHK-NFMTC-H88MJ-PFHPY-QJ%f%4BJ_125_EnterpriseS_RS1 -7b51a46c-0c04-4e8f-9af4-8496cca90d5e_WNMTR-4C88C-JK8YV-HQ7T2-76%f%DF9_125_EnterpriseS_TH1 -7103a333-b8c8-49cc-93ce-d37c09687f92_92NFX-8DJQP-P6BBQ-THF9C-7C%f%G2H_126_EnterpriseSN_RS5,VB,Ge -9f776d83-7156-45b2-8a5c-359b9c9f22a3_QFFDN-GRT3P-VKWWX-X7T3R-8B%f%639_126_EnterpriseSN_RS1 -87b838b7-41b6-4590-8318-5797951d8529_2F77B-TNFGY-69QQF-B8YKP-D6%f%9TJ_126_EnterpriseSN_TH1 -82bbc092-bc50-4e16-8e18-b74fc486aec3_NRG8B-VKK3Q-CXVCJ-9G2XF-6Q%f%84J_161_ProfessionalWorkstation -4b1571d3-bafb-4b40-8087-a961be2caf65_9FNHH-K3HBT-3W4TD-6383H-6X%f%YWF_162_ProfessionalWorkstationN -3f1afc82-f8ac-4f6c-8005-1d233e606eee_6TP4R-GNPTD-KYYHQ-7B7DP-J4%f%47Y_164_ProfessionalEducation -5300b18c-2e33-4dc2-8291-47ffcec746dd_YVWGF-BXNMC-HTQYQ-CPQ99-66%f%QFC_165_ProfessionalEducationN -e0b2d383-d112-413f-8a80-97f373a5820c_YYVX9-NTFWV-6MDM3-9PT4T-4M%f%68B_171_EnterpriseG -e38454fb-41a4-4f59-a5dc-25080e354730_44RPN-FTY23-9VTTB-MP9BX-T8%f%4FV_172_EnterpriseGN -ec868e65-fadf-4759-b23e-93fe37f2cc29_CPWHC-NT2C7-VYW78-DHDB2-PG%f%3GK_175_ServerRdsh_RS5 -e4db50ea-bda1-4566-b047-0ca50abc6f07_7NBT4-WGBQX-MP4H7-QXFF8-YP%f%3KX_175_ServerRdsh_RS3 -0df4f814-3f57-4b8b-9a9d-fddadcd69fac_NBTWJ-3DR69-3C4V8-C26MC-GQ%f%9M6_183_CloudE -59eb965c-9150-42b7-a0ec-22151b9897c5_KBN8V-HFGQ4-MGXVD-347P6-PD%f%QGT_191_IoTEnterpriseS_VB,NI -d30136fc-cb4b-416e-a23d-87207abc44a9_6XN7V-PCBDC-BDBRH-8DQY7-G6%f%R44_202_CloudEditionN -ca7df2e3-5ea0-47b8-9ac1-b1be4d8edd69_37D7F-N49CB-WQR8W-TBJ73-FM%f%8RX_203_CloudEdition -:: Windows 2016/19/22/25 LTSC/SAC -7dc26449-db21-4e09-ba37-28f2958506a6_TVRH6-WHNXV-R9WG3-9XRFY-MY%f%832___7_ServerStandard_Ge -9bd77860-9b31-4b7b-96ad-2564017315bf_VDYBN-27WPP-V4HQT-9VMD4-VM%f%K7H___7_ServerStandard_FE -de32eafd-aaee-4662-9444-c1befb41bde2_N69G4-B89J2-4G8F4-WWYCC-J4%f%64C___7_ServerStandard_RS5 -8c1c5410-9f39-4805-8c9d-63a07706358f_WC2BQ-8NRM3-FDDYY-2BFGV-KH%f%KQY___7_ServerStandard_RS1 -c052f164-cdf6-409a-a0cb-853ba0f0f55a_D764K-2NDRG-47T6Q-P8T8W-YP%f%6DF___8_ServerDatacenter_Ge -ef6cfc9f-8c5d-44ac-9aad-de6a2ea0ae03_WX4NM-KYWYW-QJJR4-XV3QB-6V%f%M33___8_ServerDatacenter_FE -34e1ae55-27f8-4950-8877-7a03be5fb181_WMDGN-G9PQG-XVVXX-R3X43-63%f%DFG___8_ServerDatacenter_RS5 -21c56779-b449-4d20-adfc-eece0e1ad74b_CB7KF-BWN84-R7R2Y-793K2-8X%f%DDG___8_ServerDatacenter_RS1 -034d3cbb-5d4b-4245-b3f8-f84571314078_WVDHN-86M7X-466P6-VHXV7-YY%f%726__50_ServerSolution_RS5 -2b5a1b0f-a5ab-4c54-ac2f-a6d94824a283_JCKRF-N37P4-C2D82-9YXRT-4M%f%63B__50_ServerSolution_RS1 -7b4433f4-b1e7-4788-895a-c45378d38253_QN4C6-GBJD2-FB422-GHWJK-GJ%f%G2R_110_ServerCloudStorage -8de8eb62-bbe0-40ac-ac17-f75595071ea3_GRFBW-QNDC4-6QBHG-CCK3B-2P%f%R88_120_ServerARM64_RS5 -43d9af6e-5e86-4be8-a797-d072a046896c_K9FYF-G6NCK-73M32-XMVPY-F9%f%DRR_120_ServerARM64_RS4 -39e69c41-42b4-4a0a-abad-8e3c10a797cc_QFND9-D3Y9C-J3KKY-6RPVP-2D%f%PYV_145_ServerDatacenterACor_FE -90c362e5-0da1-4bfd-b53b-b87d309ade43_6NMRW-2C8FM-D24W7-TQWMY-CW%f%H2D_145_ServerDatacenterACor_RS5 -e49c08e7-da82-42f8-bde2-b570fbcae76c_2HXDN-KRXHB-GPYC7-YCKFJ-7F%f%VDG_145_ServerDatacenterACor_RS3 -f5e9429c-f50b-4b98-b15c-ef92eb5cff39_67KN8-4FYJW-2487Q-MQ2J7-4C%f%4RG_146_ServerStandardACor_FE -73e3957c-fc0c-400d-9184-5f7b6f2eb409_N2KJX-J94YW-TQVFB-DG9YT-72%f%4CC_146_ServerStandardACor_RS5 -61c5ef22-f14f-4553-a824-c4b31e84b100_PTXN8-JFHJM-4WC78-MPCBR-9W%f%4KR_146_ServerStandardACor_RS3 -45b5aff2-60a0-42f2-bc4b-ec6e5f7b527e_FCNV3-279Q9-BQB46-FTKXX-9H%f%PRH_168_ServerAzureCor_Ge -8c8f0ad3-9a43-4e05-b840-93b8d1475cbc_6N379-GGTMK-23C6M-XVVTC-CK%f%FRQ_168_ServerAzureCor_FE -a99cc1f0-7719-4306-9645-294102fbff95_FDNH6-VW9RW-BXPJ7-4XTYG-23%f%9TB_168_ServerAzureCor_RS5 -3dbf341b-5f6c-4fa7-b936-699dce9e263f_VP34G-4NPPG-79JTQ-864T4-R3%f%MQX_168_ServerAzureCor_RS1 -c2e946d1-cfa2-4523-8c87-30bc696ee584_XGN3F-F394H-FD2MY-PP6FD-8M%f%CRC_407_ServerTurbine_Ge -19b5e0fb-4431-46bc-bac1-2f1873e4ae73_NTBV8-9K7Q8-V27C6-M2BTV-KH%f%MXV_407_ServerTurbine_RS5 -) do ( -for /f "tokens=1-5 delims=_" %%A in ("%%#") do if %osSKU%==%%C ( -if %1==key if not defined key echo "!allapps!" | find /i "%%A" %nul1% && set key=%%B -) -) -exit /b - -::======================================================================================================================================== - -:: Below code is used to get alternate edition name and key if current edition doesn't support KMS38 activation - -:: 1st column = Current SKU ID -:: 2nd column = Current Edition Name -:: 3rd column = Current Edition Activation ID -:: 4th column = Alternate Edition Activation ID -:: 5th column = Alternate Edition GVLK -:: 6th column = Alternate Edition Name -:: Separator = _ - - -:kms38fallback - -set notfoundaltactID= -if %_NoEditionChange%==1 exit /b - -for %%# in ( -188_IoTEnterprise__________________8ab9bdd1-1f67-4997-82d9-8878520837d9_73111121-5638-40f6-bc11-f1d7b0d64300_NPPR9-FWDCX-D2C8J-H872K-2Y%f%T43_Enterprise -206_IoTEnterpriseK_________________80083eae-7031-4394-9e88-4901973d56fe_73111121-5638-40f6-bc11-f1d7b0d64300_NPPR9-FWDCX-D2C8J-H872K-2Y%f%T43_Enterprise -191_IoTEnterpriseS-2021____________ed655016-a9e8-4434-95d9-4345352c2552_32d2fab3-e4a8-42c2-923b-4bf4fd13e6ee_M7XTQ-FN8P6-TTKYV-9D4CC-J4%f%62D_EnterpriseS-2021 -205_IoTEnterpriseSK________________d4f9b41f-205c-405e-8e08-3d16e88e02be_59eb965c-9150-42b7-a0ec-22151b9897c5_KBN8V-HFGQ4-MGXVD-347P6-PD%f%QGT_IoTEnterpriseS -138_ProfessionalSingleLanguage_____a48938aa-62fa-4966-9d44-9f04da3f72f2_2de67392-b7a7-462a-b1ca-108dd189f588_W269N-WFGWX-YVC9B-4J6C9-T8%f%3GX_Professional -139_ProfessionalCountrySpecific____f7af7d09-40e4-419c-a49b-eae366689ebd_2de67392-b7a7-462a-b1ca-108dd189f588_W269N-WFGWX-YVC9B-4J6C9-T8%f%3GX_Professional -139_ProfessionalCountrySpecific-Zn_01eb852c-424d-4060-94b8-c10d799d7364_2de67392-b7a7-462a-b1ca-108dd189f588_W269N-WFGWX-YVC9B-4J6C9-T8%f%3GX_Professional -) do ( -for /f "tokens=1-6 delims=_" %%A in ("%%#") do if %osSKU%==%%A ( -echo "!allapps!" | find /i "%%C" %nul1% && ( -echo "!allapps!" | find /i "%%D" %nul1% && ( -set altkey=%%E -set altedition=%%F -) || ( -set altedition=%%F -set notfoundaltactID=1 -) -) -) -) -exit /b - -:+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ - -:KMSActivation - -:: To activate Windows with K-M-S activation, run the script with "/K-Windows" parameter or change 0 to 1 in below line -set _actwin=0 - -:: To activate all Office apps (including Project/Visio) with K-M-S activation, run the script with "/K-Office" parameter or change 0 to 1 in below line -set _actoff=0 - -:: To activate only Project/Visio with K-M-S activation, run the script with "/K-ProjectVisio" parameter or change 0 to 1 in below line -set _actprojvis=0 - -:: To activate all Windows/Office with K-M-S activation, run the script with "/K-WindowsOffice" parameter or change 0 to 1 in below line -set _actwinoff=0 - -:: To disable changing Windows/Office edition if current edition doesn't support K-M-S activation, run the script with "/K-NoEditionChange" parameter or change 0 to 1 in below line -set _NoEditionChange=0 - -:: To NOT auto-install renewal task with activation, run the script with "/K-NoRenewalTask" parameter or change 0 to 1 in below line -set _norentsk=0 - -:: To uninstall K-M-S, run the script with "/K-Uninstall" parameter or change 0 to 1 in below line. It'll take preference over any other parameter. -set _uni=0 - -:: Advanced options: -:: Don't use renewal task option if you are going to use a specific server name instead of public servers used in the script - -:: To specify a server address for activation, run the script with "/K-Server-YOURKMSSERVERNAME" parameter or add it in below line after = sign -set _server= - -:: To specify a port for activation, run the script with "/K-Port-YOURPORTNAME" parameter or add it in below line after = sign -set _port= - -:: Script will run in unattended mode if parameters are used OR value is changed in above lines FOR activation or uninstall. - -::======================================================================================================================================== - -cls -color 07 -set KS=K%blank%MS -title Online %KS% Activation %masver% - -set _args= -set _elev= -set _unattended=0 - -set _args=%* -if defined _args set _args=%_args:"=% -if defined _args for %%A in (%_args%) do ( -if /i "%%A"=="-el" (set _elev=1) -if /i "%%A"=="/K-Windows" (set _actwin=1) -if /i "%%A"=="/K-Office" (set _actoff=1) -if /i "%%A"=="/K-ProjectVisio" (set _actprojvis=1) -if /i "%%A"=="/K-WindowsOffice" (set _actwinoff=1) -if /i "%%A"=="/K-NoEditionChange" (set _NoEditionChange=1) -if /i "%%A"=="/K-NoRenewalTask" (set _norentsk=1) -if /i "%%A"=="/K-Uninstall" (set _uni=1) -echo "%%A" | find /i "/K-Port-" >nul && (set "_port=%%A" & call set "_port=%%_port:~8%%") -echo "%%A" | find /i "/K-Server-" >nul && (set "_server=%%A" & call set "_server=%%_server:~10%%") -) - -for %%A in (%_actwin% %_actoff% %_actprojvis% %_actwinoff% %_uni%) do (if "%%A"=="1" set _unattended=1) - -::======================================================================================================================================== - -if %_uni%==1 goto :ks_uninstall - -:ks_menu - -if defined _server set _norentsk=1 -if not defined _server set _port= - -if %_unattended%==0 ( -cls -if not defined terminal mode 76, 30 -title Online %KS% Activation %masver% - -echo: -echo: -echo: -echo: -if exist "%ProgramFiles%\Activation-Renewal\Activation_task.cmd" ( -find /i "Ver:2.7" "%ProgramFiles%\Activation-Renewal\Activation_task.cmd" %nul% || ( -call :dk_color %_Yellow% " Old renewal task found, run activation to update it." -) -) -echo ______________________________________________________________ -echo: -echo [1] Activate - Windows -echo [2] Activate - Office [All] -echo [3] Activate - Office [Project/Visio] -echo [4] Activate - All -echo _______________________________________________ -echo: -if %_norentsk%==0 ( -echo [5] Renewal Task With Activation [Yes] -) else ( -call :dk_color2 %_White% " [5] Renewal Task With Activation " %_Yellow% "[No]" -) -if %_NoEditionChange%==0 ( -echo [6] Change Edition If Needed [Yes] -) else ( -call :dk_color2 %_White% " [6] Change Edition If Needed " %_Yellow% "[No]" -) -echo [7] Uninstall Online %KS% -echo _______________________________________________ -echo: -if defined _server ( -echo [8] Set %KS% Server/Port [%_server%] [%_port%] -) else ( -echo [8] Set %KS% Server/Port -) -echo [9] Download Office -echo [0] %_exitmsg% -echo ______________________________________________________________ -echo: -call :dk_color2 %_White% " " %_Green% "Choose a menu option using your keyboard [1,2,3,4,5,6,7,8,9,0]" -choice /C:1234567890 /N -set _el=!errorlevel! - -if !_el!==10 exit /b -if !_el!==9 start %mas%genuine-installation-media & goto :ks_menu -if !_el!==8 goto :ks_ip -if !_el!==7 cls & call :ks_uninstall & cls & goto :ks_menu -if !_el!==6 (if %_NoEditionChange%==0 (set _NoEditionChange=1) else (set _NoEditionChange=0)) & goto :ks_menu -if !_el!==5 (if %_norentsk%==0 (set _norentsk=1) else (set _norentsk=0)) & goto :ks_menu -if !_el!==4 cls & setlocal & set "_actwin=1" & set "_actoff=1" & set "_actprojvis=0" & call :ks_start & endlocal & cls & goto :ks_menu -if !_el!==3 cls & setlocal & set "_actwin=0" & set "_actoff=0" & set "_actprojvis=1" & call :ks_start & endlocal & cls & goto :ks_menu -if !_el!==2 cls & setlocal & set "_actwin=0" & set "_actoff=1" & set "_actprojvis=0" & call :ks_start & endlocal & cls & goto :ks_menu -if !_el!==1 cls & setlocal & set "_actwin=1" & set "_actoff=0" & set "_actprojvis=0" & call :ks_start & endlocal & cls & goto :ks_menu -goto :ks_menu -) - -::======================================================================================================================================== - -:ks_start - -cls -if not defined terminal ( -mode 115, 32 -if exist "%SysPath%\spp\store_test\" mode 135, 32 -%psc% "&{$W=$Host.UI.RawUI.WindowSize;$B=$Host.UI.RawUI.BufferSize;$W.Height=32;$B.Height=300;$Host.UI.RawUI.WindowSize=$W;$Host.UI.RawUI.BufferSize=$B;}" %nul% -) -title Online %KS% Activation %masver% - -echo: -echo Initializing... -call :dk_chkmal - -if not exist %SysPath%\%_slexe% ( -%eline% -echo [%SysPath%\%_slexe%] file is missing, aborting... -echo: -if not defined results ( -call :dk_color %Blue% "Go back to Main Menu, select Troubleshoot and run DISM Restore and SFC Scan options." -call :dk_color %Blue% "After that, restart system and try activation again." -echo: -set fixes=%fixes% %mas%troubleshoot -call :dk_color2 %Blue% "Check this webpage for help - " %_Yellow% " %mas%troubleshoot" -) -goto dk_done -) - -::======================================================================================================================================== - -if %_actprojvis%==1 (set "_actoff=1") -if %_actwinoff%==1 (set "_actwin=1" & set "_actoff=1") - -set spp=SoftwareLicensingProduct -set sps=SoftwareLicensingService - -call :dk_ckeckwmic -call :dk_checksku -call :dk_product -call :dk_sppissue - -::======================================================================================================================================== - -set error= - -cls -echo: -call :dk_showosinfo - -:: Check Internet connection - -set _int= -for %%a in (l.root-servers.net resolver1.opendns.com download.windowsupdate.com google.com) do if not defined _int ( -for /f "delims=[] tokens=2" %%# in ('ping -n 1 %%a') do (if not "%%#"=="" set _int=1) -) - -if not defined _int ( -%psc% "If([Activator]::CreateInstance([Type]::GetTypeFromCLSID([Guid]'{DCB00C01-570F-4A9B-8D69-199FDBA5723B}')).IsConnectedToInternet){Exit 0}Else{Exit 1}" -if !errorlevel!==0 (set _int=1&set ping_f= But Ping Failed) -) - -if defined _int ( -echo Checking Internet Connection [Connected%ping_f%] -) else ( -set error=1 -call :dk_color %Red% "Checking Internet Connection [Not Connected]" -call :dk_color %Blue% "Internet is required for Online %KS% Activation." -) - -::======================================================================================================================================== - -echo Initiating Diagnostic Tests... - -set "_serv=%_slser% Winmgmt" - -:: Software Protection -:: Windows Management Instrumentation - -if %_actwin%==0 set notwinact=1 -call :dk_errorcheck - -::======================================================================================================================================== - -call :_taskclear-cache -call :_tasksetserv - -if not %_actwin%==1 goto :ks_office - -:: Process Windows -:: Check if system is permanently activated or not - -echo: -echo Processing Windows... -call :dk_checkperm -if defined _perm ( -call :dk_color %Gray% "Checking OS Activation [Windows is already permanently activated]" -goto :ks_office -) - -:: Check Evaluation version - -set _eval= -set _evalserv= - -if exist "%SystemRoot%\Servicing\Packages\Microsoft-Windows-*EvalEdition~*.mum" set _eval=1 -if exist "%SystemRoot%\Servicing\Packages\Microsoft-Windows-Server*EvalEdition~*.mum" set _evalserv=1 -if exist "%SystemRoot%\Servicing\Packages\Microsoft-Windows-Server*EvalCorEdition~*.mum" set _eval=1 & set _evalserv=1 - -if defined _eval ( -reg query "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion" /v EditionID %nul2% | find /i "Eval" %nul1% && ( -call :dk_color %Red% "Checking Evaluation Edition [Evaluation editions cannot be activated outside of evaluation period.]" - -if defined _evalserv ( -call :dk_color %Blue% "Go back to main menu and use [Change Edition] option." -) else ( -call :dk_color %Blue% "Use TSforge activation option from the main menu to reset evaluation period." -set fixes=%fixes% %mas%evaluation_editions -call :dk_color2 %Blue% "Check this webpage for help - " %_Yellow% " %mas%evaluation_editions" -) - -goto :ks_office -) -) - -::======================================================================================================================================== - -:: Check if GVLK is already installed or not - -call :k_channel - -:: Detect Key - -set key= -set pkey= -set altkey= -set changekey= -set altedition= - -call :dk_actids 55c92734-d682-4d71-983e-d6ec3f16059f -if defined allapps call :ksdata winkey -if not defined key call :k_gvlk %nul% -if defined allapps if not defined key call :kms38fallback - -if defined altkey (set key=%altkey%&set changekey=1) - -set /a UBR=0 -if %osSKU%==191 if defined altkey if defined altedition ( -for /f "skip=2 tokens=2*" %%a in ('reg query "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion" /v UBR %nul6%') do if not errorlevel 1 set /a UBR=%%b -if %winbuild% LSS 22598 if !UBR! LSS 2788 ( -call :dk_color %Blue% "Windows must be updated to build 19044.2788 or higher for IotEnterpriseS %KS% activation." -) -) - -if not defined key if defined notfoundaltactID ( -call :dk_color %Red% "Checking Alternate Edition For %KS% [%altedition% Activation ID Not Found]" -) - -if not defined key if not defined _gvlk ( -echo [%winos% ^| %winbuild% ^| SKU:%osSKU%] - -if %winbuild% GEQ 9200 if exist "%SysPath%\spp\tokens\skus\%osedition%\*GVLK*.xrm-ms" set sppks=1 -if %winbuild% LSS 9200 if exist "%SysPath%\spp\tokens\skus\Security-SPP-Component-SKU-%osedition%\*VLKMS*.xrm-ms" set sppks=1 -if %winbuild% LSS 9200 if exist "%SysPath%\spp\tokens\skus\Security-SPP-Component-SKU-%osedition%\*VL-BYPASS*.xrm-ms" set sppks=1 -if %winbuild% LSS 7600 if exist "%SysPath%\licensing\skus\Security-Licensing-SLC-Component-SKU-%osedition%\*KMS*.xrm-ms" set sppks=1 -if %winbuild% LSS 7600 if exist "%SysPath%\licensing\skus\Security-Licensing-SLC-Component-SKU-%osedition%\*VL-BYPASS*.xrm-ms" set sppks=1 - -if defined skunotfound ( -call :dk_color %Red% "Required license files not found." -set fixes=%fixes% %mas%troubleshoot -call :dk_color2 %Blue% "Check this webpage for help - " %_Yellow% " %mas%troubleshoot" -) - -if defined sppks ( -call :dk_color %Red% "%KS% activation is supported but failed to find the %KS% key." -set fixes=%fixes% %mas%troubleshoot -call :dk_color2 %Blue% "Check this webpage for help - " %_Yellow% " %mas%troubleshoot" -) - -if not defined skunotfound if not defined sppks ( -call :dk_color %Red% "This product does not support %KS% activation." +call :dk_color %Red% "This product does not support %KS% activation." call :dk_color %Blue% "Use TSforge activation option from the main menu." ) echo: @@ -14655,6 +13895,63 @@ exit /b ::======================================================================================================================================== +:: Get Windows installed key channel + +:k_channel + +set _gvlk= +if %_wmic% EQU 1 for /f "tokens=2 delims==" %%# in ('wmic path %spp% where "ApplicationID='55c92734-d682-4d71-983e-d6ec3f16059f' and PartialProductKey IS NOT NULL AND LicenseDependsOn is NULL and Description like '%%KMSCLIENT%%'" Get Name /value %nul6%') do (echo %%# findstr /i "Windows" %nul1% && set _gvlk=1) +if %_wmic% EQU 0 for /f "tokens=2 delims==" %%# in ('%psc% "(([WMISEARCHER]'SELECT Name FROM %spp% WHERE ApplicationID=''55c92734-d682-4d71-983e-d6ec3f16059f'' AND PartialProductKey IS NOT NULL AND LicenseDependsOn is NULL and Description like ''%%KMSCLIENT%%''').Get()).Name | %% {echo ('Name='+$_)}" %nul6%') do (echo %%# findstr /i "Windows" %nul1% && set _gvlk=1) +exit /b + + +::======================================================================================================================================== + +:: Get Product Key from pkeyhelper.dll for future new editions +:: It works on Windows 10 1803 (17134) and later builds. + +:k_pkey + +call :dk_reflection + +set d1=%ref% [void]$TypeBuilder.DefinePInvokeMethod('SkuGetProductKeyForEdition', 'pkeyhelper.dll', 'Public, Static', 1, [int], @([int], [String], [String].MakeByRefType(), [String].MakeByRefType()), 1, 3); +set d1=%d1% $out = ''; [void]$TypeBuilder.CreateType()::SkuGetProductKeyForEdition(%1, %2, [ref]$out, [ref]$null); $out + +set pkey= +for /f %%a in ('%psc% "%d1%"') do if not errorlevel 1 (set pkey=%%a) +exit /b + +:: Get channel name for the key which was extracted from pkeyhelper.dll + +:k_pkeychannel + +set k=%1 +set m=[Runtime.InteropServices.Marshal] +set p=%SysPath%\spp\tokens\pkeyconfig\pkeyconfig.xrm-ms + +set d1=%ref% [void]$TypeBuilder.DefinePInvokeMethod('PidGenX', 'pidgenx.dll', 'Public, Static', 1, [int], @([String], [String], [String], [int], [IntPtr], [IntPtr], [IntPtr]), 1, 3); +set d1=%d1% $r = [byte[]]::new(0x04F8); $r[0] = 0xF8; $r[1] = 0x04; $f = %m%::AllocHGlobal(0x04F8); %m%::Copy($r, 0, $f, 0x04F8); +set d1=%d1% [void]$TypeBuilder.CreateType()::PidGenX('%k%', '%p%', '00000', 0, 0, 0, $f); %m%::Copy($f, $r, 0, 0x04F8); %m%::FreeHGlobal($f); [Text.Encoding]::Unicode.GetString($r, 1016, 128) + +set pkeychannel= +for /f %%a in ('%psc% "%d1%"') do if not errorlevel 1 (set pkeychannel=%%a) +exit /b + +:k_gvlk + +for %%# in (pkeyhelper.dll) do @if "%%~$PATH:#"=="" exit /b +for %%# in (Volume:GVLK) do ( +call :k_pkey %osSKU% '%%#' +if defined pkey call :k_pkeychannel !pkey! +if /i "!pkeychannel!"=="%%#" ( +set key=!pkey! +exit /b +) +) +exit /b + +::======================================================================================================================================== + :: 1st column = Office version number :: 2nd column = Activation ID :: 3rd column = Product ID from branding.xml @@ -15129,6 +14426,47 @@ set _allactid=!_allactid! %%A ) exit /b +::======================================================================================================================================== + +:: Below code is used to get alternate edition name and key if current edition doesn't support K-M-S activation + +:: 1st column = Current SKU ID +:: 2nd column = Current Edition Name +:: 3rd column = Current Edition Activation ID +:: 4th column = Alternate Edition Activation ID +:: 5th column = Alternate Edition GVLK +:: 6th column = Alternate Edition Name +:: Separator = _ + + +:kmsfallback + +set notfoundaltactID= +if %_NoEditionChange%==1 exit /b + +for %%# in ( +188_IoTEnterprise__________________8ab9bdd1-1f67-4997-82d9-8878520837d9_73111121-5638-40f6-bc11-f1d7b0d64300_NPPR9-FWDCX-D2C8J-H872K-2Y%f%T43_Enterprise +206_IoTEnterpriseK_________________80083eae-7031-4394-9e88-4901973d56fe_73111121-5638-40f6-bc11-f1d7b0d64300_NPPR9-FWDCX-D2C8J-H872K-2Y%f%T43_Enterprise +191_IoTEnterpriseS-2021____________ed655016-a9e8-4434-95d9-4345352c2552_32d2fab3-e4a8-42c2-923b-4bf4fd13e6ee_M7XTQ-FN8P6-TTKYV-9D4CC-J4%f%62D_EnterpriseS-2021 +205_IoTEnterpriseSK________________d4f9b41f-205c-405e-8e08-3d16e88e02be_59eb965c-9150-42b7-a0ec-22151b9897c5_KBN8V-HFGQ4-MGXVD-347P6-PD%f%QGT_IoTEnterpriseS +138_ProfessionalSingleLanguage_____a48938aa-62fa-4966-9d44-9f04da3f72f2_2de67392-b7a7-462a-b1ca-108dd189f588_W269N-WFGWX-YVC9B-4J6C9-T8%f%3GX_Professional +139_ProfessionalCountrySpecific____f7af7d09-40e4-419c-a49b-eae366689ebd_2de67392-b7a7-462a-b1ca-108dd189f588_W269N-WFGWX-YVC9B-4J6C9-T8%f%3GX_Professional +139_ProfessionalCountrySpecific-Zn_01eb852c-424d-4060-94b8-c10d799d7364_2de67392-b7a7-462a-b1ca-108dd189f588_W269N-WFGWX-YVC9B-4J6C9-T8%f%3GX_Professional +) do ( +for /f "tokens=1-6 delims=_" %%A in ("%%#") do if %osSKU%==%%A ( +echo "!allapps!" | find /i "%%C" %nul1% && ( +echo "!allapps!" | find /i "%%D" %nul1% && ( +set altkey=%%E +set altedition=%%F +) || ( +set altedition=%%F +set notfoundaltactID=1 +) +) +) +) +exit /b + :+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ :check_actstatus diff --git a/MAS/Separate-Files-Version/Activators/KMS38_Activation.cmd b/MAS/Separate-Files-Version/Activators/KMS38_Activation.cmd deleted file mode 100644 index 7b0025e..0000000 --- a/MAS/Separate-Files-Version/Activators/KMS38_Activation.cmd +++ /dev/null @@ -1,2261 +0,0 @@ -@set masver=3.7 -@echo off - - - -::============================================================================ -:: -:: Homepage: mass()grave(dot)dev -:: Email: mas.help@outlook.com -:: -::============================================================================ - - - -:: To activate, run the script with "/KMS38" parameter or change 0 to 1 in below line -set _act=0 - -:: To disable changing edition if current edition doesn't support KMS38 activation, change the value to 1 from 0 or run the script with "/KMS38-NoEditionChange" parameter -set _NoEditionChange=0 - -:: To run the script in debug mode, change 0 to "/KMS38" in below line -set "_debug=0" - -:: If value is changed in above lines or parameter is used then script will run in unattended mode - - - -::======================================================================================================================================== - -:: Set environment variables, it helps if they are misconfigured in the system - -setlocal EnableExtensions -setlocal DisableDelayedExpansion - -set "PathExt=.COM;.EXE;.BAT;.CMD;.VBS;.VBE;.JS;.JSE;.WSF;.WSH;.MSC" - -set "SysPath=%SystemRoot%\System32" -set "Path=%SystemRoot%\System32;%SystemRoot%;%SystemRoot%\System32\Wbem;%SystemRoot%\System32\WindowsPowerShell\v1.0\" -if exist "%SystemRoot%\Sysnative\reg.exe" ( -set "SysPath=%SystemRoot%\Sysnative" -set "Path=%SystemRoot%\Sysnative;%SystemRoot%;%SystemRoot%\Sysnative\Wbem;%SystemRoot%\Sysnative\WindowsPowerShell\v1.0\;%Path%" -) - -set "ComSpec=%SysPath%\cmd.exe" -set "PSModulePath=%ProgramFiles%\WindowsPowerShell\Modules;%SysPath%\WindowsPowerShell\v1.0\Modules" - -set re1= -set re2= -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 -:: or with ARM64 process if it was initiated by x86/ARM32 process on ARM64 Windows - -if exist %SystemRoot%\Sysnative\cmd.exe if not defined re1 ( -setlocal EnableDelayedExpansion -start %SystemRoot%\Sysnative\cmd.exe /c ""!_cmdf!" %* re1" -exit /b -) - -:: Re-launch the script with ARM32 process if it was initiated by x64 process on ARM64 Windows - -if exist %SystemRoot%\SysArm32\cmd.exe if %PROCESSOR_ARCHITECTURE%==AMD64 if not defined re2 ( -setlocal EnableDelayedExpansion -start %SystemRoot%\SysArm32\cmd.exe /c ""!_cmdf!" %* re2" -exit /b -) - -::======================================================================================================================================== - -:: Debug code - -if "%_debug%" EQU "0" ( -set "nul1=1>nul" -set "nul2=2>nul" -set "nul6=2^>nul" -set "nul=>nul 2>&1" -goto :_debug -) - -set "nul1=" -set "nul2=" -set "nul6=" -set "nul=" - -@echo on -@prompt $G -@call :_debug "%_debug%" >"%~dp0_tmp.log" 2>&1 -@cmd /u /c type "%~dp0_tmp.log">"%~dp0_Debug.log" -@del "%~dp0_tmp.log" -@echo off -@exit /b - -:_debug - -::======================================================================================================================================== - -set "blank=" -set "mas=ht%blank%tps%blank%://mass%blank%grave.dev/" -set "github=ht%blank%tps%blank%://github.com/massgra%blank%vel/Micro%blank%soft-Acti%blank%vation-Scripts" -set "selfgit=ht%blank%tps%blank%://git.acti%blank%vated.win/massg%blank%rave/Micr%blank%osoft-Act%blank%ivation-Scripts" - -:: Check if Null service is working, it's important for the batch script - -sc query Null | find /i "RUNNING" -if %errorlevel% NEQ 0 ( -echo: -echo Null service is not running, script may crash... -echo: -echo: -echo Check this webpage for help - %mas%fix_service -echo: -echo: -ping 127.0.0.1 -n 20 -) -cls - -:: Check LF line ending - -pushd "%~dp0" ->nul findstr /v "$" "%~nx0" && ( -echo: -echo Error - Script either has LF line ending issue or an empty line at the end of the script is missing. -echo: -echo: -echo Check this webpage for help - %mas%troubleshoot -echo: -echo: -ping 127.0.0.1 -n 20 >nul -popd -exit /b -) -popd - -::======================================================================================================================================== - -cls -color 07 -title KMS38 Activation %masver% - -set _args= -set _elev= -set _unattended=0 - -set _args=%* -if defined _args set _args=%_args:"=% -if defined _args set _args=%_args:re1=% -if defined _args set _args=%_args:re2=% -if defined _args ( -for %%A in (%_args%) do ( -if /i "%%A"=="/KMS38" set _act=1 -if /i "%%A"=="/KMS38-NoEditionChange" set _NoEditionChange=1 -if /i "%%A"=="-el" set _elev=1 -) -) - -for %%A in (%_act% %_NoEditionChange%) do (if "%%A"=="1" set _unattended=1) - -::======================================================================================================================================== - -set _k38= -call :dk_setvar -set "specific_kms=SOFTWARE\Microsoft\Windows NT\CurrentVersion\SoftwareProtectionPlatform\55c92734-d682-4d71-983e-d6ec3f16059f" - -if %winbuild% EQU 1 ( -%eline% -echo Failed to detect Windows build number. -echo: -setlocal EnableDelayedExpansion -set fixes=%fixes% %mas%troubleshoot -call :dk_color2 %Blue% "Check this webpage for help - " %_Yellow% " %mas%troubleshoot" -goto dk_done -) - -if exist "%Systemdrive%\Users\WDAGUtilityAccount" ( -sc query gcs | find /i "RUNNING" %nul% && ( -%eline% -echo Windows Sandbox detected; activation is not supported. -echo The script cannot run due to missing licensing components. Aborting... -echo: -goto dk_done -) -) - -if %winbuild% LSS 14393 ( -%eline% -echo Unsupported OS version detected [%winbuild%]. -echo KMS38 activation is only supported on Windows 10/11/Server, build 14393 and later. -echo: -if %winbuild% LSS 10240 ( -call :dk_color %Blue% "Use TSforge activation option from the main menu." -) else ( -call :dk_color %Blue% "Use HWID activation option from the main menu." -) -goto dk_done -) - -::======================================================================================================================================== - -:: Fix special character limitations in path name - -set "_work=%~dp0" -if "%_work:~-1%"=="\" set "_work=%_work:~0,-1%" - -set "_batf=%~f0" -set "_batp=%_batf:'=''%" - -set _PSarg="""%~f0""" -el %_args% -set _PSarg=%_PSarg:'=''% - -set "_ttemp=%userprofile%\AppData\Local\Temp" - -setlocal EnableDelayedExpansion - -::======================================================================================================================================== - -echo "!_batf!" | find /i "!_ttemp!" %nul1% && ( -if /i not "!_work!"=="!_ttemp!" ( -%eline% -echo The script was launched from the temp folder. -echo You are most likely running the script directly from the archive file. -echo: -echo Extract the archive file and launch the script from the extracted folder. -goto dk_done -) -) - -::======================================================================================================================================== - -:: Elevate script as admin and pass arguments and preventing loop - -%nul1% fltmc || ( -if not defined _elev %psc% "start cmd.exe -arg '/c \"!_PSarg!\"' -verb runas" && exit /b -%eline% -echo This script needs admin rights. -echo Right click on this script and select 'Run as administrator'. -goto dk_done -) - -::======================================================================================================================================== - -:: Check PowerShell - -::pstst $ExecutionContext.SessionState.LanguageMode :pstst - -for /f "delims=" %%a in ('%psc% "if ($PSVersionTable.PSEdition -ne 'Core') {$f=[System.IO.File]::ReadAllText('!_batp!') -split ':pstst';. ([scriptblock]::Create($f[1]))}" %nul6%') do (set tstresult=%%a) - -if /i not "%tstresult%"=="FullLanguage" ( -%eline% -for /f "delims=" %%a in ('%psc% "$ExecutionContext.SessionState.LanguageMode" %nul6%') do (set tstresult2=%%a) -echo Test 1 - %tstresult% -echo Test 2 - !tstresult2! -echo: - -REM check LanguageMode - -echo: !tstresult2! | findstr /i "ConstrainedLanguage RestrictedLanguage NoLanguage" %nul1% && ( -echo FullLanguage mode not found in PowerShell. Aborting... -echo If you have applied restrictions on Powershell then undo those changes. -echo: -set fixes=%fixes% %mas%fix_powershell -call :dk_color2 %Blue% "Check this webpage for help - " %_Yellow% " %mas%fix_powershell" -goto dk_done -) - -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 -) - -REM check for Mal-ware that may cause issues with Powershell - -for /r "%ProgramFiles%\" %%f in (secureboot.exe) do if exist "%%f" ( -echo "%%f" -echo Mal%blank%ware found, PowerShell is not working properly. -echo: -set fixes=%fixes% %mas%remove_mal%w%ware -call :dk_color2 %Blue% "Check this webpage for help - " %_Yellow% " %mas%remove_mal%w%ware" -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. -echo: -sc query sense | find /i "RUNNING" %nul% && ( -echo Installed Antivirus - Microsoft Defender for Endpoint -) -cmd /c "%psc% ""$av = Get-WmiObject -Namespace root\SecurityCenter2 -Class AntiVirusProduct; $n = @(); foreach ($i in $av) { $n += $i.displayName }; if ($n) { Write-Host ('Installed Antivirus - ' + ($n -join ', '))}""" -) - -echo: -set fixes=%fixes% %mas%troubleshoot -call :dk_color2 %Blue% "Check this webpage for help - " %_Yellow% " %mas%troubleshoot" -goto dk_done -) - -::======================================================================================================================================== - -:: Disable QuickEdit and launch from conhost.exe to avoid Terminal app - -if %winbuild% GEQ 17763 ( -set terminal=1 -) else ( -set terminal= -) - -:: Check if script is running in Terminal app - -if defined terminal ( -set lines=0 -for /f "skip=3 tokens=* delims=" %%A in ('mode con') do if "!lines!"=="0" ( -for %%B in (%%A) do set lines=%%B -) -if !lines! GEQ 100 set terminal= -) - -if %_unattended%==1 goto :skipQE -for %%# in (%_args%) do (if /i "%%#"=="-qedit" goto :skipQE) - -:: Relaunch to disable QuickEdit in the current session and use conhost.exe instead of the Terminal app -:: This code disables QuickEdit for the current cmd.exe session without making permanent registry changes -:: It is included because clicking on the script window can pause execution, causing confusion that the script has stopped due to an error - -set resetQE=1 -reg query HKCU\Console /v QuickEdit %nul2% | find /i "0x0" %nul1% && set resetQE=0 -reg add HKCU\Console /v QuickEdit /t REG_DWORD /d 0 /f %nul1% - -if defined terminal ( -start conhost.exe "!_batf!" %_args% -qedit -start reg add HKCU\Console /v QuickEdit /t REG_DWORD /d %resetQE% /f %nul1% -exit /b -) else if %resetQE% EQU 1 ( -start cmd.exe /c ""!_batf!" %_args% -qedit" -start reg add HKCU\Console /v QuickEdit /t REG_DWORD /d %resetQE% /f %nul1% -exit /b -) - -:skipQE - -::======================================================================================================================================== - -:: Check for updates - -set -= -set old= -set pingp= -set upver=%masver:.=% - -for %%A in ( -activ%-%ated.win -mass%-%grave.dev -) do if not defined pingp ( -for /f "delims=[] tokens=2" %%B in ('ping -n 1 %%A') do ( -if not "%%B"=="" (set old=1& set pingp=1) -for /f "delims=[] tokens=2" %%C in ('ping -n 1 updatecheck%upver%.%%A') do ( -if not "%%C"=="" set old= -) -) -) - -if defined old ( -echo ________________________________________________ -%eline% -echo Your version of MAS [%masver%] is outdated. -echo ________________________________________________ -echo: -if not %_unattended%==1 ( -echo [1] Get Latest MAS -echo [0] Continue Anyway -echo: -call :dk_color %_Green% "Choose a menu option using your keyboard [1,0] :" -choice /C:10 /N -if !errorlevel!==2 rem -if !errorlevel!==1 (start %selfgit% & start %github% & start %mas% & exit /b) -) -) -cls - -::======================================================================================================================================== - -:k_menu - -if %_unattended%==0 ( -cls -if not defined terminal mode 76, 25 -title KMS38 Activation %masver% - -echo: -echo: -echo: -echo: -echo: ______________________________________________________ -echo: -echo [1] KMS38 Activation -echo ____________________________________________ -echo: -echo [2] Remove KMS38 Activation -echo: -echo [0] %_exitmsg% -echo: ______________________________________________________ -echo: -call :dk_color2 %_White% " " %_Green% "Choose a menu option using your keyboard [1,2,0]" -choice /C:120 /N -set _el=!errorlevel! -if !_el!==3 exit /b -if !_el!==2 goto :k_uninstall -if !_el!==1 goto :k_menu2 -goto :k_menu -) - -::======================================================================================================================================== - -:k_menu2 - -cls -if not defined terminal ( -mode 110, 34 -if exist "%SysPath%\spp\store_test\" mode 134, 34 -) -title KMS38 Activation %masver% - -echo: -echo Initializing... -call :dk_chkmal - -if exist "%SystemRoot%\Servicing\Packages\Microsoft-Windows-Server*CorEdition~*.mum" if not exist "%SysPath%\clipup.exe" set a_cor=1 -if not exist %SysPath%\sppsvc.exe (set _fmiss=sppsvc.exe) -if not exist %SysPath%\ClipUp.exe if not defined a_cor (set _fmiss=%_fmiss%ClipUp.exe) - -if defined _fmiss ( -%eline% -echo [%_fmiss%] file is missing, aborting... -echo: -if not defined results ( -call :dk_color %Blue% "Go back to Main Menu, select Troubleshoot and run DISM Restore and SFC Scan options." -call :dk_color %Blue% "After that, restart system and try activation again." -echo: -set fixes=%fixes% %mas%troubleshoot -call :dk_color2 %Blue% "Check this webpage for help - " %_Yellow% " %mas%troubleshoot" -) -goto dk_done -) - -::======================================================================================================================================== - -set spp=SoftwareLicensingProduct -set sps=SoftwareLicensingService - -call :dk_ckeckwmic -call :dk_checksku -call :dk_product -call :dk_sppissue - -::======================================================================================================================================== - -:: Check if system is permanently activated or not - -call :dk_checkperm -if defined _perm ( -cls -echo ___________________________________________________________________________________________ -echo: -call :dk_color2 %_White% " " %Green% "%winos% is already permanently activated." -call :dk_color2 %_White% " " %Gray% "Activation is not required." -echo ___________________________________________________________________________________________ -if %_unattended%==1 goto dk_done -echo: -choice /C:10 /N /M "> [1] Activate Anyway [0] %_exitmsg% : " -if errorlevel 2 exit /b -) -cls - -::======================================================================================================================================== - -:: Check Evaluation version - -set _eval= -set _evalserv= - -if exist "%SystemRoot%\Servicing\Packages\Microsoft-Windows-*EvalEdition~*.mum" set _eval=1 -if exist "%SystemRoot%\Servicing\Packages\Microsoft-Windows-Server*EvalEdition~*.mum" set _evalserv=1 -if exist "%SystemRoot%\Servicing\Packages\Microsoft-Windows-Server*EvalCorEdition~*.mum" set _eval=1 & set _evalserv=1 - -if defined _eval ( -reg query "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion" /v EditionID %nul2% | find /i "Eval" %nul1% && ( -%eline% -echo [%winos% ^| %winbuild%] -if defined _evalserv ( -echo Server Evaluation cannot be activated. Convert it to full Server OS. -echo: -call :dk_color %Blue% "Go Back to main menu and use [Change Edition] option." -) else ( -echo Evaluation editions cannot be activated outside of their evaluation period. -call :dk_color %Blue% "Use TSforge activation option from the main menu to reset evaluation period." -echo: -set fixes=%fixes% %mas%evaluation_editions -call :dk_color2 %Blue% "Check this webpage for help - " %_Yellow% " %mas%evaluation_editions" -) -goto dk_done -) -) - -::======================================================================================================================================== - -:: Check clipup.exe for the detection and activation of server cor and acor editions - -if defined a_cor ( -if not exist "!_work!\clipup.exe" ( -%eline% -echo clipup.exe doesn't exist in Server Cor/Acor [No GUI] versions. -echo The file is required for KMS38 activation. -echo Check the below page for instructions on how to activate it. -call :dk_color2 %Blue% "Check this webpage for help - " %_Yellow% " %mas%kms38" -goto dk_done -) -) - -:: Check file signature - -if defined a_cor ( -%psc% "if (-not (Get-AuthenticodeSignature -FilePath '!_work!\clipup.exe').IsOSBinary) {Exit 3}" %nul% -if !errorlevel!==3 ( -%eline% -echo Valid digital signature not found in clipup.exe file. -call :dk_color2 %Blue% "Check this webpage for help - " %_Yellow% " %mas%troubleshoot" -goto dk_done -) -) - -::======================================================================================================================================== - -set error= - -cls -echo: -call :dk_showosinfo - -::======================================================================================================================================== - -echo Initiating Diagnostic Tests... - -set "_serv=ClipSVC sppsvc KeyIso Winmgmt" - -:: Client License Service (ClipSVC) -:: Software Protection -:: CNG Key Isolation -:: Windows Management Instrumentation - -call :dk_errorcheck - -::======================================================================================================================================== - -:: Check if GVLK (KMS key) is already installed or not - -call :k_channel - -:: Detect Key - -set key= -set pkey= -set altkey= -set changekey= -set altedition= - -call :dk_actids 55c92734-d682-4d71-983e-d6ec3f16059f -if defined allapps call :kms38data key -if not defined key call :k_gvlk %nul% -if defined allapps if not defined key call :kms38fallback - -if defined altkey (set key=%altkey%&set changekey=1) - -set /a UBR=0 -if %osSKU%==191 if defined altkey if defined altedition ( -for /f "skip=2 tokens=2*" %%a in ('reg query "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion" /v UBR %nul6%') do if not errorlevel 1 set /a UBR=%%b -if %winbuild% LSS 22598 if !UBR! LSS 2788 ( -call :dk_color %Blue% "Windows must be updated to build 19044.2788 or higher for IotEnterpriseS KMS38 activation." -) -) - -if not defined key if defined notfoundaltactID ( -call :dk_color %Red% "Checking Alternate Edition for KMS38 [%altedition% Activation ID Not Found]" -) - -if not defined key if not defined _gvlk ( -echo: -echo [%winos% ^| %winbuild% ^| SKU:%osSKU%] - -if exist "%SysPath%\spp\tokens\skus\%osedition%\*GVLK*.xrm-ms" set sppks=1 - -if defined skunotfound ( -call :dk_color %Red% "Required license files not found in %SysPath%\spp\tokens\skus\" -set fixes=%fixes% %mas%troubleshoot -call :dk_color2 %Blue% "Check this webpage for help - " %_Yellow% " %mas%troubleshoot" -) - -if defined sppks ( -call :dk_color %Red% "KMS38 activation is supported but failed to find the key." -set fixes=%fixes% %mas%troubleshoot -call :dk_color2 %Blue% "Check this webpage for help - " %_Yellow% " %mas%troubleshoot" -) - -if not defined skunotfound if not defined sppks ( -call :dk_color %Red% "This product does not support KMS38 activation." -call :dk_color %Blue% "Use TSforge activation option from the main menu." -set fixes=%fixes% %mas% -echo %mas% -) -echo: -goto dk_done -) - -::======================================================================================================================================== - -:: Install key - -echo: -if defined changekey ( -call :dk_color %Blue% "[%altedition%] edition product key will be used to enable KMS38 activation." -echo: -) - -if defined winsub ( -call :dk_color %Blue% "Windows Subscription edition [SKU ID-%slcSKU%] found. Script will activate the base edition [SKU ID-%regSKU%]." -echo: -) - -set _partial= -if not defined key ( -if %_wmic% EQU 1 for /f "tokens=2 delims==" %%# in ('wmic path %spp% where "ApplicationID='55c92734-d682-4d71-983e-d6ec3f16059f' and PartialProductKey<>null AND LicenseDependsOn is NULL" Get PartialProductKey /value %nul6%') do set "_partial=%%#" -if %_wmic% EQU 0 for /f "tokens=2 delims==" %%# in ('%psc% "(([WMISEARCHER]'SELECT PartialProductKey FROM %spp% WHERE ApplicationID=''55c92734-d682-4d71-983e-d6ec3f16059f'' AND PartialProductKey IS NOT NULL AND LicenseDependsOn is NULL').Get()).PartialProductKey | %% {echo ('PartialProductKey='+$_)}" %nul6%') do set "_partial=%%#" -call echo Checking Installed Product Key [Partial Key - %%_partial%%] [Volume:GVLK] -) - -if defined key ( -set generickey=1 -call :dk_inskey "[%key%]" -) - -::======================================================================================================================================== - -:: Check activation ID for setting specific KMS host - -set app= -if %_wmic% EQU 1 for /f "tokens=2 delims==" %%a in ('"wmic path %spp% where (ApplicationID='55c92734-d682-4d71-983e-d6ec3f16059f' and Description like '%%KMSCLIENT%%' and PartialProductKey is not NULL AND LicenseDependsOn is NULL) get ID /VALUE" %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 ( -call :dk_color %Red% "Checking Installed GVLK Activation ID [Not Found] Aborting..." -set fixes=%fixes% %mas%troubleshoot -call :dk_color2 %Blue% "Check this webpage for help - " %_Yellow% " %mas%troubleshoot" -goto :dk_done -) - -::======================================================================================================================================== - -:: Set specific KMS host to Local Host -:: By doing this, global KMS IP can not replace KMS38 activation but can be used with Office and other Windows Editions - -echo: -%nul% reg delete "HKLM\%specific_kms%" /f -%nul% reg delete "HKU\S-1-5-20\%specific_kms%" /f - -%nul% reg query "HKLM\%specific_kms%" && ( -call :dk_color %Blue% "Specific KMS registry is locked. %_fixmsg%" -) - -set k_error= -%nul% reg add "HKLM\%specific_kms%\%app%" /f /v KeyManagementServiceName /t REG_SZ /d "127.0.0.2" || set k_error=1 -%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] [Successful] -) else ( -call :dk_color %Red% "Adding Specific KMS Host [LocalHost] [Failed]" -) - -::======================================================================================================================================== - -:: Copy clipup.exe to System32 directory to activate Server Cor/Acor editions - -if defined a_cor ( -set "_clipup=%systemroot%\System32\clipup.exe" -pushd "!_work!\" -copy /y /b "ClipUp.exe" "!_clipup!" %nul% -popd - -echo: -if exist "!_clipup!" ( -echo Copying clipup.exe File to [%systemroot%\System32\] [Successful] -) else ( -call :dk_color %Red% "Copying clipup.exe File to [%systemroot%\System32\] [Failed] Aborting..." -goto :k_final -) -) - -::======================================================================================================================================== - -:: Generate GenuineTicket.xml and apply -:: In some cases clipup -v -o method fails and in some cases service restart method fails as well -:: To maximize success rate and get better error details, script will install tickets two times (service restart + clipup -v -o) - -set "tdir=%ProgramData%\Microsoft\Windows\ClipSVC\GenuineTicket" -if not exist "%tdir%\" md "%tdir%\" %nul% - -if exist "%tdir%\Genuine*" del /f /q "%tdir%\Genuine*" %nul% -if exist "%tdir%\*.xml" del /f /q "%tdir%\*.xml" %nul% -if exist "%ProgramData%\Microsoft\Windows\ClipSVC\Install\Migration\*" del /f /q "%ProgramData%\Microsoft\Windows\ClipSVC\Install\Migration\*" %nul% - -:: Generate ticket - -set "SessionIdStr=OSMajorVersion=5;OSMinorVersion=1;OSPlatformId=2;PP=0;GVLKExp=2038-01-19T03:14:07Z;DownlevelGenuineState=1;" -%psc% "$f=[System.IO.File]::ReadAllText('!_batp!') -split ':sign\:.*';. ([scriptblock]::Create($f[1]))" - -copy /y /b "%tdir%\GenuineTicket" "%tdir%\GenuineTicket.xml" %nul% - -if not exist "%tdir%\GenuineTicket.xml" ( -call :dk_color %Red% "Generating GenuineTicket.xml [Failed, aborting...]" -if exist "%tdir%\Genuine*" del /f /q "%tdir%\Genuine*" %nul% -goto :k_final -) else ( -echo Generating GenuineTicket.xml [Successful] -) - -set "_xmlexist=if exist "%tdir%\GenuineTicket.xml"" - -:: Stop sppsvc - -%psc% "Start-Job { Stop-Service sppsvc -force } | Wait-Job -Timeout 20 | Out-Null" - -%_xmlexist% ( -%psc% "Start-Job { Restart-Service ClipSVC } | Wait-Job -Timeout 20 | Out-Null" -%_xmlexist% timeout /t 2 %nul% -%_xmlexist% timeout /t 2 %nul% - -%_xmlexist% ( -set error=1 -if exist "%tdir%\*.xml" del /f /q "%tdir%\*.xml" %nul% -call :dk_color %Gray% "Installing GenuineTicket.xml [Failed with ClipSVC service restart, wait...]" -) -) - -copy /y /b "%tdir%\GenuineTicket" "%tdir%\GenuineTicket.xml" %nul% -clipup -v -o - -set rebuildinfo= - -if not exist %ProgramData%\Microsoft\Windows\ClipSVC\tokens.dat ( -set error=1 -set rebuildinfo=1 -call :dk_color %Red% "Checking ClipSVC tokens.dat [Not Found]" -) - -%_xmlexist% ( -set error=1 -set rebuildinfo=1 -call :dk_color %Red% "Installing GenuineTicket.xml [Failed With clipup -v -o]" -) - -if exist "%ProgramData%\Microsoft\Windows\ClipSVC\Install\Migration\*.xml" ( -set error=1 -set rebuildinfo=1 -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% - -::========================================================================================================================================== - -call :dk_product - -echo: -echo Activating... -echo: - -call :k_checkexp -if defined _k38 ( -call :k_actinfo -goto :k_final -) - -:: Clear 180 Days KMS Activation lock with Windows SKU specific rearm and without the need to restart the system - -if %_wmic% EQU 1 wmic path %spp% where ID='%app%' call ReArmsku %nul% -if %_wmic% EQU 0 %psc% "$null=([WMI]'%spp%=''%app%''').ReArmsku()" %nul% - -if %errorlevel%==0 ( -echo Applying SKU-ID Rearm [Successful] -) else ( -call :dk_color %Red% "Applying SKU-ID Rearm [Failed]" -) -call :dk_refresh - -echo: -call :k_checkexp -if defined _k38 ( -call :k_actinfo -goto :k_final -) - -call :dk_color %Red% "Activation Failed" -if not defined error call :dk_color %Blue% "%_fixmsg%" -set fixes=%fixes% %mas%troubleshoot -call :dk_color2 %Blue% "Check this webpage for help - " %_Yellow% " %mas%troubleshoot" - -::======================================================================================================================================== - -:k_final - -:: Remove the specific KMS host (LocalHost) added by the script if activation is not completed - -echo: -if not defined _k38 ( -%nul% reg delete "HKLM\%specific_kms%" /f -%nul% reg delete "HKU\S-1-5-20\%specific_kms%" /f -%nul% reg query "HKLM\%specific_kms%" && ( -call :dk_color %Red% "Removing the Added Specific KMS Host [Failed]" -) || ( -echo Removing the Added Specific KMS Host [Successful] -) -) - -if defined _k38 if %winbuild% GEQ 26200 ( -call :dk_color %Gray% "In Windows settings, you may see a renewal notification for activation that can be ignored." -call :dk_color %Gray% "To avoid this notification, please use the HWID or TSforge activation options in the main menu." -) - -:: clipup.exe does not exist in server cor and acor editions by default, it was copied there with this script - -if defined a_cor if exist "%_clipup%" del /f /q "%_clipup%" %nul% - -if defined a_cor ( -if exist "%_clipup%" ( -call :dk_color %Red% "Deleting Copied clipup.exe File [Failed]" -) else ( -echo Deleting Copied clipup.exe File [Successful] -) -) - -for %%# in (407) do if %osSKU%==%%# ( -call :dk_color %Red% "%winos% does not support activation on non-azure platforms." -) - -:: Trigger reevaluation of SPP's Scheduled Tasks - -if defined _k38 ( -call :dk_reeval %nul% -) -goto :dk_done - -::======================================================================================================================================== - -:k_uninstall - -cls -if not defined terminal mode 99, 28 -title Remove KMS38 Activation %masver% - -%nul% reg delete "HKLM\%specific_kms%" /f -%nul% reg delete "HKU\S-1-5-20\%specific_kms%" /f - -echo: -%nul% reg query "HKLM\%specific_kms%" && ( -call :dk_color %Red% "Failed to remove specific KMS Host." -call :dk_color %Blue% "%_fixmsg%" -) || ( -echo Successfully removed specific KMS Host. -) - -echo: -echo KMS38 activation doesn't modify any Windows components and doesn't install any new files. -echo: -call :dk_color %Gray% "If you want to reset the activation status," -call :dk_color %Blue% "%_fixmsg%" -echo: - -goto :dk_done - -::======================================================================================================================================== - -:: Set variables - -:dk_setvar - -set ps=%SysPath%\WindowsPowerShell\v1.0\powershell.exe -set psc=%ps% -nop -c -set winbuild=1 -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) -if %winbuild% LSS 7600 if exist "%SysPath%\SLsvc.exe" (set _slexe=SLsvc.exe& set _slser=SLsvc) -if %_slexe%==SLsvc.exe set _vis=1 - -set _NCS=1 -if %winbuild% LSS 10586 set _NCS=0 -if %winbuild% GEQ 10586 reg query "HKCU\Console" /v ForceV2 %nul2% | find /i "0x0" %nul1% && (set _NCS=0) - -echo "%PROCESSOR_ARCHITECTURE% %PROCESSOR_ARCHITEW6432%" | find /i "ARM64" %nul1% && (if %winbuild% LSS 21277 set ps32onArm=1) - -if %_NCS% EQU 1 ( -for /F %%a in ('echo prompt $E ^| cmd') do set "esc=%%a" -set "Red="41;97m"" -set "Gray="100;97m"" -set "Green="42;97m"" -set "Blue="44;97m"" -set "White="107;91m"" -set "_Red="40;91m"" -set "_White="40;37m"" -set "_Green="40;92m"" -set "_Yellow="40;93m"" -) else ( -set "Red="Red" "white"" -set "Gray="Darkgray" "white"" -set "Green="DarkGreen" "white"" -set "Blue="Blue" "white"" -set "White="White" "Red"" -set "_Red="Black" "Red"" -set "_White="Black" "Gray"" -set "_Green="Black" "Green"" -set "_Yellow="Black" "Yellow"" -) - -set "nceline=echo: &echo ==== ERROR ==== &echo:" -set "eline=echo: &call :dk_color %Red% "==== ERROR ====" &echo:" -if %~z0 GEQ 200000 ( -set "_exitmsg=Go back" -set "_fixmsg=Go back to Main Menu, select Troubleshoot and run Fix Licensing option." -) else ( -set "_exitmsg=Exit" -set "_fixmsg=In MAS folder, run Troubleshoot script and select Fix Licensing option." -) -exit /b - -:: Show OS info - -:dk_showosinfo - -for /f "skip=2 tokens=2*" %%a in ('reg query "HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\Environment" /v PROCESSOR_ARCHITECTURE') do set osarch=%%b - -for /f "tokens=6-7 delims=[]. " %%i in ('ver') do if not "%%j"=="" ( -set fullbuild=%%i.%%j -) else ( -for /f "tokens=3" %%G in ('"reg query "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion" /v UBR" %nul6%') do if not errorlevel 1 set /a "UBR=%%G" -for /f "skip=2 tokens=3,4 delims=. " %%G in ('reg query "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion" /v BuildLabEx') do ( -if defined UBR (set "fullbuild=%%G.!UBR!") else (set "fullbuild=%%G.%%H") -) -) - -echo Checking OS Info [%winos% ^| %fullbuild% ^| %osarch%] -exit /b - -:: Check SKU value - -:dk_checksku - -call :dk_reflection - -set osSKU= -set slcSKU= -set wmiSKU= -set regSKU= -set winsub= - -if %winbuild% GEQ 14393 (set info=Kernel-BrandingInfo) else (set info=Kernel-ProductInfo) -set d1=%ref% [void]$TypeBuilder.DefinePInvokeMethod('SLGetWindowsInformationDWORD', 'slc.dll', 'Public, Static', 1, [int], @([String], [int].MakeByRefType()), 1, 3); -set d1=%d1% $Sku = 0; [void]$TypeBuilder.CreateType()::SLGetWindowsInformationDWORD('%info%', [ref]$Sku); $Sku -for /f "delims=" %%s in ('"%psc% %d1%"') do if not errorlevel 1 (set slcSKU=%%s) -set slcSKU=%slcSKU: =% -if "%slcSKU%"=="0" set slcSKU= -for /f "tokens=* delims=0123456789" %%a in ("%slcSKU%") do (if not "[%%a]"=="[]" set slcSKU=) - -for /f "tokens=3 delims=." %%a in ('reg query "HKLM\SYSTEM\CurrentControlSet\Control\ProductOptions" /v OSProductPfn %nul6%') do set "regSKU=%%a" -if %_wmic% EQU 1 for /f "tokens=2 delims==" %%a in ('"wmic Path Win32_OperatingSystem Get OperatingSystemSKU /format:LIST" %nul6%') do if not errorlevel 1 set "wmiSKU=%%a" -if %_wmic% EQU 0 for /f "tokens=1" %%a in ('%psc% "([WMI]'Win32_OperatingSystem=@').OperatingSystemSKU" %nul6%') do if not errorlevel 1 set "wmiSKU=%%a" - -if %winbuild% GEQ 15063 %psc% "$f=[System.IO.File]::ReadAllText('!_batp!') -split ':winsubstatus\:.*';. ([scriptblock]::Create($f[1]))" %nul2% | find /i "Subscription_is_activated" %nul% && ( -if defined regSKU if defined slcSKU if not "%regSKU%"=="%slcSKU%" ( -set winsub=1 -set osSKU=%regSKU% -) -) - -if not defined osSKU set osSKU=%slcSKU% -if not defined osSKU set osSKU=%wmiSKU% -if not defined osSKU set osSKU=%regSKU% -exit /b - -:: Get Windows Subscription status - -:winsubstatus: -$DM = [AppDomain]::CurrentDomain.DefineDynamicAssembly(6, 1).DefineDynamicModule(4).DefineType(2) -[void]$DM.DefinePInvokeMethod('ClipGetSubscriptionStatus', 'Clipc.dll', 22, 1, [Int32], @([IntPtr].MakeByRefType()), 1, 3).SetImplementationFlags(128) -$m = [System.Runtime.InteropServices.Marshal] -$p = $m::AllocHGlobal(12) -$r = $DM.CreateType()::ClipGetSubscriptionStatus([ref]$p) -if ($r -eq 0) { - $enabled = $m::ReadInt32($p) - if ($enabled -ge 1) { - $state = $m::ReadInt32($p, 8) - if ($state -eq 1) { - "Subscription_is_activated." - } - } -} -:winsubstatus: - -:: Check KMS activation status - -:k_actinfo - -set xpr= -for /f "tokens=* delims=" %%# in ('%psc% "$([DateTime]::Now.addMinutes(%gpr%)).ToString('yyyy-MM-dd HH:mm:ss')" %nul6%') do set "xpr=%%#" -call :dk_color %Green% "%winos% is activated till !xpr!" -exit /b - -:: Check remaining KMS activation grace period - -:k_checkexp - -set gpr=0 -if %_wmic% EQU 1 for /f "tokens=2 delims==" %%# in ('"wmic path %spp% where (ApplicationID='55c92734-d682-4d71-983e-d6ec3f16059f' and Description like '%%KMSCLIENT%%' and PartialProductKey is not NULL AND LicenseDependsOn is NULL) get GracePeriodRemaining /VALUE" %nul6%') do set "gpr=%%#" -if %_wmic% EQU 0 for /f "tokens=2 delims==" %%# in ('%psc% "(([WMISEARCHER]'SELECT GracePeriodRemaining FROM %spp% WHERE ApplicationID=''55c92734-d682-4d71-983e-d6ec3f16059f'' AND Description like ''%%KMSCLIENT%%'' AND PartialProductKey IS NOT NULL AND LicenseDependsOn is NULL').Get()).GracePeriodRemaining | %% {echo ('GracePeriodRemaining='+$_)}" %nul6%') do set "gpr=%%#" -if %gpr% GTR 259200 (set _k38=1) else (set _k38=) -exit /b - -:: Get Windows permanent activation status - -:dk_checkperm - -if %_wmic% EQU 1 wmic path %spp% where (LicenseStatus='1' and GracePeriodRemaining='0' and PartialProductKey is not NULL AND LicenseDependsOn is NULL) get Name /value %nul2% | findstr /i "Windows" %nul1% && set _perm=1||set _perm= -if %_wmic% EQU 0 %psc% "(([WMISEARCHER]'SELECT Name FROM %spp% WHERE LicenseStatus=1 AND GracePeriodRemaining=0 AND PartialProductKey IS NOT NULL AND LicenseDependsOn is NULL').Get()).Name | %% {echo ('Name='+$_)}" %nul2% | findstr /i "Windows" %nul1% && set _perm=1||set _perm= -exit /b - -:: Refresh license status - -:dk_refresh - -if %_wmic% EQU 1 wmic path %sps% where __CLASS='%sps%' call RefreshLicenseStatus %nul% -if %_wmic% EQU 0 %psc% "$null=(([WMICLASS]'%sps%').GetInstances()).RefreshLicenseStatus()" %nul% -exit /b - -:: Install Key - -:dk_inskey - -if %_wmic% EQU 1 wmic path %sps% where __CLASS='%sps%' call InstallProductKey ProductKey="%key%" %nul% -if %_wmic% EQU 0 %psc% "try { $null=(([WMISEARCHER]'SELECT Version FROM %sps%').Get()).InstallProductKey('%key%'); exit 0 } catch { exit $_.Exception.InnerException.HResult }" %nul% -set keyerror=%errorlevel% -cmd /c exit /b %keyerror% -if %keyerror% NEQ 0 set "keyerror=[0x%=ExitCode%]" - -if defined generickey (set "keyecho=Installing Generic Product Key ") else (set "keyecho=Installing Product Key ") -if %keyerror% EQU 0 ( -if %sps%==SoftwareLicensingService call :dk_refresh -echo %keyecho% %~1 [Successful] -) else ( -call :dk_color %Red% "%keyecho% %~1 [Failed] %keyerror%" -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 -) - -set generickey= -exit /b - -:: Get Windows installed key channel - -:k_channel - -set _gvlk= -if %_wmic% EQU 1 for /f "tokens=2 delims==" %%# in ('wmic path %spp% where "ApplicationID='55c92734-d682-4d71-983e-d6ec3f16059f' and PartialProductKey IS NOT NULL AND LicenseDependsOn is NULL and Description like '%%KMSCLIENT%%'" Get Name /value %nul6%') do (echo %%# findstr /i "Windows" %nul1% && set _gvlk=1) -if %_wmic% EQU 0 for /f "tokens=2 delims==" %%# in ('%psc% "(([WMISEARCHER]'SELECT Name FROM %spp% WHERE ApplicationID=''55c92734-d682-4d71-983e-d6ec3f16059f'' AND PartialProductKey IS NOT NULL AND LicenseDependsOn is NULL and Description like ''%%KMSCLIENT%%''').Get()).Name | %% {echo ('Name='+$_)}" %nul6%') do (echo %%# findstr /i "Windows" %nul1% && set _gvlk=1) -exit /b - -:: Get all products Activation IDs - -:dk_actids - -set allapps= -if %_wmic% EQU 1 set "chkapp=for /f "tokens=2 delims==" %%a in ('"wmic path %spp% where (ApplicationID='%1') get ID /VALUE" %nul6%')" -if %_wmic% EQU 0 set "chkapp=for /f "tokens=2 delims==" %%a in ('%psc% "(([WMISEARCHER]'SELECT ID FROM %spp% WHERE ApplicationID=''%1''').Get()).ID ^| %% {echo ('ID='+$_)}" %nul6%')" -%chkapp% do (if defined allapps (call set "allapps=!allapps! %%a") else (call set "allapps=%%a")) -exit /b - -:: Get installed products Activation IDs - -:dk_actid - -set apps= -if %_wmic% EQU 1 set "chkapp=for /f "tokens=2 delims==" %%a in ('"wmic path %spp% where (ApplicationID='%1' and PartialProductKey is not null) get ID /VALUE" %nul6%')" -if %_wmic% EQU 0 set "chkapp=for /f "tokens=2 delims==" %%a in ('%psc% "(([WMISEARCHER]'SELECT ID FROM %spp% WHERE ApplicationID=''%1'' AND PartialProductKey IS NOT NULL').Get()).ID ^| %% {echo ('ID='+$_)}" %nul6%')" -%chkapp% do (if defined apps (call set "apps=!apps! %%a") else (call set "apps=%%a")) -exit /b - -:: Trigger reevaluation, it helps in updating SPP tasks - -:dk_reeval - -if %winbuild% LSS 7600 exit /b - -:: 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 - -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 "SuppressRulesEngine" /f %nul% - -set r1=$TB = [AppDomain]::CurrentDomain.DefineDynamicAssembly(4, 1).DefineDynamicModule(2, $False).DefineType(0); -set r2=%r1% [void]$TB.DefinePInvokeMethod('SLpTriggerServiceWorker', 'sppc.dll', 22, 1, [Int32], @([UInt32], [IntPtr], [String], [UInt32]), 1, 3); -set d1=%r2% [void]$TB.CreateType()::SLpTriggerServiceWorker(0, 0, 'reeval', 0) -%psc% "Start-Job { Stop-Service sppsvc -force } | Wait-Job -Timeout 20 | Out-Null; %d1%" -exit /b - -:: Install License files using Powershell/WMI instead of slmgr.vbs - -:xrm: -function InstallLicenseFile($Lsc) { - try { - $null = $sls.InstallLicense([IO.File]::ReadAllText($Lsc)) - } catch { - $host.SetShouldExit($_.Exception.HResult) - } -} -function InstallLicenseArr($Str) { - $a = $Str -split ';' - ForEach ($x in $a) {InstallLicenseFile "$x"} -} -function InstallLicenseDir($Loc) { - Get-ChildItem $Loc -Recurse -Filter *.xrm-ms | ForEach-Object {InstallLicenseFile $_.FullName} -} -function ReinstallLicenses() { - $Paths = @("$env:SysPath\oem", "$env:SysPath\licensing", "$env:SysPath\spp\tokens") - foreach ($Path in $Paths) { - if (Test-Path $Path) { InstallLicenseDir "$Path" } - } -} -:xrm: - -:: Check wmic.exe - -:dk_ckeckwmic - -if %winbuild% LSS 9200 (set _wmic=1&exit /b) -set _wmic=0 -for %%# in (wmic.exe) do @if not "%%~$PATH:#"=="" ( -cmd /c "wmic path Win32_ComputerSystem get CreationClassName /value" %nul2% | find /i "computersystem" %nul1% && set _wmic=1 -) -exit /b - -:: Show info for potential script stuck scenario - -:dk_sppissue - -sc start %_slser% %nul% -set spperror=%errorlevel% - -if %spperror% NEQ 1056 if %spperror% NEQ 0 ( -%eline% -echo sc start %_slser% [Error Code: %spperror%] -if %spperror% EQU 1053 ( -echo: -call :dk_color %Blue% "Reboot your machine using the restart option and try again." -call :dk_color %Blue% "If it still does not work, go back to Main Menu, select Troubleshoot and run Fix WPA Registry option." -) -) - -echo: -%psc% "$job = Start-Job { (Get-WmiObject -Query 'SELECT * FROM %sps%').Version }; if (-not (Wait-Job $job -Timeout 30)) {write-host '%_slser% is not working correctly. Check this webpage for help - %mas%troubleshoot'}" -exit /b - -:: Get Product name (WMI/REG methods are not reliable in all conditions, hence winbrand.dll method is used) - -:dk_product - -set d1=%ref% $meth = $TypeBuilder.DefinePInvokeMethod('BrandingFormatString', 'winbrand.dll', 'Public, Static', 1, [String], @([String]), 1, 3); -set d1=%d1% $meth.SetImplementationFlags(128); $TypeBuilder.CreateType()::BrandingFormatString('%%WINDOWS_LONG%%') -replace [string][char]0xa9, '' -replace [string][char]0xae, '' -replace [string][char]0x2122, '' - -set winos= -for /f "delims=" %%s in ('"%psc% %d1%"') do if not errorlevel 1 (set winos=%%s) -echo "%winos%" | find /i "Windows" %nul1% || ( -for /f "skip=2 tokens=2*" %%a in ('reg query "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion" /v ProductName %nul6%') do set "winos=%%b" -if %winbuild% GEQ 22000 ( -set winos=!winos:Windows 10=Windows 11! -) -) - -if not defined winsub exit /b - -:: Check base edition product name if Windows subscription license is found - -for %%# in (pkeyhelper.dll) do @if "%%~$PATH:#"=="" exit /b -set d1=%ref% [void]$TypeBuilder.DefinePInvokeMethod('GetEditionNameFromId', 'pkeyhelper.dll', 'Public, Static', 1, [int], @([int], [IntPtr].MakeByRefType()), 1, 3); -set d1=%d1% $out = 0; [void]$TypeBuilder.CreateType()::GetEditionNameFromId(%regSKU%, [ref]$out);$s=[Runtime.InteropServices.Marshal]::PtrToStringUni($out); $s - -for /f %%a in ('%psc% "%d1%"') do if not errorlevel 1 ( -if %winbuild% GEQ 22000 ( -set winos=Windows 11 %%a -) else ( -set winos=Windows 10 %%a -) -) -exit /b - -:: Common lines used in PowerShell reflection code - -:dk_reflection - -set ref=$AssemblyBuilder = [AppDomain]::CurrentDomain.DefineDynamicAssembly(4, 1); -set ref=%ref% $ModuleBuilder = $AssemblyBuilder.DefineDynamicModule(2, $False); -set ref=%ref% $TypeBuilder = $ModuleBuilder.DefineType(0); -exit /b - -::======================================================================================================================================== - -:: Get Product Key from pkeyhelper.dll for future new editions -:: It works on Windows 10 1803 (17134) and later builds. - -:k_pkey - -call :dk_reflection - -set d1=%ref% [void]$TypeBuilder.DefinePInvokeMethod('SkuGetProductKeyForEdition', 'pkeyhelper.dll', 'Public, Static', 1, [int], @([int], [String], [String].MakeByRefType(), [String].MakeByRefType()), 1, 3); -set d1=%d1% $out = ''; [void]$TypeBuilder.CreateType()::SkuGetProductKeyForEdition(%1, %2, [ref]$out, [ref]$null); $out - -set pkey= -for /f %%a in ('%psc% "%d1%"') do if not errorlevel 1 (set pkey=%%a) -exit /b - -:: Get channel name for the key which was extracted from pkeyhelper.dll - -:k_pkeychannel - -set k=%1 -set m=[Runtime.InteropServices.Marshal] -set p=%SysPath%\spp\tokens\pkeyconfig\pkeyconfig.xrm-ms - -set d1=%ref% [void]$TypeBuilder.DefinePInvokeMethod('PidGenX', 'pidgenx.dll', 'Public, Static', 1, [int], @([String], [String], [String], [int], [IntPtr], [IntPtr], [IntPtr]), 1, 3); -set d1=%d1% $r = [byte[]]::new(0x04F8); $r[0] = 0xF8; $r[1] = 0x04; $f = %m%::AllocHGlobal(0x04F8); %m%::Copy($r, 0, $f, 0x04F8); -set d1=%d1% [void]$TypeBuilder.CreateType()::PidGenX('%k%', '%p%', '00000', 0, 0, 0, $f); %m%::Copy($f, $r, 0, 0x04F8); %m%::FreeHGlobal($f); [Text.Encoding]::Unicode.GetString($r, 1016, 128) - -set pkeychannel= -for /f %%a in ('%psc% "%d1%"') do if not errorlevel 1 (set pkeychannel=%%a) -exit /b - -:k_gvlk - -for %%# in (pkeyhelper.dll) do @if "%%~$PATH:#"=="" exit /b -for %%# in (Volume:GVLK) do ( -call :k_pkey %osSKU% '%%#' -if defined pkey call :k_pkeychannel !pkey! -if /i "!pkeychannel!"=="%%#" ( -set key=!pkey! -exit /b -) -) -exit /b - -::======================================================================================================================================== - -:dk_chkmal - -:: Many users unknowingly download mal-ware by using activators found through Google search. -:: This code aims to notify users that their system has been affected by mal-ware. - -set w= -set results= -if exist "%ProgramFiles%\KM%w%Spico" set pupfound= KM%w%Spico -if not defined pupfound ( -reg query "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Schedule\taskcache\tasks" /f Path /s | find /i "AutoPico" %nul% && set pupfound= KM%w%Spico -) - -set hcount=0 -for %%# in (avira.com kaspersky.com virustotal.com mcafee.com) do ( -find /i "%%#" %SysPath%\drivers\etc\hosts %nul% && set /a hcount+=1) -if %hcount%==4 set "results=[Antivirus URLs are blocked in hosts]" - -sc start %_slser% %nul% -echo "%errorlevel%" | findstr "577 225" %nul% && ( -set "results=%results%[Likely File Infector]" -) || ( -if not exist %SysPath%\%_slexe% if not exist %SysPath%\alg.exe (set "results=%results%[Likely File Infector]") -) - -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: -) - -:: Remove the scheduled task of R@1n-KMS (old version) that runs the activation command every minute, as it leads to high CPU usage. - -if exist %SysPath%\Tasks\R@1n-KMS ( -for /f %%A in ('dir /b /a:-d %SysPath%\Tasks\R@1n-KMS %nul6%') do (schtasks /delete /tn \R@1n-KMS\%%A /f %nul%) -) - -exit /b - -::======================================================================================================================================== - -:dk_errorcheck - -set showfix= -call :dk_chkmal - -::============================== - -:: Check Sandboxing - -sc query Null %nul% || ( -call :dk_color %Red% "Checking Sandboxing [Found, script may not work properly]" -if not defined showfix ( -echo: -call :dk_color %Blue% "If you are using any third-party antivirus, check if it is blocking the script." -echo: -) -set error=1 -set showfix=1 -) - -::============================== - -:: Check WinPE mode - -reg query "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\WinPE" /v InstRoot %nul% && ( - -call :dk_color %Red% "Checking WinPE [Found]" -if not defined showfix ( -echo: -call :dk_color %Blue% "WinPE mode found. Reboot the system and run in normal mode." -echo: -) -set error=1 -set showfix=1 -) - -::============================== - -:: Check Safe mode - -if defined safeboot_option ( -call :dk_color %Red% "Checking Boot Mode [%safeboot_option%]" -if not defined showfix ( -echo: -call :dk_color %Blue% "Safe mode found. Reboot the system and run in normal mode." -echo: -) -set error=1 -set showfix=1 -) - -::============================== - -:: Check ImageState -:: https://learn.microsoft.com/en-us/windows-hardware/manufacture/desktop/windows-setup-states - -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" ( -call :dk_color %Gray% "Checking Windows Setup State [%imagestate%]" -echo "%imagestate%" | find /i "RESEAL" %nul% && ( -if not defined showfix ( -echo: -call :dk_color %Blue% "You need to run it in normal mode in case you are running it in Audit Mode." -echo: -) -set error=1 -set showfix=1 -) -echo "%imagestate%" | find /i "UNDEPLOYABLE" %nul% && ( -if not defined showfix ( -echo: -set fixes=%fixes% %mas%in-place_repair_upgrade -call :dk_color2 %Blue% "If the activation fails, do this - " %_Yellow% " %mas%in-place_repair_upgrade" -echo: -) -) -) - -::============================== - -:: Check corrupt services - -set serv_cor= -for %%# in (%_serv%) do ( -set _regcorr= -set _corrupt= -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) -) - -if defined _corrupt (if defined serv_cor (set "serv_cor=!serv_cor! %%#!_regcorr!") else (set "serv_cor=%%#!_regcorr!")) -) - -if defined serv_cor ( -call :dk_color %Red% "Checking Corrupt Services [%serv_cor%]" - -if not defined showfix ( -echo: -if /i "%serv_cor%"=="sppsvc-RegistryError" ( -set fixes=%fixes% %mas%fix_service -call :dk_color2 %Blue% "Check this webpage for help - " %_Yellow% " %mas%fix_service" -) else ( -set fixes=%fixes% %mas%in-place_repair_upgrade -call :dk_color2 %Blue% "Check this webpage for help - " %_Yellow% " %mas%in-place_repair_upgrade" -) -echo: -) - -set error=1 -set showfix=1 -) - -::============================== - -:: Check disabled services - -set serv_ste= -for %%# in (%_serv%) do ( -sc start %%# %nul% -if !errorlevel! EQU 1058 (if defined serv_ste (set "serv_ste=!serv_ste! %%#") else (set "serv_ste=%%#")) -) - -:: Change disabled services startup type to default - -set serv_csts= -set serv_cste= - -if defined serv_ste ( -for %%# in (%serv_ste%) do ( -if /i %%#==ClipSVC (reg add "HKLM\SYSTEM\CurrentControlSet\Services\%%#" /v "Start" /t REG_DWORD /d "3" /f %nul% & sc config %%# start= demand %nul%) -if /i %%#==wlidsvc sc config %%# start= demand %nul% -if /i %%#==sppsvc (reg add "HKLM\SYSTEM\CurrentControlSet\Services\%%#" /v "Start" /t REG_DWORD /d "2" /f %nul% & sc config %%# start= delayed-auto %nul%) -if /i %%#==SLsvc sc config %%# start= auto %nul% -if /i %%#==KeyIso sc config %%# start= demand %nul% -if /i %%#==LicenseManager sc config %%# start= demand %nul% -if /i %%#==Winmgmt sc config %%# start= auto %nul% -if !errorlevel!==0 ( -if defined serv_csts (set "serv_csts=!serv_csts! %%#") else (set "serv_csts=%%#") -) else ( -if defined serv_cste (set "serv_cste=!serv_cste! %%#") else (set "serv_cste=%%#") -) -) -) - -if defined serv_csts call :dk_color %Gray% "Enabling Disabled Services [Successful] [%serv_csts%]" - -if defined serv_cste ( -call :dk_color %Red% "Enabling Disabled Services [Failed] [%serv_cste%]" - -if not defined showfix ( -echo: -echo %serv_cste% | findstr /i "ClipSVC sppsvc" %nul% && ( -echo A registry fix has been applied to enable the disabled service. -echo: -call :dk_color %Blue% "Reboot your machine using the restart option to fix this error." -) || ( -set fixes=%fixes% %mas%in-place_repair_upgrade -call :dk_color2 %Blue% "Check this webpage for help - " %_Yellow% " %mas%in-place_repair_upgrade" -) -echo: -) - -set error=1 -set showfix=1 -) - -::============================== - -:: Check if the services are able to run or not -:: Workarounds are added to get correct status and error code because sc query doesn't output correct results in some conditions - -set serv_e= -for %%# in (%_serv%) do ( -set errorcode= -set checkerror= - -sc query %%# | find /i "RUNNING" %nul% || ( -%psc% "Start-Job { Start-Service %%# } | Wait-Job -Timeout 20 | Out-Null" -set errorcode=!errorlevel! -sc query %%# | find /i "RUNNING" %nul% || set checkerror=1 -) - -sc start %%# %nul% -if !errorlevel! NEQ 1056 if !errorlevel! NEQ 0 (set errorcode=!errorlevel!&set checkerror=1) -if defined checkerror if defined serv_e (set "serv_e=!serv_e!, %%#-!errorcode!") else (set "serv_e=%%#-!errorcode!") -) - -if defined serv_e ( -call :dk_color %Red% "Starting Services [Failed] [%serv_e%]" - -if not defined showfix ( -set listwospp=%_serv:sppsvc=% -echo %serv_e% | findstr /i "!listwospp!" %nul% && ( -set showfix=1 -echo: -call :dk_color %Blue% "Reboot your machine using the restart option and run the script again." -set fixes=%fixes% %mas%in-place_repair_upgrade -call :dk_color2 %Blue% "If service error is still not fixed, do this - " %_Yellow% " %mas%in-place_repair_upgrade" -echo: -) -) -set error=1 -) - -::============================== - -:: Check WMI - -set wmifailed= -if %_wmic% EQU 1 wmic path Win32_ComputerSystem get CreationClassName /value %nul2% | find /i "computersystem" %nul1% -if %_wmic% EQU 0 %psc% "Get-WmiObject -Class Win32_ComputerSystem | Select-Object -Property CreationClassName" %nul2% | find /i "computersystem" %nul1% - -if %errorlevel% NEQ 0 set wmifailed=1 - -if %_wmic% EQU 1 wmic path %sps% get Version %nul% -if %_wmic% EQU 0 %psc% "try { $null=([WMISEARCHER]'SELECT * FROM %sps%').Get().Version; exit 0 } catch { exit $_.Exception.InnerException.HResult }" %nul% -set error_code=%errorlevel% -cmd /c exit /b %error_code% -if %error_code% NEQ 0 set "error_code=0x%=ExitCode%" - -echo "%error_code%" | findstr /i "0x800410 0x800440 0x80131501" %nul1% && set wmifailed=1& :: https://learn.microsoft.com/en-us/windows/win32/wmisdk/wmi-error-constants - -if defined wmifailed ( -call :dk_color %Red% "Checking WMI [Not Working]" - -if not defined showfix ( -echo: -call :dk_color %Blue% "Go back to Main Menu, select Troubleshoot and run Fix WMI option." -echo: -) -set error=1 -set showfix=1 -) - -::============================== - -:: Check SPP Registry Key - -if %winbuild% GEQ 7600 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] [Most likely caused by gaming spoofers]" -if not defined showfix ( -echo: -set fixes=%fixes% %mas%issues_due_to_gaming_spoofers -call :dk_color2 %Blue% "Check this webpage for help - " %_Yellow% " %mas%issues_due_to_gaming_spoofers" -echo: -) -set error=1 -set showfix=1 -) - -::============================== - -:: Check TokenStore registry key - -set tokenstore= -if %winbuild% GEQ 7600 ( -for /f "skip=2 tokens=2*" %%a in ('reg query "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\SoftwareProtectionPlatform" /v TokenStore %nul6%') do call set "tokenstore=%%b" -if %winbuild% LSS 9200 set "tokenstore=%Systemdrive%\Windows\ServiceProfiles\NetworkService\AppData\Roaming\Microsoft\SoftwareProtectionPlatform" - -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" ( -call :dk_color %Red% "Checking TokenStore Registry Key [Correct Path Not Found] [!tokenstore!]" -if not defined showfix ( -echo: -set fixes=%fixes% %mas%in-place_repair_upgrade -call :dk_color2 %Blue% "Check this webpage for help - " %_Yellow% " %mas%in-place_repair_upgrade" -echo: -) -set toerr=1 -set error=1 -set showfix=1 -) -) - -::============================== - -:: This code creates token folder only if it's missing and sets default permission for it - -if %winbuild% GEQ 7600 if not defined toerr if not exist "%tokenstore%\" ( - -mkdir "%tokenstore%" %nul% - -if %winbuild% LSS 9200 set "d=$sddl = 'O:NSG:NSD:AI(A;OICIID;FA;;;SY)(A;OICIID;FA;;;BA)(A;OICIID;FA;;;NS)';" -if %winbuild% GEQ 9200 set "d=$sddl = 'O:BAG:BAD:PAI(A;OICI;FA;;;SY)(A;OICI;FA;;;BA)(A;OICIIO;GR;;;BU)(A;;FR;;;BU)(A;OICI;FA;;;S-1-5-80-123231216-2592883651-3715271367-3753151631-4175906628)';" -set "d=!d! $AclObject = New-Object System.Security.AccessControl.DirectorySecurity;" -set "d=!d! $AclObject.SetSecurityDescriptorSddlForm($sddl);" -set "d=!d! Set-Acl -Path %tokenstore% -AclObject $AclObject;" -%psc% "!d!" %nul% - -if exist "%tokenstore%\" ( -call :dk_color %Gray% "Checking SPP Token Folder [Not Found, Created Now] [%tokenstore%\]" -) else ( -call :dk_color %Red% "Checking SPP Token Folder [Not Found, Failed to Create] [%tokenstore%\]" -if not defined showfix ( -echo: -set fixes=%fixes% %mas%in-place_repair_upgrade -call :dk_color2 %Blue% "Check this webpage for help - " %_Yellow% " %mas%in-place_repair_upgrade" -echo: -) -set error=1 -set showfix=1 -) -) - -::============================== - -:: This code checks if SPP has permission access to tokens folder and required registry keys. It's often caused by gaming spoofers. - -set permerror= -if %winbuild% GEQ 9200 if not defined toerr if not defined ps32onArm if exist "%tokenstore%\" ( -for %%# in ( -"%tokenstore%+FullControl" -"HKLM:\SYSTEM\WPA+QueryValues, EnumerateSubKeys, WriteKey" -"HKLM:\SOFTWARE\Microsoft\Windows NT\CurrentVersion\SoftwareProtectionPlatform+SetValue" -) do for /f "tokens=1,2 delims=+" %%A in (%%#) do if not defined permerror ( -%psc% "$acl = (Get-Acl '%%A' | fl | Out-String); if (-not ($acl -match 'NT SERVICE\\sppsvc Allow %%B') -or ($acl -match 'NT SERVICE\\sppsvc Deny')) {Exit 2}" %nul% -if !errorlevel!==2 ( -if "%%A"=="%tokenstore%" ( -set "permerror=Error Found In Token Folder" -) else ( -set "permerror=Error Found In SPP Registries" -) -) -) - -REM https://learn.microsoft.com/en-us/office/troubleshoot/activation/license-issue-when-start-office-application - -if not defined permerror ( -reg query "HKU\S-1-5-20\Software\Microsoft\Windows NT\CurrentVersion" %nul% && ( -set "pol=HKU\S-1-5-20\Software\Microsoft\Windows NT\CurrentVersion\SoftwareProtectionPlatform\Policies" -reg query "!pol!" %nul% || reg add "!pol!" %nul% -%psc% "$netServ = (New-Object Security.Principal.SecurityIdentifier('S-1-5-20')).Translate([Security.Principal.NTAccount]).Value; $aclString = Get-Acl 'Registry::!pol!' | Format-List | Out-String; if (-not ($aclString.Contains($netServ + ' Allow FullControl') -or $aclString.Contains('NT SERVICE\sppsvc Allow FullControl')) -or ($aclString.Contains('Deny'))) {Exit 3}" %nul% -if !errorlevel!==3 set "permerror=Error Found In S-1-5-20 SPP" -) -) - -if defined permerror ( -call :dk_color %Red% "Checking SPP Permissions [!permerror!]" -if not defined showfix ( -echo: -call :dk_color %Blue% "%_fixmsg%" -echo: -) -set error=1 -set showfix=1 -) -) - -::============================== - -:: Check WPA Registry Errors - -set chkalp= -set wpainfo=NotFound -for /f "delims=" %%a in ('%psc% "$f=[System.IO.File]::ReadAllText('!_batp!') -split ':wpatest\:.*';. ([scriptblock]::Create($f[1]))" %nul6%') do (set wpainfo=%%a) -for /f "delims=0123456789" %%i in ("%wpainfo%") do set chkalp=%%i - -if defined chkalp ( -call :dk_color %Red% "Checking WPA Registry Errors [%wpainfo%]" -if not defined showfix ( -echo "%wpainfo%" | find /i "Error Found" %nul% && ( -echo: -call :dk_color %Blue% "Go back to Main Menu, select Troubleshoot and run Fix WPA Registry option." -echo: -set error=1 -set showfix=1 -) -) -set wpainfo=a -) - -if not defined chkalp ( -if %wpainfo% GEQ 5000 ( -call :dk_color %Gray% "Checking WPA Registry Count [%wpainfo%]" -echo: -call :dk_color %Blue% "A large number of WPA registries have been found, which may cause high CPU usage." -call :dk_color %Blue% "Go back to Main Menu, select Troubleshoot and run Fix WPA Registry option." -echo: -) else ( -echo Checking WPA Registry Count [%wpainfo%] -) -) - -::============================== - -:: Check Rearm - -reg query "HKU\S-1-5-20\Software\Microsoft\Windows NT\CurrentVersion\SoftwareProtectionPlatform\PersistedTSReArmed" %nul% && ( -call :dk_color %Red% "Checking Rearm [System is Rearmed]" -if not defined showfix ( -echo: -call :dk_color %Blue% "Reboot your machine using the restart option to fix this error." -echo: -) -set error=1 -set showfix=1 -) - - -reg query "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\ClipSVC\Volatile\PersistedSystemState" %nul% && ( -call :dk_color %Red% "Checking ClipSVC PersistedSystemState [Found]" -if not defined showfix ( -echo: -call :dk_color %Blue% "Reboot your machine using the restart option to fix this error." -echo: -) -set error=1 -set showfix=1 -) - -::============================== - -:: Check SoftwareLicensingService - -if %error_code% NEQ 0 ( -call :dk_color %Red% "Checking SoftwareLicensingService [Not Working] [%error_code%]" -if not defined showfix ( -echo: -call :dk_color %Blue% "%_fixmsg%" -call :dk_color %Blue% "If activation still fails then run Fix WPA Registry option." -echo: -) -set error=1 -set showfix=1 -) - -::============================== - -:: Check Activation IDs - -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 -) - -if not defined apps call :dk_actids 55c92734-d682-4d71-983e-d6ec3f16059f - -if not defined apps if defined allapps if not defined notwinact ( -call :dk_color %Gray% "Checking Activation IDs [Key Not Installed or Act ID Not Found]" -) - -if not defined apps if not defined allapps ( -call :dk_color %Red% "Checking Activation IDs [Not found]" -if not defined showfix ( -echo: -call :dk_color %Blue% "%_fixmsg%" -call :dk_color %Blue% "If activation still fails then run Fix WPA Registry option." -echo: -) -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%\]" -) - -::============================== - -:: Check Eval Windows - -if not defined notwinact if exist "%SystemRoot%\Servicing\Packages\Microsoft-Windows-*EvalEdition~*.mum" ( -reg query "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion" /v EditionID %nul2% | find /i "Eval" %nul1% || ( -call :dk_color %Red% "Checking Eval Packages [License swapping found. Non-Eval licenses are installed in Eval Windows]" -if not defined showfix ( -echo: -call :dk_color %Blue% "License swapping is not the right way to upgrade to the full version. Learn the correct method at the link below." -set fixes=%fixes% %mas%evaluation_editions -call :dk_color2 %Blue% "Check this webpage for help - " %_Yellow% " %mas%evaluation_editions" -echo: -) -set error=1 -set showfix=1 -) -) - -::============================== - -:: Check HKU\S-1-5-20\Software registry, in some systems it's missing and that causes Windows activation problems - -reg query "HKU\S-1-5-20\Software\Microsoft\Windows NT\CurrentVersion" %nul% || ( -call :dk_color %Red% "Checking HKU\S-1-5-20 Registry [Not Found]" -if not defined showfix ( -echo: -set fixes=%fixes% %mas%in-place_repair_upgrade -call :dk_color2 %Blue% "Check this webpage for help - " %_Yellow% " %mas%in-place_repair_upgrade" -echo: -) -set error=1 -set showfix=1 -) - -::============================== - -:: Check license and package files for the current edition - -set osedition=0 -if %_wmic% EQU 1 set "chkedi=for /f "tokens=2 delims==" %%a in ('"wmic path %spp% where (ApplicationID='55c92734-d682-4d71-983e-d6ec3f16059f' AND LicenseDependsOn is NULL AND PartialProductKey IS NOT NULL) get LicenseFamily /VALUE" %nul6%')" -if %_wmic% EQU 0 set "chkedi=for /f "tokens=2 delims==" %%a in ('%psc% "(([WMISEARCHER]'SELECT LicenseFamily FROM %spp% WHERE ApplicationID=''55c92734-d682-4d71-983e-d6ec3f16059f'' AND LicenseDependsOn is NULL AND PartialProductKey IS NOT NULL').Get()).LicenseFamily ^| %% {echo ('LicenseFamily='+$_)}" %nul6%')" -%chkedi% do if not errorlevel 1 (call set "osedition=%%a") - -if %osedition%==0 for /f "skip=2 tokens=3" %%a in ('reg query "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion" /v EditionID %nul6%') do set "osedition=%%a" - -:: Workaround for an issue in builds between 1607 and 1709 where ProfessionalEducation is shown as Professional - -if not %osedition%==0 ( -if "%osSKU%"=="164" set osedition=ProfessionalEducation -if "%osSKU%"=="165" set osedition=ProfessionalEducationN -) - -if not defined notwinact ( -if %osedition%==0 ( -call :dk_color %Red% "Checking Edition Name [Not Found In Registry]" -) 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%\licensing\skus\Security-Licensing-SLC-Component-SKU-%osedition%\*-%osedition%-*.xrm-ms" ( -set skunotfound=1 -call :dk_color %Red% "Checking License Files [Not Found] [%osedition%]" -) -if not exist "%SystemRoot%\Servicing\Packages\Microsoft-Windows-*-%osedition%-*.mum" ( -if not exist "%SystemRoot%\Servicing\Packages\Microsoft-Windows-%osedition%Edition*.mum" ( -call :dk_color %Red% "Checking Package Files [Not Found] [%osedition%]" -) -) -) -) - -::============================== - -:: Check SKU value to find if there is any difference - -if not defined notwinact ( -if %winbuild% GEQ 10240 ( -%nul% set /a "sum=%slcSKU%+%regSKU%+%wmiSKU%" -set /a "sum/=3" -if not "!sum!"=="%slcSKU%" ( -call :dk_color %Gray% "Checking SLC/WMI/REG SKU [Difference Found - SLC:%slcSKU% WMI:%wmiSKU% Reg:%regSKU%]" -) -) else ( -%nul% set /a "sum=%slcSKU%+%wmiSKU%" -set /a "sum/=2" -if not "!sum!"=="%slcSKU%" ( -call :dk_color %Gray% "Checking SLC/WMI SKU [Difference Found - SLC:%slcSKU% WMI:%wmiSKU%]" -) -) -) - -::============================== - -:: This "WLMS" service was included in previous Eval editions (which were activable) to automatically shut down the system every hour after the evaluation period expired and prevent SPPSVC from stopping. - -if exist "%SysPath%\wlms\wlms.exe" ( -echo Checking Eval WLMS Service [Found] -) - -::============================== - -:: Check SPP interference in IFEO - -for %%# in (SppEx%w%tComObj.exe SLsvc.exe sppsvc.exe sppsvc.exe\PerfOptions) 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=%%#")) -) -if defined _sppint ( -echo %_sppint% | find /i "PerfOptions" %nul% && ( -call :dk_color %Red% "Checking SPP Interference In IFEO [%_sppint% - System might deactivate later]" -if not defined showfix ( -echo: -call :dk_color %Blue% "%_fixmsg%" -echo: -) -set showfix=1 -) || ( -echo Checking SPP In IFEO [%_sppint%] -) -) - -::============================== - -:: Check and fix SkipRearm registry value - -if %winbuild% GEQ 7600 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% -call :dk_color %Gray% "Checking SkipRearm [Default 0 Value Not Found. Changing To 0]" -%psc% "Start-Job { Stop-Service sppsvc -force } | Wait-Job -Timeout 20 | Out-Null" -) - -::============================== - -:: Check SvcRestartTask status, this task helps in making sure system remains activated - -if %winbuild% GEQ 9200 if not exist "%SystemRoot%\Servicing\Packages\Microsoft-Windows-*EvalEdition~*.mum" ( -%psc% "Get-WmiObject -Query 'SELECT Description FROM SoftwareLicensingProduct WHERE PartialProductKey IS NOT NULL AND LicenseDependsOn IS NULL' | Select-Object -Property Description" %nul2% | findstr /i "KMS_" %nul1% || ( -for /f "delims=" %%a in ('%psc% "$s=New-Object -ComObject 'Schedule.Service'; $s.Connect(); $state=$s.GetFolder('\Microsoft\Windows\SoftwareProtectionPlatform').GetTask('SvcRestartTask').State; @{0='Unknown';1='Disabled';2='Queued';3='Ready';4='Running'}[$state]" %nul6%') do (set taskinfo=%%a) - -echo !taskinfo! | find /i "Ready" %nul% || ( -reg delete "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\SoftwareProtectionPlatform" /v "actionlist" /f %nul% -reg query "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Schedule\TaskCache\Tree\Microsoft\Windows\SoftwareProtectionPlatform\SvcRestartTask" %nul% || set taskinfo=Removed -if "!taskinfo!"=="" set "taskinfo=Not Found" - -call :dk_color %Gray% "Checking SvcRestartTask Status [!taskinfo!. System might deactivate later.]" -if not defined showfix ( -echo: -echo "!taskinfo!" | findstr /i "Removed Not Found" %nul1% && ( -set fixes=%fixes% %mas%in-place_repair_upgrade -call :dk_color2 %Blue% "Check this webpage for help - " %_Yellow% " %mas%in-place_repair_upgrade" -) || ( -call :dk_color %Blue% "Reboot your machine using the restart option and run the script again." -) -echo: -) -) -) -) - -::============================== - -exit /b - -:: This code checks for invalid registry keys in HKLM\SYSTEM\WPA. This issue may appear even on healthy systems - -:wpatest: -$wpaKey = [Microsoft.Win32.RegistryKey]::OpenRemoteBaseKey('LocalMachine', $env:COMPUTERNAME).OpenSubKey("SYSTEM\\WPA") -$count = 0 -foreach ($subkeyName in $wpaKey.GetSubKeyNames()) { - if ($subkeyName -match '8DEC0AF1-0341-4b93-85CD-72606C2DF94C.*') { - $count++ - } -} -$osVersion = [System.Environment]::OSVersion.Version -$minBuildNumber = 14393 -if ($osVersion.Build -ge $minBuildNumber) { - $subkeyHashTable = @{} - foreach ($subkeyName in $wpaKey.GetSubKeyNames()) { - if ($subkeyName -match '8DEC0AF1-0341-4b93-85CD-72606C2DF94C.*') { - $keyNumber = $subkeyName -replace '.*-', '' - $subkeyHashTable[$keyNumber] = $true - } - } - for ($i=1; $i -le $count; $i++) { - if (-not $subkeyHashTable.ContainsKey("$i")) { - Write-Output "Total Keys $count. Error Found - $i key does not exist." - $wpaKey.Close() - exit - } - } -} -$wpaKey.GetSubKeyNames() | ForEach-Object { - if ($_ -match '8DEC0AF1-0341-4b93-85CD-72606C2DF94C.*') { - if ($PSVersionTable.PSVersion.Major -lt 3) { - cmd /c "reg query "HKLM\SYSTEM\WPA\$_" /ve /t REG_BINARY >nul 2>&1" - if ($LASTEXITCODE -ne 0) { - Write-Host "Total Keys $count. Error Found - Binary Data is corrupt." - $wpaKey.Close() - exit - } - } else { - $subkey = $wpaKey.OpenSubKey($_) - $p = $subkey.GetValueNames() - 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." - $wpaKey.Close() - exit - } - } - } -} -$count -$wpaKey.Close() -:wpatest: - -::======================================================================================================================================== - -:dk_color - -if %_NCS% EQU 1 ( -echo %esc%[%~1%~2%esc%[0m -) else if exist %ps% ( -%psc% write-host -back '%1' -fore '%2' '%3' -) else if not exist %ps% ( -echo %~3 -) -exit /b - -:dk_color2 - -if %_NCS% EQU 1 ( -echo %esc%[%~1%~2%esc%[%~3%~4%esc%[0m -) else if exist %ps% ( -%psc% write-host -back '%1' -fore '%2' '%3' -NoNewline; write-host -back '%4' -fore '%5' '%6' -) else if not exist %ps% ( -echo %~3 %~6 -) -exit /b - -::======================================================================================================================================== - -:dk_done - -echo: -if %_unattended%==1 timeout /t 2 & exit /b - -if defined fixes ( -call :dk_color %White% "Follow ALL the ABOVE blue lines. " -call :dk_color2 %Blue% "Press [1] to Open Support Webpage " %Gray% " Press [0] to Ignore" -choice /C:10 /N -if !errorlevel!==2 exit /b -if !errorlevel!==1 (start %selfgit% & start %github% & for %%# in (%fixes%) do (start %%#)) -) - -if defined terminal ( -call :dk_color %_Yellow% "Press [0] key to %_exitmsg%..." -choice /c 0 /n -) else ( -call :dk_color %_Yellow% "Press any key to %_exitmsg%..." -pause %nul1% -) - -exit /b - -::======================================================================================================================================== - -:: 1st column = Activation ID -:: 2nd column = GVLK (Generic volume licensing key) -:: 3rd column = SKU ID -:: 4th column = WMI Edition ID (For reference only) -:: 5th column = Build Branch name incase same Edition ID is used in different OS versions with different key (For reference only) -:: Separator = "_" - -:kms38data - -set f= -for %%# in ( -:: Windows 10/11 -73111121-5638-40f6-bc11-f1d7b0d64300_NPPR9-FWDCX-D2C8J-H872K-2Y%f%T43___4_Enterprise -e272e3e2-732f-4c65-a8f0-484747d0d947_DPH2V-TTNVB-4X9Q3-TJR4H-KH%f%JW4__27_EnterpriseN -2de67392-b7a7-462a-b1ca-108dd189f588_W269N-WFGWX-YVC9B-4J6C9-T8%f%3GX__48_Professional -a80b5abf-76ad-428b-b05d-a47d2dffeebf_MH37W-N47XK-V7XM9-C7227-GC%f%QG9__49_ProfessionalN -7b9e1751-a8da-4f75-9560-5fadfe3d8e38_3KHY7-WNT83-DGQKR-F7HPR-84%f%4BM__98_CoreN -a9107544-f4a0-4053-a96a-1479abdef912_PVMJN-6DFY6-9CCP6-7BKTT-D3%f%WVR__99_CoreCountrySpecific -cd918a57-a41b-4c82-8dce-1a538e221a83_7HNRX-D7KGG-3K4RQ-4WPJ4-YT%f%DFH_100_CoreSingleLanguage -58e97c99-f377-4ef1-81d5-4ad5522b5fd8_TX9XD-98N7V-6WMQ6-BX7FG-H8%f%Q99_101_Core -e0c42288-980c-4788-a014-c080d2e1926e_NW6C2-QMPVW-D7KKK-3GKT6-VC%f%FB2_121_Education -3c102355-d027-42c6-ad23-2e7ef8a02585_2WH4N-8QGBV-H22JP-CT43Q-MD%f%WWJ_122_EducationN -32d2fab3-e4a8-42c2-923b-4bf4fd13e6ee_M7XTQ-FN8P6-TTKYV-9D4CC-J4%f%62D_125_EnterpriseS_RS5,VB,Ge -2d5a5a60-3040-48bf-beb0-fcd770c20ce0_DCPHK-NFMTC-H88MJ-PFHPY-QJ%f%4BJ_125_EnterpriseS_RS1 -7b51a46c-0c04-4e8f-9af4-8496cca90d5e_WNMTR-4C88C-JK8YV-HQ7T2-76%f%DF9_125_EnterpriseS_TH1 -7103a333-b8c8-49cc-93ce-d37c09687f92_92NFX-8DJQP-P6BBQ-THF9C-7C%f%G2H_126_EnterpriseSN_RS5,VB,Ge -9f776d83-7156-45b2-8a5c-359b9c9f22a3_QFFDN-GRT3P-VKWWX-X7T3R-8B%f%639_126_EnterpriseSN_RS1 -87b838b7-41b6-4590-8318-5797951d8529_2F77B-TNFGY-69QQF-B8YKP-D6%f%9TJ_126_EnterpriseSN_TH1 -82bbc092-bc50-4e16-8e18-b74fc486aec3_NRG8B-VKK3Q-CXVCJ-9G2XF-6Q%f%84J_161_ProfessionalWorkstation -4b1571d3-bafb-4b40-8087-a961be2caf65_9FNHH-K3HBT-3W4TD-6383H-6X%f%YWF_162_ProfessionalWorkstationN -3f1afc82-f8ac-4f6c-8005-1d233e606eee_6TP4R-GNPTD-KYYHQ-7B7DP-J4%f%47Y_164_ProfessionalEducation -5300b18c-2e33-4dc2-8291-47ffcec746dd_YVWGF-BXNMC-HTQYQ-CPQ99-66%f%QFC_165_ProfessionalEducationN -e0b2d383-d112-413f-8a80-97f373a5820c_YYVX9-NTFWV-6MDM3-9PT4T-4M%f%68B_171_EnterpriseG -e38454fb-41a4-4f59-a5dc-25080e354730_44RPN-FTY23-9VTTB-MP9BX-T8%f%4FV_172_EnterpriseGN -ec868e65-fadf-4759-b23e-93fe37f2cc29_CPWHC-NT2C7-VYW78-DHDB2-PG%f%3GK_175_ServerRdsh_RS5 -e4db50ea-bda1-4566-b047-0ca50abc6f07_7NBT4-WGBQX-MP4H7-QXFF8-YP%f%3KX_175_ServerRdsh_RS3 -0df4f814-3f57-4b8b-9a9d-fddadcd69fac_NBTWJ-3DR69-3C4V8-C26MC-GQ%f%9M6_183_CloudE -59eb965c-9150-42b7-a0ec-22151b9897c5_KBN8V-HFGQ4-MGXVD-347P6-PD%f%QGT_191_IoTEnterpriseS_VB,NI -d30136fc-cb4b-416e-a23d-87207abc44a9_6XN7V-PCBDC-BDBRH-8DQY7-G6%f%R44_202_CloudEditionN -ca7df2e3-5ea0-47b8-9ac1-b1be4d8edd69_37D7F-N49CB-WQR8W-TBJ73-FM%f%8RX_203_CloudEdition -:: Windows 2016/19/22/25 LTSC/SAC -7dc26449-db21-4e09-ba37-28f2958506a6_TVRH6-WHNXV-R9WG3-9XRFY-MY%f%832___7_ServerStandard_Ge -9bd77860-9b31-4b7b-96ad-2564017315bf_VDYBN-27WPP-V4HQT-9VMD4-VM%f%K7H___7_ServerStandard_FE -de32eafd-aaee-4662-9444-c1befb41bde2_N69G4-B89J2-4G8F4-WWYCC-J4%f%64C___7_ServerStandard_RS5 -8c1c5410-9f39-4805-8c9d-63a07706358f_WC2BQ-8NRM3-FDDYY-2BFGV-KH%f%KQY___7_ServerStandard_RS1 -c052f164-cdf6-409a-a0cb-853ba0f0f55a_D764K-2NDRG-47T6Q-P8T8W-YP%f%6DF___8_ServerDatacenter_Ge -ef6cfc9f-8c5d-44ac-9aad-de6a2ea0ae03_WX4NM-KYWYW-QJJR4-XV3QB-6V%f%M33___8_ServerDatacenter_FE -34e1ae55-27f8-4950-8877-7a03be5fb181_WMDGN-G9PQG-XVVXX-R3X43-63%f%DFG___8_ServerDatacenter_RS5 -21c56779-b449-4d20-adfc-eece0e1ad74b_CB7KF-BWN84-R7R2Y-793K2-8X%f%DDG___8_ServerDatacenter_RS1 -034d3cbb-5d4b-4245-b3f8-f84571314078_WVDHN-86M7X-466P6-VHXV7-YY%f%726__50_ServerSolution_RS5 -2b5a1b0f-a5ab-4c54-ac2f-a6d94824a283_JCKRF-N37P4-C2D82-9YXRT-4M%f%63B__50_ServerSolution_RS1 -7b4433f4-b1e7-4788-895a-c45378d38253_QN4C6-GBJD2-FB422-GHWJK-GJ%f%G2R_110_ServerCloudStorage -8de8eb62-bbe0-40ac-ac17-f75595071ea3_GRFBW-QNDC4-6QBHG-CCK3B-2P%f%R88_120_ServerARM64_RS5 -43d9af6e-5e86-4be8-a797-d072a046896c_K9FYF-G6NCK-73M32-XMVPY-F9%f%DRR_120_ServerARM64_RS4 -39e69c41-42b4-4a0a-abad-8e3c10a797cc_QFND9-D3Y9C-J3KKY-6RPVP-2D%f%PYV_145_ServerDatacenterACor_FE -90c362e5-0da1-4bfd-b53b-b87d309ade43_6NMRW-2C8FM-D24W7-TQWMY-CW%f%H2D_145_ServerDatacenterACor_RS5 -e49c08e7-da82-42f8-bde2-b570fbcae76c_2HXDN-KRXHB-GPYC7-YCKFJ-7F%f%VDG_145_ServerDatacenterACor_RS3 -f5e9429c-f50b-4b98-b15c-ef92eb5cff39_67KN8-4FYJW-2487Q-MQ2J7-4C%f%4RG_146_ServerStandardACor_FE -73e3957c-fc0c-400d-9184-5f7b6f2eb409_N2KJX-J94YW-TQVFB-DG9YT-72%f%4CC_146_ServerStandardACor_RS5 -61c5ef22-f14f-4553-a824-c4b31e84b100_PTXN8-JFHJM-4WC78-MPCBR-9W%f%4KR_146_ServerStandardACor_RS3 -45b5aff2-60a0-42f2-bc4b-ec6e5f7b527e_FCNV3-279Q9-BQB46-FTKXX-9H%f%PRH_168_ServerAzureCor_Ge -8c8f0ad3-9a43-4e05-b840-93b8d1475cbc_6N379-GGTMK-23C6M-XVVTC-CK%f%FRQ_168_ServerAzureCor_FE -a99cc1f0-7719-4306-9645-294102fbff95_FDNH6-VW9RW-BXPJ7-4XTYG-23%f%9TB_168_ServerAzureCor_RS5 -3dbf341b-5f6c-4fa7-b936-699dce9e263f_VP34G-4NPPG-79JTQ-864T4-R3%f%MQX_168_ServerAzureCor_RS1 -c2e946d1-cfa2-4523-8c87-30bc696ee584_XGN3F-F394H-FD2MY-PP6FD-8M%f%CRC_407_ServerTurbine_Ge -19b5e0fb-4431-46bc-bac1-2f1873e4ae73_NTBV8-9K7Q8-V27C6-M2BTV-KH%f%MXV_407_ServerTurbine_RS5 -) do ( -for /f "tokens=1-5 delims=_" %%A in ("%%#") do if %osSKU%==%%C ( -if %1==key if not defined key echo "!allapps!" | find /i "%%A" %nul1% && set key=%%B -) -) -exit /b - -::======================================================================================================================================== - -:sign: -$ErrorActionPreference = "Stop" - -function SignProperties { - param ( - $Properties, - $rsa - ) - - $sha256 = [Security.Cryptography.SHA256]::Create() - $bytes = [Text.Encoding]::UTF8.GetBytes($Properties) - $hash = $sha256.ComputeHash($bytes) - - $signature = $rsa.SignHash($hash, [Security.Cryptography.HashAlgorithmName]::SHA256, [Security.Cryptography.RSASignaturePadding]::Pkcs1) - return [Convert]::ToBase64String($signature) - -} - -[byte[]] $key = 0x07,0x02,0x00,0x00,0x00,0xA4,0x00,0x00,0x52,0x53,0x41,0x32,0x00,0x04,0x00,0x00, - 0x01,0x00,0x01,0x00,0x29,0x87,0xBA,0x3F,0x52,0x90,0x57,0xD8,0x12,0x26,0x6B,0x38, - 0xB2,0x3B,0xF9,0x67,0x08,0x4F,0xDD,0x8B,0xF5,0xE3,0x11,0xB8,0x61,0x3A,0x33,0x42, - 0x51,0x65,0x05,0x86,0x1E,0x00,0x41,0xDE,0xC5,0xDD,0x44,0x60,0x56,0x3D,0x14,0x39, - 0xB7,0x43,0x65,0xE9,0xF7,0x2B,0xA5,0xF0,0xA3,0x65,0x68,0xE9,0xE4,0x8B,0x5C,0x03, - 0x2D,0x36,0xFE,0x28,0x4C,0xD1,0x3C,0x3D,0xC1,0x90,0x75,0xF9,0x6E,0x02,0xE0,0x58, - 0x97,0x6A,0xCA,0x80,0x02,0x42,0x3F,0x6C,0x15,0x85,0x4D,0x83,0x23,0x6A,0x95,0x9E, - 0x38,0x52,0x59,0x38,0x6A,0x99,0xF0,0xB5,0xCD,0x53,0x7E,0x08,0x7C,0xB5,0x51,0xD3, - 0x8F,0xA3,0x0D,0xA0,0xFA,0x8D,0x87,0x3C,0xFC,0x59,0x21,0xD8,0x2E,0xD9,0x97,0x8B, - 0x40,0x60,0xB1,0xD7,0x2B,0x0A,0x6E,0x60,0xB5,0x50,0xCC,0x3C,0xB1,0x57,0xE4,0xB7, - 0xDC,0x5A,0x4D,0xE1,0x5C,0xE0,0x94,0x4C,0x5E,0x28,0xFF,0xFA,0x80,0x6A,0x13,0x53, - 0x52,0xDB,0xF3,0x04,0x92,0x43,0x38,0xB9,0x1B,0xD9,0x85,0x54,0x7B,0x14,0xC7,0x89, - 0x16,0x8A,0x4B,0x82,0xA1,0x08,0x02,0x99,0x23,0x48,0xDD,0x75,0x9C,0xC8,0xC1,0xCE, - 0xB0,0xD7,0x1B,0xD8,0xFB,0x2D,0xA7,0x2E,0x47,0xA7,0x18,0x4B,0xF6,0x29,0x69,0x44, - 0x30,0x33,0xBA,0xA7,0x1F,0xCE,0x96,0x9E,0x40,0xE1,0x43,0xF0,0xE0,0x0D,0x0A,0x32, - 0xB4,0xEE,0xA1,0xC3,0x5E,0x9B,0xC7,0x7F,0xF5,0x9D,0xD8,0xF2,0x0F,0xD9,0x8F,0xAD, - 0x75,0x0A,0x00,0xD5,0x25,0x43,0xF7,0xAE,0x51,0x7F,0xB7,0xDE,0xB7,0xAD,0xFB,0xCE, - 0x83,0xE1,0x81,0xFF,0xDD,0xA2,0x77,0xFE,0xEB,0x27,0x1F,0x10,0xFA,0x82,0x37,0xF4, - 0x7E,0xCC,0xE2,0xA1,0x58,0xC8,0xAF,0x1D,0x1A,0x81,0x31,0x6E,0xF4,0x8B,0x63,0x34, - 0xF3,0x05,0x0F,0xE1,0xCC,0x15,0xDC,0xA4,0x28,0x7A,0x9E,0xEB,0x62,0xD8,0xD8,0x8C, - 0x85,0xD7,0x07,0x87,0x90,0x2F,0xF7,0x1C,0x56,0x85,0x2F,0xEF,0x32,0x37,0x07,0xAB, - 0xB0,0xE6,0xB5,0x02,0x19,0x35,0xAF,0xDB,0xD4,0xA2,0x9C,0x36,0x80,0xC6,0xDC,0x82, - 0x08,0xE0,0xC0,0x5F,0x3C,0x59,0xAA,0x4E,0x26,0x03,0x29,0xB3,0x62,0x58,0x41,0x59, - 0x3A,0x37,0x43,0x35,0xE3,0x9F,0x34,0xE2,0xA1,0x04,0x97,0x12,0x9D,0x8C,0xAD,0xF7, - 0xFB,0x8C,0xA1,0xA2,0xE9,0xE4,0xEF,0xD9,0xC5,0xE5,0xDF,0x0E,0xBF,0x4A,0xE0,0x7A, - 0x1E,0x10,0x50,0x58,0x63,0x51,0xE1,0xD4,0xFE,0x57,0xB0,0x9E,0xD7,0xDA,0x8C,0xED, - 0x7D,0x82,0xAC,0x2F,0x25,0x58,0x0A,0x58,0xE6,0xA4,0xF4,0x57,0x4B,0xA4,0x1B,0x65, - 0xB9,0x4A,0x87,0x46,0xEB,0x8C,0x0F,0x9A,0x48,0x90,0xF9,0x9F,0x76,0x69,0x03,0x72, - 0x77,0xEC,0xC1,0x42,0x4C,0x87,0xDB,0x0B,0x3C,0xD4,0x74,0xEF,0xE5,0x34,0xE0,0x32, - 0x45,0xB0,0xF8,0xAB,0xD5,0x26,0x21,0xD7,0xD2,0x98,0x54,0x8F,0x64,0x88,0x20,0x2B, - 0x14,0xE3,0x82,0xD5,0x2A,0x4B,0x8F,0x4E,0x35,0x20,0x82,0x7E,0x1B,0xFE,0xFA,0x2C, - 0x79,0x6C,0x6E,0x66,0x94,0xBB,0x0A,0xEB,0xBA,0xD9,0x70,0x61,0xE9,0x47,0xB5,0x82, - 0xFC,0x18,0x3C,0x66,0x3A,0x09,0x2E,0x1F,0x61,0x74,0xCA,0xCB,0xF6,0x7A,0x52,0x37, - 0x1D,0xAC,0x8D,0x63,0x69,0x84,0x8E,0xC7,0x70,0x59,0xDD,0x2D,0x91,0x1E,0xF7,0xB1, - 0x56,0xED,0x7A,0x06,0x9D,0x5B,0x33,0x15,0xDD,0x31,0xD0,0xE6,0x16,0x07,0x9B,0xA5, - 0x94,0x06,0x7D,0xC1,0xE9,0xD6,0xC8,0xAF,0xB4,0x1E,0x2D,0x88,0x06,0xA7,0x63,0xB8, - 0xCF,0xC8,0xA2,0x6E,0x84,0xB3,0x8D,0xE5,0x47,0xE6,0x13,0x63,0x8E,0xD1,0x7F,0xD4, - 0x81,0x44,0x38,0xBF - -$rsa = New-Object Security.Cryptography.RSACryptoServiceProvider -$rsa.ImportCspBlob($key) -$SessionId = [Convert]::ToBase64String([Text.Encoding]::Unicode.GetBytes($env:SessionIdStr + [char]0)) -$PropertiesStr = "OA3xOriginalProductId=;OA3xOriginalProductKey=;SessionId=$SessionId;TimeStampClient=2022-10-11T12:00:00Z" -$SignatureStr = SignProperties $PropertiesStr $rsa - -$xml = @" -1.0$PropertiesStr$SignatureStr -"@ -[System.IO.File]::WriteAllText("$env:ProgramData\Microsoft\Windows\ClipSVC\GenuineTicket\GenuineTicket", ($xml -join ""), [System.Text.Encoding]::ASCII) -:sign: - -::======================================================================================================================================== - -:: Below code is used to get alternate edition name and key if current edition doesn't support KMS38 activation - -:: 1st column = Current SKU ID -:: 2nd column = Current Edition Name -:: 3rd column = Current Edition Activation ID -:: 4th column = Alternate Edition Activation ID -:: 5th column = Alternate Edition GVLK -:: 6th column = Alternate Edition Name -:: Separator = _ - - -:kms38fallback - -set notfoundaltactID= -if %_NoEditionChange%==1 exit /b - -for %%# in ( -188_IoTEnterprise__________________8ab9bdd1-1f67-4997-82d9-8878520837d9_73111121-5638-40f6-bc11-f1d7b0d64300_NPPR9-FWDCX-D2C8J-H872K-2Y%f%T43_Enterprise -206_IoTEnterpriseK_________________80083eae-7031-4394-9e88-4901973d56fe_73111121-5638-40f6-bc11-f1d7b0d64300_NPPR9-FWDCX-D2C8J-H872K-2Y%f%T43_Enterprise -191_IoTEnterpriseS-2021____________ed655016-a9e8-4434-95d9-4345352c2552_32d2fab3-e4a8-42c2-923b-4bf4fd13e6ee_M7XTQ-FN8P6-TTKYV-9D4CC-J4%f%62D_EnterpriseS-2021 -205_IoTEnterpriseSK________________d4f9b41f-205c-405e-8e08-3d16e88e02be_59eb965c-9150-42b7-a0ec-22151b9897c5_KBN8V-HFGQ4-MGXVD-347P6-PD%f%QGT_IoTEnterpriseS -138_ProfessionalSingleLanguage_____a48938aa-62fa-4966-9d44-9f04da3f72f2_2de67392-b7a7-462a-b1ca-108dd189f588_W269N-WFGWX-YVC9B-4J6C9-T8%f%3GX_Professional -139_ProfessionalCountrySpecific____f7af7d09-40e4-419c-a49b-eae366689ebd_2de67392-b7a7-462a-b1ca-108dd189f588_W269N-WFGWX-YVC9B-4J6C9-T8%f%3GX_Professional -139_ProfessionalCountrySpecific-Zn_01eb852c-424d-4060-94b8-c10d799d7364_2de67392-b7a7-462a-b1ca-108dd189f588_W269N-WFGWX-YVC9B-4J6C9-T8%f%3GX_Professional -) do ( -for /f "tokens=1-6 delims=_" %%A in ("%%#") do if %osSKU%==%%A ( -echo "!allapps!" | find /i "%%C" %nul1% && ( -echo "!allapps!" | find /i "%%D" %nul1% && ( -set altkey=%%E -set altedition=%%F -) || ( -set altedition=%%F -set notfoundaltactID=1 -) -) -) -) -exit /b - -::======================================================================================================================================== -:: Leave empty line below diff --git a/MAS/Separate-Files-Version/Activators/Online_KMS_Activation.cmd b/MAS/Separate-Files-Version/Activators/Online_KMS_Activation.cmd index 2be8ae5..ba039cb 100644 --- a/MAS/Separate-Files-Version/Activators/Online_KMS_Activation.cmd +++ b/MAS/Separate-Files-Version/Activators/Online_KMS_Activation.cmd @@ -655,7 +655,7 @@ set altedition= call :dk_actids 55c92734-d682-4d71-983e-d6ec3f16059f if defined allapps call :ksdata winkey if not defined key call :k_gvlk %nul% -if defined allapps if not defined key call :kms38fallback +if defined allapps if not defined key call :kmsfallback if defined altkey (set key=%altkey%&set changekey=1) @@ -4226,7 +4226,7 @@ exit /b :: Separator = _ -:kms38fallback +:kmsfallback set notfoundaltactID= if %_NoEditionChange%==1 exit /b diff --git a/MAS/Separate-Files-Version/Activators/_ReadMe.txt b/MAS/Separate-Files-Version/Activators/_ReadMe.txt index 058a628..9832bc8 100644 --- a/MAS/Separate-Files-Version/Activators/_ReadMe.txt +++ b/MAS/Separate-Files-Version/Activators/_ReadMe.txt @@ -5,7 +5,6 @@ Activation Type Supported Product Activation Period HWID - Windows 10-11 - Permanent Ohook - Office - Permanent TSforge - Windows / ESU / Office - Permanent -KMS38 - Windows 10-11-Server - Till the Year 2038 Online KMS - Windows / Office - 180 Days. Lifetime With Renewal Task -------------------------------------------------------------------------------------- diff --git a/MAS/Separate-Files-Version/Extract_OEM_Folder.cmd b/MAS/Separate-Files-Version/Extract_OEM_Folder.cmd index e831122..0b3bd39 100644 --- a/MAS/Separate-Files-Version/Extract_OEM_Folder.cmd +++ b/MAS/Separate-Files-Version/Extract_OEM_Folder.cmd @@ -406,7 +406,6 @@ goto done2 ) set HWID_Activation.cmd=Activators\HWID_Activation.cmd -set KMS38_Activation.cmd=Activators\KMS38_Activation.cmd set Online_KMS_Activation.cmd=Activators\Online_KMS_Activation.cmd set Ohook_Activation_AIO.cmd=Activators\Ohook_Activation_AIO.cmd set TSforge_Activation.cmd=Activators\TSforge_Activation.cmd @@ -415,7 +414,6 @@ pushd "!_work!" set _nofile= for %%# in ( %HWID_Activation.cmd% -%KMS38_Activation.cmd% %Online_KMS_Activation.cmd% %Ohook_Activation_AIO.cmd% %TSforge_Activation.cmd% @@ -449,28 +447,26 @@ echo: echo: [1] HWID [Windows] echo: [2] Ohook [Office] echo: [3] TSforge [Windows / ESU / Office] -echo: [4] KMS38 [Windows] -echo: [5] Online KMS [Windows / Office] +echo: [4] Online KMS [Windows / Office] echo: -echo: [6] HWID [Windows] ^+ Ohook [Office] -echo: [7] HWID [Windows] ^+ Ohook [Office] ^+ TSforge [ESU] -echo: [8] TSforge [Windows] ^+ Online KMS [Office] +echo: [5] HWID [Windows] ^+ Ohook [Office] +echo: [6] HWID [Windows] ^+ Ohook [Office] ^+ TSforge [ESU] +echo: [7] TSforge [Windows] ^+ Online KMS [Office] echo: call :dk_color2 %_White% " [R] " %_Green% "ReadMe" echo: [0] Exit echo: ____________________________________________________________ echo: call :dk_color2 %_White% " " %_Green% "Choose a menu option using your keyboard :" -choice /C:12345678R0 /N +choice /C:1234567R0 /N set _erl=%errorlevel% -if %_erl%==10 exit /b -if %_erl%==9 start %mas%oem-folder &goto :Menu -if %_erl%==8 goto:tsforge_kms -if %_erl%==7 goto:hwid_ohook_tsforge -if %_erl%==6 goto:hwid_ohook -if %_erl%==5 goto:kms -if %_erl%==4 goto:kms38 +if %_erl%==9 exit /b +if %_erl%==8 start %mas%oem-folder &goto :Menu +if %_erl%==7 goto:tsforge_kms +if %_erl%==6 goto:hwid_ohook_tsforge +if %_erl%==5 goto:hwid_ohook +if %_erl%==4 goto:kms if %_erl%==3 goto:tsforge if %_erl%==2 goto:ohook if %_erl%==1 goto:hwid @@ -568,36 +564,6 @@ cd \ ::======================================================================================================================================== -:kms38 - -cls -md "!desktop!\$OEM$\$$\Setup\Scripts" -pushd "!_work!" -copy /y /b "%KMS38_Activation.cmd%" "!_dir!\KMS38_Activation.cmd" %nul% -popd -call :export kms38_setup - -set _error= -if not exist "!_dir!\KMS38_Activation.cmd" set _error=1 -if not exist "!_dir!\SetupComplete.cmd" set _error=1 -if defined _error goto errorfound - -set oem=KMS38 -goto done - -:kms38_setup: -@echo off - -fltmc >nul || exit /b - -call "%~dp0KMS38_Activation.cmd" /KMS38 - -cd \ -(goto) 2>nul & (if "%~dp0"=="%SystemRoot%\Setup\Scripts\" rd /s /q "%~dp0") -:kms38_setup: - -::======================================================================================================================================== - :kms cls @@ -760,11 +726,6 @@ echo ______________________________________________________________ echo: call :dk_color %Blue% "%oem%" call :dk_color %Green% "$OEM$ folder was successfully created on your Desktop." -echo "%oem%" | find /i "38" %nul% && ( -echo: -echo To KMS38 activate Server Cor/Acor editions [No GUI Versions], -echo Check this page %mas%oem-folder -) echo ______________________________________________________________ :done2 From 117ccae4ed6bc0fb4c7b16359ad793747eace85e Mon Sep 17 00:00:00 2001 From: WindowsAddict Date: Fri, 7 Nov 2025 19:06:09 +0530 Subject: [PATCH 07/66] Change one combination for OEM folder --- MAS/All-In-One-Version-KL/MAS_AIO.cmd | 17 +++++----- .../Extract_OEM_Folder.cmd | 34 +++++++++---------- 2 files changed, 26 insertions(+), 25 deletions(-) diff --git a/MAS/All-In-One-Version-KL/MAS_AIO.cmd b/MAS/All-In-One-Version-KL/MAS_AIO.cmd index 0689192..94517c9 100644 --- a/MAS/All-In-One-Version-KL/MAS_AIO.cmd +++ b/MAS/All-In-One-Version-KL/MAS_AIO.cmd @@ -453,6 +453,7 @@ if %winbuild% GEQ 10240 if %winbuild% LEQ 19045 if not defined _serexist if not call :dk_color2 %_Green% " Tip:" %_White% " To activate ESU updates after W10 EOL, use TSforge option." ) echo: +echo: echo: ______________________________________________________________ echo: echo: Activation Methods: @@ -573,14 +574,14 @@ echo: echo: Extract $OEM$ folder on the desktop echo: ____________________________________________________________ echo: -echo: [1] HWID [Windows] -echo: [2] Ohook [Office] -echo: [3] TSforge [Windows / ESU / Office] -echo: [4] Online KMS [Windows / Office] +echo: [1] HWID [Windows] +echo: [2] Ohook [Office] +echo: [3] TSforge [Windows / ESU / Office] +echo: [4] Online KMS [Windows / Office] echo: -echo: [5] HWID [Windows] ^+ Ohook [Office] -echo: [6] HWID [Windows] ^+ Ohook [Office] ^+ TSforge [ESU] -echo: [7] TSforge [Windows] ^+ Online KMS [Office] +echo: [5] HWID [Windows] ^+ Ohook [Office] +echo: [6] HWID [Windows] ^+ Ohook [Office] ^+ TSforge [ESU] +echo: [7] TSforge [Windows / ESU] ^+ Ohook [Office] echo: call :dk_color2 %_White% " [R] " %_Green% "ReadMe" echo: [0] Go Back @@ -592,7 +593,7 @@ set _erl=%errorlevel% if %_erl%==9 goto:Extras if %_erl%==8 start %mas%oem-folder &goto:Extract$OEM$2 -if %_erl%==7 (set "_oem=TSforge [Windows] + Online KMS [Office]" & set "para=/Z-Windows /K-Office" &goto:Extract$OEM$3) +if %_erl%==7 (set "_oem=TSforge [Windows / ESU] + Ohook [Office]" & set "para=/Z-Windows /Z-ESU /Ohook" &goto:Extract$OEM$3) if %_erl%==6 (set "_oem=HWID [Windows] + Ohook [Office] + TSforge [ESU]" & set "para=/HWID /Ohook /Z-ESU" &goto:Extract$OEM$3) if %_erl%==5 (set "_oem=HWID [Windows] + Ohook [Office]" & set "para=/HWID /Ohook" &goto:Extract$OEM$3) if %_erl%==4 (set "_oem=Online KMS" & set "para=/K-WindowsOffice" &goto:Extract$OEM$3) diff --git a/MAS/Separate-Files-Version/Extract_OEM_Folder.cmd b/MAS/Separate-Files-Version/Extract_OEM_Folder.cmd index 0b3bd39..1ad1085 100644 --- a/MAS/Separate-Files-Version/Extract_OEM_Folder.cmd +++ b/MAS/Separate-Files-Version/Extract_OEM_Folder.cmd @@ -444,14 +444,14 @@ echo: echo: Extract $OEM$ folder on the desktop echo: ____________________________________________________________ echo: -echo: [1] HWID [Windows] -echo: [2] Ohook [Office] -echo: [3] TSforge [Windows / ESU / Office] -echo: [4] Online KMS [Windows / Office] +echo: [1] HWID [Windows] +echo: [2] Ohook [Office] +echo: [3] TSforge [Windows / ESU / Office] +echo: [4] Online KMS [Windows / Office] echo: -echo: [5] HWID [Windows] ^+ Ohook [Office] -echo: [6] HWID [Windows] ^+ Ohook [Office] ^+ TSforge [ESU] -echo: [7] TSforge [Windows] ^+ Online KMS [Office] +echo: [5] HWID [Windows] ^+ Ohook [Office] +echo: [6] HWID [Windows] ^+ Ohook [Office] ^+ TSforge [ESU] +echo: [7] TSforge [Windows / ESU] ^+ Ohook [Office] echo: call :dk_color2 %_White% " [R] " %_Green% "ReadMe" echo: [0] Exit @@ -463,7 +463,7 @@ set _erl=%errorlevel% if %_erl%==9 exit /b if %_erl%==8 start %mas%oem-folder &goto :Menu -if %_erl%==7 goto:tsforge_kms +if %_erl%==7 goto:tsforge_ohook if %_erl%==6 goto:hwid_ohook_tsforge if %_erl%==5 goto:hwid_ohook if %_erl%==4 goto:kms @@ -676,41 +676,41 @@ cd \ ::======================================================================================================================================== -:tsforge_kms +:tsforge_ohook cls md "!desktop!\$OEM$\$$\Setup\Scripts" pushd "!_work!" copy /y /b "%TSforge_Activation.cmd%" "!_dir!\TSforge_Activation.cmd" %nul% -copy /y /b "%Online_KMS_Activation.cmd%" "!_dir!\Online_KMS_Activation.cmd" %nul% +copy /y /b "%Ohook_Activation_AIO.cmd%" "!_dir!\Ohook_Activation_AIO.cmd" %nul% popd -call :export tsforge_kms_setup +call :export tsforge_ohook_setup set _error= if not exist "!_dir!\TSforge_Activation.cmd" set _error=1 -if not exist "!_dir!\Online_KMS_Activation.cmd" set _error=1 +if not exist "!_dir!\Ohook_Activation_AIO.cmd" set _error=1 if not exist "!_dir!\SetupComplete.cmd" set _error=1 if defined _error goto errorfound -set oem=TSforge [Windows] + Online KMS [Office] +set oem=TSforge [Windows / ESU] + Ohook [Office] goto done -:tsforge_kms_setup: +:tsforge_ohook_setup: @echo off fltmc >nul || exit /b setlocal -call "%~dp0TSforge_Activation.cmd" /Z-Windows +call "%~dp0TSforge_Activation.cmd" /Z-Windows /Z-ESU endlocal setlocal -call "%~dp0Online_KMS_Activation.cmd" /K-Office +call "%~dp0Ohook_Activation_AIO.cmd" /Ohook endlocal cd \ (goto) 2>nul & (if "%~dp0"=="%SystemRoot%\Setup\Scripts\" rd /s /q "%~dp0") -:tsforge_kms_setup: +:tsforge_ohook_setup: ::======================================================================================================================================== From 77c4bacde6a6c6370a02ebd4638a81ecbd5f32fb Mon Sep 17 00:00:00 2001 From: WindowsAddict Date: Fri, 7 Nov 2025 19:37:01 +0530 Subject: [PATCH 08/66] Fix an issue in filtering where ESU IDs are not showing in manual option --- MAS/All-In-One-Version-KL/MAS_AIO.cmd | 4 ++-- MAS/Separate-Files-Version/Activators/TSforge_Activation.cmd | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/MAS/All-In-One-Version-KL/MAS_AIO.cmd b/MAS/All-In-One-Version-KL/MAS_AIO.cmd index 94517c9..604f1b3 100644 --- a/MAS/All-In-One-Version-KL/MAS_AIO.cmd +++ b/MAS/All-In-One-Version-KL/MAS_AIO.cmd @@ -5809,14 +5809,14 @@ $filteredResults = $results | Where-Object { $true } else { - $_.Name -notlike "*CountrySpecific*" + $_.Name -like "*ESU*" -or $_.Name -notlike "*CountrySpecific*" } } | Where-Object { if ($env:tsedition -like "*CloudEdition*") { $true } else { - $_.Name -notlike "*CloudEdition*" + $_.Name -like "*ESU*" -or $_.Name -notlike "*CloudEdition*" } } | Where-Object { $_.Name -like "*CountrySpecific*" -or (IsMuiNotLocked $_.ID) diff --git a/MAS/Separate-Files-Version/Activators/TSforge_Activation.cmd b/MAS/Separate-Files-Version/Activators/TSforge_Activation.cmd index a2e8111..12cddfc 100644 --- a/MAS/Separate-Files-Version/Activators/TSforge_Activation.cmd +++ b/MAS/Separate-Files-Version/Activators/TSforge_Activation.cmd @@ -1872,14 +1872,14 @@ $filteredResults = $results | Where-Object { $true } else { - $_.Name -notlike "*CountrySpecific*" + $_.Name -like "*ESU*" -or $_.Name -notlike "*CountrySpecific*" } } | Where-Object { if ($env:tsedition -like "*CloudEdition*") { $true } else { - $_.Name -notlike "*CloudEdition*" + $_.Name -like "*ESU*" -or $_.Name -notlike "*CloudEdition*" } } | Where-Object { $_.Name -like "*CountrySpecific*" -or (IsMuiNotLocked $_.ID) From 0aee35e673469c90eceb9dd30ea2677a8b304522 Mon Sep 17 00:00:00 2001 From: WindowsAddict Date: Sat, 8 Nov 2025 03:30:26 +0530 Subject: [PATCH 09/66] Add HWID support for WNC edition --- MAS/All-In-One-Version-KL/MAS_AIO.cmd | 1 + MAS/Separate-Files-Version/Activators/HWID_Activation.cmd | 1 + 2 files changed, 2 insertions(+) diff --git a/MAS/All-In-One-Version-KL/MAS_AIO.cmd b/MAS/All-In-One-Version-KL/MAS_AIO.cmd index 604f1b3..4069d1d 100644 --- a/MAS/All-In-One-Version-KL/MAS_AIO.cmd +++ b/MAS/All-In-One-Version-KL/MAS_AIO.cmd @@ -2345,6 +2345,7 @@ d4bdc678-0a4b-4a32-a5b3-aaa24c3b0f24_K9VKN-3BGWV-Y624W-MCRMQ-BH%f%DCD_202_X22-53 92fb8726-92a8-4ffc-94ce-f82e07444653_KY7PN-VR6RX-83W6Y-6DDYQ-T6%f%R4W_203_X22-53847_0_____Retail_CloudEdition 5a85300a-bfce-474f-ac07-a30983e3fb90_N979K-XWD77-YW3GB-HBGH6-D3%f%2MH_205_X23-15042_0_____OEM:DM_IoTEnterpriseSK 80083eae-7031-4394-9e88-4901973d56fe_P8Q7T-WNK7X-PMFXY-VXHBG-RR%f%K69_206_X23-62084_0_____OEM:DM_IoTEnterpriseK +1bc2140b-285b-4351-b99c-26a126104b29_TMP2N-KGFHJ-PWM6F-68KCQ-3P%f%JBP_210_X23-60513_0_____Retail_WNC ) do ( for /f "tokens=1-9 delims=_" %%A in ("%%#") do ( diff --git a/MAS/Separate-Files-Version/Activators/HWID_Activation.cmd b/MAS/Separate-Files-Version/Activators/HWID_Activation.cmd index 0bada26..3326546 100644 --- a/MAS/Separate-Files-Version/Activators/HWID_Activation.cmd +++ b/MAS/Separate-Files-Version/Activators/HWID_Activation.cmd @@ -2038,6 +2038,7 @@ d4bdc678-0a4b-4a32-a5b3-aaa24c3b0f24_K9VKN-3BGWV-Y624W-MCRMQ-BH%f%DCD_202_X22-53 92fb8726-92a8-4ffc-94ce-f82e07444653_KY7PN-VR6RX-83W6Y-6DDYQ-T6%f%R4W_203_X22-53847_0_____Retail_CloudEdition 5a85300a-bfce-474f-ac07-a30983e3fb90_N979K-XWD77-YW3GB-HBGH6-D3%f%2MH_205_X23-15042_0_____OEM:DM_IoTEnterpriseSK 80083eae-7031-4394-9e88-4901973d56fe_P8Q7T-WNK7X-PMFXY-VXHBG-RR%f%K69_206_X23-62084_0_____OEM:DM_IoTEnterpriseK +1bc2140b-285b-4351-b99c-26a126104b29_TMP2N-KGFHJ-PWM6F-68KCQ-3P%f%JBP_210_X23-60513_0_____Retail_WNC ) do ( for /f "tokens=1-9 delims=_" %%A in ("%%#") do ( From 1e444671be3b0a53681737b00b09c454894f6999 Mon Sep 17 00:00:00 2001 From: WindowsAddict Date: Sun, 9 Nov 2025 06:03:18 +0530 Subject: [PATCH 10/66] Fix KMS4k activation info on 26100.7019 and later --- MAS/All-In-One-Version-KL/MAS_AIO.cmd | 8 ++++++-- .../Activators/TSforge_Activation.cmd | 8 ++++++-- 2 files changed, 12 insertions(+), 4 deletions(-) diff --git a/MAS/All-In-One-Version-KL/MAS_AIO.cmd b/MAS/All-In-One-Version-KL/MAS_AIO.cmd index 4069d1d..6aaca53 100644 --- a/MAS/All-In-One-Version-KL/MAS_AIO.cmd +++ b/MAS/All-In-One-Version-KL/MAS_AIO.cmd @@ -5891,7 +5891,7 @@ 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 ( -if /i %tsmethod%==KMS4k if %winbuild% GEQ 26200 ( +if /i %tsmethod%==KMS4k if %winbuild% GEQ 26100 ( echo: call :dk_color %Gray% "In Windows settings, you may see a renewal notification for activation that can be ignored." if /i %_actmethod%==Auto call :dk_color %Gray% "To avoid this notification, run the script with an internet connection to use the StaticCID method." @@ -11275,6 +11275,7 @@ namespace LibTSforge.PhysicalStore $ErrorActionPreference = 'Stop' $binPath = "$env:_work\BIN\LibTSforge.dll" $psMajorVer = (Get-Host).Version.Major +$build = [System.Environment]::OSVersion.Version.Build if (Test-Path -LiteralPath $binPath) { Write-Host "LibTSforge.dll found in BIN folder. Loading the DLL..." @@ -11373,7 +11374,7 @@ if (-not $env:resetstuff) { } if ($env:tsmethod -eq "KMS4k") { $GracePeriodStatus = Get-WmiInfo -tsactid $tsactid -property "GracePeriodRemaining" - if ($GracePeriodStatus -gt 259200) { $activated = 1 } + if ((($build -ge 26100 -and $GracePeriodStatus -ge 259200) -or ($build -lt 26100 -and $GracePeriodStatus -gt 259200))) { $activated = 1 } } else { $licenseStatus = Get-WmiInfo -tsactid $tsactid -property "LicenseStatus" @@ -11388,6 +11389,9 @@ if (-not $env:resetstuff) { else { if ($env:tsmethod -eq "KMS4k") { Write-Host "[$prodName] is activated till $([DateTime]::Now.AddMinutes($GracePeriodStatus).ToString('yyyy-MM-dd HH:mm:ss')) with $env:tsmethod." -ForegroundColor White -BackgroundColor DarkGreen + if ($build -ge 26100) { + Write-Host "From build 26100.7019, Windows shows 180-day max, but activation lasts over 4,000 years, so it always stays at 180." -ForegroundColor White -BackgroundColor Darkgray + } } else { Write-Host "[$prodName] is permanently activated with $env:tsmethod." -ForegroundColor White -BackgroundColor DarkGreen diff --git a/MAS/Separate-Files-Version/Activators/TSforge_Activation.cmd b/MAS/Separate-Files-Version/Activators/TSforge_Activation.cmd index 12cddfc..8e6d534 100644 --- a/MAS/Separate-Files-Version/Activators/TSforge_Activation.cmd +++ b/MAS/Separate-Files-Version/Activators/TSforge_Activation.cmd @@ -1953,7 +1953,7 @@ 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 ( -if /i %tsmethod%==KMS4k if %winbuild% GEQ 26200 ( +if /i %tsmethod%==KMS4k if %winbuild% GEQ 26100 ( echo: call :dk_color %Gray% "In Windows settings, you may see a renewal notification for activation that can be ignored." if /i %_actmethod%==Auto call :dk_color %Gray% "To avoid this notification, run the script with an internet connection to use the StaticCID method." @@ -8848,6 +8848,7 @@ namespace LibTSforge.PhysicalStore $ErrorActionPreference = 'Stop' $binPath = "$env:_work\BIN\LibTSforge.dll" $psMajorVer = (Get-Host).Version.Major +$build = [System.Environment]::OSVersion.Version.Build if (Test-Path -LiteralPath $binPath) { Write-Host "LibTSforge.dll found in BIN folder. Loading the DLL..." @@ -8946,7 +8947,7 @@ if (-not $env:resetstuff) { } if ($env:tsmethod -eq "KMS4k") { $GracePeriodStatus = Get-WmiInfo -tsactid $tsactid -property "GracePeriodRemaining" - if ($GracePeriodStatus -gt 259200) { $activated = 1 } + if ((($build -ge 26100 -and $GracePeriodStatus -ge 259200) -or ($build -lt 26100 -and $GracePeriodStatus -gt 259200))) { $activated = 1 } } else { $licenseStatus = Get-WmiInfo -tsactid $tsactid -property "LicenseStatus" @@ -8961,6 +8962,9 @@ if (-not $env:resetstuff) { else { if ($env:tsmethod -eq "KMS4k") { Write-Host "[$prodName] is activated till $([DateTime]::Now.AddMinutes($GracePeriodStatus).ToString('yyyy-MM-dd HH:mm:ss')) with $env:tsmethod." -ForegroundColor White -BackgroundColor DarkGreen + if ($build -ge 26100) { + Write-Host "From build 26100.7019, Windows shows 180-day max, but activation lasts over 4,000 years, so it always stays at 180." -ForegroundColor White -BackgroundColor Darkgray + } } else { Write-Host "[$prodName] is permanently activated with $env:tsmethod." -ForegroundColor White -BackgroundColor DarkGreen From 4bf82f576c143ed89151c03219b667d1e13e99b8 Mon Sep 17 00:00:00 2001 From: WindowsAddict Date: Sun, 9 Nov 2025 16:54:55 +0530 Subject: [PATCH 11/66] Improve KMS4k activation info --- MAS/All-In-One-Version-KL/MAS_AIO.cmd | 14 +++++++++++--- .../Activators/TSforge_Activation.cmd | 14 +++++++++++--- 2 files changed, 22 insertions(+), 6 deletions(-) diff --git a/MAS/All-In-One-Version-KL/MAS_AIO.cmd b/MAS/All-In-One-Version-KL/MAS_AIO.cmd index 6aaca53..ced64c8 100644 --- a/MAS/All-In-One-Version-KL/MAS_AIO.cmd +++ b/MAS/All-In-One-Version-KL/MAS_AIO.cmd @@ -11374,7 +11374,12 @@ if (-not $env:resetstuff) { } if ($env:tsmethod -eq "KMS4k") { $GracePeriodStatus = Get-WmiInfo -tsactid $tsactid -property "GracePeriodRemaining" - if ((($build -ge 26100 -and $GracePeriodStatus -ge 259200) -or ($build -lt 26100 -and $GracePeriodStatus -gt 259200))) { $activated = 1 } + if ($GracePeriodStatus -eq 259200 -or ([datetime]::Now.AddMinutes($GracePeriodStatus)).Year -gt 2038) { + if ((($build -ge 26100 -and $GracePeriodStatus -ge 259200) -or + ($build -lt 26100 -and $GracePeriodStatus -gt 259200))) { + $activated = 1 + } + } } else { $licenseStatus = Get-WmiInfo -tsactid $tsactid -property "LicenseStatus" @@ -11388,9 +11393,12 @@ if (-not $env:resetstuff) { } else { if ($env:tsmethod -eq "KMS4k") { - Write-Host "[$prodName] is activated till $([DateTime]::Now.AddMinutes($GracePeriodStatus).ToString('yyyy-MM-dd HH:mm:ss')) with $env:tsmethod." -ForegroundColor White -BackgroundColor DarkGreen if ($build -ge 26100) { - Write-Host "From build 26100.7019, Windows shows 180-day max, but activation lasts over 4,000 years, so it always stays at 180." -ForegroundColor White -BackgroundColor Darkgray + Write-Host "[$prodName] is activated with KMS4k for over 4,000 years." -ForegroundColor White -BackgroundColor DarkGreen + Write-Host "From build 26100.7019, Windows will always display and stay at 180 days remaining if the actual period is longer." -ForegroundColor White -BackgroundColor Darkgray + } + else { + Write-Host "[$prodName] is activated till $([DateTime]::Now.AddMinutes($GracePeriodStatus).ToString('yyyy-MM-dd HH:mm:ss')) with $env:tsmethod." -ForegroundColor White -BackgroundColor DarkGreen } } else { diff --git a/MAS/Separate-Files-Version/Activators/TSforge_Activation.cmd b/MAS/Separate-Files-Version/Activators/TSforge_Activation.cmd index 8e6d534..fc5f28d 100644 --- a/MAS/Separate-Files-Version/Activators/TSforge_Activation.cmd +++ b/MAS/Separate-Files-Version/Activators/TSforge_Activation.cmd @@ -8947,7 +8947,12 @@ if (-not $env:resetstuff) { } if ($env:tsmethod -eq "KMS4k") { $GracePeriodStatus = Get-WmiInfo -tsactid $tsactid -property "GracePeriodRemaining" - if ((($build -ge 26100 -and $GracePeriodStatus -ge 259200) -or ($build -lt 26100 -and $GracePeriodStatus -gt 259200))) { $activated = 1 } + if ($GracePeriodStatus -eq 259200 -or ([datetime]::Now.AddMinutes($GracePeriodStatus)).Year -gt 2038) { + if ((($build -ge 26100 -and $GracePeriodStatus -ge 259200) -or + ($build -lt 26100 -and $GracePeriodStatus -gt 259200))) { + $activated = 1 + } + } } else { $licenseStatus = Get-WmiInfo -tsactid $tsactid -property "LicenseStatus" @@ -8961,9 +8966,12 @@ if (-not $env:resetstuff) { } else { if ($env:tsmethod -eq "KMS4k") { - Write-Host "[$prodName] is activated till $([DateTime]::Now.AddMinutes($GracePeriodStatus).ToString('yyyy-MM-dd HH:mm:ss')) with $env:tsmethod." -ForegroundColor White -BackgroundColor DarkGreen if ($build -ge 26100) { - Write-Host "From build 26100.7019, Windows shows 180-day max, but activation lasts over 4,000 years, so it always stays at 180." -ForegroundColor White -BackgroundColor Darkgray + Write-Host "[$prodName] is activated with KMS4k for over 4,000 years." -ForegroundColor White -BackgroundColor DarkGreen + Write-Host "From build 26100.7019, Windows will always display and stay at 180 days remaining if the actual period is longer." -ForegroundColor White -BackgroundColor Darkgray + } + else { + Write-Host "[$prodName] is activated till $([DateTime]::Now.AddMinutes($GracePeriodStatus).ToString('yyyy-MM-dd HH:mm:ss')) with $env:tsmethod." -ForegroundColor White -BackgroundColor DarkGreen } } else { From 0a35a0026606222a76380fc255efb592449529da Mon Sep 17 00:00:00 2001 From: WindowsAddict Date: Tue, 11 Nov 2025 02:25:55 +0530 Subject: [PATCH 12/66] Change key preference order in Change Windows edition script. Thanks to Magic. --- MAS/All-In-One-Version-KL/MAS_AIO.cmd | 2 +- MAS/Separate-Files-Version/Change_Windows_Edition.cmd | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/MAS/All-In-One-Version-KL/MAS_AIO.cmd b/MAS/All-In-One-Version-KL/MAS_AIO.cmd index ced64c8..67a513b 100644 --- a/MAS/All-In-One-Version-KL/MAS_AIO.cmd +++ b/MAS/All-In-One-Version-KL/MAS_AIO.cmd @@ -17396,7 +17396,7 @@ set _dismapi=1 ) ) -set "keyflow=Retail Volume:GVLK Volume:MAK OEM:NONSLP OEM:DM PGS:TB Retail:TB:Eval" +set "keyflow=Retail OEM:NONSLP OEM:DM Volume:MAK Volume:GVLK PGS:TB Retail:TB:Eval" call :ced_targetSKU %targetedition% if defined targetSKU call :ced_windowskey diff --git a/MAS/Separate-Files-Version/Change_Windows_Edition.cmd b/MAS/Separate-Files-Version/Change_Windows_Edition.cmd index a38ac4e..76eb714 100644 --- a/MAS/Separate-Files-Version/Change_Windows_Edition.cmd +++ b/MAS/Separate-Files-Version/Change_Windows_Edition.cmd @@ -604,7 +604,7 @@ set _dismapi=1 ) ) -set "keyflow=Retail Volume:GVLK Volume:MAK OEM:NONSLP OEM:DM PGS:TB Retail:TB:Eval" +set "keyflow=Retail OEM:NONSLP OEM:DM Volume:MAK Volume:GVLK PGS:TB Retail:TB:Eval" call :ced_targetSKU %targetedition% if defined targetSKU call :ced_windowskey From 82f7cfe5f4615b929710696cc815bb0e46fcb0e5 Mon Sep 17 00:00:00 2001 From: WindowsAddict Date: Tue, 11 Nov 2025 04:15:09 +0530 Subject: [PATCH 13/66] Auto select Quick repair option for Office 16.0 C2R. Thanks to Yerong for the suggestion. --- MAS/All-In-One-Version-KL/MAS_AIO.cmd | 37 ++++++++++++--------- MAS/Separate-Files-Version/Troubleshoot.cmd | 37 ++++++++++++--------- 2 files changed, 42 insertions(+), 32 deletions(-) diff --git a/MAS/All-In-One-Version-KL/MAS_AIO.cmd b/MAS/All-In-One-Version-KL/MAS_AIO.cmd index 67a513b..e733ad1 100644 --- a/MAS/All-In-One-Version-KL/MAS_AIO.cmd +++ b/MAS/All-In-One-Version-KL/MAS_AIO.cmd @@ -16584,8 +16584,8 @@ for /f "skip=2 tokens=2*" %%a in ('"reg query %_68%\16.0\Common\InstallRoot /v P 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" & call :getc2rrepair c2r15repair86 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" & call :getc2rrepair c2r15repair68 integratedoffice.exe) -for /f "skip=2 tokens=2*" %%a in ('"reg query %_86%\ClickToRun /v InstallPath" %nul6%') do if exist "%%b\root\Licenses16\ProPlus*.xrm-ms" (set "c2r16_86=Office 16.0 C2R x86" & call :getc2rrepair c2r16repair86 OfficeClickToRun.exe) -for /f "skip=2 tokens=2*" %%a in ('"reg query %_68%\ClickToRun /v InstallPath" %nul6%') do if exist "%%b\root\Licenses16\ProPlus*.xrm-ms" (set "c2r16_68=Office 16.0 C2R x86/x64" & call :getc2rrepair c2r16repair68 OfficeClickToRun.exe) +for /f "skip=2 tokens=2*" %%a in ('"reg query %_86%\ClickToRun /v InstallPath" %nul6%') do if exist "%%b\root\Licenses16\ProPlus*.xrm-ms" (set "c2r16_86=Office 16.0 C2R x86" & call :getc2r16repair c2r16repair86 OfficeClickToRun.exe) +for /f "skip=2 tokens=2*" %%a in ('"reg query %_68%\ClickToRun /v InstallPath" %nul6%') do if exist "%%b\root\Licenses16\ProPlus*.xrm-ms" (set "c2r16_68=Office 16.0 C2R x86/x64" & call :getc2r16repair c2r16repair68 OfficeClickToRun.exe) set uwp16= if %winbuild% GEQ 10240 ( @@ -16627,13 +16627,11 @@ echo ________________________________________________________________ echo: ) -if %counter% EQU 0 ( echo: +if %counter% EQU 0 ( echo Office ^(2010 and later^) is not installed. goto :repairend -echo: -) else ( -echo: +) else if not defined c2r16_68 if not defined c2r16_86 ( call :dk_color %_Yellow% "A new window will appear, in that window you need to select [Quick Repair] option." if defined terminal ( call :dk_color %_Yellow% "Press [0] to continue..." @@ -16660,16 +16658,16 @@ echo Skipping repair for Office 14.0 C2R... echo: ) -if defined msi14_68 if exist "%msi14repair68%" echo Running - "%msi14repair68%" & "%msi14repair68%" -if defined msi14_86 if exist "%msi14repair86%" echo Running - "%msi14repair86%" & "%msi14repair86%" -if defined msi15_68 if exist "%msi15repair68%" echo Running - "%msi15repair68%" & "%msi15repair68%" -if defined msi15_86 if exist "%msi15repair86%" echo Running - "%msi15repair86%" & "%msi15repair86%" -if defined msi16_68 if exist "%msi16repair68%" echo Running - "%msi16repair68%" & "%msi16repair68%" -if defined msi16_86 if exist "%msi16repair86%" echo Running - "%msi16repair86%" & "%msi16repair86%" -if defined c2r15_68 if exist "%c2r15repair68%" echo Running - "%c2r15repair68%" REPAIRUI RERUNMODE & "%c2r15repair68%" REPAIRUI RERUNMODE -if defined c2r15_86 if exist "%c2r15repair86%" echo Running - "%c2r15repair86%" REPAIRUI RERUNMODE & "%c2r15repair86%" REPAIRUI RERUNMODE -if defined c2r16_68 if exist "%c2r16repair68%" echo Running - "%c2r16repair68%" scenario=Repair & "%c2r16repair68%" scenario=Repair -if defined c2r16_86 if exist "%c2r16repair86%" echo Running - "%c2r16repair86%" scenario=Repair & "%c2r16repair86%" scenario=Repair +if defined msi14_68 if exist "%msi14repair68%" echo Running - "%msi14repair68%" & "%msi14repair68%" +if defined msi14_86 if exist "%msi14repair86%" echo Running - "%msi14repair86%" & "%msi14repair86%" +if defined msi15_68 if exist "%msi15repair68%" echo Running - "%msi15repair68%" & "%msi15repair68%" +if defined msi15_86 if exist "%msi15repair86%" echo Running - "%msi15repair86%" & "%msi15repair86%" +if defined msi16_68 if exist "%msi16repair68%" echo Running - "%msi16repair68%" & "%msi16repair68%" +if defined msi16_86 if exist "%msi16repair86%" echo Running - "%msi16repair86%" & "%msi16repair86%" +if defined c2r15_68 if exist "%c2r15repair68%" echo Running - "%c2r15repair68%" REPAIRUI RERUNMODE & "%c2r15repair68%" REPAIRUI RERUNMODE +if defined c2r15_86 if exist "%c2r15repair86%" echo Running - "%c2r15repair86%" REPAIRUI RERUNMODE & "%c2r15repair86%" REPAIRUI RERUNMODE +if defined c2r16_68 if exist "%c2r16repair68%" echo Running - "%c2r16repair68%" Scenario=Repair RepairType=QuickRepair & "%c2r16repair68%" Scenario=Repair RepairType=QuickRepair +if defined c2r16_86 if exist "%c2r16repair86%" echo Running - "%c2r16repair86%" Scenario=Repair RepairType=QuickRepair & "%c2r16repair86%" Scenario=Repair RepairType=QuickRepair :repairend @@ -16689,6 +16687,13 @@ set "%1=%systemdrive%\Program Files\Microsoft Office 15\Client%%#\%2" ) exit /b +:getc2r16repair + +for %%# in (%_68% %_86%) do ( +for /f "skip=2 tokens=2*" %%a in ('"reg query %%#\ClickToRun\Configuration /v ClientFolder" %nul6%') do if exist "%%b\%2" (set "%1=%%b\%2") +) +exit /b + :getrepairsetup set "_common86=%systemdrive%\Program Files (x86)\Common Files\Microsoft Shared\OFFICE%2\Office Setup Controller\setup.exe" diff --git a/MAS/Separate-Files-Version/Troubleshoot.cmd b/MAS/Separate-Files-Version/Troubleshoot.cmd index a6e17f5..3a6ca4e 100644 --- a/MAS/Separate-Files-Version/Troubleshoot.cmd +++ b/MAS/Separate-Files-Version/Troubleshoot.cmd @@ -945,8 +945,8 @@ for /f "skip=2 tokens=2*" %%a in ('"reg query %_68%\16.0\Common\InstallRoot /v P 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" & call :getc2rrepair c2r15repair86 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" & call :getc2rrepair c2r15repair68 integratedoffice.exe) -for /f "skip=2 tokens=2*" %%a in ('"reg query %_86%\ClickToRun /v InstallPath" %nul6%') do if exist "%%b\root\Licenses16\ProPlus*.xrm-ms" (set "c2r16_86=Office 16.0 C2R x86" & call :getc2rrepair c2r16repair86 OfficeClickToRun.exe) -for /f "skip=2 tokens=2*" %%a in ('"reg query %_68%\ClickToRun /v InstallPath" %nul6%') do if exist "%%b\root\Licenses16\ProPlus*.xrm-ms" (set "c2r16_68=Office 16.0 C2R x86/x64" & call :getc2rrepair c2r16repair68 OfficeClickToRun.exe) +for /f "skip=2 tokens=2*" %%a in ('"reg query %_86%\ClickToRun /v InstallPath" %nul6%') do if exist "%%b\root\Licenses16\ProPlus*.xrm-ms" (set "c2r16_86=Office 16.0 C2R x86" & call :getc2r16repair c2r16repair86 OfficeClickToRun.exe) +for /f "skip=2 tokens=2*" %%a in ('"reg query %_68%\ClickToRun /v InstallPath" %nul6%') do if exist "%%b\root\Licenses16\ProPlus*.xrm-ms" (set "c2r16_68=Office 16.0 C2R x86/x64" & call :getc2r16repair c2r16repair68 OfficeClickToRun.exe) set uwp16= if %winbuild% GEQ 10240 ( @@ -988,13 +988,11 @@ echo ________________________________________________________________ echo: ) -if %counter% EQU 0 ( echo: +if %counter% EQU 0 ( echo Office ^(2010 and later^) is not installed. goto :repairend -echo: -) else ( -echo: +) else if not defined c2r16_68 if not defined c2r16_86 ( call :dk_color %_Yellow% "A new window will appear, in that window you need to select [Quick Repair] option." if defined terminal ( call :dk_color %_Yellow% "Press [0] to continue..." @@ -1021,16 +1019,16 @@ echo Skipping repair for Office 14.0 C2R... echo: ) -if defined msi14_68 if exist "%msi14repair68%" echo Running - "%msi14repair68%" & "%msi14repair68%" -if defined msi14_86 if exist "%msi14repair86%" echo Running - "%msi14repair86%" & "%msi14repair86%" -if defined msi15_68 if exist "%msi15repair68%" echo Running - "%msi15repair68%" & "%msi15repair68%" -if defined msi15_86 if exist "%msi15repair86%" echo Running - "%msi15repair86%" & "%msi15repair86%" -if defined msi16_68 if exist "%msi16repair68%" echo Running - "%msi16repair68%" & "%msi16repair68%" -if defined msi16_86 if exist "%msi16repair86%" echo Running - "%msi16repair86%" & "%msi16repair86%" -if defined c2r15_68 if exist "%c2r15repair68%" echo Running - "%c2r15repair68%" REPAIRUI RERUNMODE & "%c2r15repair68%" REPAIRUI RERUNMODE -if defined c2r15_86 if exist "%c2r15repair86%" echo Running - "%c2r15repair86%" REPAIRUI RERUNMODE & "%c2r15repair86%" REPAIRUI RERUNMODE -if defined c2r16_68 if exist "%c2r16repair68%" echo Running - "%c2r16repair68%" scenario=Repair & "%c2r16repair68%" scenario=Repair -if defined c2r16_86 if exist "%c2r16repair86%" echo Running - "%c2r16repair86%" scenario=Repair & "%c2r16repair86%" scenario=Repair +if defined msi14_68 if exist "%msi14repair68%" echo Running - "%msi14repair68%" & "%msi14repair68%" +if defined msi14_86 if exist "%msi14repair86%" echo Running - "%msi14repair86%" & "%msi14repair86%" +if defined msi15_68 if exist "%msi15repair68%" echo Running - "%msi15repair68%" & "%msi15repair68%" +if defined msi15_86 if exist "%msi15repair86%" echo Running - "%msi15repair86%" & "%msi15repair86%" +if defined msi16_68 if exist "%msi16repair68%" echo Running - "%msi16repair68%" & "%msi16repair68%" +if defined msi16_86 if exist "%msi16repair86%" echo Running - "%msi16repair86%" & "%msi16repair86%" +if defined c2r15_68 if exist "%c2r15repair68%" echo Running - "%c2r15repair68%" REPAIRUI RERUNMODE & "%c2r15repair68%" REPAIRUI RERUNMODE +if defined c2r15_86 if exist "%c2r15repair86%" echo Running - "%c2r15repair86%" REPAIRUI RERUNMODE & "%c2r15repair86%" REPAIRUI RERUNMODE +if defined c2r16_68 if exist "%c2r16repair68%" echo Running - "%c2r16repair68%" Scenario=Repair RepairType=QuickRepair & "%c2r16repair68%" Scenario=Repair RepairType=QuickRepair +if defined c2r16_86 if exist "%c2r16repair86%" echo Running - "%c2r16repair86%" Scenario=Repair RepairType=QuickRepair & "%c2r16repair86%" Scenario=Repair RepairType=QuickRepair :repairend @@ -1050,6 +1048,13 @@ set "%1=%systemdrive%\Program Files\Microsoft Office 15\Client%%#\%2" ) exit /b +:getc2r16repair + +for %%# in (%_68% %_86%) do ( +for /f "skip=2 tokens=2*" %%a in ('"reg query %%#\ClickToRun\Configuration /v ClientFolder" %nul6%') do if exist "%%b\%2" (set "%1=%%b\%2") +) +exit /b + :getrepairsetup set "_common86=%systemdrive%\Program Files (x86)\Common Files\Microsoft Shared\OFFICE%2\Office Setup Controller\setup.exe" From 979dfb750bb5589bb7a257f082969ca59a7fad19 Mon Sep 17 00:00:00 2001 From: WindowsAddict Date: Tue, 11 Nov 2025 14:46:32 +0530 Subject: [PATCH 14/66] Update as per abbodi1406's CAS No KMS Client info when ADBA is shown --- MAS/All-In-One-Version-KL/MAS_AIO.cmd | 19 +++++++++++-------- .../Check_Activation_Status.cmd | 19 +++++++++++-------- 2 files changed, 22 insertions(+), 16 deletions(-) diff --git a/MAS/All-In-One-Version-KL/MAS_AIO.cmd b/MAS/All-In-One-Version-KL/MAS_AIO.cmd index e733ad1..e061840 100644 --- a/MAS/All-In-One-Version-KL/MAS_AIO.cmd +++ b/MAS/All-In-One-Version-KL/MAS_AIO.cmd @@ -14965,6 +14965,7 @@ function DetectSubscription { function DetectAdbaClient { $propADBA | foreach { set $_ (SlGetInfoSku $licID $_) } + DetectActType CONOUT "`nAD Activation client information:" CONOUT " Object Name: $ADActivationObjectName" CONOUT " Domain Name: $ADActivationObjectDN" @@ -15055,17 +15056,18 @@ function DetectKmsHost if ($null -NE $KeyManagementServiceNotificationRequests) {CONOUT " Notification: $KeyManagementServiceNotificationRequests"} } -function DetectKmsClient +function DetectActType { - if ($win8) - { - $VLType = strGetRegistry ($SPKeyPath + '\' + $strApp + '\' + $licID) "VLActivationType" - if ($null -EQ $VLType) {$VLType = strGetRegistry ($SPKeyPath + '\' + $strApp) "VLActivationType"} - if ($null -EQ $VLType) {$VLType = strGetRegistry ($SPKeyPath) "VLActivationType"} - if ($null -EQ $VLType -Or $VLType -GT 3) {$VLType = 0} - } + $VLType = strGetRegistry ($SPKeyPath + '\' + $strApp + '\' + $licID) "VLActivationType" + if ($null -EQ $VLType) {$VLType = strGetRegistry ($SPKeyPath + '\' + $strApp) "VLActivationType"} + if ($null -EQ $VLType) {$VLType = strGetRegistry ($SPKeyPath) "VLActivationType"} + if ($null -EQ $VLType -Or $VLType -GT 3) {$VLType = 0} if ($null -NE $VLType) {CONOUT "Configured Activation Type: $($VLActTypes[$VLType])"} +} +function DetectKmsClient +{ + if ($win8) {DetectActType} CONOUT "`r" if ($LicenseStatus -NE 1) { CONOUT "Please activate the product in order to update KMS client information values." @@ -15313,6 +15315,7 @@ function GetResult($strSLP, $strApp, $entry) if ($win8 -And $VLActivationType -EQ 1) { DetectAdbaClient + $cKmsClient = $null } if ($winID -And $null -NE $cAvmClient) { diff --git a/MAS/Separate-Files-Version/Check_Activation_Status.cmd b/MAS/Separate-Files-Version/Check_Activation_Status.cmd index 83f64cc..a7959ef 100644 --- a/MAS/Separate-Files-Version/Check_Activation_Status.cmd +++ b/MAS/Separate-Files-Version/Check_Activation_Status.cmd @@ -518,6 +518,7 @@ function DetectSubscription { function DetectAdbaClient { $propADBA | foreach { set $_ (SlGetInfoSku $licID $_) } + DetectActType CONOUT "`nAD Activation client information:" CONOUT " Object Name: $ADActivationObjectName" CONOUT " Domain Name: $ADActivationObjectDN" @@ -608,17 +609,18 @@ function DetectKmsHost if ($null -NE $KeyManagementServiceNotificationRequests) {CONOUT " Notification: $KeyManagementServiceNotificationRequests"} } -function DetectKmsClient +function DetectActType { - if ($win8) - { - $VLType = strGetRegistry ($SPKeyPath + '\' + $strApp + '\' + $licID) "VLActivationType" - if ($null -EQ $VLType) {$VLType = strGetRegistry ($SPKeyPath + '\' + $strApp) "VLActivationType"} - if ($null -EQ $VLType) {$VLType = strGetRegistry ($SPKeyPath) "VLActivationType"} - if ($null -EQ $VLType -Or $VLType -GT 3) {$VLType = 0} - } + $VLType = strGetRegistry ($SPKeyPath + '\' + $strApp + '\' + $licID) "VLActivationType" + if ($null -EQ $VLType) {$VLType = strGetRegistry ($SPKeyPath + '\' + $strApp) "VLActivationType"} + if ($null -EQ $VLType) {$VLType = strGetRegistry ($SPKeyPath) "VLActivationType"} + if ($null -EQ $VLType -Or $VLType -GT 3) {$VLType = 0} if ($null -NE $VLType) {CONOUT "Configured Activation Type: $($VLActTypes[$VLType])"} +} +function DetectKmsClient +{ + if ($win8) {DetectActType} CONOUT "`r" if ($LicenseStatus -NE 1) { CONOUT "Please activate the product in order to update KMS client information values." @@ -866,6 +868,7 @@ function GetResult($strSLP, $strApp, $entry) if ($win8 -And $VLActivationType -EQ 1) { DetectAdbaClient + $cKmsClient = $null } if ($winID -And $null -NE $cAvmClient) { From f4e08dac3de82f797e7b9ff6d70174b54a758aee Mon Sep 17 00:00:00 2001 From: WindowsAddict Date: Tue, 11 Nov 2025 15:27:47 +0530 Subject: [PATCH 15/66] Update WLMS service check --- MAS/All-In-One-Version-KL/MAS_AIO.cmd | 4 +++- MAS/Separate-Files-Version/Activators/HWID_Activation.cmd | 4 +++- .../Activators/Ohook_Activation_AIO.cmd | 4 +++- .../Activators/Online_KMS_Activation.cmd | 4 +++- MAS/Separate-Files-Version/Activators/TSforge_Activation.cmd | 4 +++- 5 files changed, 15 insertions(+), 5 deletions(-) diff --git a/MAS/All-In-One-Version-KL/MAS_AIO.cmd b/MAS/All-In-One-Version-KL/MAS_AIO.cmd index e061840..3c95faf 100644 --- a/MAS/All-In-One-Version-KL/MAS_AIO.cmd +++ b/MAS/All-In-One-Version-KL/MAS_AIO.cmd @@ -2127,7 +2127,9 @@ call :dk_color %Gray% "Checking SLC/WMI SKU [Difference Found :: This "WLMS" service was included in previous Eval editions (which were activable) to automatically shut down the system every hour after the evaluation period expired and prevent SPPSVC from stopping. -if exist "%SysPath%\wlms\wlms.exe" ( +sc query wlms %nul% + +if %errorlevel% NEQ 1060 ( echo Checking Eval WLMS Service [Found] ) diff --git a/MAS/Separate-Files-Version/Activators/HWID_Activation.cmd b/MAS/Separate-Files-Version/Activators/HWID_Activation.cmd index 3326546..cbb92c0 100644 --- a/MAS/Separate-Files-Version/Activators/HWID_Activation.cmd +++ b/MAS/Separate-Files-Version/Activators/HWID_Activation.cmd @@ -1820,7 +1820,9 @@ call :dk_color %Gray% "Checking SLC/WMI SKU [Difference Found :: This "WLMS" service was included in previous Eval editions (which were activable) to automatically shut down the system every hour after the evaluation period expired and prevent SPPSVC from stopping. -if exist "%SysPath%\wlms\wlms.exe" ( +sc query wlms %nul% + +if %errorlevel% NEQ 1060 ( echo Checking Eval WLMS Service [Found] ) diff --git a/MAS/Separate-Files-Version/Activators/Ohook_Activation_AIO.cmd b/MAS/Separate-Files-Version/Activators/Ohook_Activation_AIO.cmd index ae3ae34..f5c3952 100644 --- a/MAS/Separate-Files-Version/Activators/Ohook_Activation_AIO.cmd +++ b/MAS/Separate-Files-Version/Activators/Ohook_Activation_AIO.cmd @@ -2506,7 +2506,9 @@ call :dk_color %Gray% "Checking SLC/WMI SKU [Difference Found :: This "WLMS" service was included in previous Eval editions (which were activable) to automatically shut down the system every hour after the evaluation period expired and prevent SPPSVC from stopping. -if exist "%SysPath%\wlms\wlms.exe" ( +sc query wlms %nul% + +if %errorlevel% NEQ 1060 ( echo Checking Eval WLMS Service [Found] ) diff --git a/MAS/Separate-Files-Version/Activators/Online_KMS_Activation.cmd b/MAS/Separate-Files-Version/Activators/Online_KMS_Activation.cmd index ba039cb..9242be8 100644 --- a/MAS/Separate-Files-Version/Activators/Online_KMS_Activation.cmd +++ b/MAS/Separate-Files-Version/Activators/Online_KMS_Activation.cmd @@ -3569,7 +3569,9 @@ call :dk_color %Gray% "Checking SLC/WMI SKU [Difference Found :: This "WLMS" service was included in previous Eval editions (which were activable) to automatically shut down the system every hour after the evaluation period expired and prevent SPPSVC from stopping. -if exist "%SysPath%\wlms\wlms.exe" ( +sc query wlms %nul% + +if %errorlevel% NEQ 1060 ( echo Checking Eval WLMS Service [Found] ) diff --git a/MAS/Separate-Files-Version/Activators/TSforge_Activation.cmd b/MAS/Separate-Files-Version/Activators/TSforge_Activation.cmd index fc5f28d..cb10b11 100644 --- a/MAS/Separate-Files-Version/Activators/TSforge_Activation.cmd +++ b/MAS/Separate-Files-Version/Activators/TSforge_Activation.cmd @@ -3579,7 +3579,9 @@ call :dk_color %Gray% "Checking SLC/WMI SKU [Difference Found :: This "WLMS" service was included in previous Eval editions (which were activable) to automatically shut down the system every hour after the evaluation period expired and prevent SPPSVC from stopping. -if exist "%SysPath%\wlms\wlms.exe" ( +sc query wlms %nul% + +if %errorlevel% NEQ 1060 ( echo Checking Eval WLMS Service [Found] ) From 55cc6d95d10446808a36c58547cd597f5c2bc98b Mon Sep 17 00:00:00 2001 From: WindowsAddict Date: Tue, 11 Nov 2025 16:58:07 +0530 Subject: [PATCH 16/66] Add more conditions before rebuilding ClipSVC licenses --- MAS/All-In-One-Version-KL/MAS_AIO.cmd | 36 ++++++++++++++++++++- MAS/Separate-Files-Version/Troubleshoot.cmd | 36 ++++++++++++++++++++- 2 files changed, 70 insertions(+), 2 deletions(-) diff --git a/MAS/All-In-One-Version-KL/MAS_AIO.cmd b/MAS/All-In-One-Version-KL/MAS_AIO.cmd index 3c95faf..5154bf2 100644 --- a/MAS/All-In-One-Version-KL/MAS_AIO.cmd +++ b/MAS/All-In-One-Version-KL/MAS_AIO.cmd @@ -16263,7 +16263,7 @@ call :dk_color %Blue% "Rebuilding ClipSVC Licenses..." echo: if %winbuild% LSS 10240 ( -echo ClipSVC license rebuilding is supported only on Windows 10/11 and their Server equivalents. +echo ClipSVC license rebuilding is supported only on Windows 10/11. echo Skipping... goto :rebuildspptok ) @@ -16274,6 +16274,40 @@ echo Skipping... goto :rebuildspptok ) +set _partial= +set _keymatch= +for /f "tokens=2 delims==" %%# in ('%psc% "(([WMISEARCHER]'SELECT PartialProductKey FROM SoftwareLicensingProduct WHERE ApplicationID=''55c92734-d682-4d71-983e-d6ec3f16059f'' AND PartialProductKey IS NOT NULL AND LicenseDependsOn is NULL').Get()).PartialProductKey | %% {echo ('PartialProductKey='+$_)}" %nul6%') do set "_partial=%%#" +for %%# in (8HV2C QPFCT 3V66T PKCKT WXCHW 8TYMD 6F4BT 8HVX7 KD72Y 7CFBY DRR8H P39PB DYJWX MDWWW 9HKR4 M7V2X 2YV77 WT2RQ MHBPB QPF8P 2YV66 VMJ2C DJ4F6 CKFFD YY74H J8JXD BHDCD T6R4W D32MH RRK69 3PJBP) do if /i "%_partial%"=="%%#" set _keymatch=1 + +if not defined _keymatch ( +echo HWID activation key is not installed. +echo Skipping... +goto :rebuildspptok +) + +%psc% "If([Activator]::CreateInstance([Type]::GetTypeFromCLSID([Guid]'{DCB00C01-570F-4A9B-8D69-199FDBA5723B}')).IsConnectedToInternet){Exit 0}Else{Exit 1}" +if errorlevel 1 ( +echo Internet is not connected. +echo Skipping... +goto :rebuildspptok +) + +set resfail= +for %%# in ( +licensing.mp.microsoft.com/v7.0/licenses/content +login.live.com/ppsecure/deviceaddcredential.srf +purchase.mp.microsoft.com/v7.0/users/me/orders +) do if not defined resfail ( +%psc% "try { [Net.ServicePointManager]::SecurityProtocol=[Net.SecurityProtocolType]::Tls12; irm https://%%# -Method POST } catch { if ($_.Exception.Response -eq $null) { Write-Host """"[%%#] $($_.Exception.Message)"""" -ForegroundColor Red -BackgroundColor Black; exit 3 } }" +if !errorlevel!==3 set resfail=1 +) + +if defined resfail ( +echo Failed to connect to licensing servers. +echo Skipping... +goto :rebuildspptok +) + echo Stopping ClipSVC service... %psc% Stop-Service ClipSVC -force %nul% timeout /t 2 %nul% diff --git a/MAS/Separate-Files-Version/Troubleshoot.cmd b/MAS/Separate-Files-Version/Troubleshoot.cmd index 3a6ca4e..96563b5 100644 --- a/MAS/Separate-Files-Version/Troubleshoot.cmd +++ b/MAS/Separate-Files-Version/Troubleshoot.cmd @@ -619,7 +619,7 @@ call :dk_color %Blue% "Rebuilding ClipSVC Licenses..." echo: if %winbuild% LSS 10240 ( -echo ClipSVC license rebuilding is supported only on Windows 10/11 and their Server equivalents. +echo ClipSVC license rebuilding is supported only on Windows 10/11. echo Skipping... goto :rebuildspptok ) @@ -630,6 +630,40 @@ echo Skipping... goto :rebuildspptok ) +set _partial= +set _keymatch= +for /f "tokens=2 delims==" %%# in ('%psc% "(([WMISEARCHER]'SELECT PartialProductKey FROM SoftwareLicensingProduct WHERE ApplicationID=''55c92734-d682-4d71-983e-d6ec3f16059f'' AND PartialProductKey IS NOT NULL AND LicenseDependsOn is NULL').Get()).PartialProductKey | %% {echo ('PartialProductKey='+$_)}" %nul6%') do set "_partial=%%#" +for %%# in (8HV2C QPFCT 3V66T PKCKT WXCHW 8TYMD 6F4BT 8HVX7 KD72Y 7CFBY DRR8H P39PB DYJWX MDWWW 9HKR4 M7V2X 2YV77 WT2RQ MHBPB QPF8P 2YV66 VMJ2C DJ4F6 CKFFD YY74H J8JXD BHDCD T6R4W D32MH RRK69 3PJBP) do if /i "%_partial%"=="%%#" set _keymatch=1 + +if not defined _keymatch ( +echo HWID activation key is not installed. +echo Skipping... +goto :rebuildspptok +) + +%psc% "If([Activator]::CreateInstance([Type]::GetTypeFromCLSID([Guid]'{DCB00C01-570F-4A9B-8D69-199FDBA5723B}')).IsConnectedToInternet){Exit 0}Else{Exit 1}" +if errorlevel 1 ( +echo Internet is not connected. +echo Skipping... +goto :rebuildspptok +) + +set resfail= +for %%# in ( +licensing.mp.microsoft.com/v7.0/licenses/content +login.live.com/ppsecure/deviceaddcredential.srf +purchase.mp.microsoft.com/v7.0/users/me/orders +) do if not defined resfail ( +%psc% "try { [Net.ServicePointManager]::SecurityProtocol=[Net.SecurityProtocolType]::Tls12; irm https://%%# -Method POST } catch { if ($_.Exception.Response -eq $null) { Write-Host """"[%%#] $($_.Exception.Message)"""" -ForegroundColor Red -BackgroundColor Black; exit 3 } }" +if !errorlevel!==3 set resfail=1 +) + +if defined resfail ( +echo Failed to connect to licensing servers. +echo Skipping... +goto :rebuildspptok +) + echo Stopping ClipSVC service... %psc% Stop-Service ClipSVC -force %nul% timeout /t 2 %nul% From 1ee7cd1e60d52e10c20a470d0e967c128f216807 Mon Sep 17 00:00:00 2001 From: WindowsAddict Date: Tue, 11 Nov 2025 21:11:51 +0530 Subject: [PATCH 17/66] Improve wording --- MAS/All-In-One-Version-KL/MAS_AIO.cmd | 16 +++++++++------- .../Activators/Ohook_Activation_AIO.cmd | 8 ++++---- .../Activators/Online_KMS_Activation.cmd | 8 ++++---- .../Activators/TSforge_Activation.cmd | 16 +++++++++------- 4 files changed, 26 insertions(+), 22 deletions(-) diff --git a/MAS/All-In-One-Version-KL/MAS_AIO.cmd b/MAS/All-In-One-Version-KL/MAS_AIO.cmd index 5154bf2..554f3a6 100644 --- a/MAS/All-In-One-Version-KL/MAS_AIO.cmd +++ b/MAS/All-In-One-Version-KL/MAS_AIO.cmd @@ -3618,10 +3618,10 @@ 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" +call :dk_color %Gray% "The logged-in Office account has a subscription license." +call :dk_color %Blue% "If the subscription is active, it overrides other activation methods." +call :dk_color %Blue% "If it is expiring soon, rerun the activation script after it expires." +call :dk_color2 %Blue% "If it has already expired and activation fails, get help here - " %_Yellow% " %mas%troubleshoot" echo: ) @@ -5899,16 +5899,18 @@ call :dk_color %Gray% "In Windows settings, you may see a renewal notification f if /i %_actmethod%==Auto call :dk_color %Gray% "To avoid this notification, run the script with an internet connection to use the StaticCID method." ) echo "%tsids%" | find /i "7e94be23-b161-4956-a682-146ab291774c" %nul1% && ( -call :dk_color %Gray% "Windows Update can receive 1-3 years of ESU. 4-6 years ESU is not officially supported, but you can manually install updates." +call :dk_color %Gray% "Windows Update gets 1-3 years of ESU; 4-6 are unofficial but let you install Server 2008 R2 updates manually." ) echo "%tsids%" | findstr /i "4afc620f-12a4-48ad-8015-2aebfbd6e47c 11be7019-a309-4763-9a09-091d1722ffe3" %nul1% && ( -call :dk_color %Gray% "ESU is not officially supported on Windows 8.1, but you can manually install updates until Jan-2024." +call :dk_color %Gray% "ESU is not officially supported on Windows 8.1, but updates can be installed manually until January 2024." ) echo "%tsids%" | findstr /i "0b533b5e-08b6-44f9-b885-c2de291ba456 f69e2d51-3bbd-4ddf-8da7-a145e9dca597" %nul1% && ( -call :dk_color %Gray% "Windows Update can receive 1-3 years of ESU. 4-6 years ESU is not officially supported, but it might be useful." +call :dk_color %Gray% "Windows Update gets 1-3 years of ESU; 4-6 are unofficial but may let you install LTSC updates manually." ) ) +if defined esuexistsup echo Help: %mas%tsforge#windows-esu + if %_actwin%==1 for %%# in (407) do if %osSKU%==%%# ( call :dk_color %Red% "%winos% does not support activation on non-azure platforms." ) diff --git a/MAS/Separate-Files-Version/Activators/Ohook_Activation_AIO.cmd b/MAS/Separate-Files-Version/Activators/Ohook_Activation_AIO.cmd index f5c3952..af33be3 100644 --- a/MAS/Separate-Files-Version/Activators/Ohook_Activation_AIO.cmd +++ b/MAS/Separate-Files-Version/Activators/Ohook_Activation_AIO.cmd @@ -1513,10 +1513,10 @@ 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" +call :dk_color %Gray% "The logged-in Office account has a subscription license." +call :dk_color %Blue% "If the subscription is active, it overrides other activation methods." +call :dk_color %Blue% "If it is expiring soon, rerun the activation script after it expires." +call :dk_color2 %Blue% "If it has already expired and activation fails, get help here - " %_Yellow% " %mas%troubleshoot" echo: ) diff --git a/MAS/Separate-Files-Version/Activators/Online_KMS_Activation.cmd b/MAS/Separate-Files-Version/Activators/Online_KMS_Activation.cmd index 9242be8..c7b7e9a 100644 --- a/MAS/Separate-Files-Version/Activators/Online_KMS_Activation.cmd +++ b/MAS/Separate-Files-Version/Activators/Online_KMS_Activation.cmd @@ -1491,10 +1491,10 @@ 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" +call :dk_color %Gray% "The logged-in Office account has a subscription license." +call :dk_color %Blue% "If the subscription is active, it overrides other activation methods." +call :dk_color %Blue% "If it is expiring soon, rerun the activation script after it expires." +call :dk_color2 %Blue% "If it has already expired and activation fails, get help here - " %_Yellow% " %mas%troubleshoot" echo: ) diff --git a/MAS/Separate-Files-Version/Activators/TSforge_Activation.cmd b/MAS/Separate-Files-Version/Activators/TSforge_Activation.cmd index cb10b11..cbb19ed 100644 --- a/MAS/Separate-Files-Version/Activators/TSforge_Activation.cmd +++ b/MAS/Separate-Files-Version/Activators/TSforge_Activation.cmd @@ -1959,16 +1959,18 @@ call :dk_color %Gray% "In Windows settings, you may see a renewal notification f if /i %_actmethod%==Auto call :dk_color %Gray% "To avoid this notification, run the script with an internet connection to use the StaticCID method." ) echo "%tsids%" | find /i "7e94be23-b161-4956-a682-146ab291774c" %nul1% && ( -call :dk_color %Gray% "Windows Update can receive 1-3 years of ESU. 4-6 years ESU is not officially supported, but you can manually install updates." +call :dk_color %Gray% "Windows Update gets 1-3 years of ESU; 4-6 are unofficial but let you install Server 2008 R2 updates manually." ) echo "%tsids%" | findstr /i "4afc620f-12a4-48ad-8015-2aebfbd6e47c 11be7019-a309-4763-9a09-091d1722ffe3" %nul1% && ( -call :dk_color %Gray% "ESU is not officially supported on Windows 8.1, but you can manually install updates until Jan-2024." +call :dk_color %Gray% "ESU is not officially supported on Windows 8.1, but updates can be installed manually until January 2024." ) echo "%tsids%" | findstr /i "0b533b5e-08b6-44f9-b885-c2de291ba456 f69e2d51-3bbd-4ddf-8da7-a145e9dca597" %nul1% && ( -call :dk_color %Gray% "Windows Update can receive 1-3 years of ESU. 4-6 years ESU is not officially supported, but it might be useful." +call :dk_color %Gray% "Windows Update gets 1-3 years of ESU; 4-6 are unofficial but may let you install LTSC updates manually." ) ) +if defined esuexistsup echo Help: %mas%tsforge#windows-esu + if %_actwin%==1 for %%# in (407) do if %osSKU%==%%# ( call :dk_color %Red% "%winos% does not support activation on non-azure platforms." ) @@ -2454,10 +2456,10 @@ 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" +call :dk_color %Gray% "The logged-in Office account has a subscription license." +call :dk_color %Blue% "If the subscription is active, it overrides other activation methods." +call :dk_color %Blue% "If it is expiring soon, rerun the activation script after it expires." +call :dk_color2 %Blue% "If it has already expired and activation fails, get help here - " %_Yellow% " %mas%troubleshoot" echo: ) From d16661cc8711d05d4b62c42944de4a954680cc98 Mon Sep 17 00:00:00 2001 From: WindowsAddict Date: Tue, 11 Nov 2025 21:25:04 +0530 Subject: [PATCH 18/66] Suggest inplace repair upgrade when system files are missing --- MAS/All-In-One-Version-KL/MAS_AIO.cmd | 20 +++++++++---------- .../Activators/HWID_Activation.cmd | 4 ++-- .../Activators/Ohook_Activation_AIO.cmd | 4 ++-- .../Activators/Online_KMS_Activation.cmd | 4 ++-- .../Activators/TSforge_Activation.cmd | 4 ++-- .../Change_Windows_Edition.cmd | 4 ++-- 6 files changed, 20 insertions(+), 20 deletions(-) diff --git a/MAS/All-In-One-Version-KL/MAS_AIO.cmd b/MAS/All-In-One-Version-KL/MAS_AIO.cmd index 554f3a6..b42ea7b 100644 --- a/MAS/All-In-One-Version-KL/MAS_AIO.cmd +++ b/MAS/All-In-One-Version-KL/MAS_AIO.cmd @@ -719,8 +719,8 @@ if not defined results ( call :dk_color %Blue% "Go back to Main Menu, select Troubleshoot and run DISM Restore and SFC Scan options." call :dk_color %Blue% "After that, restart system and try activation again." echo: -set fixes=%fixes% %mas%troubleshoot -call :dk_color2 %Blue% "Check this webpage for help - " %_Yellow% " %mas%troubleshoot" +set fixes=%fixes% %mas%in-place_repair_upgrade +call :dk_color2 %Blue% "If it still shows the same error, do this - " %_Yellow% " %mas%in-place_repair_upgrade" ) goto dk_done ) @@ -2577,8 +2577,8 @@ if not defined results ( call :dk_color %Blue% "Go back to Main Menu, select Troubleshoot and run DISM Restore and SFC Scan options." call :dk_color %Blue% "After that, restart system and try activation again." echo: -set fixes=%fixes% %mas%troubleshoot -call :dk_color2 %Blue% "Check this webpage for help - " %_Yellow% " %mas%troubleshoot" +set fixes=%fixes% %mas%in-place_repair_upgrade +call :dk_color2 %Blue% "If it still shows the same error, do this - " %_Yellow% " %mas%in-place_repair_upgrade" ) goto dk_done ) @@ -4546,8 +4546,8 @@ if not defined results ( call :dk_color %Blue% "Go back to Main Menu, select Troubleshoot and run DISM Restore and SFC Scan options." call :dk_color %Blue% "After that, restart system and try activation again." echo: -set fixes=%fixes% %mas%troubleshoot -call :dk_color2 %Blue% "Check this webpage for help - " %_Yellow% " %mas%troubleshoot" +set fixes=%fixes% %mas%in-place_repair_upgrade +call :dk_color2 %Blue% "If it still shows the same error, do this - " %_Yellow% " %mas%in-place_repair_upgrade" ) goto dk_done ) @@ -12219,8 +12219,8 @@ if not defined results ( call :dk_color %Blue% "Go back to Main Menu, select Troubleshoot and run DISM Restore and SFC Scan options." call :dk_color %Blue% "After that, restart system and try activation again." echo: -set fixes=%fixes% %mas%troubleshoot -call :dk_color2 %Blue% "Check this webpage for help - " %_Yellow% " %mas%troubleshoot" +set fixes=%fixes% %mas%in-place_repair_upgrade +call :dk_color2 %Blue% "If it still shows the same error, do this - " %_Yellow% " %mas%in-place_repair_upgrade" ) goto dk_done ) @@ -17238,8 +17238,8 @@ echo: call :dk_color %Blue% "Go back to Main Menu, select Troubleshoot and run DISM Restore and SFC Scan options." call :dk_color %Blue% "After that, restart system and try activation again." echo: -set fixes=%fixes% %mas%troubleshoot -call :dk_color2 %Blue% "Check this webpage for help - " %_Yellow% " %mas%troubleshoot" +set fixes=%fixes% %mas%in-place_repair_upgrade +call :dk_color2 %Blue% "If it still shows the same error, do this - " %_Yellow% " %mas%in-place_repair_upgrade" goto dk_done ) ) diff --git a/MAS/Separate-Files-Version/Activators/HWID_Activation.cmd b/MAS/Separate-Files-Version/Activators/HWID_Activation.cmd index cbb92c0..1cdcb5e 100644 --- a/MAS/Separate-Files-Version/Activators/HWID_Activation.cmd +++ b/MAS/Separate-Files-Version/Activators/HWID_Activation.cmd @@ -428,8 +428,8 @@ if not defined results ( call :dk_color %Blue% "Go back to Main Menu, select Troubleshoot and run DISM Restore and SFC Scan options." call :dk_color %Blue% "After that, restart system and try activation again." echo: -set fixes=%fixes% %mas%troubleshoot -call :dk_color2 %Blue% "Check this webpage for help - " %_Yellow% " %mas%troubleshoot" +set fixes=%fixes% %mas%in-place_repair_upgrade +call :dk_color2 %Blue% "If it still shows the same error, do this - " %_Yellow% " %mas%in-place_repair_upgrade" ) goto dk_done ) diff --git a/MAS/Separate-Files-Version/Activators/Ohook_Activation_AIO.cmd b/MAS/Separate-Files-Version/Activators/Ohook_Activation_AIO.cmd index af33be3..0260838 100644 --- a/MAS/Separate-Files-Version/Activators/Ohook_Activation_AIO.cmd +++ b/MAS/Separate-Files-Version/Activators/Ohook_Activation_AIO.cmd @@ -474,8 +474,8 @@ if not defined results ( call :dk_color %Blue% "Go back to Main Menu, select Troubleshoot and run DISM Restore and SFC Scan options." call :dk_color %Blue% "After that, restart system and try activation again." echo: -set fixes=%fixes% %mas%troubleshoot -call :dk_color2 %Blue% "Check this webpage for help - " %_Yellow% " %mas%troubleshoot" +set fixes=%fixes% %mas%in-place_repair_upgrade +call :dk_color2 %Blue% "If it still shows the same error, do this - " %_Yellow% " %mas%in-place_repair_upgrade" ) goto dk_done ) diff --git a/MAS/Separate-Files-Version/Activators/Online_KMS_Activation.cmd b/MAS/Separate-Files-Version/Activators/Online_KMS_Activation.cmd index c7b7e9a..0242d4c 100644 --- a/MAS/Separate-Files-Version/Activators/Online_KMS_Activation.cmd +++ b/MAS/Separate-Files-Version/Activators/Online_KMS_Activation.cmd @@ -536,8 +536,8 @@ if not defined results ( call :dk_color %Blue% "Go back to Main Menu, select Troubleshoot and run DISM Restore and SFC Scan options." call :dk_color %Blue% "After that, restart system and try activation again." echo: -set fixes=%fixes% %mas%troubleshoot -call :dk_color2 %Blue% "Check this webpage for help - " %_Yellow% " %mas%troubleshoot" +set fixes=%fixes% %mas%in-place_repair_upgrade +call :dk_color2 %Blue% "If it still shows the same error, do this - " %_Yellow% " %mas%in-place_repair_upgrade" ) goto dk_done ) diff --git a/MAS/Separate-Files-Version/Activators/TSforge_Activation.cmd b/MAS/Separate-Files-Version/Activators/TSforge_Activation.cmd index cbb19ed..e3ebf46 100644 --- a/MAS/Separate-Files-Version/Activators/TSforge_Activation.cmd +++ b/MAS/Separate-Files-Version/Activators/TSforge_Activation.cmd @@ -606,8 +606,8 @@ if not defined results ( call :dk_color %Blue% "Go back to Main Menu, select Troubleshoot and run DISM Restore and SFC Scan options." call :dk_color %Blue% "After that, restart system and try activation again." echo: -set fixes=%fixes% %mas%troubleshoot -call :dk_color2 %Blue% "Check this webpage for help - " %_Yellow% " %mas%troubleshoot" +set fixes=%fixes% %mas%in-place_repair_upgrade +call :dk_color2 %Blue% "If it still shows the same error, do this - " %_Yellow% " %mas%in-place_repair_upgrade" ) goto dk_done ) diff --git a/MAS/Separate-Files-Version/Change_Windows_Edition.cmd b/MAS/Separate-Files-Version/Change_Windows_Edition.cmd index 76eb714..f2f6833 100644 --- a/MAS/Separate-Files-Version/Change_Windows_Edition.cmd +++ b/MAS/Separate-Files-Version/Change_Windows_Edition.cmd @@ -400,8 +400,8 @@ echo: call :dk_color %Blue% "Go back to Main Menu, select Troubleshoot and run DISM Restore and SFC Scan options." call :dk_color %Blue% "After that, restart system and try activation again." echo: -set fixes=%fixes% %mas%troubleshoot -call :dk_color2 %Blue% "Check this webpage for help - " %_Yellow% " %mas%troubleshoot" +set fixes=%fixes% %mas%in-place_repair_upgrade +call :dk_color2 %Blue% "If it still shows the same error, do this - " %_Yellow% " %mas%in-place_repair_upgrade" goto dk_done ) ) From eeae1dd93114775c3c7300b40472624066d257cb Mon Sep 17 00:00:00 2001 From: WindowsAddict Date: Tue, 11 Nov 2025 22:08:51 +0530 Subject: [PATCH 19/66] Add command to refresh ESU status --- MAS/All-In-One-Version-KL/MAS_AIO.cmd | 1 + MAS/Separate-Files-Version/Activators/TSforge_Activation.cmd | 1 + 2 files changed, 2 insertions(+) diff --git a/MAS/All-In-One-Version-KL/MAS_AIO.cmd b/MAS/All-In-One-Version-KL/MAS_AIO.cmd index b42ea7b..52d09e4 100644 --- a/MAS/All-In-One-Version-KL/MAS_AIO.cmd +++ b/MAS/All-In-One-Version-KL/MAS_AIO.cmd @@ -5906,6 +5906,7 @@ call :dk_color %Gray% "ESU is not officially supported on Windows 8.1, but updat ) echo "%tsids%" | findstr /i "0b533b5e-08b6-44f9-b885-c2de291ba456 f69e2d51-3bbd-4ddf-8da7-a145e9dca597" %nul1% && ( call :dk_color %Gray% "Windows Update gets 1-3 years of ESU; 4-6 are unofficial but may let you install LTSC updates manually." +if exist %SysPath%\ClipESUConsumer.exe (%SysPath%\ClipESUConsumer.exe -evaluateEligibility) ) ) diff --git a/MAS/Separate-Files-Version/Activators/TSforge_Activation.cmd b/MAS/Separate-Files-Version/Activators/TSforge_Activation.cmd index e3ebf46..7fbd7c8 100644 --- a/MAS/Separate-Files-Version/Activators/TSforge_Activation.cmd +++ b/MAS/Separate-Files-Version/Activators/TSforge_Activation.cmd @@ -1966,6 +1966,7 @@ call :dk_color %Gray% "ESU is not officially supported on Windows 8.1, but updat ) echo "%tsids%" | findstr /i "0b533b5e-08b6-44f9-b885-c2de291ba456 f69e2d51-3bbd-4ddf-8da7-a145e9dca597" %nul1% && ( call :dk_color %Gray% "Windows Update gets 1-3 years of ESU; 4-6 are unofficial but may let you install LTSC updates manually." +if exist %SysPath%\ClipESUConsumer.exe (%SysPath%\ClipESUConsumer.exe -evaluateEligibility) ) ) From 4958ddf4744881b5b211a5b9ccd960018cca8710 Mon Sep 17 00:00:00 2001 From: WindowsAddict Date: Wed, 12 Nov 2025 04:31:44 +0530 Subject: [PATCH 20/66] 3.8 --- MAS/All-In-One-Version-KL/MAS_AIO.cmd | 3 ++- MAS/Separate-Files-Version/Activators/HWID_Activation.cmd | 2 +- .../Activators/Ohook_Activation_AIO.cmd | 2 +- .../Activators/Online_KMS_Activation.cmd | 2 +- .../Activators/TSforge_Activation.cmd | 3 ++- MAS/Separate-Files-Version/Change_Office_Edition.cmd | 2 +- MAS/Separate-Files-Version/Change_Windows_Edition.cmd | 2 +- MAS/Separate-Files-Version/Extract_OEM_Folder.cmd | 2 +- MAS/Separate-Files-Version/Troubleshoot.cmd | 2 +- README.md | 6 +++--- 10 files changed, 14 insertions(+), 12 deletions(-) diff --git a/MAS/All-In-One-Version-KL/MAS_AIO.cmd b/MAS/All-In-One-Version-KL/MAS_AIO.cmd index 52d09e4..db84bb8 100644 --- a/MAS/All-In-One-Version-KL/MAS_AIO.cmd +++ b/MAS/All-In-One-Version-KL/MAS_AIO.cmd @@ -1,5 +1,5 @@ @::r45f3r3-random -@set masver=3.7 +@set masver=3.8 @setlocal DisableDelayedExpansion @echo off @@ -5907,6 +5907,7 @@ call :dk_color %Gray% "ESU is not officially supported on Windows 8.1, but updat echo "%tsids%" | findstr /i "0b533b5e-08b6-44f9-b885-c2de291ba456 f69e2d51-3bbd-4ddf-8da7-a145e9dca597" %nul1% && ( call :dk_color %Gray% "Windows Update gets 1-3 years of ESU; 4-6 are unofficial but may let you install LTSC updates manually." if exist %SysPath%\ClipESUConsumer.exe (%SysPath%\ClipESUConsumer.exe -evaluateEligibility) +if exist %SysPath%\ClipESU.exe (%SysPath%\ClipESU.exe %nul%) ) ) diff --git a/MAS/Separate-Files-Version/Activators/HWID_Activation.cmd b/MAS/Separate-Files-Version/Activators/HWID_Activation.cmd index 1cdcb5e..6354862 100644 --- a/MAS/Separate-Files-Version/Activators/HWID_Activation.cmd +++ b/MAS/Separate-Files-Version/Activators/HWID_Activation.cmd @@ -1,4 +1,4 @@ -@set masver=3.7 +@set masver=3.8 @echo off diff --git a/MAS/Separate-Files-Version/Activators/Ohook_Activation_AIO.cmd b/MAS/Separate-Files-Version/Activators/Ohook_Activation_AIO.cmd index 0260838..255258d 100644 --- a/MAS/Separate-Files-Version/Activators/Ohook_Activation_AIO.cmd +++ b/MAS/Separate-Files-Version/Activators/Ohook_Activation_AIO.cmd @@ -1,4 +1,4 @@ -@set masver=3.7 +@set masver=3.8 @echo off diff --git a/MAS/Separate-Files-Version/Activators/Online_KMS_Activation.cmd b/MAS/Separate-Files-Version/Activators/Online_KMS_Activation.cmd index 0242d4c..4ee3cbf 100644 --- a/MAS/Separate-Files-Version/Activators/Online_KMS_Activation.cmd +++ b/MAS/Separate-Files-Version/Activators/Online_KMS_Activation.cmd @@ -1,4 +1,4 @@ -@set masver=3.7 +@set masver=3.8 @echo off diff --git a/MAS/Separate-Files-Version/Activators/TSforge_Activation.cmd b/MAS/Separate-Files-Version/Activators/TSforge_Activation.cmd index 7fbd7c8..c46137d 100644 --- a/MAS/Separate-Files-Version/Activators/TSforge_Activation.cmd +++ b/MAS/Separate-Files-Version/Activators/TSforge_Activation.cmd @@ -1,4 +1,4 @@ -@set masver=3.7 +@set masver=3.8 @echo off @@ -1967,6 +1967,7 @@ call :dk_color %Gray% "ESU is not officially supported on Windows 8.1, but updat echo "%tsids%" | findstr /i "0b533b5e-08b6-44f9-b885-c2de291ba456 f69e2d51-3bbd-4ddf-8da7-a145e9dca597" %nul1% && ( call :dk_color %Gray% "Windows Update gets 1-3 years of ESU; 4-6 are unofficial but may let you install LTSC updates manually." if exist %SysPath%\ClipESUConsumer.exe (%SysPath%\ClipESUConsumer.exe -evaluateEligibility) +if exist %SysPath%\ClipESU.exe (%SysPath%\ClipESU.exe %nul%) ) ) diff --git a/MAS/Separate-Files-Version/Change_Office_Edition.cmd b/MAS/Separate-Files-Version/Change_Office_Edition.cmd index bfb9435..49e0358 100644 --- a/MAS/Separate-Files-Version/Change_Office_Edition.cmd +++ b/MAS/Separate-Files-Version/Change_Office_Edition.cmd @@ -1,4 +1,4 @@ -@set masver=3.7 +@set masver=3.8 @echo off diff --git a/MAS/Separate-Files-Version/Change_Windows_Edition.cmd b/MAS/Separate-Files-Version/Change_Windows_Edition.cmd index f2f6833..e04a347 100644 --- a/MAS/Separate-Files-Version/Change_Windows_Edition.cmd +++ b/MAS/Separate-Files-Version/Change_Windows_Edition.cmd @@ -1,4 +1,4 @@ -@set masver=3.7 +@set masver=3.8 @echo off diff --git a/MAS/Separate-Files-Version/Extract_OEM_Folder.cmd b/MAS/Separate-Files-Version/Extract_OEM_Folder.cmd index 1ad1085..0f87172 100644 --- a/MAS/Separate-Files-Version/Extract_OEM_Folder.cmd +++ b/MAS/Separate-Files-Version/Extract_OEM_Folder.cmd @@ -1,4 +1,4 @@ -@set masver=3.7 +@set masver=3.8 @echo off diff --git a/MAS/Separate-Files-Version/Troubleshoot.cmd b/MAS/Separate-Files-Version/Troubleshoot.cmd index 96563b5..b67b0a2 100644 --- a/MAS/Separate-Files-Version/Troubleshoot.cmd +++ b/MAS/Separate-Files-Version/Troubleshoot.cmd @@ -1,4 +1,4 @@ -@set masver=3.7 +@set masver=3.8 @echo off diff --git a/README.md b/README.md index 016f4ba..a9bbd23 100644 --- a/README.md +++ b/README.md @@ -2,7 +2,7 @@

Microsoft Activation Scripts (MAS)

-

Open-source Windows and Office activator featuring HWID, Ohook, TSforge, KMS38, and Online KMS activation methods, along with advanced troubleshooting.

+

Open-source Windows and Office activator featuring HWID, Ohook, TSforge, and Online KMS activation methods, along with advanced troubleshooting.


@@ -63,8 +63,8 @@ --- ``` -Latest Version: 3.7 -Release date: 11-Sep-2025 +Latest Version: 3.8 +Release date: 11-Nov-2025 ``` ### [Troubleshooting / Help](https://massgrave.dev/troubleshoot) From 27f21a13d5d484db4469c52cc69d7fa8a1728d7c Mon Sep 17 00:00:00 2001 From: WindowsAddict Date: Wed, 12 Nov 2025 04:38:07 +0530 Subject: [PATCH 21/66] export-ignore --- .gitattributes | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/.gitattributes b/.gitattributes index 4d21483..de5bd3d 100644 --- a/.gitattributes +++ b/.gitattributes @@ -1,4 +1,4 @@ -# MAS export-ignore -# LICENSE export-ignore -# README.md export-ignore -# .gitattributes export-ignore +MAS export-ignore +LICENSE export-ignore +README.md export-ignore +.gitattributes export-ignore From 7327f3b4458985d2faa2a827657d7463ef74a8bf Mon Sep 17 00:00:00 2001 From: WindowsAddict Date: Wed, 12 Nov 2025 05:01:10 +0530 Subject: [PATCH 22/66] Revert export-ignore --- .gitattributes | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/.gitattributes b/.gitattributes index de5bd3d..4d21483 100644 --- a/.gitattributes +++ b/.gitattributes @@ -1,4 +1,4 @@ -MAS export-ignore -LICENSE export-ignore -README.md export-ignore -.gitattributes export-ignore +# MAS export-ignore +# LICENSE export-ignore +# README.md export-ignore +# .gitattributes export-ignore From e7e73a8fbce6f3da2e37248c2c3ba587984617f1 Mon Sep 17 00:00:00 2001 From: WindowsAddict Date: Tue, 18 Nov 2025 12:44:37 +0530 Subject: [PATCH 23/66] Use Client-ESU license instead of Client-IoT-ESU (it has bugs) for IoTEnterprise edition --- MAS/All-In-One-Version-KL/MAS_AIO.cmd | 8 ++------ .../Activators/TSforge_Activation.cmd | 8 ++------ 2 files changed, 4 insertions(+), 12 deletions(-) diff --git a/MAS/All-In-One-Version-KL/MAS_AIO.cmd b/MAS/All-In-One-Version-KL/MAS_AIO.cmd index db84bb8..8664e69 100644 --- a/MAS/All-In-One-Version-KL/MAS_AIO.cmd +++ b/MAS/All-In-One-Version-KL/MAS_AIO.cmd @@ -5056,7 +5056,7 @@ set w10EsuEditions=Education-EducationN-Enterprise-EnterpriseN-Professional-Prof set minbuild=0 if /i %tsedition%==ServerRdsh set minbuild=5552 -for %%# in (Core CoreN CoreCountrySpecific CoreSingleLanguage) do (if /i %tsedition%==%%# set minbuild=6156) +for %%# in (Core CoreN CoreCountrySpecific CoreSingleLanguage IoTEnterprise) do (if /i %tsedition%==%%# set minbuild=6156) if /i %tsedition%==PPIPro set minbuild=6388 set /a UBR=0 @@ -5085,10 +5085,6 @@ f520e45e-7413-4a34-a497-d2765967d094_Client-ESU-Year1_-%w10EsuEditions%-%w10EsuE 1043add5-23b1-4afb-9a0f-64343c8f3f8d_Client-ESU-Year2_-%w10EsuEditions%-%w10EsuEditionsLaterAdded% 83d49986-add3-41d7-ba33-87c7bfb5c0fb_Client-ESU-Year3_-%w10EsuEditions%-%w10EsuEditionsLaterAdded% 0b533b5e-08b6-44f9-b885-c2de291ba456_Client-ESU-Year6[4-6y]_-%w10EsuEditions%-%w10EsuEditionsLaterAdded% -b8527af1-5389-447c-9a88-2d1691ea33d3_Client-IoT-ESU-Year1_-IoTEnterprise- -7b76ee02-0a75-4f08-85d5-bd0feadad0c0_Client-IoT-ESU-Year2_-IoTEnterprise- -4dac5a0c-5709-4595-a32c-14a56a4a6b31_Client-IoT-ESU-Year3_-IoTEnterprise- -f69e2d51-3bbd-4ddf-8da7-a145e9dca597_Client-IoT-ESU-Year6[4-6y]_-IoTEnterprise- ) do ( for /f "tokens=1-3 delims=_" %%A in ("%%#") do ( echo "%allapps%" | find /i "%%A" %nul1% && ( @@ -5904,7 +5900,7 @@ call :dk_color %Gray% "Windows Update gets 1-3 years of ESU; 4-6 are unofficial echo "%tsids%" | findstr /i "4afc620f-12a4-48ad-8015-2aebfbd6e47c 11be7019-a309-4763-9a09-091d1722ffe3" %nul1% && ( call :dk_color %Gray% "ESU is not officially supported on Windows 8.1, but updates can be installed manually until January 2024." ) -echo "%tsids%" | findstr /i "0b533b5e-08b6-44f9-b885-c2de291ba456 f69e2d51-3bbd-4ddf-8da7-a145e9dca597" %nul1% && ( +echo "%tsids%" | findstr /i "83d49986-add3-41d7-ba33-87c7bfb5c0fb 0b533b5e-08b6-44f9-b885-c2de291ba456" %nul1% && ( call :dk_color %Gray% "Windows Update gets 1-3 years of ESU; 4-6 are unofficial but may let you install LTSC updates manually." if exist %SysPath%\ClipESUConsumer.exe (%SysPath%\ClipESUConsumer.exe -evaluateEligibility) if exist %SysPath%\ClipESU.exe (%SysPath%\ClipESU.exe %nul%) diff --git a/MAS/Separate-Files-Version/Activators/TSforge_Activation.cmd b/MAS/Separate-Files-Version/Activators/TSforge_Activation.cmd index c46137d..e0e7e5b 100644 --- a/MAS/Separate-Files-Version/Activators/TSforge_Activation.cmd +++ b/MAS/Separate-Files-Version/Activators/TSforge_Activation.cmd @@ -1116,7 +1116,7 @@ set w10EsuEditions=Education-EducationN-Enterprise-EnterpriseN-Professional-Prof set minbuild=0 if /i %tsedition%==ServerRdsh set minbuild=5552 -for %%# in (Core CoreN CoreCountrySpecific CoreSingleLanguage) do (if /i %tsedition%==%%# set minbuild=6156) +for %%# in (Core CoreN CoreCountrySpecific CoreSingleLanguage IoTEnterprise) do (if /i %tsedition%==%%# set minbuild=6156) if /i %tsedition%==PPIPro set minbuild=6388 set /a UBR=0 @@ -1145,10 +1145,6 @@ f520e45e-7413-4a34-a497-d2765967d094_Client-ESU-Year1_-%w10EsuEditions%-%w10EsuE 1043add5-23b1-4afb-9a0f-64343c8f3f8d_Client-ESU-Year2_-%w10EsuEditions%-%w10EsuEditionsLaterAdded% 83d49986-add3-41d7-ba33-87c7bfb5c0fb_Client-ESU-Year3_-%w10EsuEditions%-%w10EsuEditionsLaterAdded% 0b533b5e-08b6-44f9-b885-c2de291ba456_Client-ESU-Year6[4-6y]_-%w10EsuEditions%-%w10EsuEditionsLaterAdded% -b8527af1-5389-447c-9a88-2d1691ea33d3_Client-IoT-ESU-Year1_-IoTEnterprise- -7b76ee02-0a75-4f08-85d5-bd0feadad0c0_Client-IoT-ESU-Year2_-IoTEnterprise- -4dac5a0c-5709-4595-a32c-14a56a4a6b31_Client-IoT-ESU-Year3_-IoTEnterprise- -f69e2d51-3bbd-4ddf-8da7-a145e9dca597_Client-IoT-ESU-Year6[4-6y]_-IoTEnterprise- ) do ( for /f "tokens=1-3 delims=_" %%A in ("%%#") do ( echo "%allapps%" | find /i "%%A" %nul1% && ( @@ -1964,7 +1960,7 @@ call :dk_color %Gray% "Windows Update gets 1-3 years of ESU; 4-6 are unofficial echo "%tsids%" | findstr /i "4afc620f-12a4-48ad-8015-2aebfbd6e47c 11be7019-a309-4763-9a09-091d1722ffe3" %nul1% && ( call :dk_color %Gray% "ESU is not officially supported on Windows 8.1, but updates can be installed manually until January 2024." ) -echo "%tsids%" | findstr /i "0b533b5e-08b6-44f9-b885-c2de291ba456 f69e2d51-3bbd-4ddf-8da7-a145e9dca597" %nul1% && ( +echo "%tsids%" | findstr /i "83d49986-add3-41d7-ba33-87c7bfb5c0fb 0b533b5e-08b6-44f9-b885-c2de291ba456" %nul1% && ( call :dk_color %Gray% "Windows Update gets 1-3 years of ESU; 4-6 are unofficial but may let you install LTSC updates manually." if exist %SysPath%\ClipESUConsumer.exe (%SysPath%\ClipESUConsumer.exe -evaluateEligibility) if exist %SysPath%\ClipESU.exe (%SysPath%\ClipESU.exe %nul%) From 41783f7a23ce9557f3ad07166b8f9e1c534d0223 Mon Sep 17 00:00:00 2001 From: WindowsAddict Date: Tue, 18 Nov 2025 13:20:39 +0530 Subject: [PATCH 24/66] Evade AV detections --- MAS/All-In-One-Version-KL/MAS_AIO.cmd | 18 +++++++++--------- .../Activators/HWID_Activation.cmd | 2 +- .../Activators/Ohook_Activation_AIO.cmd | 8 ++++---- .../Activators/Online_KMS_Activation.cmd | 6 +++--- .../Activators/TSforge_Activation.cmd | 4 ++-- .../Change_Office_Edition.cmd | 2 +- .../Change_Windows_Edition.cmd | 2 +- .../Extract_OEM_Folder.cmd | 2 +- MAS/Separate-Files-Version/Troubleshoot.cmd | 2 +- 9 files changed, 23 insertions(+), 23 deletions(-) diff --git a/MAS/All-In-One-Version-KL/MAS_AIO.cmd b/MAS/All-In-One-Version-KL/MAS_AIO.cmd index 8664e69..ed4938d 100644 --- a/MAS/All-In-One-Version-KL/MAS_AIO.cmd +++ b/MAS/All-In-One-Version-KL/MAS_AIO.cmd @@ -1,18 +1,18 @@ -@::r45f3r3-random +@::sfh437frandom @set masver=3.8 @setlocal DisableDelayedExpansion @echo off -:: For command line switches, check mass()grave(dot)dev/command_line_switches +:: For command line switches, check mass{}grave{dot}dev/command_line_switches :: If you want to better understand script, read from separate files version. ::============================================================================ :: -:: Homepage: mass()grave(dot)dev +:: Homepage: mass{}grave{dot}dev :: Email: mas.help@outlook.com :: ::============================================================================ @@ -2833,7 +2833,7 @@ call :dk_color %Gray% "Checking Old Office With Sub License [Found. Update Of ::======================================================================================================================================== -:: mass()grave(dot)dev/office-license-is-not-genuine +:: mass{}grave{dot}dev/office-license-is-not-genuine :: Add registry keys for volume products so that 'non-genuine' banner won't appear :: Script already is using MAK instead of GVLK so it won't appear anyway, but registry keys are added incase Office installs default GVLK grace key for volume products @@ -4158,13 +4158,13 @@ $MemoryStream.Close() :: :: The files are encoded in base64 to make AIO version. :: -:: mass()grave(dot)dev/ohook +:: mass{}grave{dot}dev/ohook :: Here you can find the files source code and info on how to rebuild the identical sppc.dll files :: :: stackoverflow.com/a/35335273 :: Here you can check how to extract sppc.dll files from base64 :: -:: For any further question, feel free to contact us on mass()grave(dot)dev/contactus +:: For any further question, feel free to contact us on mass{}grave{dot}dev/contactus :: ::======================================================================================================================================== :: @@ -5410,7 +5410,7 @@ call :ts_process ::======================================================================================================================================== -:: mass()grave(dot)dev/office-license-is-not-genuine +:: mass{}grave{dot}dev/office-license-is-not-genuine :: Add registry keys for volume products so that 'non-genuine' banner won't appear set "kmskey=HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\SoftwareProtectionPlatform\0ff1ce15-a989-479d-af46-f275c6370663" @@ -12712,7 +12712,7 @@ if %winbuild% GEQ 9200 ( for /f "skip=2 tokens=2*" %%a in ('"reg query HKLM\SOFTWARE\Microsoft\Office\ClickToRun /v InstallPath" %nul6%') do if exist "%%b\root\Licenses16\ProPlus*.xrm-ms" set "_C16R=1" for /f "skip=2 tokens=2*" %%a in ('"reg query HKLM\SOFTWARE\Microsoft\Office\ClickToRun /v InstallPath /reg:32" %nul6%') do if exist "%%b\root\Licenses16\ProPlus*.xrm-ms" set "_C16R=1" if defined _C16R ( -REM mass()grave(dot)dev/office-license-is-not-genuine +REM mass{}grave{dot}dev/office-license-is-not-genuine set _server=10.0.0.10 call :_taskregserv echo Keeping the non-existent IP address 10.0.0.10 as %KS% Server. @@ -13057,7 +13057,7 @@ exit /b ::============================================================================ :: -:: Homepage: mass()grave(dot)dev +:: Homepage: mass{}grave{dot}dev :: Email: mas.help@outlook.com :: ::============================================================================ diff --git a/MAS/Separate-Files-Version/Activators/HWID_Activation.cmd b/MAS/Separate-Files-Version/Activators/HWID_Activation.cmd index 6354862..aa959d7 100644 --- a/MAS/Separate-Files-Version/Activators/HWID_Activation.cmd +++ b/MAS/Separate-Files-Version/Activators/HWID_Activation.cmd @@ -5,7 +5,7 @@ ::============================================================================ :: -:: Homepage: mass()grave(dot)dev +:: Homepage: mass{}grave{dot}dev :: Email: mas.help@outlook.com :: ::============================================================================ diff --git a/MAS/Separate-Files-Version/Activators/Ohook_Activation_AIO.cmd b/MAS/Separate-Files-Version/Activators/Ohook_Activation_AIO.cmd index 255258d..8c8f0fd 100644 --- a/MAS/Separate-Files-Version/Activators/Ohook_Activation_AIO.cmd +++ b/MAS/Separate-Files-Version/Activators/Ohook_Activation_AIO.cmd @@ -5,7 +5,7 @@ ::============================================================================ :: -:: Homepage: mass()grave(dot)dev +:: Homepage: mass{}grave{dot}dev :: Email: mas.help@outlook.com :: ::============================================================================ @@ -728,7 +728,7 @@ call :dk_color %Gray% "Checking Old Office With Sub License [Found. Update Of ::======================================================================================================================================== -:: mass()grave(dot)dev/office-license-is-not-genuine +:: mass{}grave{dot}dev/office-license-is-not-genuine :: Add registry keys for volume products so that 'non-genuine' banner won't appear :: Script already is using MAK instead of GVLK so it won't appear anyway, but registry keys are added incase Office installs default GVLK grace key for volume products @@ -3241,13 +3241,13 @@ $MemoryStream.Close() :: :: The files are encoded in base64 to make AIO version. :: -:: mass()grave(dot)dev/ohook +:: mass{}grave{dot}dev/ohook :: Here you can find the files source code and info on how to rebuild the identical sppc.dll files :: :: stackoverflow.com/a/35335273 :: Here you can check how to extract sppc.dll files from base64 :: -:: For any further question, feel free to contact us on mass()grave(dot)dev/contactus +:: For any further question, feel free to contact us on mass{}grave{dot}dev/contactus :: ::======================================================================================================================================== :: diff --git a/MAS/Separate-Files-Version/Activators/Online_KMS_Activation.cmd b/MAS/Separate-Files-Version/Activators/Online_KMS_Activation.cmd index 4ee3cbf..3da7adb 100644 --- a/MAS/Separate-Files-Version/Activators/Online_KMS_Activation.cmd +++ b/MAS/Separate-Files-Version/Activators/Online_KMS_Activation.cmd @@ -5,7 +5,7 @@ ::============================================================================ :: -:: Homepage: mass()grave(dot)dev +:: Homepage: mass{}grave{dot}dev :: Email: mas.help@outlook.com :: ::============================================================================ @@ -1031,7 +1031,7 @@ if %winbuild% GEQ 9200 ( for /f "skip=2 tokens=2*" %%a in ('"reg query HKLM\SOFTWARE\Microsoft\Office\ClickToRun /v InstallPath" %nul6%') do if exist "%%b\root\Licenses16\ProPlus*.xrm-ms" set "_C16R=1" for /f "skip=2 tokens=2*" %%a in ('"reg query HKLM\SOFTWARE\Microsoft\Office\ClickToRun /v InstallPath /reg:32" %nul6%') do if exist "%%b\root\Licenses16\ProPlus*.xrm-ms" set "_C16R=1" if defined _C16R ( -REM mass()grave(dot)dev/office-license-is-not-genuine +REM mass{}grave{dot}dev/office-license-is-not-genuine set _server=10.0.0.10 call :_taskregserv echo Keeping the non-existent IP address 10.0.0.10 as %KS% Server. @@ -1727,7 +1727,7 @@ exit /b ::============================================================================ :: -:: Homepage: mass()grave(dot)dev +:: Homepage: mass{}grave{dot}dev :: Email: mas.help@outlook.com :: ::============================================================================ diff --git a/MAS/Separate-Files-Version/Activators/TSforge_Activation.cmd b/MAS/Separate-Files-Version/Activators/TSforge_Activation.cmd index e0e7e5b..c43257b 100644 --- a/MAS/Separate-Files-Version/Activators/TSforge_Activation.cmd +++ b/MAS/Separate-Files-Version/Activators/TSforge_Activation.cmd @@ -5,7 +5,7 @@ ::============================================================================ :: -:: Homepage: mass()grave(dot)dev +:: Homepage: mass{}grave{dot}dev :: Email: mas.help@outlook.com :: ::============================================================================ @@ -1470,7 +1470,7 @@ call :ts_process ::======================================================================================================================================== -:: mass()grave(dot)dev/office-license-is-not-genuine +:: mass{}grave{dot}dev/office-license-is-not-genuine :: Add registry keys for volume products so that 'non-genuine' banner won't appear set "kmskey=HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\SoftwareProtectionPlatform\0ff1ce15-a989-479d-af46-f275c6370663" diff --git a/MAS/Separate-Files-Version/Change_Office_Edition.cmd b/MAS/Separate-Files-Version/Change_Office_Edition.cmd index 49e0358..0c5cd17 100644 --- a/MAS/Separate-Files-Version/Change_Office_Edition.cmd +++ b/MAS/Separate-Files-Version/Change_Office_Edition.cmd @@ -5,7 +5,7 @@ ::============================================================================ :: -:: Homepage: mass()grave(dot)dev +:: Homepage: mass{}grave{dot}dev :: Email: mas.help@outlook.com :: ::============================================================================ diff --git a/MAS/Separate-Files-Version/Change_Windows_Edition.cmd b/MAS/Separate-Files-Version/Change_Windows_Edition.cmd index e04a347..b727b71 100644 --- a/MAS/Separate-Files-Version/Change_Windows_Edition.cmd +++ b/MAS/Separate-Files-Version/Change_Windows_Edition.cmd @@ -5,7 +5,7 @@ ::============================================================================ :: -:: Homepage: mass()grave(dot)dev +:: Homepage: mass{}grave{dot}dev :: Email: mas.help@outlook.com :: ::============================================================================ diff --git a/MAS/Separate-Files-Version/Extract_OEM_Folder.cmd b/MAS/Separate-Files-Version/Extract_OEM_Folder.cmd index 0f87172..9284342 100644 --- a/MAS/Separate-Files-Version/Extract_OEM_Folder.cmd +++ b/MAS/Separate-Files-Version/Extract_OEM_Folder.cmd @@ -5,7 +5,7 @@ ::============================================================================ :: -:: Homepage: mass()grave(dot)dev +:: Homepage: mass{}grave{dot}dev :: Email: mas.help@outlook.com :: ::============================================================================ diff --git a/MAS/Separate-Files-Version/Troubleshoot.cmd b/MAS/Separate-Files-Version/Troubleshoot.cmd index b67b0a2..eb874e6 100644 --- a/MAS/Separate-Files-Version/Troubleshoot.cmd +++ b/MAS/Separate-Files-Version/Troubleshoot.cmd @@ -5,7 +5,7 @@ ::============================================================================ :: -:: Homepage: mass()grave(dot)dev +:: Homepage: mass{}grave{dot}dev :: Email: mas.help@outlook.com :: ::============================================================================ From 3c7178aaf6838431535134e5daad094bf05e0e90 Mon Sep 17 00:00:00 2001 From: WindowsAddict Date: Tue, 18 Nov 2025 13:53:38 +0530 Subject: [PATCH 25/66] Remove the deprecated Semi-Annual Preview channel in change update channel option --- MAS/All-In-One-Version-KL/MAS_AIO.cmd | 27 +++++++++---------- .../Change_Office_Edition.cmd | 27 +++++++++---------- 2 files changed, 26 insertions(+), 28 deletions(-) diff --git a/MAS/All-In-One-Version-KL/MAS_AIO.cmd b/MAS/All-In-One-Version-KL/MAS_AIO.cmd index ed4938d..661cd46 100644 --- a/MAS/All-In-One-Version-KL/MAS_AIO.cmd +++ b/MAS/All-In-One-Version-KL/MAS_AIO.cmd @@ -18799,20 +18799,19 @@ call :dk_color %Gray% "Installed Office editions: %_oIds%" echo: for %%# in ( -"5440fd1f-7ecb-4221-8110-145efaa6372f_Insider Fast [Beta] - Insiders::DevMain -" -"64256afe-f5d9-4f86-8936-8840a6a4f5be_Monthly Preview - Insiders::CC -" -"492350f6-3a01-4f97-b9c0-c7c6ddf67d60_Monthly [Current] - Production::CC -" -"55336b82-a18d-4dd6-b5f6-9e5095c314a6_Monthly Enterprise - Production::MEC -" -"b8f9b850-328d-4355-9145-c59439a0c4cf_Semi Annual Preview - Insiders::FRDC -" -"7ffbc6bf-bc32-4f92-8982-f9dd17fd3114_Semi Annual - Production::DC -" -"ea4a4090-de26-49d7-93c1-91bff9e53fc3_DevMain Channel - Dogfood::DevMain -" -"b61285dd-d9f7-41f2-9757-8f61cba4e9c8_Microsoft Elite - Microsoft::DevMain -" -"f2e724c1-748f-4b47-8fb8-8e0d210e9208_Perpetual2019 VL - Production::LTSC -" -"1d2d2ea6-1680-4c56-ac58-a441c8c24ff9_Microsoft2019 VL - Microsoft::LTSC -" -"5030841d-c919-4594-8d2d-84ae4f96e58e_Perpetual2021 VL - Production::LTSC2021 -" -"86752282-5841-4120-ac80-db03ae6b5fdb_Microsoft2021 VL - Microsoft::LTSC2021 -" -"7983bac0-e531-40cf-be00-fd24fe66619c_Perpetual2024 VL - Production::LTSC2024 -" -"c02d8fe6-5242-4da8-972f-82ee55e00671_Microsoft2024 VL - Microsoft::LTSC2024 -" +"5440fd1f-7ecb-4221-8110-145efaa6372f_Beta / Insider Fast - Insiders::DevMain -" +"64256afe-f5d9-4f86-8936-8840a6a4f5be_Current / Monthly Preview - Insiders::CC -" +"492350f6-3a01-4f97-b9c0-c7c6ddf67d60_Current / Monthly - Production::CC -" +"55336b82-a18d-4dd6-b5f6-9e5095c314a6_Monthly Enterprise - Production::MEC -" +"7ffbc6bf-bc32-4f92-8982-f9dd17fd3114_Semi Annual Enterprise - Production::DC -" +"ea4a4090-de26-49d7-93c1-91bff9e53fc3_DevMain Channel - Dogfood::DevMain -" +"b61285dd-d9f7-41f2-9757-8f61cba4e9c8_Microsoft Elite - Microsoft::DevMain -" +"f2e724c1-748f-4b47-8fb8-8e0d210e9208_Perpetual2019 VL - Production::LTSC -" +"1d2d2ea6-1680-4c56-ac58-a441c8c24ff9_Microsoft2019 VL - Microsoft::LTSC -" +"5030841d-c919-4594-8d2d-84ae4f96e58e_Perpetual2021 VL - Production::LTSC2021 -" +"86752282-5841-4120-ac80-db03ae6b5fdb_Microsoft2021 VL - Microsoft::LTSC2021 -" +"7983bac0-e531-40cf-be00-fd24fe66619c_Perpetual2024 VL - Production::LTSC2024 -" +"c02d8fe6-5242-4da8-972f-82ee55e00671_Microsoft2024 VL - Microsoft::LTSC2024 -" ) do ( for /f "tokens=1-2 delims=_" %%A in ("%%~#") do ( set bypass= diff --git a/MAS/Separate-Files-Version/Change_Office_Edition.cmd b/MAS/Separate-Files-Version/Change_Office_Edition.cmd index 0c5cd17..b59634d 100644 --- a/MAS/Separate-Files-Version/Change_Office_Edition.cmd +++ b/MAS/Separate-Files-Version/Change_Office_Edition.cmd @@ -1071,20 +1071,19 @@ call :dk_color %Gray% "Installed Office editions: %_oIds%" echo: for %%# in ( -"5440fd1f-7ecb-4221-8110-145efaa6372f_Insider Fast [Beta] - Insiders::DevMain -" -"64256afe-f5d9-4f86-8936-8840a6a4f5be_Monthly Preview - Insiders::CC -" -"492350f6-3a01-4f97-b9c0-c7c6ddf67d60_Monthly [Current] - Production::CC -" -"55336b82-a18d-4dd6-b5f6-9e5095c314a6_Monthly Enterprise - Production::MEC -" -"b8f9b850-328d-4355-9145-c59439a0c4cf_Semi Annual Preview - Insiders::FRDC -" -"7ffbc6bf-bc32-4f92-8982-f9dd17fd3114_Semi Annual - Production::DC -" -"ea4a4090-de26-49d7-93c1-91bff9e53fc3_DevMain Channel - Dogfood::DevMain -" -"b61285dd-d9f7-41f2-9757-8f61cba4e9c8_Microsoft Elite - Microsoft::DevMain -" -"f2e724c1-748f-4b47-8fb8-8e0d210e9208_Perpetual2019 VL - Production::LTSC -" -"1d2d2ea6-1680-4c56-ac58-a441c8c24ff9_Microsoft2019 VL - Microsoft::LTSC -" -"5030841d-c919-4594-8d2d-84ae4f96e58e_Perpetual2021 VL - Production::LTSC2021 -" -"86752282-5841-4120-ac80-db03ae6b5fdb_Microsoft2021 VL - Microsoft::LTSC2021 -" -"7983bac0-e531-40cf-be00-fd24fe66619c_Perpetual2024 VL - Production::LTSC2024 -" -"c02d8fe6-5242-4da8-972f-82ee55e00671_Microsoft2024 VL - Microsoft::LTSC2024 -" +"5440fd1f-7ecb-4221-8110-145efaa6372f_Beta / Insider Fast - Insiders::DevMain -" +"64256afe-f5d9-4f86-8936-8840a6a4f5be_Current / Monthly Preview - Insiders::CC -" +"492350f6-3a01-4f97-b9c0-c7c6ddf67d60_Current / Monthly - Production::CC -" +"55336b82-a18d-4dd6-b5f6-9e5095c314a6_Monthly Enterprise - Production::MEC -" +"7ffbc6bf-bc32-4f92-8982-f9dd17fd3114_Semi Annual Enterprise - Production::DC -" +"ea4a4090-de26-49d7-93c1-91bff9e53fc3_DevMain Channel - Dogfood::DevMain -" +"b61285dd-d9f7-41f2-9757-8f61cba4e9c8_Microsoft Elite - Microsoft::DevMain -" +"f2e724c1-748f-4b47-8fb8-8e0d210e9208_Perpetual2019 VL - Production::LTSC -" +"1d2d2ea6-1680-4c56-ac58-a441c8c24ff9_Microsoft2019 VL - Microsoft::LTSC -" +"5030841d-c919-4594-8d2d-84ae4f96e58e_Perpetual2021 VL - Production::LTSC2021 -" +"86752282-5841-4120-ac80-db03ae6b5fdb_Microsoft2021 VL - Microsoft::LTSC2021 -" +"7983bac0-e531-40cf-be00-fd24fe66619c_Perpetual2024 VL - Production::LTSC2024 -" +"c02d8fe6-5242-4da8-972f-82ee55e00671_Microsoft2024 VL - Microsoft::LTSC2024 -" ) do ( for /f "tokens=1-2 delims=_" %%A in ("%%~#") do ( set bypass= From f8f37b38fed82f78ad8a51503145e4951e584c16 Mon Sep 17 00:00:00 2001 From: WindowsAddict Date: Wed, 19 Nov 2025 02:53:24 +0530 Subject: [PATCH 26/66] Don't auto change IoTEnterprise to Enterprise in KMS script --- MAS/All-In-One-Version-KL/MAS_AIO.cmd | 3 --- .../Activators/Online_KMS_Activation.cmd | 3 --- 2 files changed, 6 deletions(-) diff --git a/MAS/All-In-One-Version-KL/MAS_AIO.cmd b/MAS/All-In-One-Version-KL/MAS_AIO.cmd index 661cd46..f43e04e 100644 --- a/MAS/All-In-One-Version-KL/MAS_AIO.cmd +++ b/MAS/All-In-One-Version-KL/MAS_AIO.cmd @@ -14461,9 +14461,6 @@ set notfoundaltactID= if %_NoEditionChange%==1 exit /b for %%# in ( -188_IoTEnterprise__________________8ab9bdd1-1f67-4997-82d9-8878520837d9_73111121-5638-40f6-bc11-f1d7b0d64300_NPPR9-FWDCX-D2C8J-H872K-2Y%f%T43_Enterprise -206_IoTEnterpriseK_________________80083eae-7031-4394-9e88-4901973d56fe_73111121-5638-40f6-bc11-f1d7b0d64300_NPPR9-FWDCX-D2C8J-H872K-2Y%f%T43_Enterprise -191_IoTEnterpriseS-2021____________ed655016-a9e8-4434-95d9-4345352c2552_32d2fab3-e4a8-42c2-923b-4bf4fd13e6ee_M7XTQ-FN8P6-TTKYV-9D4CC-J4%f%62D_EnterpriseS-2021 205_IoTEnterpriseSK________________d4f9b41f-205c-405e-8e08-3d16e88e02be_59eb965c-9150-42b7-a0ec-22151b9897c5_KBN8V-HFGQ4-MGXVD-347P6-PD%f%QGT_IoTEnterpriseS 138_ProfessionalSingleLanguage_____a48938aa-62fa-4966-9d44-9f04da3f72f2_2de67392-b7a7-462a-b1ca-108dd189f588_W269N-WFGWX-YVC9B-4J6C9-T8%f%3GX_Professional 139_ProfessionalCountrySpecific____f7af7d09-40e4-419c-a49b-eae366689ebd_2de67392-b7a7-462a-b1ca-108dd189f588_W269N-WFGWX-YVC9B-4J6C9-T8%f%3GX_Professional diff --git a/MAS/Separate-Files-Version/Activators/Online_KMS_Activation.cmd b/MAS/Separate-Files-Version/Activators/Online_KMS_Activation.cmd index 3da7adb..8c2af1c 100644 --- a/MAS/Separate-Files-Version/Activators/Online_KMS_Activation.cmd +++ b/MAS/Separate-Files-Version/Activators/Online_KMS_Activation.cmd @@ -4234,9 +4234,6 @@ set notfoundaltactID= if %_NoEditionChange%==1 exit /b for %%# in ( -188_IoTEnterprise__________________8ab9bdd1-1f67-4997-82d9-8878520837d9_73111121-5638-40f6-bc11-f1d7b0d64300_NPPR9-FWDCX-D2C8J-H872K-2Y%f%T43_Enterprise -206_IoTEnterpriseK_________________80083eae-7031-4394-9e88-4901973d56fe_73111121-5638-40f6-bc11-f1d7b0d64300_NPPR9-FWDCX-D2C8J-H872K-2Y%f%T43_Enterprise -191_IoTEnterpriseS-2021____________ed655016-a9e8-4434-95d9-4345352c2552_32d2fab3-e4a8-42c2-923b-4bf4fd13e6ee_M7XTQ-FN8P6-TTKYV-9D4CC-J4%f%62D_EnterpriseS-2021 205_IoTEnterpriseSK________________d4f9b41f-205c-405e-8e08-3d16e88e02be_59eb965c-9150-42b7-a0ec-22151b9897c5_KBN8V-HFGQ4-MGXVD-347P6-PD%f%QGT_IoTEnterpriseS 138_ProfessionalSingleLanguage_____a48938aa-62fa-4966-9d44-9f04da3f72f2_2de67392-b7a7-462a-b1ca-108dd189f588_W269N-WFGWX-YVC9B-4J6C9-T8%f%3GX_Professional 139_ProfessionalCountrySpecific____f7af7d09-40e4-419c-a49b-eae366689ebd_2de67392-b7a7-462a-b1ca-108dd189f588_W269N-WFGWX-YVC9B-4J6C9-T8%f%3GX_Professional From f69e4ff432e465a006896de107c390220102b6d3 Mon Sep 17 00:00:00 2001 From: WindowsAddict Date: Wed, 19 Nov 2025 03:37:36 +0530 Subject: [PATCH 27/66] 3.9 --- MAS/All-In-One-Version-KL/MAS_AIO.cmd | 2 +- MAS/Separate-Files-Version/Activators/HWID_Activation.cmd | 2 +- .../Activators/Ohook_Activation_AIO.cmd | 2 +- .../Activators/Online_KMS_Activation.cmd | 2 +- MAS/Separate-Files-Version/Activators/TSforge_Activation.cmd | 2 +- MAS/Separate-Files-Version/Change_Office_Edition.cmd | 2 +- MAS/Separate-Files-Version/Change_Windows_Edition.cmd | 2 +- MAS/Separate-Files-Version/Extract_OEM_Folder.cmd | 2 +- MAS/Separate-Files-Version/Troubleshoot.cmd | 2 +- README.md | 4 ++-- 10 files changed, 11 insertions(+), 11 deletions(-) diff --git a/MAS/All-In-One-Version-KL/MAS_AIO.cmd b/MAS/All-In-One-Version-KL/MAS_AIO.cmd index f43e04e..5fa7a8a 100644 --- a/MAS/All-In-One-Version-KL/MAS_AIO.cmd +++ b/MAS/All-In-One-Version-KL/MAS_AIO.cmd @@ -1,5 +1,5 @@ @::sfh437frandom -@set masver=3.8 +@set masver=3.9 @setlocal DisableDelayedExpansion @echo off diff --git a/MAS/Separate-Files-Version/Activators/HWID_Activation.cmd b/MAS/Separate-Files-Version/Activators/HWID_Activation.cmd index aa959d7..9033d67 100644 --- a/MAS/Separate-Files-Version/Activators/HWID_Activation.cmd +++ b/MAS/Separate-Files-Version/Activators/HWID_Activation.cmd @@ -1,4 +1,4 @@ -@set masver=3.8 +@set masver=3.9 @echo off diff --git a/MAS/Separate-Files-Version/Activators/Ohook_Activation_AIO.cmd b/MAS/Separate-Files-Version/Activators/Ohook_Activation_AIO.cmd index 8c8f0fd..0370026 100644 --- a/MAS/Separate-Files-Version/Activators/Ohook_Activation_AIO.cmd +++ b/MAS/Separate-Files-Version/Activators/Ohook_Activation_AIO.cmd @@ -1,4 +1,4 @@ -@set masver=3.8 +@set masver=3.9 @echo off diff --git a/MAS/Separate-Files-Version/Activators/Online_KMS_Activation.cmd b/MAS/Separate-Files-Version/Activators/Online_KMS_Activation.cmd index 8c2af1c..8d6a334 100644 --- a/MAS/Separate-Files-Version/Activators/Online_KMS_Activation.cmd +++ b/MAS/Separate-Files-Version/Activators/Online_KMS_Activation.cmd @@ -1,4 +1,4 @@ -@set masver=3.8 +@set masver=3.9 @echo off diff --git a/MAS/Separate-Files-Version/Activators/TSforge_Activation.cmd b/MAS/Separate-Files-Version/Activators/TSforge_Activation.cmd index c43257b..2c9bb75 100644 --- a/MAS/Separate-Files-Version/Activators/TSforge_Activation.cmd +++ b/MAS/Separate-Files-Version/Activators/TSforge_Activation.cmd @@ -1,4 +1,4 @@ -@set masver=3.8 +@set masver=3.9 @echo off diff --git a/MAS/Separate-Files-Version/Change_Office_Edition.cmd b/MAS/Separate-Files-Version/Change_Office_Edition.cmd index b59634d..c7d4d73 100644 --- a/MAS/Separate-Files-Version/Change_Office_Edition.cmd +++ b/MAS/Separate-Files-Version/Change_Office_Edition.cmd @@ -1,4 +1,4 @@ -@set masver=3.8 +@set masver=3.9 @echo off diff --git a/MAS/Separate-Files-Version/Change_Windows_Edition.cmd b/MAS/Separate-Files-Version/Change_Windows_Edition.cmd index b727b71..44d4ce1 100644 --- a/MAS/Separate-Files-Version/Change_Windows_Edition.cmd +++ b/MAS/Separate-Files-Version/Change_Windows_Edition.cmd @@ -1,4 +1,4 @@ -@set masver=3.8 +@set masver=3.9 @echo off diff --git a/MAS/Separate-Files-Version/Extract_OEM_Folder.cmd b/MAS/Separate-Files-Version/Extract_OEM_Folder.cmd index 9284342..d31bd7d 100644 --- a/MAS/Separate-Files-Version/Extract_OEM_Folder.cmd +++ b/MAS/Separate-Files-Version/Extract_OEM_Folder.cmd @@ -1,4 +1,4 @@ -@set masver=3.8 +@set masver=3.9 @echo off diff --git a/MAS/Separate-Files-Version/Troubleshoot.cmd b/MAS/Separate-Files-Version/Troubleshoot.cmd index eb874e6..6fa92c7 100644 --- a/MAS/Separate-Files-Version/Troubleshoot.cmd +++ b/MAS/Separate-Files-Version/Troubleshoot.cmd @@ -1,4 +1,4 @@ -@set masver=3.8 +@set masver=3.9 @echo off diff --git a/README.md b/README.md index a9bbd23..47faa7c 100644 --- a/README.md +++ b/README.md @@ -63,8 +63,8 @@ --- ``` -Latest Version: 3.8 -Release date: 11-Nov-2025 +Latest Version: 3.9 +Release date: 19-Nov-2025 ``` ### [Troubleshooting / Help](https://massgrave.dev/troubleshoot) From 2bc48bfd4d929384dd0320aff4d856c056f07da8 Mon Sep 17 00:00:00 2001 From: WindowsAddict Date: Wed, 19 Nov 2025 03:55:25 +0530 Subject: [PATCH 28/66] export-ignore --- .gitattributes | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/.gitattributes b/.gitattributes index 4d21483..de5bd3d 100644 --- a/.gitattributes +++ b/.gitattributes @@ -1,4 +1,4 @@ -# MAS export-ignore -# LICENSE export-ignore -# README.md export-ignore -# .gitattributes export-ignore +MAS export-ignore +LICENSE export-ignore +README.md export-ignore +.gitattributes export-ignore From 541364642b5995277d38af4ba443b1492fbf285d Mon Sep 17 00:00:00 2001 From: WindowsAddict Date: Wed, 19 Nov 2025 03:59:34 +0530 Subject: [PATCH 29/66] Revert export-ignore --- .gitattributes | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/.gitattributes b/.gitattributes index de5bd3d..4d21483 100644 --- a/.gitattributes +++ b/.gitattributes @@ -1,4 +1,4 @@ -MAS export-ignore -LICENSE export-ignore -README.md export-ignore -.gitattributes export-ignore +# MAS export-ignore +# LICENSE export-ignore +# README.md export-ignore +# .gitattributes export-ignore From 5f40fb4a79c90e6542f4273da7c3e1bc4e339d91 Mon Sep 17 00:00:00 2001 From: WindowsAddict Date: Sat, 22 Nov 2025 12:35:29 +0530 Subject: [PATCH 30/66] Remove email --- MAS/All-In-One-Version-KL/MAS_AIO.cmd | 3 --- MAS/Separate-Files-Version/Activators/HWID_Activation.cmd | 1 - MAS/Separate-Files-Version/Activators/Ohook_Activation_AIO.cmd | 1 - .../Activators/Online_KMS_Activation.cmd | 3 --- MAS/Separate-Files-Version/Activators/TSforge_Activation.cmd | 1 - MAS/Separate-Files-Version/Change_Office_Edition.cmd | 1 - MAS/Separate-Files-Version/Change_Windows_Edition.cmd | 1 - MAS/Separate-Files-Version/Extract_OEM_Folder.cmd | 1 - MAS/Separate-Files-Version/Troubleshoot.cmd | 1 - 9 files changed, 13 deletions(-) diff --git a/MAS/All-In-One-Version-KL/MAS_AIO.cmd b/MAS/All-In-One-Version-KL/MAS_AIO.cmd index 5fa7a8a..fdadbf4 100644 --- a/MAS/All-In-One-Version-KL/MAS_AIO.cmd +++ b/MAS/All-In-One-Version-KL/MAS_AIO.cmd @@ -13,7 +13,6 @@ ::============================================================================ :: :: Homepage: mass{}grave{dot}dev -:: Email: mas.help@outlook.com :: ::============================================================================ @@ -13058,7 +13057,6 @@ exit /b ::============================================================================ :: :: Homepage: mass{}grave{dot}dev -:: Email: mas.help@outlook.com :: ::============================================================================ @@ -13667,7 +13665,6 @@ echo: echo This Script is a part of MAS project. echo: echo Homepage: mass%w%grave%w%.dev -echo Email: mas.help@outlook.com )>"%_dest%\Info.txt" exit /b diff --git a/MAS/Separate-Files-Version/Activators/HWID_Activation.cmd b/MAS/Separate-Files-Version/Activators/HWID_Activation.cmd index 9033d67..4332dd8 100644 --- a/MAS/Separate-Files-Version/Activators/HWID_Activation.cmd +++ b/MAS/Separate-Files-Version/Activators/HWID_Activation.cmd @@ -6,7 +6,6 @@ ::============================================================================ :: :: Homepage: mass{}grave{dot}dev -:: Email: mas.help@outlook.com :: ::============================================================================ diff --git a/MAS/Separate-Files-Version/Activators/Ohook_Activation_AIO.cmd b/MAS/Separate-Files-Version/Activators/Ohook_Activation_AIO.cmd index 0370026..7389471 100644 --- a/MAS/Separate-Files-Version/Activators/Ohook_Activation_AIO.cmd +++ b/MAS/Separate-Files-Version/Activators/Ohook_Activation_AIO.cmd @@ -6,7 +6,6 @@ ::============================================================================ :: :: Homepage: mass{}grave{dot}dev -:: Email: mas.help@outlook.com :: ::============================================================================ diff --git a/MAS/Separate-Files-Version/Activators/Online_KMS_Activation.cmd b/MAS/Separate-Files-Version/Activators/Online_KMS_Activation.cmd index 8d6a334..33c2c50 100644 --- a/MAS/Separate-Files-Version/Activators/Online_KMS_Activation.cmd +++ b/MAS/Separate-Files-Version/Activators/Online_KMS_Activation.cmd @@ -6,7 +6,6 @@ ::============================================================================ :: :: Homepage: mass{}grave{dot}dev -:: Email: mas.help@outlook.com :: ::============================================================================ @@ -1728,7 +1727,6 @@ exit /b ::============================================================================ :: :: Homepage: mass{}grave{dot}dev -:: Email: mas.help@outlook.com :: ::============================================================================ @@ -2337,7 +2335,6 @@ echo: echo This Script is a part of MAS project. echo: echo Homepage: mass%w%grave%w%.dev -echo Email: mas.help@outlook.com )>"%_dest%\Info.txt" exit /b diff --git a/MAS/Separate-Files-Version/Activators/TSforge_Activation.cmd b/MAS/Separate-Files-Version/Activators/TSforge_Activation.cmd index 2c9bb75..d966498 100644 --- a/MAS/Separate-Files-Version/Activators/TSforge_Activation.cmd +++ b/MAS/Separate-Files-Version/Activators/TSforge_Activation.cmd @@ -6,7 +6,6 @@ ::============================================================================ :: :: Homepage: mass{}grave{dot}dev -:: Email: mas.help@outlook.com :: ::============================================================================ diff --git a/MAS/Separate-Files-Version/Change_Office_Edition.cmd b/MAS/Separate-Files-Version/Change_Office_Edition.cmd index c7d4d73..9220148 100644 --- a/MAS/Separate-Files-Version/Change_Office_Edition.cmd +++ b/MAS/Separate-Files-Version/Change_Office_Edition.cmd @@ -6,7 +6,6 @@ ::============================================================================ :: :: Homepage: mass{}grave{dot}dev -:: Email: mas.help@outlook.com :: ::============================================================================ diff --git a/MAS/Separate-Files-Version/Change_Windows_Edition.cmd b/MAS/Separate-Files-Version/Change_Windows_Edition.cmd index 44d4ce1..0844273 100644 --- a/MAS/Separate-Files-Version/Change_Windows_Edition.cmd +++ b/MAS/Separate-Files-Version/Change_Windows_Edition.cmd @@ -6,7 +6,6 @@ ::============================================================================ :: :: Homepage: mass{}grave{dot}dev -:: Email: mas.help@outlook.com :: ::============================================================================ diff --git a/MAS/Separate-Files-Version/Extract_OEM_Folder.cmd b/MAS/Separate-Files-Version/Extract_OEM_Folder.cmd index d31bd7d..ddbe84e 100644 --- a/MAS/Separate-Files-Version/Extract_OEM_Folder.cmd +++ b/MAS/Separate-Files-Version/Extract_OEM_Folder.cmd @@ -6,7 +6,6 @@ ::============================================================================ :: :: Homepage: mass{}grave{dot}dev -:: Email: mas.help@outlook.com :: ::============================================================================ diff --git a/MAS/Separate-Files-Version/Troubleshoot.cmd b/MAS/Separate-Files-Version/Troubleshoot.cmd index 6fa92c7..124220c 100644 --- a/MAS/Separate-Files-Version/Troubleshoot.cmd +++ b/MAS/Separate-Files-Version/Troubleshoot.cmd @@ -6,7 +6,6 @@ ::============================================================================ :: :: Homepage: mass{}grave{dot}dev -:: Email: mas.help@outlook.com :: ::============================================================================ From 54a1ec3d5418a6d24a31c38f52ced9a5e67ebb11 Mon Sep 17 00:00:00 2001 From: WitherOrNot Date: Sun, 23 Nov 2025 16:27:07 -0500 Subject: [PATCH 31/66] Fix self-hosted git URL --- README.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index 47faa7c..02115e2 100644 --- a/README.md +++ b/README.md @@ -99,7 +99,7 @@ Release date: 19-Nov-2025 [1]: https://github.com/massgravel/Microsoft-Activation-Scripts [2]: https://dev.azure.com/massgrave/_git/Microsoft-Activation-Scripts -[3]: https://git.activated.win/massgrave/Microsoft-Activation-Scripts +[3]: https://git.activated.win/Microsoft-Activation-Scripts [4]: https://discord.gg/j2yFsV5ZVC [5]: https://www.reddit.com/r/MAS_Activator [6]: https://bsky.app/profile/massgrave.dev @@ -108,3 +108,4 @@ Release date: 19-Nov-2025 ---

Made with Love ❤️

+ From da0b2800d9c783e63af33a6178267ac2201adb2a Mon Sep 17 00:00:00 2001 From: May <112294121+ave9858@users.noreply.github.com> Date: Fri, 12 Dec 2025 20:19:17 +0000 Subject: [PATCH 32/66] fix git url --- MAS/All-In-One-Version-KL/MAS_AIO.cmd | 12 ++++++------ .../Activators/HWID_Activation.cmd | 8 ++++---- .../Activators/Ohook_Activation_AIO.cmd | 8 ++++---- .../Activators/Online_KMS_Activation.cmd | 10 +++++----- .../Activators/TSforge_Activation.cmd | 8 ++++---- MAS/Separate-Files-Version/Change_Office_Edition.cmd | 8 ++++---- .../Change_Windows_Edition.cmd | 8 ++++---- MAS/Separate-Files-Version/Extract_OEM_Folder.cmd | 8 ++++---- MAS/Separate-Files-Version/Troubleshoot.cmd | 8 ++++---- 9 files changed, 39 insertions(+), 39 deletions(-) diff --git a/MAS/All-In-One-Version-KL/MAS_AIO.cmd b/MAS/All-In-One-Version-KL/MAS_AIO.cmd index fdadbf4..0ce3770 100644 --- a/MAS/All-In-One-Version-KL/MAS_AIO.cmd +++ b/MAS/All-In-One-Version-KL/MAS_AIO.cmd @@ -5,14 +5,14 @@ -:: For command line switches, check mass{}grave{dot}dev/command_line_switches +:: For command line switches, check m{}assgrave{dot}dev/command_line_switches :: If you want to better understand script, read from separate files version. ::============================================================================ :: -:: Homepage: mass{}grave{dot}dev +:: Homepage: m{}assgrave{dot}dev :: ::============================================================================ @@ -66,9 +66,9 @@ exit /b ::======================================================================================================================================== set "blank=" -set "mas=ht%blank%tps%blank%://mass%blank%grave.dev/" -set "github=ht%blank%tps%blank%://github.com/massgra%blank%vel/Micro%blank%soft-Acti%blank%vation-Scripts" -set "selfgit=ht%blank%tps%blank%://git.acti%blank%vated.win/massg%blank%rave/Micr%blank%osoft-Act%blank%ivation-Scripts" +set "mas=ht%blank%tps%blank%://m%blank%ass%blank%grave.dev/" +set "github=ht%blank%tps%blank%://github.com/m%blank%assgra%blank%vel/Micro%blank%soft-Acti%blank%vation-Scripts" +set "selfgit=ht%blank%tps%blank%://git.acti%blank%vated.win/Micr%blank%osoft-Act%blank%ivation-Scripts" :: Check if Null service is working, it's important for the batch script @@ -13056,7 +13056,7 @@ exit /b ::============================================================================ :: -:: Homepage: mass{}grave{dot}dev +:: Homepage: m{}assgrave{dot}dev :: ::============================================================================ diff --git a/MAS/Separate-Files-Version/Activators/HWID_Activation.cmd b/MAS/Separate-Files-Version/Activators/HWID_Activation.cmd index 4332dd8..9ca9bee 100644 --- a/MAS/Separate-Files-Version/Activators/HWID_Activation.cmd +++ b/MAS/Separate-Files-Version/Activators/HWID_Activation.cmd @@ -5,7 +5,7 @@ ::============================================================================ :: -:: Homepage: mass{}grave{dot}dev +:: Homepage: m{}assgrave{dot}dev :: ::============================================================================ @@ -99,9 +99,9 @@ set "nul=" ::======================================================================================================================================== set "blank=" -set "mas=ht%blank%tps%blank%://mass%blank%grave.dev/" -set "github=ht%blank%tps%blank%://github.com/massgra%blank%vel/Micro%blank%soft-Acti%blank%vation-Scripts" -set "selfgit=ht%blank%tps%blank%://git.acti%blank%vated.win/massg%blank%rave/Micr%blank%osoft-Act%blank%ivation-Scripts" +set "mas=ht%blank%tps%blank%://m%blank%ass%blank%grave.dev/" +set "github=ht%blank%tps%blank%://github.com/m%blank%assgra%blank%vel/Micro%blank%soft-Acti%blank%vation-Scripts" +set "selfgit=ht%blank%tps%blank%://git.acti%blank%vated.win/Micr%blank%osoft-Act%blank%ivation-Scripts" :: Check if Null service is working, it's important for the batch script diff --git a/MAS/Separate-Files-Version/Activators/Ohook_Activation_AIO.cmd b/MAS/Separate-Files-Version/Activators/Ohook_Activation_AIO.cmd index 7389471..35122b7 100644 --- a/MAS/Separate-Files-Version/Activators/Ohook_Activation_AIO.cmd +++ b/MAS/Separate-Files-Version/Activators/Ohook_Activation_AIO.cmd @@ -5,7 +5,7 @@ ::============================================================================ :: -:: Homepage: mass{}grave{dot}dev +:: Homepage: m{}assgrave{dot}dev :: ::============================================================================ @@ -99,9 +99,9 @@ set "nul=" ::======================================================================================================================================== set "blank=" -set "mas=ht%blank%tps%blank%://mass%blank%grave.dev/" -set "github=ht%blank%tps%blank%://github.com/massgra%blank%vel/Micro%blank%soft-Acti%blank%vation-Scripts" -set "selfgit=ht%blank%tps%blank%://git.acti%blank%vated.win/massg%blank%rave/Micr%blank%osoft-Act%blank%ivation-Scripts" +set "mas=ht%blank%tps%blank%://m%blank%ass%blank%grave.dev/" +set "github=ht%blank%tps%blank%://github.com/m%blank%assgra%blank%vel/Micro%blank%soft-Acti%blank%vation-Scripts" +set "selfgit=ht%blank%tps%blank%://git.acti%blank%vated.win/Micr%blank%osoft-Act%blank%ivation-Scripts" :: Check if Null service is working, it's important for the batch script diff --git a/MAS/Separate-Files-Version/Activators/Online_KMS_Activation.cmd b/MAS/Separate-Files-Version/Activators/Online_KMS_Activation.cmd index 33c2c50..3b15480 100644 --- a/MAS/Separate-Files-Version/Activators/Online_KMS_Activation.cmd +++ b/MAS/Separate-Files-Version/Activators/Online_KMS_Activation.cmd @@ -5,7 +5,7 @@ ::============================================================================ :: -:: Homepage: mass{}grave{dot}dev +:: Homepage: m{}assgrave{dot}dev :: ::============================================================================ @@ -124,9 +124,9 @@ set "nul=" ::======================================================================================================================================== set "blank=" -set "mas=ht%blank%tps%blank%://mass%blank%grave.dev/" -set "github=ht%blank%tps%blank%://github.com/massgra%blank%vel/Micro%blank%soft-Acti%blank%vation-Scripts" -set "selfgit=ht%blank%tps%blank%://git.acti%blank%vated.win/massg%blank%rave/Micr%blank%osoft-Act%blank%ivation-Scripts" +set "mas=ht%blank%tps%blank%://m%blank%ass%blank%grave.dev/" +set "github=ht%blank%tps%blank%://github.com/m%blank%assgra%blank%vel/Micro%blank%soft-Acti%blank%vation-Scripts" +set "selfgit=ht%blank%tps%blank%://git.acti%blank%vated.win/Micr%blank%osoft-Act%blank%ivation-Scripts" :: Check if Null service is working, it's important for the batch script @@ -1726,7 +1726,7 @@ exit /b ::============================================================================ :: -:: Homepage: mass{}grave{dot}dev +:: Homepage: m{}assgrave{dot}dev :: ::============================================================================ diff --git a/MAS/Separate-Files-Version/Activators/TSforge_Activation.cmd b/MAS/Separate-Files-Version/Activators/TSforge_Activation.cmd index d966498..5d9e434 100644 --- a/MAS/Separate-Files-Version/Activators/TSforge_Activation.cmd +++ b/MAS/Separate-Files-Version/Activators/TSforge_Activation.cmd @@ -5,7 +5,7 @@ ::============================================================================ :: -:: Homepage: mass{}grave{dot}dev +:: Homepage: m{}assgrave{dot}dev :: ::============================================================================ @@ -133,9 +133,9 @@ set "nul=" ::======================================================================================================================================== set "blank=" -set "mas=ht%blank%tps%blank%://mass%blank%grave.dev/" -set "github=ht%blank%tps%blank%://github.com/massgra%blank%vel/Micro%blank%soft-Acti%blank%vation-Scripts" -set "selfgit=ht%blank%tps%blank%://git.acti%blank%vated.win/massg%blank%rave/Micr%blank%osoft-Act%blank%ivation-Scripts" +set "mas=ht%blank%tps%blank%://m%blank%ass%blank%grave.dev/" +set "github=ht%blank%tps%blank%://github.com/m%blank%assgra%blank%vel/Micro%blank%soft-Acti%blank%vation-Scripts" +set "selfgit=ht%blank%tps%blank%://git.acti%blank%vated.win/Micr%blank%osoft-Act%blank%ivation-Scripts" :: Check if Null service is working, it's important for the batch script diff --git a/MAS/Separate-Files-Version/Change_Office_Edition.cmd b/MAS/Separate-Files-Version/Change_Office_Edition.cmd index 9220148..5e9e7c3 100644 --- a/MAS/Separate-Files-Version/Change_Office_Edition.cmd +++ b/MAS/Separate-Files-Version/Change_Office_Edition.cmd @@ -5,7 +5,7 @@ ::============================================================================ :: -:: Homepage: mass{}grave{dot}dev +:: Homepage: m{}assgrave{dot}dev :: ::============================================================================ @@ -59,9 +59,9 @@ exit /b ::======================================================================================================================================== set "blank=" -set "mas=ht%blank%tps%blank%://mass%blank%grave.dev/" -set "github=ht%blank%tps%blank%://github.com/massgra%blank%vel/Micro%blank%soft-Acti%blank%vation-Scripts" -set "selfgit=ht%blank%tps%blank%://git.acti%blank%vated.win/massg%blank%rave/Micr%blank%osoft-Act%blank%ivation-Scripts" +set "mas=ht%blank%tps%blank%://m%blank%ass%blank%grave.dev/" +set "github=ht%blank%tps%blank%://github.com/m%blank%assgra%blank%vel/Micro%blank%soft-Acti%blank%vation-Scripts" +set "selfgit=ht%blank%tps%blank%://git.acti%blank%vated.win/Micr%blank%osoft-Act%blank%ivation-Scripts" :: Check if Null service is working, it's important for the batch script diff --git a/MAS/Separate-Files-Version/Change_Windows_Edition.cmd b/MAS/Separate-Files-Version/Change_Windows_Edition.cmd index 0844273..4e05233 100644 --- a/MAS/Separate-Files-Version/Change_Windows_Edition.cmd +++ b/MAS/Separate-Files-Version/Change_Windows_Edition.cmd @@ -5,7 +5,7 @@ ::============================================================================ :: -:: Homepage: mass{}grave{dot}dev +:: Homepage: m{}assgrave{dot}dev :: ::============================================================================ @@ -64,9 +64,9 @@ exit /b ::======================================================================================================================================== set "blank=" -set "mas=ht%blank%tps%blank%://mass%blank%grave.dev/" -set "github=ht%blank%tps%blank%://github.com/massgra%blank%vel/Micro%blank%soft-Acti%blank%vation-Scripts" -set "selfgit=ht%blank%tps%blank%://git.acti%blank%vated.win/massg%blank%rave/Micr%blank%osoft-Act%blank%ivation-Scripts" +set "mas=ht%blank%tps%blank%://m%blank%ass%blank%grave.dev/" +set "github=ht%blank%tps%blank%://github.com/m%blank%assgra%blank%vel/Micro%blank%soft-Acti%blank%vation-Scripts" +set "selfgit=ht%blank%tps%blank%://git.acti%blank%vated.win/Micr%blank%osoft-Act%blank%ivation-Scripts" :: Check if Null service is working, it's important for the batch script diff --git a/MAS/Separate-Files-Version/Extract_OEM_Folder.cmd b/MAS/Separate-Files-Version/Extract_OEM_Folder.cmd index ddbe84e..dd21cf1 100644 --- a/MAS/Separate-Files-Version/Extract_OEM_Folder.cmd +++ b/MAS/Separate-Files-Version/Extract_OEM_Folder.cmd @@ -5,7 +5,7 @@ ::============================================================================ :: -:: Homepage: mass{}grave{dot}dev +:: Homepage: m{}assgrave{dot}dev :: ::============================================================================ @@ -59,9 +59,9 @@ exit /b ::======================================================================================================================================== set "blank=" -set "mas=ht%blank%tps%blank%://mass%blank%grave.dev/" -set "github=ht%blank%tps%blank%://github.com/massgra%blank%vel/Micro%blank%soft-Acti%blank%vation-Scripts" -set "selfgit=ht%blank%tps%blank%://git.acti%blank%vated.win/massg%blank%rave/Micr%blank%osoft-Act%blank%ivation-Scripts" +set "mas=ht%blank%tps%blank%://m%blank%ass%blank%grave.dev/" +set "github=ht%blank%tps%blank%://github.com/m%blank%assgra%blank%vel/Micro%blank%soft-Acti%blank%vation-Scripts" +set "selfgit=ht%blank%tps%blank%://git.acti%blank%vated.win/Micr%blank%osoft-Act%blank%ivation-Scripts" :: Check if Null service is working, it's important for the batch script diff --git a/MAS/Separate-Files-Version/Troubleshoot.cmd b/MAS/Separate-Files-Version/Troubleshoot.cmd index 124220c..dc0668f 100644 --- a/MAS/Separate-Files-Version/Troubleshoot.cmd +++ b/MAS/Separate-Files-Version/Troubleshoot.cmd @@ -5,7 +5,7 @@ ::============================================================================ :: -:: Homepage: mass{}grave{dot}dev +:: Homepage: m{}assgrave{dot}dev :: ::============================================================================ @@ -59,9 +59,9 @@ exit /b ::======================================================================================================================================== set "blank=" -set "mas=ht%blank%tps%blank%://mass%blank%grave.dev/" -set "github=ht%blank%tps%blank%://github.com/massgra%blank%vel/Micro%blank%soft-Acti%blank%vation-Scripts" -set "selfgit=ht%blank%tps%blank%://git.acti%blank%vated.win/massg%blank%rave/Micr%blank%osoft-Act%blank%ivation-Scripts" +set "mas=ht%blank%tps%blank%://m%blank%ass%blank%grave.dev/" +set "github=ht%blank%tps%blank%://github.com/m%blank%assgra%blank%vel/Micro%blank%soft-Acti%blank%vation-Scripts" +set "selfgit=ht%blank%tps%blank%://git.acti%blank%vated.win/Micr%blank%osoft-Act%blank%ivation-Scripts" :: Check if Null service is working, it's important for the batch script From 31a79148b134a4217405d1a714e07281dc81de39 Mon Sep 17 00:00:00 2001 From: Lyssa <75037904+thecatontheceiling@users.noreply.github.com> Date: Thu, 15 Jan 2026 16:14:29 +0400 Subject: [PATCH 33/66] Clean up README.md a bit --- README.md | 95 ++++++++++++++++++++----------------------------------- 1 file changed, 34 insertions(+), 61 deletions(-) diff --git a/README.md b/README.md index 02115e2..8518a34 100644 --- a/README.md +++ b/README.md @@ -6,15 +6,14 @@
-## How to Activate Windows / Office / Extended Updates (ESU)? +## How to Activate Windows / Office / Extended Security Updates (ESU)? ### Method 1 - PowerShell ❤️ -1. **Open PowerShell** - Click the **Start Menu**, type `PowerShell`, then open it. +1. Click the **Start Menu**, type `PowerShell`, and open it. -2. **Copy and paste the code below, then press enter.** - - For **Windows 8, 10, 11**: 📌 +2. Copy and paste the code below and press **Enter.** + - For **Windows 8.1, 10 and 11**: ``` irm https://get.activated.win | iex ``` @@ -22,90 +21,64 @@ ``` iex (curl.exe -s --doh-url https://1.1.1.1/dns-query https://get.activated.win | Out-String) ``` - - For **Windows 7** and later: - ``` - iex ((New-Object Net.WebClient).DownloadString('https://get.activated.win')) - ``` - - **Script not launching❓Use the below-listed Method 2.** - -3. The activation menu will appear. **Choose the green-highlighted options** to activate Windows or Office. + - **Script not launching? Use the below-listed Method 2.** -4. **Done!** +3. In the menu that appears, type the number corresponding to one of the **Green** options. --- ### Method 2 - Traditional (Windows Vista and later) -1. Download the script: [**MAS_AIO.cmd**](https://dev.azure.com/massgrave/Microsoft-Activation-Scripts/_apis/git/repositories/Microsoft-Activation-Scripts/items?path=/MAS/All-In-One-Version-KL/MAS_AIO.cmd&download=true) or the [full ZIP](https://dev.azure.com/massgrave/Microsoft-Activation-Scripts/_apis/git/repositories/Microsoft-Activation-Scripts/items?$format=zip). -2. Run the file named `MAS_AIO.cmd`. -3. You will see the activation options. Follow the on-screen instructions. -4. That's all. +1. Download the script: + * [**MAS_AIO.cmd**](https://dev.azure.com/massgrave/Microsoft-Activation-Scripts/_apis/git/repositories/Microsoft-Activation-Scripts/items?path=/MAS/All-In-One-Version-KL/MAS_AIO.cmd&download=true) (Direct script) + * [**MAS_AIO.zip**](https://dev.azure.com/massgrave/Microsoft-Activation-Scripts/_apis/git/repositories/Microsoft-Activation-Scripts/items?$format=zip) (If the direct script is blocked by your browser) +2. Run the `MAS_AIO.cmd` file. +3. In the menu that appears, type the number corresponding to one of the **Green** options. --- > [!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). - ---- - -- 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). - ---- +> - Some ISPs/DNS providers 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). > [!NOTE] > -> - The IRM command in PowerShell downloads a script from a specified URL, and the IEX command executes it. -> - Always double-check the URL before executing the command and verify the source if manually downloading files. -> - Be cautious, as some spread malware disguised as MAS by using different URLs in the IRM command. +> - The `irm` command in PowerShell downloads a script from a specified URL, and the `iex` command executes it. +> - Always double-check the URL before executing the command and verify the source is trustworthy when manually downloading files. +> - Be cautious of third parties spreading malware disguised as MAS by altering the URL in the PowerShell command. --- -``` -Latest Version: 3.9 -Release date: 19-Nov-2025 -``` - -### [Troubleshooting / Help](https://massgrave.dev/troubleshoot) -### [Download Original Windows & Office](https://massgrave.dev/genuine-installation-media) -### Homepage - [https://massgrave.dev/](https://massgrave.dev/) -
+ +### Homepage - [https://massgrave.dev/](https://massgrave.dev/) [![1.1]][1] [![1.2]][2] [![1.3]][3] - -
- -
- [![1.4]][4] [![1.5]][5] [![1.6]][6] [![1.7]][7] -
- -[1.1]: https://massgrave.dev/img/logo_github.png (GitHub) -[1.2]: https://massgrave.dev/img/logo_azuredevops.png (AzureDevOps) -[1.3]: https://massgrave.dev/img/logo_gitea.png (Self-hosted Git) +[1.1]: https://massgrave.dev/img/logo_discord.png (Chat with us without signup) +[1.2]: https://massgrave.dev/img/logo_reddit.png (Reddit) +[1.3]: https://massgrave.dev/img/logo_bluesky.png (Bluesky) +[1.4]: https://massgrave.dev/img/logo_x.png (Twitter) -[1.4]: https://massgrave.dev/img/logo_discord.png (Chat with us without signup) -[1.5]: https://massgrave.dev/img/logo_reddit.png (Reddit) -[1.6]: https://massgrave.dev/img/logo_bluesky.png (Bluesky) -[1.7]: https://massgrave.dev/img/logo_x.png (Twitter) +[1.5]: https://massgrave.dev/img/logo_github.png (GitHub) +[1.6]: https://massgrave.dev/img/logo_azuredevops.png (AzureDevOps) +[1.7]: https://massgrave.dev/img/logo_gitea.png (Self-hosted Git) -[1]: https://github.com/massgravel/Microsoft-Activation-Scripts -[2]: https://dev.azure.com/massgrave/_git/Microsoft-Activation-Scripts -[3]: https://git.activated.win/Microsoft-Activation-Scripts -[4]: https://discord.gg/j2yFsV5ZVC -[5]: https://www.reddit.com/r/MAS_Activator -[6]: https://bsky.app/profile/massgrave.dev -[7]: https://twitter.com/massgravel +[1]: https://discord.gg/j2yFsV5ZVC +[2]: https://www.reddit.com/r/MAS_Activator +[3]: https://bsky.app/profile/massgrave.dev +[4]: https://twitter.com/massgravel +[5]: https://github.com/massgravel/Microsoft-Activation-Scripts +[6]: https://dev.azure.com/massgrave/_git/Microsoft-Activation-Scripts +[7]: https://git.activated.win/Microsoft-Activation-Scripts --- -

Made with Love ❤️

- +Latest Version: 3.9 +Release date: 19-Nov-2025 From 3024b1ca98c6454e151c3acd4ae5f147b34f924a Mon Sep 17 00:00:00 2001 From: Lyssa Date: Fri, 16 Jan 2026 11:27:26 +0400 Subject: [PATCH 34/66] Evade false flag --- MAS/All-In-One-Version-KL/MAS_AIO.cmd | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/MAS/All-In-One-Version-KL/MAS_AIO.cmd b/MAS/All-In-One-Version-KL/MAS_AIO.cmd index 0ce3770..6ce867e 100644 --- a/MAS/All-In-One-Version-KL/MAS_AIO.cmd +++ b/MAS/All-In-One-Version-KL/MAS_AIO.cmd @@ -1,4 +1,4 @@ -@::sfh437frandom +@::ab7249d77random13141b5922144806de5d43f @set masver=3.9 @setlocal DisableDelayedExpansion @echo off From a353813814d98a14c57b1848062015b116ec78bb Mon Sep 17 00:00:00 2001 From: WitherOrNot Date: Sun, 25 Jan 2026 21:04:32 -0500 Subject: [PATCH 35/66] Add Windows Server 2016 ESU --- MAS/Separate-Files-Version/Activators/TSforge_Activation.cmd | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/MAS/Separate-Files-Version/Activators/TSforge_Activation.cmd b/MAS/Separate-Files-Version/Activators/TSforge_Activation.cmd index 5d9e434..48efcd7 100644 --- a/MAS/Separate-Files-Version/Activators/TSforge_Activation.cmd +++ b/MAS/Separate-Files-Version/Activators/TSforge_Activation.cmd @@ -1144,6 +1144,9 @@ f520e45e-7413-4a34-a497-d2765967d094_Client-ESU-Year1_-%w10EsuEditions%-%w10EsuE 1043add5-23b1-4afb-9a0f-64343c8f3f8d_Client-ESU-Year2_-%w10EsuEditions%-%w10EsuEditionsLaterAdded% 83d49986-add3-41d7-ba33-87c7bfb5c0fb_Client-ESU-Year3_-%w10EsuEditions%-%w10EsuEditionsLaterAdded% 0b533b5e-08b6-44f9-b885-c2de291ba456_Client-ESU-Year6[4-6y]_-%w10EsuEditions%-%w10EsuEditionsLaterAdded% +REM WindowsServer2016 +91bcac0a-d7d3-4d2b-bd0c-72fed675f01b_Server-ESU-Year3[1-3y]_-ServerDatacenter-ServerDatacenterCore-ServerDatacenterV-ServerDatacenterVCore-ServerStandard-ServerStandardCore-ServerStandardV-ServerStandardVCore- +4cd0ab30-73a4-4dde-972c-512f05be31df_Server-ESU-Year6[4-6y]_-ServerDatacenter-ServerDatacenterCore-ServerDatacenterV-ServerDatacenterVCore-ServerStandard-ServerStandardCore-ServerStandardV-ServerStandardVCore- ) do ( for /f "tokens=1-3 delims=_" %%A in ("%%#") do ( echo "%allapps%" | find /i "%%A" %nul1% && ( @@ -1199,7 +1202,7 @@ goto :ts_off set esuavail= if defined _vis if defined isServer set esuavail=1 if %winbuild% LEQ 7602 if not defined _vis if not defined isThinpc set esuavail=1 -if %winbuild% GTR 7602 if %winbuild% LSS 10240 if defined isServer set esuavail=1 +if %winbuild% GTR 7602 if %winbuild% LEQ 14393 if defined isServer set esuavail=1 if %winbuild% GEQ 10240 if %winbuild% LEQ 19045 if not defined isServer set esuavail=1 if %winbuild% EQU 9600 set esuavail=1 From a93b4b3f4bd8f13ad2be29ea9c2eb1ec4a29bd81 Mon Sep 17 00:00:00 2001 From: Lyssa Date: Mon, 26 Jan 2026 15:40:36 +0400 Subject: [PATCH 36/66] Add warnings for Smart App Control --- .../Activators/Ohook_Activation_AIO.cmd | 20 +++++++++++++++++++ 1 file changed, 20 insertions(+) diff --git a/MAS/Separate-Files-Version/Activators/Ohook_Activation_AIO.cmd b/MAS/Separate-Files-Version/Activators/Ohook_Activation_AIO.cmd index 35122b7..551452d 100644 --- a/MAS/Separate-Files-Version/Activators/Ohook_Activation_AIO.cmd +++ b/MAS/Separate-Files-Version/Activators/Ohook_Activation_AIO.cmd @@ -601,6 +601,26 @@ reg query "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion" /v EditionID %nul2 ::======================================================================================================================================== +:: Check Smart App Control + +set "sacstate=" +if %winbuild% GEQ 22621 ( +for /f "tokens=3" %%a in ('reg query "HKLM\SYSTEM\CurrentControlSet\Control\CI\Policy" /v VerifiedAndReputablePolicyState %nul6%') do set "sacstate=%%a" +) +if defined sacstate ( +if "%sacstate%"=="0x1" ( +call :dk_color %Gray% "Checking Smart App Control State [Enabled]" +call :dk_color %Blue% "Smart App Control may prevent you from opening Office after Ohook activation." +call :dk_color %Blue% "You will need to disable it from the Windows Defender settings if it does." +) else if "%sacstate%"=="0x2" ( +call :dk_color %Gray% "Checking Smart App Control State [Evaluation]" +call :dk_color %Blue% "Smart App Control may prevent you from opening Office in the future if it enables itself after the evaluation period." +call :dk_color %Blue% "It is recommended that you disable it from the Windows Defender settings." +) +) + +::======================================================================================================================================== + :: Process Office 15.0 C2R if not defined o15c2r goto :starto16c2r From f0d13cb216fe34386627eccb2ba2224a6be70b79 Mon Sep 17 00:00:00 2001 From: Lyssa Date: Tue, 27 Jan 2026 17:12:28 +0400 Subject: [PATCH 37/66] Remove unnecessary insider check in Ohook script + make CAS beginning comment consistent with other scripts --- .../Activators/Ohook_Activation_AIO.cmd | 1 - MAS/Separate-Files-Version/Check_Activation_Status.cmd | 5 ++++- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/MAS/Separate-Files-Version/Activators/Ohook_Activation_AIO.cmd b/MAS/Separate-Files-Version/Activators/Ohook_Activation_AIO.cmd index 551452d..9f7abb8 100644 --- a/MAS/Separate-Files-Version/Activators/Ohook_Activation_AIO.cmd +++ b/MAS/Separate-Files-Version/Activators/Ohook_Activation_AIO.cmd @@ -456,7 +456,6 @@ goto :oh_menu cls if not defined terminal ( mode 140, 32 -if exist "%SysPath%\spp\store_test\" mode 140, 32 %psc% "&{$W=$Host.UI.RawUI.WindowSize;$B=$Host.UI.RawUI.BufferSize;$W.Height=32;$B.Height=300;$Host.UI.RawUI.WindowSize=$W;$Host.UI.RawUI.BufferSize=$B;}" %nul% ) title Ohook Activation %masver% diff --git a/MAS/Separate-Files-Version/Check_Activation_Status.cmd b/MAS/Separate-Files-Version/Check_Activation_Status.cmd index a7959ef..a76b0b3 100644 --- a/MAS/Separate-Files-Version/Check_Activation_Status.cmd +++ b/MAS/Separate-Files-Version/Check_Activation_Status.cmd @@ -1,9 +1,12 @@ @echo off +::============================================================================ +:: :: Check-Activation-Status :: Written by @abbodi1406 -:: https://gravesoft.dev/cas +:: +::============================================================================ :: Set Environment variables, it helps if they are misconfigured in the system From 8d8ed5d098a035eb4a282d849ddecb8468b771b9 Mon Sep 17 00:00:00 2001 From: Lyssa Date: Tue, 27 Jan 2026 20:27:33 +0400 Subject: [PATCH 38/66] Suggest in-place repair if license package files are missing --- MAS/Separate-Files-Version/Activators/HWID_Activation.cmd | 7 +++++++ .../Activators/Ohook_Activation_AIO.cmd | 7 +++++++ .../Activators/Online_KMS_Activation.cmd | 7 +++++++ .../Activators/TSforge_Activation.cmd | 7 +++++++ 4 files changed, 28 insertions(+) diff --git a/MAS/Separate-Files-Version/Activators/HWID_Activation.cmd b/MAS/Separate-Files-Version/Activators/HWID_Activation.cmd index 9ca9bee..8428e6b 100644 --- a/MAS/Separate-Files-Version/Activators/HWID_Activation.cmd +++ b/MAS/Separate-Files-Version/Activators/HWID_Activation.cmd @@ -1790,6 +1790,13 @@ 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%Edition*.mum" ( call :dk_color %Red% "Checking Package Files [Not Found] [%osedition%]" +if not defined showfix ( +set fixes=%fixes% %mas%in-place_repair_upgrade +call :dk_color2 %Blue% "Check this webpage for help - " %_Yellow% " %mas%in-place_repair_upgrade" +echo: +) +set error=1 +set showfix=1 ) ) ) diff --git a/MAS/Separate-Files-Version/Activators/Ohook_Activation_AIO.cmd b/MAS/Separate-Files-Version/Activators/Ohook_Activation_AIO.cmd index 9f7abb8..ac27093 100644 --- a/MAS/Separate-Files-Version/Activators/Ohook_Activation_AIO.cmd +++ b/MAS/Separate-Files-Version/Activators/Ohook_Activation_AIO.cmd @@ -2495,6 +2495,13 @@ 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%Edition*.mum" ( call :dk_color %Red% "Checking Package Files [Not Found] [%osedition%]" +if not defined showfix ( +set fixes=%fixes% %mas%in-place_repair_upgrade +call :dk_color2 %Blue% "Check this webpage for help - " %_Yellow% " %mas%in-place_repair_upgrade" +echo: +) +set error=1 +set showfix=1 ) ) ) diff --git a/MAS/Separate-Files-Version/Activators/Online_KMS_Activation.cmd b/MAS/Separate-Files-Version/Activators/Online_KMS_Activation.cmd index 3b15480..ecc455d 100644 --- a/MAS/Separate-Files-Version/Activators/Online_KMS_Activation.cmd +++ b/MAS/Separate-Files-Version/Activators/Online_KMS_Activation.cmd @@ -3537,6 +3537,13 @@ 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%Edition*.mum" ( call :dk_color %Red% "Checking Package Files [Not Found] [%osedition%]" +if not defined showfix ( +set fixes=%fixes% %mas%in-place_repair_upgrade +call :dk_color2 %Blue% "Check this webpage for help - " %_Yellow% " %mas%in-place_repair_upgrade" +echo: +) +set error=1 +set showfix=1 ) ) ) diff --git a/MAS/Separate-Files-Version/Activators/TSforge_Activation.cmd b/MAS/Separate-Files-Version/Activators/TSforge_Activation.cmd index 48efcd7..82dd5e5 100644 --- a/MAS/Separate-Files-Version/Activators/TSforge_Activation.cmd +++ b/MAS/Separate-Files-Version/Activators/TSforge_Activation.cmd @@ -3552,6 +3552,13 @@ 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%Edition*.mum" ( call :dk_color %Red% "Checking Package Files [Not Found] [%osedition%]" +if not defined showfix ( +set fixes=%fixes% %mas%in-place_repair_upgrade +call :dk_color2 %Blue% "Check this webpage for help - " %_Yellow% " %mas%in-place_repair_upgrade" +echo: +) +set error=1 +set showfix=1 ) ) ) From 72cd62552ed497d0d6d34d93d898efc40a2967fe Mon Sep 17 00:00:00 2001 From: Lyssa Date: Tue, 27 Jan 2026 20:59:20 +0400 Subject: [PATCH 39/66] Remove newlines before blue lines --- .../Activators/HWID_Activation.cmd | 26 ------------------ .../Activators/Ohook_Activation_AIO.cmd | 25 ++--------------- .../Activators/Online_KMS_Activation.cmd | 27 +++---------------- .../Activators/TSforge_Activation.cmd | 24 ++--------------- .../Change_Office_Edition.cmd | 5 ---- .../Change_Windows_Edition.cmd | 4 --- MAS/Separate-Files-Version/Troubleshoot.cmd | 1 - 7 files changed, 7 insertions(+), 105 deletions(-) diff --git a/MAS/Separate-Files-Version/Activators/HWID_Activation.cmd b/MAS/Separate-Files-Version/Activators/HWID_Activation.cmd index 8428e6b..cdf1653 100644 --- a/MAS/Separate-Files-Version/Activators/HWID_Activation.cmd +++ b/MAS/Separate-Files-Version/Activators/HWID_Activation.cmd @@ -187,7 +187,6 @@ if %winbuild% LSS 10240 ( %eline% echo Unsupported OS version detected [%winbuild%]. echo HWID Activation is only supported on Windows 10/11. -echo: call :dk_color %Blue% "Use TSforge activation option from the main menu." goto dk_done ) @@ -674,7 +673,6 @@ 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: ) @@ -762,7 +760,6 @@ 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: ) @@ -770,7 +767,6 @@ 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: ) @@ -789,12 +785,10 @@ 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: ) @@ -805,7 +799,6 @@ 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: ) @@ -1032,7 +1025,6 @@ echo %keyecho% %~1 [Successful] call :dk_color %Red% "%keyecho% %~1 [Failed] %keyerror%" 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 @@ -1158,7 +1150,6 @@ if %spperror% NEQ 1056 if %spperror% NEQ 0 ( %eline% echo sc start %_slser% [Error Code: %spperror%] if %spperror% EQU 1053 ( -echo: call :dk_color %Blue% "Reboot your machine using the restart option and try again." call :dk_color %Blue% "If it still does not work, go back to Main Menu, select Troubleshoot and run Fix WPA Registry option." ) @@ -1268,7 +1259,6 @@ call :dk_chkmal sc query Null %nul% || ( call :dk_color %Red% "Checking Sandboxing [Found, script may not work properly]" if not defined showfix ( -echo: call :dk_color %Blue% "If you are using any third-party antivirus, check if it is blocking the script." echo: ) @@ -1284,7 +1274,6 @@ reg query "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\WinPE" /v InstRoot call :dk_color %Red% "Checking WinPE [Found]" if not defined showfix ( -echo: call :dk_color %Blue% "WinPE mode found. Reboot the system and run in normal mode." echo: ) @@ -1299,7 +1288,6 @@ set showfix=1 if defined safeboot_option ( call :dk_color %Red% "Checking Boot Mode [%safeboot_option%]" if not defined showfix ( -echo: call :dk_color %Blue% "Safe mode found. Reboot the system and run in normal mode." echo: ) @@ -1318,7 +1306,6 @@ if /i not "%imagestate%"=="IMAGE_STATE_COMPLETE" ( call :dk_color %Gray% "Checking Windows Setup State [%imagestate%]" echo "%imagestate%" | find /i "RESEAL" %nul% && ( if not defined showfix ( -echo: call :dk_color %Blue% "You need to run it in normal mode in case you are running it in Audit Mode." echo: ) @@ -1413,7 +1400,6 @@ if not defined showfix ( echo: echo %serv_cste% | findstr /i "ClipSVC sppsvc" %nul% && ( echo A registry fix has been applied to enable the disabled service. -echo: call :dk_color %Blue% "Reboot your machine using the restart option to fix this error." ) || ( set fixes=%fixes% %mas%in-place_repair_upgrade @@ -1454,7 +1440,6 @@ if not defined showfix ( set listwospp=%_serv:sppsvc=% echo %serv_e% | findstr /i "!listwospp!" %nul% && ( set showfix=1 -echo: call :dk_color %Blue% "Reboot your machine using the restart option and run the script again." set fixes=%fixes% %mas%in-place_repair_upgrade call :dk_color2 %Blue% "If service error is still not fixed, do this - " %_Yellow% " %mas%in-place_repair_upgrade" @@ -1486,7 +1471,6 @@ if defined wmifailed ( call :dk_color %Red% "Checking WMI [Not Working]" if not defined showfix ( -echo: call :dk_color %Blue% "Go back to Main Menu, select Troubleshoot and run Fix WMI option." echo: ) @@ -1598,7 +1582,6 @@ if !errorlevel!==3 set "permerror=Error Found In S-1-5-20 SPP" if defined permerror ( call :dk_color %Red% "Checking SPP Permissions [!permerror!]" if not defined showfix ( -echo: call :dk_color %Blue% "%_fixmsg%" echo: ) @@ -1620,7 +1603,6 @@ if defined chkalp ( call :dk_color %Red% "Checking WPA Registry Errors [%wpainfo%]" if not defined showfix ( echo "%wpainfo%" | find /i "Error Found" %nul% && ( -echo: call :dk_color %Blue% "Go back to Main Menu, select Troubleshoot and run Fix WPA Registry option." echo: set error=1 @@ -1633,7 +1615,6 @@ set wpainfo=a if not defined chkalp ( if %wpainfo% GEQ 5000 ( call :dk_color %Gray% "Checking WPA Registry Count [%wpainfo%]" -echo: call :dk_color %Blue% "A large number of WPA registries have been found, which may cause high CPU usage." call :dk_color %Blue% "Go back to Main Menu, select Troubleshoot and run Fix WPA Registry option." echo: @@ -1649,7 +1630,6 @@ echo Checking WPA Registry Count [%wpainfo%] reg query "HKU\S-1-5-20\Software\Microsoft\Windows NT\CurrentVersion\SoftwareProtectionPlatform\PersistedTSReArmed" %nul% && ( call :dk_color %Red% "Checking Rearm [System is Rearmed]" if not defined showfix ( -echo: call :dk_color %Blue% "Reboot your machine using the restart option to fix this error." echo: ) @@ -1661,7 +1641,6 @@ set showfix=1 reg query "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\ClipSVC\Volatile\PersistedSystemState" %nul% && ( call :dk_color %Red% "Checking ClipSVC PersistedSystemState [Found]" if not defined showfix ( -echo: call :dk_color %Blue% "Reboot your machine using the restart option to fix this error." echo: ) @@ -1676,7 +1655,6 @@ set showfix=1 if %error_code% NEQ 0 ( call :dk_color %Red% "Checking SoftwareLicensingService [Not Working] [%error_code%]" if not defined showfix ( -echo: call :dk_color %Blue% "%_fixmsg%" call :dk_color %Blue% "If activation still fails then run Fix WPA Registry option." echo: @@ -1706,7 +1684,6 @@ call :dk_color %Gray% "Checking Activation IDs [Key Not Installe if not defined apps if not defined allapps ( call :dk_color %Red% "Checking Activation IDs [Not found]" if not defined showfix ( -echo: call :dk_color %Blue% "%_fixmsg%" call :dk_color %Blue% "If activation still fails then run Fix WPA Registry option." echo: @@ -1716,7 +1693,6 @@ 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: @@ -1734,7 +1710,6 @@ if not defined notwinact if exist "%SystemRoot%\Servicing\Packages\Microsoft-Win reg query "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion" /v EditionID %nul2% | find /i "Eval" %nul1% || ( call :dk_color %Red% "Checking Eval Packages [License swapping found. Non-Eval licenses are installed in Eval Windows]" if not defined showfix ( -echo: call :dk_color %Blue% "License swapping is not the right way to upgrade to the full version. Learn the correct method at the link below." set fixes=%fixes% %mas%evaluation_editions call :dk_color2 %Blue% "Check this webpage for help - " %_Yellow% " %mas%evaluation_editions" @@ -1843,7 +1818,6 @@ if defined _sppint ( echo %_sppint% | find /i "PerfOptions" %nul% && ( call :dk_color %Red% "Checking SPP Interference In IFEO [%_sppint% - System might deactivate later]" if not defined showfix ( -echo: call :dk_color %Blue% "%_fixmsg%" echo: ) diff --git a/MAS/Separate-Files-Version/Activators/Ohook_Activation_AIO.cmd b/MAS/Separate-Files-Version/Activators/Ohook_Activation_AIO.cmd index ac27093..4299d70 100644 --- a/MAS/Separate-Files-Version/Activators/Ohook_Activation_AIO.cmd +++ b/MAS/Separate-Files-Version/Activators/Ohook_Activation_AIO.cmd @@ -570,10 +570,9 @@ call :dk_color %Red% "Checking Installed Office [Not Found]" if defined ohub ( echo: -echo You only have the Office Dashboard app installed. You need to install the full version of Office. +echo You only have the Office Dashboard app installed; you need to install the full version of Office. ) -echo: -call :dk_color %Blue% "Download and install Office from the below URL and then try again." +call :dk_color %Blue% "Download and install Office from the URL below, then try again." echo: set fixes=%fixes% %mas%genuine-installation-media call :dk_color %_Yellow% "%mas%genuine-installation-media" @@ -1635,7 +1634,6 @@ if %upk_result%==1 echo Uninstalling Other/Grace Keys [Successful] 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 @@ -1784,7 +1782,6 @@ echo %keyecho% %~1 [Successful] call :dk_color %Red% "%keyecho% %~1 [Failed] %keyerror%" 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 @@ -1878,7 +1875,6 @@ if %spperror% NEQ 1056 if %spperror% NEQ 0 ( %eline% echo sc start %_slser% [Error Code: %spperror%] if %spperror% EQU 1053 ( -echo: call :dk_color %Blue% "Reboot your machine using the restart option and try again." call :dk_color %Blue% "If it still does not work, go back to Main Menu, select Troubleshoot and run Fix WPA Registry option." ) @@ -1973,7 +1969,6 @@ call :dk_chkmal sc query Null %nul% || ( call :dk_color %Red% "Checking Sandboxing [Found, script may not work properly]" if not defined showfix ( -echo: call :dk_color %Blue% "If you are using any third-party antivirus, check if it is blocking the script." echo: ) @@ -1989,7 +1984,6 @@ reg query "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\WinPE" /v InstRoot call :dk_color %Red% "Checking WinPE [Found]" if not defined showfix ( -echo: call :dk_color %Blue% "WinPE mode found. Reboot the system and run in normal mode." echo: ) @@ -2004,7 +1998,6 @@ set showfix=1 if defined safeboot_option ( call :dk_color %Red% "Checking Boot Mode [%safeboot_option%]" if not defined showfix ( -echo: call :dk_color %Blue% "Safe mode found. Reboot the system and run in normal mode." echo: ) @@ -2023,7 +2016,6 @@ if /i not "%imagestate%"=="IMAGE_STATE_COMPLETE" ( call :dk_color %Gray% "Checking Windows Setup State [%imagestate%]" echo "%imagestate%" | find /i "RESEAL" %nul% && ( if not defined showfix ( -echo: call :dk_color %Blue% "You need to run it in normal mode in case you are running it in Audit Mode." echo: ) @@ -2118,7 +2110,6 @@ if not defined showfix ( echo: echo %serv_cste% | findstr /i "ClipSVC sppsvc" %nul% && ( echo A registry fix has been applied to enable the disabled service. -echo: call :dk_color %Blue% "Reboot your machine using the restart option to fix this error." ) || ( set fixes=%fixes% %mas%in-place_repair_upgrade @@ -2159,7 +2150,6 @@ if not defined showfix ( set listwospp=%_serv:sppsvc=% echo %serv_e% | findstr /i "!listwospp!" %nul% && ( set showfix=1 -echo: call :dk_color %Blue% "Reboot your machine using the restart option and run the script again." set fixes=%fixes% %mas%in-place_repair_upgrade call :dk_color2 %Blue% "If service error is still not fixed, do this - " %_Yellow% " %mas%in-place_repair_upgrade" @@ -2191,7 +2181,6 @@ if defined wmifailed ( call :dk_color %Red% "Checking WMI [Not Working]" if not defined showfix ( -echo: call :dk_color %Blue% "Go back to Main Menu, select Troubleshoot and run Fix WMI option." echo: ) @@ -2303,7 +2292,6 @@ if !errorlevel!==3 set "permerror=Error Found In S-1-5-20 SPP" if defined permerror ( call :dk_color %Red% "Checking SPP Permissions [!permerror!]" if not defined showfix ( -echo: call :dk_color %Blue% "%_fixmsg%" echo: ) @@ -2325,7 +2313,6 @@ if defined chkalp ( call :dk_color %Red% "Checking WPA Registry Errors [%wpainfo%]" if not defined showfix ( echo "%wpainfo%" | find /i "Error Found" %nul% && ( -echo: call :dk_color %Blue% "Go back to Main Menu, select Troubleshoot and run Fix WPA Registry option." echo: set error=1 @@ -2338,7 +2325,6 @@ set wpainfo=a if not defined chkalp ( if %wpainfo% GEQ 5000 ( call :dk_color %Gray% "Checking WPA Registry Count [%wpainfo%]" -echo: call :dk_color %Blue% "A large number of WPA registries have been found, which may cause high CPU usage." call :dk_color %Blue% "Go back to Main Menu, select Troubleshoot and run Fix WPA Registry option." echo: @@ -2354,7 +2340,6 @@ echo Checking WPA Registry Count [%wpainfo%] reg query "HKU\S-1-5-20\Software\Microsoft\Windows NT\CurrentVersion\SoftwareProtectionPlatform\PersistedTSReArmed" %nul% && ( call :dk_color %Red% "Checking Rearm [System is Rearmed]" if not defined showfix ( -echo: call :dk_color %Blue% "Reboot your machine using the restart option to fix this error." echo: ) @@ -2366,7 +2351,6 @@ set showfix=1 reg query "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\ClipSVC\Volatile\PersistedSystemState" %nul% && ( call :dk_color %Red% "Checking ClipSVC PersistedSystemState [Found]" if not defined showfix ( -echo: call :dk_color %Blue% "Reboot your machine using the restart option to fix this error." echo: ) @@ -2381,7 +2365,6 @@ set showfix=1 if %error_code% NEQ 0 ( call :dk_color %Red% "Checking SoftwareLicensingService [Not Working] [%error_code%]" if not defined showfix ( -echo: call :dk_color %Blue% "%_fixmsg%" call :dk_color %Blue% "If activation still fails then run Fix WPA Registry option." echo: @@ -2411,7 +2394,6 @@ call :dk_color %Gray% "Checking Activation IDs [Key Not Installe if not defined apps if not defined allapps ( call :dk_color %Red% "Checking Activation IDs [Not found]" if not defined showfix ( -echo: call :dk_color %Blue% "%_fixmsg%" call :dk_color %Blue% "If activation still fails then run Fix WPA Registry option." echo: @@ -2421,7 +2403,6 @@ 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: @@ -2439,7 +2420,6 @@ if not defined notwinact if exist "%SystemRoot%\Servicing\Packages\Microsoft-Win reg query "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion" /v EditionID %nul2% | find /i "Eval" %nul1% || ( call :dk_color %Red% "Checking Eval Packages [License swapping found. Non-Eval licenses are installed in Eval Windows]" if not defined showfix ( -echo: call :dk_color %Blue% "License swapping is not the right way to upgrade to the full version. Learn the correct method at the link below." set fixes=%fixes% %mas%evaluation_editions call :dk_color2 %Blue% "Check this webpage for help - " %_Yellow% " %mas%evaluation_editions" @@ -2548,7 +2528,6 @@ if defined _sppint ( echo %_sppint% | find /i "PerfOptions" %nul% && ( call :dk_color %Red% "Checking SPP Interference In IFEO [%_sppint% - System might deactivate later]" if not defined showfix ( -echo: call :dk_color %Blue% "%_fixmsg%" echo: ) diff --git a/MAS/Separate-Files-Version/Activators/Online_KMS_Activation.cmd b/MAS/Separate-Files-Version/Activators/Online_KMS_Activation.cmd index ecc455d..e03a156 100644 --- a/MAS/Separate-Files-Version/Activators/Online_KMS_Activation.cmd +++ b/MAS/Separate-Files-Version/Activators/Online_KMS_Activation.cmd @@ -816,9 +816,9 @@ call :dk_color %Red% "Checking Installed Office [Not Found]" if defined ohub ( echo: -echo You only have the Office Dashboard app installed. You need to install the full version of Office. +echo You only have the Office Dashboard app installed; you need to install the full version of Office. ) -call :dk_color %Blue% "Download and install Office from below URL and try again." +call :dk_color %Blue% "Download and install Office from the URL below, then try again." set fixes=%fixes% %mas%genuine-installation-media call :dk_color %_Yellow% "%mas%genuine-installation-media" goto :ks_activate @@ -1594,7 +1594,6 @@ if %upk_result%==1 echo Uninstalling Other/Grace Keys [Successful] 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 @@ -1648,7 +1647,6 @@ 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: ) || ( @@ -2739,7 +2737,6 @@ echo %keyecho% %~1 [Successful] call :dk_color %Red% "%keyecho% %~1 [Failed] %keyerror%" 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 @@ -2860,7 +2857,6 @@ if %spperror% NEQ 1056 if %spperror% NEQ 0 ( %eline% echo sc start %_slser% [Error Code: %spperror%] if %spperror% EQU 1053 ( -echo: call :dk_color %Blue% "Reboot your machine using the restart option and try again." call :dk_color %Blue% "If it still does not work, go back to Main Menu, select Troubleshoot and run Fix WPA Registry option." ) @@ -3015,7 +3011,6 @@ call :dk_chkmal sc query Null %nul% || ( call :dk_color %Red% "Checking Sandboxing [Found, script may not work properly]" if not defined showfix ( -echo: call :dk_color %Blue% "If you are using any third-party antivirus, check if it is blocking the script." echo: ) @@ -3031,7 +3026,6 @@ reg query "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\WinPE" /v InstRoot call :dk_color %Red% "Checking WinPE [Found]" if not defined showfix ( -echo: call :dk_color %Blue% "WinPE mode found. Reboot the system and run in normal mode." echo: ) @@ -3046,7 +3040,6 @@ set showfix=1 if defined safeboot_option ( call :dk_color %Red% "Checking Boot Mode [%safeboot_option%]" if not defined showfix ( -echo: call :dk_color %Blue% "Safe mode found. Reboot the system and run in normal mode." echo: ) @@ -3065,7 +3058,6 @@ if /i not "%imagestate%"=="IMAGE_STATE_COMPLETE" ( call :dk_color %Gray% "Checking Windows Setup State [%imagestate%]" echo "%imagestate%" | find /i "RESEAL" %nul% && ( if not defined showfix ( -echo: call :dk_color %Blue% "You need to run it in normal mode in case you are running it in Audit Mode." echo: ) @@ -3160,7 +3152,6 @@ if not defined showfix ( echo: echo %serv_cste% | findstr /i "ClipSVC sppsvc" %nul% && ( echo A registry fix has been applied to enable the disabled service. -echo: call :dk_color %Blue% "Reboot your machine using the restart option to fix this error." ) || ( set fixes=%fixes% %mas%in-place_repair_upgrade @@ -3201,7 +3192,6 @@ if not defined showfix ( set listwospp=%_serv:sppsvc=% echo %serv_e% | findstr /i "!listwospp!" %nul% && ( set showfix=1 -echo: call :dk_color %Blue% "Reboot your machine using the restart option and run the script again." set fixes=%fixes% %mas%in-place_repair_upgrade call :dk_color2 %Blue% "If service error is still not fixed, do this - " %_Yellow% " %mas%in-place_repair_upgrade" @@ -3233,7 +3223,6 @@ if defined wmifailed ( call :dk_color %Red% "Checking WMI [Not Working]" if not defined showfix ( -echo: call :dk_color %Blue% "Go back to Main Menu, select Troubleshoot and run Fix WMI option." echo: ) @@ -3345,7 +3334,6 @@ if !errorlevel!==3 set "permerror=Error Found In S-1-5-20 SPP" if defined permerror ( call :dk_color %Red% "Checking SPP Permissions [!permerror!]" if not defined showfix ( -echo: call :dk_color %Blue% "%_fixmsg%" echo: ) @@ -3367,7 +3355,6 @@ if defined chkalp ( call :dk_color %Red% "Checking WPA Registry Errors [%wpainfo%]" if not defined showfix ( echo "%wpainfo%" | find /i "Error Found" %nul% && ( -echo: call :dk_color %Blue% "Go back to Main Menu, select Troubleshoot and run Fix WPA Registry option." echo: set error=1 @@ -3380,7 +3367,6 @@ set wpainfo=a if not defined chkalp ( if %wpainfo% GEQ 5000 ( call :dk_color %Gray% "Checking WPA Registry Count [%wpainfo%]" -echo: call :dk_color %Blue% "A large number of WPA registries have been found, which may cause high CPU usage." call :dk_color %Blue% "Go back to Main Menu, select Troubleshoot and run Fix WPA Registry option." echo: @@ -3395,8 +3381,7 @@ echo Checking WPA Registry Count [%wpainfo%] reg query "HKU\S-1-5-20\Software\Microsoft\Windows NT\CurrentVersion\SoftwareProtectionPlatform\PersistedTSReArmed" %nul% && ( call :dk_color %Red% "Checking Rearm [System is Rearmed]" -if not defined showfix ( -echo: +if not defined showfix call :dk_color %Blue% "Reboot your machine using the restart option to fix this error." echo: ) @@ -3408,7 +3393,6 @@ set showfix=1 reg query "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\ClipSVC\Volatile\PersistedSystemState" %nul% && ( call :dk_color %Red% "Checking ClipSVC PersistedSystemState [Found]" if not defined showfix ( -echo: call :dk_color %Blue% "Reboot your machine using the restart option to fix this error." echo: ) @@ -3423,7 +3407,6 @@ set showfix=1 if %error_code% NEQ 0 ( call :dk_color %Red% "Checking SoftwareLicensingService [Not Working] [%error_code%]" if not defined showfix ( -echo: call :dk_color %Blue% "%_fixmsg%" call :dk_color %Blue% "If activation still fails then run Fix WPA Registry option." echo: @@ -3453,7 +3436,6 @@ call :dk_color %Gray% "Checking Activation IDs [Key Not Installe if not defined apps if not defined allapps ( call :dk_color %Red% "Checking Activation IDs [Not found]" if not defined showfix ( -echo: call :dk_color %Blue% "%_fixmsg%" call :dk_color %Blue% "If activation still fails then run Fix WPA Registry option." echo: @@ -3463,7 +3445,6 @@ 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: @@ -3481,7 +3462,6 @@ if not defined notwinact if exist "%SystemRoot%\Servicing\Packages\Microsoft-Win reg query "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion" /v EditionID %nul2% | find /i "Eval" %nul1% || ( call :dk_color %Red% "Checking Eval Packages [License swapping found. Non-Eval licenses are installed in Eval Windows]" if not defined showfix ( -echo: call :dk_color %Blue% "License swapping is not the right way to upgrade to the full version. Learn the correct method at the link below." set fixes=%fixes% %mas%evaluation_editions call :dk_color2 %Blue% "Check this webpage for help - " %_Yellow% " %mas%evaluation_editions" @@ -3590,7 +3570,6 @@ if defined _sppint ( echo %_sppint% | find /i "PerfOptions" %nul% && ( call :dk_color %Red% "Checking SPP Interference In IFEO [%_sppint% - System might deactivate later]" if not defined showfix ( -echo: call :dk_color %Blue% "%_fixmsg%" echo: ) diff --git a/MAS/Separate-Files-Version/Activators/TSforge_Activation.cmd b/MAS/Separate-Files-Version/Activators/TSforge_Activation.cmd index 82dd5e5..61ceda0 100644 --- a/MAS/Separate-Files-Version/Activators/TSforge_Activation.cmd +++ b/MAS/Separate-Files-Version/Activators/TSforge_Activation.cmd @@ -1320,9 +1320,9 @@ call :dk_color %Gray% "Checking Installed Office [Not Found]" if defined ohub ( echo: -echo You only have the Office Dashboard app installed. You need to install the full version of Office. +echo You only have the Office Dashboard app installed; you need to install the full version of Office. ) -call :dk_color %Blue% "Download and install Office from below URL and try again." +call :dk_color %Blue% "Download and install Office from the URL below, then try again." if %_actwin%==0 set fixes=%fixes% %mas%genuine-installation-media call :dk_color %_Yellow% "%mas%genuine-installation-media" goto :ts_act @@ -2560,7 +2560,6 @@ if %upk_result%==1 echo Uninstalling Other/Grace Keys [Successful] 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 @@ -2796,7 +2795,6 @@ echo %keyecho% %~1 [Successful] call :dk_color %Red% "%keyecho% %~1 [Failed] %keyerror%" 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 @@ -2920,7 +2918,6 @@ if %spperror% NEQ 1056 if %spperror% NEQ 0 ( %eline% echo sc start %_slser% [Error Code: %spperror%] if %spperror% EQU 1053 ( -echo: call :dk_color %Blue% "Reboot your machine using the restart option and try again." call :dk_color %Blue% "If it still does not work, go back to Main Menu, select Troubleshoot and run Fix WPA Registry option." ) @@ -3030,7 +3027,6 @@ call :dk_chkmal sc query Null %nul% || ( call :dk_color %Red% "Checking Sandboxing [Found, script may not work properly]" if not defined showfix ( -echo: call :dk_color %Blue% "If you are using any third-party antivirus, check if it is blocking the script." echo: ) @@ -3046,7 +3042,6 @@ reg query "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\WinPE" /v InstRoot call :dk_color %Red% "Checking WinPE [Found]" if not defined showfix ( -echo: call :dk_color %Blue% "WinPE mode found. Reboot the system and run in normal mode." echo: ) @@ -3061,7 +3056,6 @@ set showfix=1 if defined safeboot_option ( call :dk_color %Red% "Checking Boot Mode [%safeboot_option%]" if not defined showfix ( -echo: call :dk_color %Blue% "Safe mode found. Reboot the system and run in normal mode." echo: ) @@ -3080,7 +3074,6 @@ if /i not "%imagestate%"=="IMAGE_STATE_COMPLETE" ( call :dk_color %Gray% "Checking Windows Setup State [%imagestate%]" echo "%imagestate%" | find /i "RESEAL" %nul% && ( if not defined showfix ( -echo: call :dk_color %Blue% "You need to run it in normal mode in case you are running it in Audit Mode." echo: ) @@ -3175,7 +3168,6 @@ if not defined showfix ( echo: echo %serv_cste% | findstr /i "ClipSVC sppsvc" %nul% && ( echo A registry fix has been applied to enable the disabled service. -echo: call :dk_color %Blue% "Reboot your machine using the restart option to fix this error." ) || ( set fixes=%fixes% %mas%in-place_repair_upgrade @@ -3216,7 +3208,6 @@ if not defined showfix ( set listwospp=%_serv:sppsvc=% echo %serv_e% | findstr /i "!listwospp!" %nul% && ( set showfix=1 -echo: call :dk_color %Blue% "Reboot your machine using the restart option and run the script again." set fixes=%fixes% %mas%in-place_repair_upgrade call :dk_color2 %Blue% "If service error is still not fixed, do this - " %_Yellow% " %mas%in-place_repair_upgrade" @@ -3248,7 +3239,6 @@ if defined wmifailed ( call :dk_color %Red% "Checking WMI [Not Working]" if not defined showfix ( -echo: call :dk_color %Blue% "Go back to Main Menu, select Troubleshoot and run Fix WMI option." echo: ) @@ -3360,7 +3350,6 @@ if !errorlevel!==3 set "permerror=Error Found In S-1-5-20 SPP" if defined permerror ( call :dk_color %Red% "Checking SPP Permissions [!permerror!]" if not defined showfix ( -echo: call :dk_color %Blue% "%_fixmsg%" echo: ) @@ -3382,7 +3371,6 @@ if defined chkalp ( call :dk_color %Red% "Checking WPA Registry Errors [%wpainfo%]" if not defined showfix ( echo "%wpainfo%" | find /i "Error Found" %nul% && ( -echo: call :dk_color %Blue% "Go back to Main Menu, select Troubleshoot and run Fix WPA Registry option." echo: set error=1 @@ -3395,7 +3383,6 @@ set wpainfo=a if not defined chkalp ( if %wpainfo% GEQ 5000 ( call :dk_color %Gray% "Checking WPA Registry Count [%wpainfo%]" -echo: call :dk_color %Blue% "A large number of WPA registries have been found, which may cause high CPU usage." call :dk_color %Blue% "Go back to Main Menu, select Troubleshoot and run Fix WPA Registry option." echo: @@ -3411,7 +3398,6 @@ echo Checking WPA Registry Count [%wpainfo%] reg query "HKU\S-1-5-20\Software\Microsoft\Windows NT\CurrentVersion\SoftwareProtectionPlatform\PersistedTSReArmed" %nul% && ( call :dk_color %Red% "Checking Rearm [System is Rearmed]" if not defined showfix ( -echo: call :dk_color %Blue% "Reboot your machine using the restart option to fix this error." echo: ) @@ -3423,7 +3409,6 @@ set showfix=1 reg query "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\ClipSVC\Volatile\PersistedSystemState" %nul% && ( call :dk_color %Red% "Checking ClipSVC PersistedSystemState [Found]" if not defined showfix ( -echo: call :dk_color %Blue% "Reboot your machine using the restart option to fix this error." echo: ) @@ -3438,7 +3423,6 @@ set showfix=1 if %error_code% NEQ 0 ( call :dk_color %Red% "Checking SoftwareLicensingService [Not Working] [%error_code%]" if not defined showfix ( -echo: call :dk_color %Blue% "%_fixmsg%" call :dk_color %Blue% "If activation still fails then run Fix WPA Registry option." echo: @@ -3468,7 +3452,6 @@ call :dk_color %Gray% "Checking Activation IDs [Key Not Installe if not defined apps if not defined allapps ( call :dk_color %Red% "Checking Activation IDs [Not found]" if not defined showfix ( -echo: call :dk_color %Blue% "%_fixmsg%" call :dk_color %Blue% "If activation still fails then run Fix WPA Registry option." echo: @@ -3478,7 +3461,6 @@ 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: @@ -3496,7 +3478,6 @@ if not defined notwinact if exist "%SystemRoot%\Servicing\Packages\Microsoft-Win reg query "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion" /v EditionID %nul2% | find /i "Eval" %nul1% || ( call :dk_color %Red% "Checking Eval Packages [License swapping found. Non-Eval licenses are installed in Eval Windows]" if not defined showfix ( -echo: call :dk_color %Blue% "License swapping is not the right way to upgrade to the full version. Learn the correct method at the link below." set fixes=%fixes% %mas%evaluation_editions call :dk_color2 %Blue% "Check this webpage for help - " %_Yellow% " %mas%evaluation_editions" @@ -3605,7 +3586,6 @@ if defined _sppint ( echo %_sppint% | find /i "PerfOptions" %nul% && ( call :dk_color %Red% "Checking SPP Interference In IFEO [%_sppint% - System might deactivate later]" if not defined showfix ( -echo: call :dk_color %Blue% "%_fixmsg%" echo: ) diff --git a/MAS/Separate-Files-Version/Change_Office_Edition.cmd b/MAS/Separate-Files-Version/Change_Office_Edition.cmd index 5e9e7c3..34fbc62 100644 --- a/MAS/Separate-Files-Version/Change_Office_Edition.cmd +++ b/MAS/Separate-Files-Version/Change_Office_Edition.cmd @@ -397,7 +397,6 @@ if %_wmic% EQU 0 set "chkedi=for /f "tokens=2 delims==" %%a in ('%psc% "(([WMISE if %osedition%==0 ( %eline% echo Failed to detect OS Edition. Aborting... -echo: call :dk_color %Blue% "To fix this issue, activate Windows from the main menu." goto dk_done ) @@ -434,7 +433,6 @@ if %verchk% LSS 9029 ( echo Installed Office version is %_version%. echo Minimum required version is 16.0.9029.2167 echo Aborting... -echo: call :dk_color %Blue% "Download and install latest Office from below URL and try again." set fixes=%fixes% %mas%genuine-installation-media call :dk_color %_Yellow% "%mas%genuine-installation-media" @@ -457,7 +455,6 @@ _masterxml if not defined %%A ( %eline% echo Failed to find %%A. Aborting... -echo: call :dk_color %Blue% "Download and install Office from below URL and try again." set fixes=%fixes% %mas%genuine-installation-media call :dk_color %_Yellow% "%mas%genuine-installation-media" @@ -809,7 +806,6 @@ if /i "%_lang%"=="%%#" set langmatched=1 if not defined langmatched ( %eline% echo %_lang% language is not available for Project/Visio apps. -echo: call :dk_color %Blue% "Install Office in the supported language for Project/Visio from the below URL." set fixes=%fixes% %mas%genuine-installation-media call :dk_color %_Yellow% "%mas%genuine-installation-media" @@ -1617,7 +1613,6 @@ if %spperror% NEQ 1056 if %spperror% NEQ 0 ( %eline% echo sc start %_slser% [Error Code: %spperror%] if %spperror% EQU 1053 ( -echo: call :dk_color %Blue% "Reboot your machine using the restart option and try again." call :dk_color %Blue% "If it still does not work, go back to Main Menu, select Troubleshoot and run Fix WPA Registry option." ) diff --git a/MAS/Separate-Files-Version/Change_Windows_Edition.cmd b/MAS/Separate-Files-Version/Change_Windows_Edition.cmd index 4e05233..c9600da 100644 --- a/MAS/Separate-Files-Version/Change_Windows_Edition.cmd +++ b/MAS/Separate-Files-Version/Change_Windows_Edition.cmd @@ -395,7 +395,6 @@ dism.exe if not exist %SysPath%\%%# ( %eline% echo [%SysPath%\%%#] file is missing, aborting... -echo: call :dk_color %Blue% "Go back to Main Menu, select Troubleshoot and run DISM Restore and SFC Scan options." call :dk_color %Blue% "After that, restart system and try activation again." echo: @@ -431,7 +430,6 @@ call :dk_actids 55c92734-d682-4d71-983e-d6ec3f16059f if not defined allapps ( %eline% echo Failed to find activation IDs. Aborting... -echo: call :dk_color %Blue% "To fix this issue, activate Windows from the main menu." goto dk_done ) @@ -453,7 +451,6 @@ if not defined osedition %chkedi% do if not errorlevel 1 (call set "osedition=%% if not defined osedition ( %eline% echo Failed to detect OS edition, aborting... -echo: call :dk_color %Blue% "To fix this issue, activate Windows from the main menu." goto dk_done ) @@ -972,7 +969,6 @@ if %spperror% NEQ 1056 if %spperror% NEQ 0 ( %eline% echo sc start %_slser% [Error Code: %spperror%] if %spperror% EQU 1053 ( -echo: call :dk_color %Blue% "Reboot your machine using the restart option and try again." call :dk_color %Blue% "If it still does not work, go back to Main Menu, select Troubleshoot and run Fix WPA Registry option." ) diff --git a/MAS/Separate-Files-Version/Troubleshoot.cmd b/MAS/Separate-Files-Version/Troubleshoot.cmd index dc0668f..ba7e9a9 100644 --- a/MAS/Separate-Files-Version/Troubleshoot.cmd +++ b/MAS/Separate-Files-Version/Troubleshoot.cmd @@ -1165,7 +1165,6 @@ sc query Winmgmt | find /i "STOPPED" %nul% && ( echo [Successful] ) || ( call :dk_color %Red% "[Failed]" -echo: call :dk_color %Blue% "Its recommended to select [Restart] option and then apply Fix WMI option again." echo %line% echo: From d7302ee41b14ea11d52af8614133f21d68fa2c5b Mon Sep 17 00:00:00 2001 From: Lyssa Date: Tue, 27 Jan 2026 21:12:08 +0400 Subject: [PATCH 40/66] Update version number to 3.10 --- MAS/Separate-Files-Version/Activators/HWID_Activation.cmd | 2 +- MAS/Separate-Files-Version/Activators/Ohook_Activation_AIO.cmd | 2 +- MAS/Separate-Files-Version/Activators/Online_KMS_Activation.cmd | 2 +- MAS/Separate-Files-Version/Activators/TSforge_Activation.cmd | 2 +- MAS/Separate-Files-Version/Change_Office_Edition.cmd | 2 +- MAS/Separate-Files-Version/Change_Windows_Edition.cmd | 2 +- MAS/Separate-Files-Version/Extract_OEM_Folder.cmd | 2 +- MAS/Separate-Files-Version/Troubleshoot.cmd | 2 +- README.md | 2 +- 9 files changed, 9 insertions(+), 9 deletions(-) diff --git a/MAS/Separate-Files-Version/Activators/HWID_Activation.cmd b/MAS/Separate-Files-Version/Activators/HWID_Activation.cmd index cdf1653..242beb5 100644 --- a/MAS/Separate-Files-Version/Activators/HWID_Activation.cmd +++ b/MAS/Separate-Files-Version/Activators/HWID_Activation.cmd @@ -1,4 +1,4 @@ -@set masver=3.9 +@set masver=3.10 @echo off diff --git a/MAS/Separate-Files-Version/Activators/Ohook_Activation_AIO.cmd b/MAS/Separate-Files-Version/Activators/Ohook_Activation_AIO.cmd index 4299d70..ad442c4 100644 --- a/MAS/Separate-Files-Version/Activators/Ohook_Activation_AIO.cmd +++ b/MAS/Separate-Files-Version/Activators/Ohook_Activation_AIO.cmd @@ -1,4 +1,4 @@ -@set masver=3.9 +@set masver=3.10 @echo off diff --git a/MAS/Separate-Files-Version/Activators/Online_KMS_Activation.cmd b/MAS/Separate-Files-Version/Activators/Online_KMS_Activation.cmd index e03a156..06be901 100644 --- a/MAS/Separate-Files-Version/Activators/Online_KMS_Activation.cmd +++ b/MAS/Separate-Files-Version/Activators/Online_KMS_Activation.cmd @@ -1,4 +1,4 @@ -@set masver=3.9 +@set masver=3.10 @echo off diff --git a/MAS/Separate-Files-Version/Activators/TSforge_Activation.cmd b/MAS/Separate-Files-Version/Activators/TSforge_Activation.cmd index 61ceda0..4b43e3f 100644 --- a/MAS/Separate-Files-Version/Activators/TSforge_Activation.cmd +++ b/MAS/Separate-Files-Version/Activators/TSforge_Activation.cmd @@ -1,4 +1,4 @@ -@set masver=3.9 +@set masver=3.10 @echo off diff --git a/MAS/Separate-Files-Version/Change_Office_Edition.cmd b/MAS/Separate-Files-Version/Change_Office_Edition.cmd index 34fbc62..b35aaf0 100644 --- a/MAS/Separate-Files-Version/Change_Office_Edition.cmd +++ b/MAS/Separate-Files-Version/Change_Office_Edition.cmd @@ -1,4 +1,4 @@ -@set masver=3.9 +@set masver=3.10 @echo off diff --git a/MAS/Separate-Files-Version/Change_Windows_Edition.cmd b/MAS/Separate-Files-Version/Change_Windows_Edition.cmd index c9600da..7469069 100644 --- a/MAS/Separate-Files-Version/Change_Windows_Edition.cmd +++ b/MAS/Separate-Files-Version/Change_Windows_Edition.cmd @@ -1,4 +1,4 @@ -@set masver=3.9 +@set masver=3.10 @echo off diff --git a/MAS/Separate-Files-Version/Extract_OEM_Folder.cmd b/MAS/Separate-Files-Version/Extract_OEM_Folder.cmd index dd21cf1..1129301 100644 --- a/MAS/Separate-Files-Version/Extract_OEM_Folder.cmd +++ b/MAS/Separate-Files-Version/Extract_OEM_Folder.cmd @@ -1,4 +1,4 @@ -@set masver=3.9 +@set masver=3.10 @echo off diff --git a/MAS/Separate-Files-Version/Troubleshoot.cmd b/MAS/Separate-Files-Version/Troubleshoot.cmd index ba7e9a9..2115d8b 100644 --- a/MAS/Separate-Files-Version/Troubleshoot.cmd +++ b/MAS/Separate-Files-Version/Troubleshoot.cmd @@ -1,4 +1,4 @@ -@set masver=3.9 +@set masver=3.10 @echo off diff --git a/README.md b/README.md index 8518a34..5ed14b6 100644 --- a/README.md +++ b/README.md @@ -80,5 +80,5 @@ --- -Latest Version: 3.9 +Latest Version: 3.10 Release date: 19-Nov-2025 From 146d828b46a42e1eb52c41329d7c4c82b9ef9fd6 Mon Sep 17 00:00:00 2001 From: Lyssa Date: Tue, 27 Jan 2026 21:35:55 +0400 Subject: [PATCH 41/66] Update AIO script to 3.10 --- MAS/All-In-One-Version-KL/MAS_AIO.cmd | 71 ++++++++++++--------------- 1 file changed, 32 insertions(+), 39 deletions(-) diff --git a/MAS/All-In-One-Version-KL/MAS_AIO.cmd b/MAS/All-In-One-Version-KL/MAS_AIO.cmd index 6ce867e..7d45393 100644 --- a/MAS/All-In-One-Version-KL/MAS_AIO.cmd +++ b/MAS/All-In-One-Version-KL/MAS_AIO.cmd @@ -1,5 +1,5 @@ @::ab7249d77random13141b5922144806de5d43f -@set masver=3.9 +@set masver=3.10 @setlocal DisableDelayedExpansion @echo off @@ -679,7 +679,6 @@ if %winbuild% LSS 10240 ( %eline% echo Unsupported OS version detected [%winbuild%]. echo HWID Activation is only supported on Windows 10/11. -echo: call :dk_color %Blue% "Use TSforge activation option from the main menu." goto dk_done ) @@ -965,7 +964,6 @@ 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: ) @@ -1053,7 +1051,6 @@ 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: ) @@ -1061,7 +1058,6 @@ 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: ) @@ -1085,7 +1081,6 @@ 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: ) @@ -1096,7 +1091,6 @@ 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: ) @@ -1323,7 +1317,6 @@ echo %keyecho% %~1 [Successful] call :dk_color %Red% "%keyecho% %~1 [Failed] %keyerror%" 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 @@ -1465,7 +1458,6 @@ if %spperror% NEQ 1056 if %spperror% NEQ 0 ( %eline% echo sc start %_slser% [Error Code: %spperror%] if %spperror% EQU 1053 ( -echo: call :dk_color %Blue% "Reboot your machine using the restart option and try again." call :dk_color %Blue% "If it still does not work, go back to Main Menu, select Troubleshoot and run Fix WPA Registry option." ) @@ -1575,7 +1567,6 @@ call :dk_chkmal sc query Null %nul% || ( call :dk_color %Red% "Checking Sandboxing [Found, script may not work properly]" if not defined showfix ( -echo: call :dk_color %Blue% "If you are using any third-party antivirus, check if it is blocking the script." echo: ) @@ -1591,7 +1582,6 @@ reg query "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\WinPE" /v InstRoot call :dk_color %Red% "Checking WinPE [Found]" if not defined showfix ( -echo: call :dk_color %Blue% "WinPE mode found. Reboot the system and run in normal mode." echo: ) @@ -1606,7 +1596,6 @@ set showfix=1 if defined safeboot_option ( call :dk_color %Red% "Checking Boot Mode [%safeboot_option%]" if not defined showfix ( -echo: call :dk_color %Blue% "Safe mode found. Reboot the system and run in normal mode." echo: ) @@ -1625,7 +1614,6 @@ if /i not "%imagestate%"=="IMAGE_STATE_COMPLETE" ( call :dk_color %Gray% "Checking Windows Setup State [%imagestate%]" echo "%imagestate%" | find /i "RESEAL" %nul% && ( if not defined showfix ( -echo: call :dk_color %Blue% "You need to run it in normal mode in case you are running it in Audit Mode." echo: ) @@ -1720,7 +1708,6 @@ if not defined showfix ( echo: echo %serv_cste% | findstr /i "ClipSVC sppsvc" %nul% && ( echo A registry fix has been applied to enable the disabled service. -echo: call :dk_color %Blue% "Reboot your machine using the restart option to fix this error." ) || ( set fixes=%fixes% %mas%in-place_repair_upgrade @@ -1761,7 +1748,6 @@ if not defined showfix ( set listwospp=%_serv:sppsvc=% echo %serv_e% | findstr /i "!listwospp!" %nul% && ( set showfix=1 -echo: call :dk_color %Blue% "Reboot your machine using the restart option and run the script again." set fixes=%fixes% %mas%in-place_repair_upgrade call :dk_color2 %Blue% "If service error is still not fixed, do this - " %_Yellow% " %mas%in-place_repair_upgrade" @@ -1793,7 +1779,6 @@ if defined wmifailed ( call :dk_color %Red% "Checking WMI [Not Working]" if not defined showfix ( -echo: call :dk_color %Blue% "Go back to Main Menu, select Troubleshoot and run Fix WMI option." echo: ) @@ -1905,7 +1890,6 @@ if !errorlevel!==3 set "permerror=Error Found In S-1-5-20 SPP" if defined permerror ( call :dk_color %Red% "Checking SPP Permissions [!permerror!]" if not defined showfix ( -echo: call :dk_color %Blue% "%_fixmsg%" echo: ) @@ -1927,7 +1911,6 @@ if defined chkalp ( call :dk_color %Red% "Checking WPA Registry Errors [%wpainfo%]" if not defined showfix ( echo "%wpainfo%" | find /i "Error Found" %nul% && ( -echo: call :dk_color %Blue% "Go back to Main Menu, select Troubleshoot and run Fix WPA Registry option." echo: set error=1 @@ -1940,7 +1923,6 @@ set wpainfo=a if not defined chkalp ( if %wpainfo% GEQ 5000 ( call :dk_color %Gray% "Checking WPA Registry Count [%wpainfo%]" -echo: call :dk_color %Blue% "A large number of WPA registries have been found, which may cause high CPU usage." call :dk_color %Blue% "Go back to Main Menu, select Troubleshoot and run Fix WPA Registry option." echo: @@ -1956,7 +1938,6 @@ echo Checking WPA Registry Count [%wpainfo%] reg query "HKU\S-1-5-20\Software\Microsoft\Windows NT\CurrentVersion\SoftwareProtectionPlatform\PersistedTSReArmed" %nul% && ( call :dk_color %Red% "Checking Rearm [System is Rearmed]" if not defined showfix ( -echo: call :dk_color %Blue% "Reboot your machine using the restart option to fix this error." echo: ) @@ -1968,7 +1949,6 @@ set showfix=1 reg query "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\ClipSVC\Volatile\PersistedSystemState" %nul% && ( call :dk_color %Red% "Checking ClipSVC PersistedSystemState [Found]" if not defined showfix ( -echo: call :dk_color %Blue% "Reboot your machine using the restart option to fix this error." echo: ) @@ -1983,7 +1963,6 @@ set showfix=1 if %error_code% NEQ 0 ( call :dk_color %Red% "Checking SoftwareLicensingService [Not Working] [%error_code%]" if not defined showfix ( -echo: call :dk_color %Blue% "%_fixmsg%" call :dk_color %Blue% "If activation still fails then run Fix WPA Registry option." echo: @@ -2013,7 +1992,6 @@ call :dk_color %Gray% "Checking Activation IDs [Key Not Installe if not defined apps if not defined allapps ( call :dk_color %Red% "Checking Activation IDs [Not found]" if not defined showfix ( -echo: call :dk_color %Blue% "%_fixmsg%" call :dk_color %Blue% "If activation still fails then run Fix WPA Registry option." echo: @@ -2023,7 +2001,6 @@ 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: @@ -2041,7 +2018,6 @@ if not defined notwinact if exist "%SystemRoot%\Servicing\Packages\Microsoft-Win reg query "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion" /v EditionID %nul2% | find /i "Eval" %nul1% || ( call :dk_color %Red% "Checking Eval Packages [License swapping found. Non-Eval licenses are installed in Eval Windows]" if not defined showfix ( -echo: call :dk_color %Blue% "License swapping is not the right way to upgrade to the full version. Learn the correct method at the link below." set fixes=%fixes% %mas%evaluation_editions call :dk_color2 %Blue% "Check this webpage for help - " %_Yellow% " %mas%evaluation_editions" @@ -2097,6 +2073,13 @@ 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%Edition*.mum" ( call :dk_color %Red% "Checking Package Files [Not Found] [%osedition%]" +if not defined showfix ( +set fixes=%fixes% %mas%in-place_repair_upgrade +call :dk_color2 %Blue% "Check this webpage for help - " %_Yellow% " %mas%in-place_repair_upgrade" +echo: +) +set error=1 +set showfix=1 ) ) ) @@ -2143,7 +2126,6 @@ if defined _sppint ( echo %_sppint% | find /i "PerfOptions" %nul% && ( call :dk_color %Red% "Checking SPP Interference In IFEO [%_sppint% - System might deactivate later]" if not defined showfix ( -echo: call :dk_color %Blue% "%_fixmsg%" echo: ) @@ -2559,7 +2541,6 @@ goto :oh_menu cls if not defined terminal ( mode 140, 32 -if exist "%SysPath%\spp\store_test\" mode 140, 32 %psc% "&{$W=$Host.UI.RawUI.WindowSize;$B=$Host.UI.RawUI.BufferSize;$W.Height=32;$B.Height=300;$Host.UI.RawUI.WindowSize=$W;$Host.UI.RawUI.BufferSize=$B;}" %nul% ) title Ohook Activation %masver% @@ -2678,7 +2659,6 @@ if defined ohub ( echo: echo You only have the Office Dashboard app installed. You need to install the full version of Office. ) -echo: call :dk_color %Blue% "Download and install Office from the below URL and then try again." echo: set fixes=%fixes% %mas%genuine-installation-media @@ -2706,6 +2686,26 @@ reg query "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion" /v EditionID %nul2 ::======================================================================================================================================== +:: Check Smart App Control + +set "sacstate=" +if %winbuild% GEQ 22621 ( +for /f "tokens=3" %%a in ('reg query "HKLM\SYSTEM\CurrentControlSet\Control\CI\Policy" /v VerifiedAndReputablePolicyState %nul6%') do set "sacstate=%%a" +) +if defined sacstate ( +if "%sacstate%"=="0x1" ( +call :dk_color %Gray% "Checking Smart App Control State [Enabled]" +call :dk_color %Blue% "Smart App Control may prevent you from opening Office after Ohook activation." +call :dk_color %Blue% "You will need to disable it from the Windows Defender settings if it does." +) else if "%sacstate%"=="0x2" ( +call :dk_color %Gray% "Checking Smart App Control State [Evaluation]" +call :dk_color %Blue% "Smart App Control may prevent you from opening Office in the future if it enables itself after the evaluation period." +call :dk_color %Blue% "It is recommended that you disable it from the Windows Defender settings." +) +) + +::======================================================================================================================================== + :: Process Office 15.0 C2R if not defined o15c2r goto :starto16c2r @@ -3721,7 +3721,6 @@ if %upk_result%==1 echo Uninstalling Other/Grace Keys [Successful] 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 @@ -5084,6 +5083,9 @@ f520e45e-7413-4a34-a497-d2765967d094_Client-ESU-Year1_-%w10EsuEditions%-%w10EsuE 1043add5-23b1-4afb-9a0f-64343c8f3f8d_Client-ESU-Year2_-%w10EsuEditions%-%w10EsuEditionsLaterAdded% 83d49986-add3-41d7-ba33-87c7bfb5c0fb_Client-ESU-Year3_-%w10EsuEditions%-%w10EsuEditionsLaterAdded% 0b533b5e-08b6-44f9-b885-c2de291ba456_Client-ESU-Year6[4-6y]_-%w10EsuEditions%-%w10EsuEditionsLaterAdded% +REM WindowsServer2016 +91bcac0a-d7d3-4d2b-bd0c-72fed675f01b_Server-ESU-Year3[1-3y]_-ServerDatacenter-ServerDatacenterCore-ServerDatacenterV-ServerDatacenterVCore-ServerStandard-ServerStandardCore-ServerStandardV-ServerStandardVCore- +4cd0ab30-73a4-4dde-972c-512f05be31df_Server-ESU-Year6[4-6y]_-ServerDatacenter-ServerDatacenterCore-ServerDatacenterV-ServerDatacenterVCore-ServerStandard-ServerStandardCore-ServerStandardV-ServerStandardVCore- ) do ( for /f "tokens=1-3 delims=_" %%A in ("%%#") do ( echo "%allapps%" | find /i "%%A" %nul1% && ( @@ -5139,7 +5141,7 @@ goto :ts_off set esuavail= if defined _vis if defined isServer set esuavail=1 if %winbuild% LEQ 7602 if not defined _vis if not defined isThinpc set esuavail=1 -if %winbuild% GTR 7602 if %winbuild% LSS 10240 if defined isServer set esuavail=1 +if %winbuild% GTR 7602 if %winbuild% LSS 14393 if defined isServer set esuavail=1 if %winbuild% GEQ 10240 if %winbuild% LEQ 19045 if not defined isServer set esuavail=1 if %winbuild% EQU 9600 set esuavail=1 @@ -12978,7 +12980,6 @@ 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: ) || ( @@ -16804,7 +16805,6 @@ sc query Winmgmt | find /i "STOPPED" %nul% && ( echo [Successful] ) || ( call :dk_color %Red% "[Failed]" -echo: call :dk_color %Blue% "Its recommended to select [Restart] option and then apply Fix WMI option again." echo %line% echo: @@ -17226,7 +17226,6 @@ dism.exe if not exist %SysPath%\%%# ( %eline% echo [%SysPath%\%%#] file is missing, aborting... -echo: call :dk_color %Blue% "Go back to Main Menu, select Troubleshoot and run DISM Restore and SFC Scan options." call :dk_color %Blue% "After that, restart system and try activation again." echo: @@ -17262,7 +17261,6 @@ call :dk_actids 55c92734-d682-4d71-983e-d6ec3f16059f if not defined allapps ( %eline% echo Failed to find activation IDs. Aborting... -echo: call :dk_color %Blue% "To fix this issue, activate Windows from the main menu." goto dk_done ) @@ -17284,7 +17282,6 @@ if not defined osedition %chkedi% do if not errorlevel 1 (call set "osedition=%% if not defined osedition ( %eline% echo Failed to detect OS edition, aborting... -echo: call :dk_color %Blue% "To fix this issue, activate Windows from the main menu." goto dk_done ) @@ -18120,7 +18117,6 @@ if %_wmic% EQU 0 set "chkedi=for /f "tokens=2 delims==" %%a in ('%psc% "(([WMISE if %osedition%==0 ( %eline% echo Failed to detect OS Edition. Aborting... -echo: call :dk_color %Blue% "To fix this issue, activate Windows from the main menu." goto dk_done ) @@ -18157,7 +18153,6 @@ if %verchk% LSS 9029 ( echo Installed Office version is %_version%. echo Minimum required version is 16.0.9029.2167 echo Aborting... -echo: call :dk_color %Blue% "Download and install latest Office from below URL and try again." set fixes=%fixes% %mas%genuine-installation-media call :dk_color %_Yellow% "%mas%genuine-installation-media" @@ -18180,7 +18175,6 @@ _masterxml if not defined %%A ( %eline% echo Failed to find %%A. Aborting... -echo: call :dk_color %Blue% "Download and install Office from below URL and try again." set fixes=%fixes% %mas%genuine-installation-media call :dk_color %_Yellow% "%mas%genuine-installation-media" @@ -18532,7 +18526,6 @@ if /i "%_lang%"=="%%#" set langmatched=1 if not defined langmatched ( %eline% echo %_lang% language is not available for Project/Visio apps. -echo: call :dk_color %Blue% "Install Office in the supported language for Project/Visio from the below URL." set fixes=%fixes% %mas%genuine-installation-media call :dk_color %_Yellow% "%mas%genuine-installation-media" From 63da908027afb93c907ac078c6085b5d6b7e02f2 Mon Sep 17 00:00:00 2001 From: Lyssa Date: Wed, 28 Jan 2026 17:01:43 +0400 Subject: [PATCH 42/66] Fix mistakes --- MAS/All-In-One-Version-KL/MAS_AIO.cmd | 12 ++++++------ .../Activators/Online_KMS_Activation.cmd | 2 +- 2 files changed, 7 insertions(+), 7 deletions(-) diff --git a/MAS/All-In-One-Version-KL/MAS_AIO.cmd b/MAS/All-In-One-Version-KL/MAS_AIO.cmd index 7d45393..732af69 100644 --- a/MAS/All-In-One-Version-KL/MAS_AIO.cmd +++ b/MAS/All-In-One-Version-KL/MAS_AIO.cmd @@ -2657,9 +2657,9 @@ call :dk_color %Red% "Checking Installed Office [Not Found]" if defined ohub ( echo: -echo You only have the Office Dashboard app installed. You need to install the full version of Office. +echo You only have the Office Dashboard app installed; you need to install the full version of Office. ) -call :dk_color %Blue% "Download and install Office from the below URL and then try again." +call :dk_color %Blue% "Download and install Office from the URL below, then try again." echo: set fixes=%fixes% %mas%genuine-installation-media call :dk_color %_Yellow% "%mas%genuine-installation-media" @@ -5259,9 +5259,9 @@ call :dk_color %Gray% "Checking Installed Office [Not Found]" if defined ohub ( echo: -echo You only have the Office Dashboard app installed. You need to install the full version of Office. +echo You only have the Office Dashboard app installed; you need to install the full version of Office. ) -call :dk_color %Blue% "Download and install Office from below URL and try again." +call :dk_color %Blue% "Download and install Office from the URL below, then try again." if %_actwin%==0 set fixes=%fixes% %mas%genuine-installation-media call :dk_color %_Yellow% "%mas%genuine-installation-media" goto :ts_act @@ -12499,9 +12499,9 @@ call :dk_color %Red% "Checking Installed Office [Not Found]" if defined ohub ( echo: -echo You only have the Office Dashboard app installed. You need to install the full version of Office. +echo You only have the Office Dashboard app installed; you need to install the full version of Office. ) -call :dk_color %Blue% "Download and install Office from below URL and try again." +call :dk_color %Blue% "Download and install Office from the URL below, then try again." set fixes=%fixes% %mas%genuine-installation-media call :dk_color %_Yellow% "%mas%genuine-installation-media" goto :ks_activate diff --git a/MAS/Separate-Files-Version/Activators/Online_KMS_Activation.cmd b/MAS/Separate-Files-Version/Activators/Online_KMS_Activation.cmd index 06be901..dbc1082 100644 --- a/MAS/Separate-Files-Version/Activators/Online_KMS_Activation.cmd +++ b/MAS/Separate-Files-Version/Activators/Online_KMS_Activation.cmd @@ -3381,7 +3381,7 @@ echo Checking WPA Registry Count [%wpainfo%] reg query "HKU\S-1-5-20\Software\Microsoft\Windows NT\CurrentVersion\SoftwareProtectionPlatform\PersistedTSReArmed" %nul% && ( call :dk_color %Red% "Checking Rearm [System is Rearmed]" -if not defined showfix +if not defined showfix ( call :dk_color %Blue% "Reboot your machine using the restart option to fix this error." echo: ) From 4fdefbc0d58befbe824440af39ed424c6386f65f Mon Sep 17 00:00:00 2001 From: Lyssa Date: Wed, 28 Jan 2026 17:58:08 +0400 Subject: [PATCH 43/66] Remove some more empty lines --- MAS/All-In-One-Version-KL/MAS_AIO.cmd | 35 ------------------- .../Activators/HWID_Activation.cmd | 16 --------- .../Activators/Ohook_Activation_AIO.cmd | 15 -------- .../Activators/Online_KMS_Activation.cmd | 13 ------- .../Activators/TSforge_Activation.cmd | 16 --------- .../Change_Office_Edition.cmd | 12 ------- .../Change_Windows_Edition.cmd | 9 ----- .../Extract_OEM_Folder.cmd | 5 --- MAS/Separate-Files-Version/Troubleshoot.cmd | 5 --- 9 files changed, 126 deletions(-) diff --git a/MAS/All-In-One-Version-KL/MAS_AIO.cmd b/MAS/All-In-One-Version-KL/MAS_AIO.cmd index 732af69..3020c5c 100644 --- a/MAS/All-In-One-Version-KL/MAS_AIO.cmd +++ b/MAS/All-In-One-Version-KL/MAS_AIO.cmd @@ -239,7 +239,6 @@ REM check LanguageMode echo: !tstresult2! | findstr /i "ConstrainedLanguage RestrictedLanguage NoLanguage" %nul1% && ( echo FullLanguage mode not found in PowerShell. Aborting... echo If you have applied restrictions on Powershell then undo those changes. -echo: set fixes=%fixes% %mas%fix_powershell call :dk_color2 %Blue% "Check this webpage for help - " %_Yellow% " %mas%fix_powershell" goto dk_done @@ -249,7 +248,6 @@ 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 @@ -260,7 +258,6 @@ REM check for Mal-ware that may cause issues with Powershell for /r "%ProgramFiles%\" %%f in (secureboot.exe) do if exist "%%f" ( echo "%%f" echo Mal%blank%ware found, PowerShell is not working properly. -echo: set fixes=%fixes% %mas%remove_mal%w%ware call :dk_color2 %Blue% "Check this webpage for help - " %_Yellow% " %mas%remove_mal%w%ware" goto dk_done @@ -272,7 +269,6 @@ 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 @@ -293,7 +289,6 @@ echo Installed Antivirus - Microsoft Defender for Endpoint cmd /c "%psc% ""$av = Get-WmiObject -Namespace root\SecurityCenter2 -Class AntiVirusProduct; $n = @(); foreach ($i in $av) { $n += $i.displayName }; if ($n) { Write-Host ('Installed Antivirus - ' + ($n -join ', '))}""" ) -echo: set fixes=%fixes% %mas%troubleshoot call :dk_color2 %Blue% "Check this webpage for help - " %_Yellow% " %mas%troubleshoot" goto dk_done @@ -716,7 +711,6 @@ echo: if not defined results ( call :dk_color %Blue% "Go back to Main Menu, select Troubleshoot and run DISM Restore and SFC Scan options." call :dk_color %Blue% "After that, restart system and try activation again." -echo: set fixes=%fixes% %mas%in-place_repair_upgrade call :dk_color2 %Blue% "If it still shows the same error, do this - " %_Yellow% " %mas%in-place_repair_upgrade" ) @@ -763,7 +757,6 @@ echo [%winos% ^| %winbuild%] echo: echo Evaluation editions cannot be activated outside of their evaluation period. call :dk_color %Blue% "Use TSforge activation option from the main menu to reset evaluation period." -echo: set fixes=%fixes% %mas%evaluation_editions call :dk_color2 %Blue% "Check this webpage for help - " %_Yellow% " %mas%evaluation_editions" goto dk_done @@ -1035,7 +1028,6 @@ 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: @@ -1076,7 +1068,6 @@ 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: @@ -1105,7 +1096,6 @@ 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: @@ -1539,7 +1529,6 @@ 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: @@ -1622,7 +1611,6 @@ set showfix=1 ) echo "%imagestate%" | find /i "UNDEPLOYABLE" %nul% && ( if not defined showfix ( -echo: set fixes=%fixes% %mas%in-place_repair_upgrade call :dk_color2 %Blue% "If the activation fails, do this - " %_Yellow% " %mas%in-place_repair_upgrade" echo: @@ -1793,7 +1781,6 @@ set showfix=1 if %winbuild% GEQ 7600 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] [Most likely caused by gaming spoofers]" if not defined showfix ( -echo: set fixes=%fixes% %mas%issues_due_to_gaming_spoofers call :dk_color2 %Blue% "Check this webpage for help - " %_Yellow% " %mas%issues_due_to_gaming_spoofers" echo: @@ -1814,7 +1801,6 @@ if %winbuild% LSS 9200 set "tokenstore=%Systemdrive%\Windows\ServiceProfiles\Net 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" ( call :dk_color %Red% "Checking TokenStore Registry Key [Correct Path Not Found] [!tokenstore!]" if not defined showfix ( -echo: set fixes=%fixes% %mas%in-place_repair_upgrade call :dk_color2 %Blue% "Check this webpage for help - " %_Yellow% " %mas%in-place_repair_upgrade" echo: @@ -1845,7 +1831,6 @@ call :dk_color %Gray% "Checking SPP Token Folder [Not Found, Creat ) else ( call :dk_color %Red% "Checking SPP Token Folder [Not Found, Failed to Create] [%tokenstore%\]" if not defined showfix ( -echo: set fixes=%fixes% %mas%in-place_repair_upgrade call :dk_color2 %Blue% "Check this webpage for help - " %_Yellow% " %mas%in-place_repair_upgrade" echo: @@ -2035,7 +2020,6 @@ set showfix=1 reg query "HKU\S-1-5-20\Software\Microsoft\Windows NT\CurrentVersion" %nul% || ( call :dk_color %Red% "Checking HKU\S-1-5-20 Registry [Not Found]" if not defined showfix ( -echo: set fixes=%fixes% %mas%in-place_repair_upgrade call :dk_color2 %Blue% "Check this webpage for help - " %_Yellow% " %mas%in-place_repair_upgrade" echo: @@ -2160,7 +2144,6 @@ if "!taskinfo!"=="" set "taskinfo=Not Found" call :dk_color %Gray% "Checking SvcRestartTask Status [!taskinfo!. System might deactivate later.]" if not defined showfix ( -echo: echo "!taskinfo!" | findstr /i "Removed Not Found" %nul1% && ( set fixes=%fixes% %mas%in-place_repair_upgrade call :dk_color2 %Blue% "Check this webpage for help - " %_Yellow% " %mas%in-place_repair_upgrade" @@ -2556,7 +2539,6 @@ echo: if not defined results ( call :dk_color %Blue% "Go back to Main Menu, select Troubleshoot and run DISM Restore and SFC Scan options." call :dk_color %Blue% "After that, restart system and try activation again." -echo: set fixes=%fixes% %mas%in-place_repair_upgrade call :dk_color2 %Blue% "If it still shows the same error, do this - " %_Yellow% " %mas%in-place_repair_upgrade" ) @@ -2660,7 +2642,6 @@ echo: echo You only have the Office Dashboard app installed; you need to install the full version of Office. ) call :dk_color %Blue% "Download and install Office from the URL below, then try again." -echo: set fixes=%fixes% %mas%genuine-installation-media call :dk_color %_Yellow% "%mas%genuine-installation-media" goto dk_done @@ -2875,7 +2856,6 @@ echo Help: %mas%troubleshoot ) else ( call :dk_color %Red% "Some errors were detected." 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" ) @@ -4543,7 +4523,6 @@ echo: if not defined results ( call :dk_color %Blue% "Go back to Main Menu, select Troubleshoot and run DISM Restore and SFC Scan options." call :dk_color %Blue% "After that, restart system and try activation again." -echo: set fixes=%fixes% %mas%in-place_repair_upgrade call :dk_color2 %Blue% "If it still shows the same error, do this - " %_Yellow% " %mas%in-place_repair_upgrade" ) @@ -4557,7 +4536,6 @@ echo .NET 3.5 Framework is corrupt or missing. Aborting... if exist "%SysPath%\spp\tokens\skus\Security-SPP-Component-SKU-Embedded" ( echo Install .NET Framework 4.8 and Windows Management Framework 5.1 ) -echo: set fixes=%fixes% %mas%troubleshoot call :dk_color2 %Blue% "Check this webpage for help - " %_Yellow% " %mas%troubleshoot" goto dk_done @@ -4571,7 +4549,6 @@ if !errorlevel! EQU 1051 ( %eline% echo Evaluation WLMS service is running, %_slser% service can not be stopped. Aborting... echo Install Non-Eval version for Windows build %winbuild%. -echo: set fixes=%fixes% %mas%troubleshoot call :dk_color2 %Blue% "Check this webpage for help - " %_Yellow% " %mas%troubleshoot" goto dk_done @@ -12217,7 +12194,6 @@ echo: if not defined results ( call :dk_color %Blue% "Go back to Main Menu, select Troubleshoot and run DISM Restore and SFC Scan options." call :dk_color %Blue% "After that, restart system and try activation again." -echo: set fixes=%fixes% %mas%in-place_repair_upgrade call :dk_color2 %Blue% "If it still shows the same error, do this - " %_Yellow% " %mas%in-place_repair_upgrade" ) @@ -17228,7 +17204,6 @@ if not exist %SysPath%\%%# ( echo [%SysPath%\%%#] file is missing, aborting... call :dk_color %Blue% "Go back to Main Menu, select Troubleshoot and run DISM Restore and SFC Scan options." call :dk_color %Blue% "After that, restart system and try activation again." -echo: set fixes=%fixes% %mas%in-place_repair_upgrade call :dk_color2 %Blue% "If it still shows the same error, do this - " %_Yellow% " %mas%in-place_repair_upgrade" goto dk_done @@ -17446,7 +17421,6 @@ if not defined key ( %eline% echo [%targetedition% ^| %winbuild%] echo Failed to get product key from pkeyhelper.dll. -echo: set fixes=%fixes% %mas%troubleshoot call :dk_color2 %Blue% "Check this webpage for help - " %_Yellow% " %mas%troubleshoot" goto dk_done @@ -17501,7 +17475,6 @@ echo: call :dk_color %Gray% "Reboot is required to fully change the edition." ) else ( call :dk_color %Red% "[Unsuccessful] [Error Code: !keyerror!]" -echo: set fixes=%fixes% %mas%troubleshoot call :dk_color2 %Blue% "Check this webpage for help - " %_Yellow% " %mas%troubleshoot" ) @@ -17582,7 +17555,6 @@ if not defined key ( %eline% echo [%targetedition% ^| %winbuild%] echo Failed to get product key from pkeyhelper.dll. -echo: set fixes=%fixes% %mas%troubleshoot call :dk_color2 %Blue% "Check this webpage for help - " %_Yellow% " %mas%troubleshoot" goto dk_done @@ -18136,7 +18108,6 @@ if not defined o16c2r_reg ( %eline% echo Office C2R 2016 or later is not installed, which is required for this script. echo Download and install Office from below URL and try again. -echo: set fixes=%fixes% %mas%genuine-installation-media call :dk_color %_Yellow% "%mas%genuine-installation-media" goto dk_done @@ -18187,7 +18158,6 @@ if %winbuild% LSS 10240 if defined ltscfound ( echo Installed Office appears to be from the Volume channel %ltsc19%%ltsc21%%ltsc24%, echo which is not officially supported on your Windows build version %winbuild%. echo Aborting... -echo: set fixes=%fixes% %mas%troubleshoot call :dk_color2 %Blue% "Check this webpage for help - " %_Yellow% " %mas%troubleshoot" goto dk_done @@ -18201,7 +18171,6 @@ if defined unsupbuild ( %eline% echo Unsupported Office %verchk% is installed on your Windows build version %winbuild%. echo Aborting... -echo: set fixes=%fixes% %mas%troubleshoot call :dk_color2 %Blue% "Check this webpage for help - " %_Yellow% " %mas%troubleshoot" goto dk_done @@ -18308,7 +18277,6 @@ mode 98, 45 if not exist %SystemRoot%\Temp\%list%.txt ( %eline% echo Failed to generate available editions list. -echo: set fixes=%fixes% %mas%troubleshoot call :dk_color2 %Blue% "Check this webpage for help - " %_Yellow% " %mas%troubleshoot" goto :oe_goback @@ -18373,7 +18341,6 @@ set suites=1 if not exist %SystemRoot%\Temp\getAppIds.txt ( %eline% echo Failed to generate available apps list. -echo: set fixes=%fixes% %mas%troubleshoot call :dk_color2 %Blue% "Check this webpage for help - " %_Yellow% " %mas%troubleshoot" goto :oe_goback @@ -18892,7 +18859,6 @@ goto :oe_goback if not defined build ( %eline% call :dk_color %Red% "Failed to detect build number for the target FFN." -echo: set fixes=%fixes% %mas%troubleshoot call :dk_color2 %Blue% "Check this webpage for help - " %_Yellow% " %mas%troubleshoot" goto :oe_goback @@ -18930,7 +18896,6 @@ for /l %%i in (1,1,30) do (if !clverchk! LSS %buildchk% (call :ch_getinfo&timeou if %clverchk% LSS %buildchk% ( echo: call :dk_color %Red% "Failed to update Office C2R client. Aborting..." -echo: set fixes=%fixes% %mas%troubleshoot call :dk_color2 %Blue% "Check this webpage for help - " %_Yellow% " %mas%troubleshoot" goto :oe_goback diff --git a/MAS/Separate-Files-Version/Activators/HWID_Activation.cmd b/MAS/Separate-Files-Version/Activators/HWID_Activation.cmd index 242beb5..ce4470b 100644 --- a/MAS/Separate-Files-Version/Activators/HWID_Activation.cmd +++ b/MAS/Separate-Files-Version/Activators/HWID_Activation.cmd @@ -260,7 +260,6 @@ REM check LanguageMode echo: !tstresult2! | findstr /i "ConstrainedLanguage RestrictedLanguage NoLanguage" %nul1% && ( echo FullLanguage mode not found in PowerShell. Aborting... echo If you have applied restrictions on Powershell then undo those changes. -echo: set fixes=%fixes% %mas%fix_powershell call :dk_color2 %Blue% "Check this webpage for help - " %_Yellow% " %mas%fix_powershell" goto dk_done @@ -270,7 +269,6 @@ 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 @@ -281,7 +279,6 @@ REM check for Mal-ware that may cause issues with Powershell for /r "%ProgramFiles%\" %%f in (secureboot.exe) do if exist "%%f" ( echo "%%f" echo Mal%blank%ware found, PowerShell is not working properly. -echo: set fixes=%fixes% %mas%remove_mal%w%ware call :dk_color2 %Blue% "Check this webpage for help - " %_Yellow% " %mas%remove_mal%w%ware" goto dk_done @@ -293,7 +290,6 @@ 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 @@ -314,7 +310,6 @@ echo Installed Antivirus - Microsoft Defender for Endpoint cmd /c "%psc% ""$av = Get-WmiObject -Namespace root\SecurityCenter2 -Class AntiVirusProduct; $n = @(); foreach ($i in $av) { $n += $i.displayName }; if ($n) { Write-Host ('Installed Antivirus - ' + ($n -join ', '))}""" ) -echo: set fixes=%fixes% %mas%troubleshoot call :dk_color2 %Blue% "Check this webpage for help - " %_Yellow% " %mas%troubleshoot" goto dk_done @@ -425,7 +420,6 @@ echo: if not defined results ( call :dk_color %Blue% "Go back to Main Menu, select Troubleshoot and run DISM Restore and SFC Scan options." call :dk_color %Blue% "After that, restart system and try activation again." -echo: set fixes=%fixes% %mas%in-place_repair_upgrade call :dk_color2 %Blue% "If it still shows the same error, do this - " %_Yellow% " %mas%in-place_repair_upgrade" ) @@ -472,7 +466,6 @@ echo [%winos% ^| %winbuild%] echo: echo Evaluation editions cannot be activated outside of their evaluation period. call :dk_color %Blue% "Use TSforge activation option from the main menu to reset evaluation period." -echo: set fixes=%fixes% %mas%evaluation_editions call :dk_color2 %Blue% "Check this webpage for help - " %_Yellow% " %mas%evaluation_editions" goto dk_done @@ -744,7 +737,6 @@ 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: @@ -813,7 +805,6 @@ 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: @@ -1231,7 +1222,6 @@ 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: @@ -1314,7 +1304,6 @@ set showfix=1 ) echo "%imagestate%" | find /i "UNDEPLOYABLE" %nul% && ( if not defined showfix ( -echo: set fixes=%fixes% %mas%in-place_repair_upgrade call :dk_color2 %Blue% "If the activation fails, do this - " %_Yellow% " %mas%in-place_repair_upgrade" echo: @@ -1485,7 +1474,6 @@ set showfix=1 if %winbuild% GEQ 7600 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] [Most likely caused by gaming spoofers]" if not defined showfix ( -echo: set fixes=%fixes% %mas%issues_due_to_gaming_spoofers call :dk_color2 %Blue% "Check this webpage for help - " %_Yellow% " %mas%issues_due_to_gaming_spoofers" echo: @@ -1506,7 +1494,6 @@ if %winbuild% LSS 9200 set "tokenstore=%Systemdrive%\Windows\ServiceProfiles\Net 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" ( call :dk_color %Red% "Checking TokenStore Registry Key [Correct Path Not Found] [!tokenstore!]" if not defined showfix ( -echo: set fixes=%fixes% %mas%in-place_repair_upgrade call :dk_color2 %Blue% "Check this webpage for help - " %_Yellow% " %mas%in-place_repair_upgrade" echo: @@ -1537,7 +1524,6 @@ call :dk_color %Gray% "Checking SPP Token Folder [Not Found, Creat ) else ( call :dk_color %Red% "Checking SPP Token Folder [Not Found, Failed to Create] [%tokenstore%\]" if not defined showfix ( -echo: set fixes=%fixes% %mas%in-place_repair_upgrade call :dk_color2 %Blue% "Check this webpage for help - " %_Yellow% " %mas%in-place_repair_upgrade" echo: @@ -1727,7 +1713,6 @@ set showfix=1 reg query "HKU\S-1-5-20\Software\Microsoft\Windows NT\CurrentVersion" %nul% || ( call :dk_color %Red% "Checking HKU\S-1-5-20 Registry [Not Found]" if not defined showfix ( -echo: set fixes=%fixes% %mas%in-place_repair_upgrade call :dk_color2 %Blue% "Check this webpage for help - " %_Yellow% " %mas%in-place_repair_upgrade" echo: @@ -1852,7 +1837,6 @@ if "!taskinfo!"=="" set "taskinfo=Not Found" call :dk_color %Gray% "Checking SvcRestartTask Status [!taskinfo!. System might deactivate later.]" if not defined showfix ( -echo: echo "!taskinfo!" | findstr /i "Removed Not Found" %nul1% && ( set fixes=%fixes% %mas%in-place_repair_upgrade call :dk_color2 %Blue% "Check this webpage for help - " %_Yellow% " %mas%in-place_repair_upgrade" diff --git a/MAS/Separate-Files-Version/Activators/Ohook_Activation_AIO.cmd b/MAS/Separate-Files-Version/Activators/Ohook_Activation_AIO.cmd index ad442c4..779f645 100644 --- a/MAS/Separate-Files-Version/Activators/Ohook_Activation_AIO.cmd +++ b/MAS/Separate-Files-Version/Activators/Ohook_Activation_AIO.cmd @@ -269,7 +269,6 @@ REM check LanguageMode echo: !tstresult2! | findstr /i "ConstrainedLanguage RestrictedLanguage NoLanguage" %nul1% && ( echo FullLanguage mode not found in PowerShell. Aborting... echo If you have applied restrictions on Powershell then undo those changes. -echo: set fixes=%fixes% %mas%fix_powershell call :dk_color2 %Blue% "Check this webpage for help - " %_Yellow% " %mas%fix_powershell" goto dk_done @@ -279,7 +278,6 @@ 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 @@ -290,7 +288,6 @@ REM check for Mal-ware that may cause issues with Powershell for /r "%ProgramFiles%\" %%f in (secureboot.exe) do if exist "%%f" ( echo "%%f" echo Mal%blank%ware found, PowerShell is not working properly. -echo: set fixes=%fixes% %mas%remove_mal%w%ware call :dk_color2 %Blue% "Check this webpage for help - " %_Yellow% " %mas%remove_mal%w%ware" goto dk_done @@ -302,7 +299,6 @@ 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 @@ -323,7 +319,6 @@ echo Installed Antivirus - Microsoft Defender for Endpoint cmd /c "%psc% ""$av = Get-WmiObject -Namespace root\SecurityCenter2 -Class AntiVirusProduct; $n = @(); foreach ($i in $av) { $n += $i.displayName }; if ($n) { Write-Host ('Installed Antivirus - ' + ($n -join ', '))}""" ) -echo: set fixes=%fixes% %mas%troubleshoot call :dk_color2 %Blue% "Check this webpage for help - " %_Yellow% " %mas%troubleshoot" goto dk_done @@ -471,7 +466,6 @@ echo: if not defined results ( call :dk_color %Blue% "Go back to Main Menu, select Troubleshoot and run DISM Restore and SFC Scan options." call :dk_color %Blue% "After that, restart system and try activation again." -echo: set fixes=%fixes% %mas%in-place_repair_upgrade call :dk_color2 %Blue% "If it still shows the same error, do this - " %_Yellow% " %mas%in-place_repair_upgrade" ) @@ -573,7 +567,6 @@ echo: echo You only have the Office Dashboard app installed; you need to install the full version of Office. ) call :dk_color %Blue% "Download and install Office from the URL below, then try again." -echo: set fixes=%fixes% %mas%genuine-installation-media call :dk_color %_Yellow% "%mas%genuine-installation-media" goto dk_done @@ -788,7 +781,6 @@ echo Help: %mas%troubleshoot ) else ( call :dk_color %Red% "Some errors were detected." 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" ) @@ -1941,7 +1933,6 @@ 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: @@ -2024,7 +2015,6 @@ set showfix=1 ) echo "%imagestate%" | find /i "UNDEPLOYABLE" %nul% && ( if not defined showfix ( -echo: set fixes=%fixes% %mas%in-place_repair_upgrade call :dk_color2 %Blue% "If the activation fails, do this - " %_Yellow% " %mas%in-place_repair_upgrade" echo: @@ -2195,7 +2185,6 @@ set showfix=1 if %winbuild% GEQ 7600 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] [Most likely caused by gaming spoofers]" if not defined showfix ( -echo: set fixes=%fixes% %mas%issues_due_to_gaming_spoofers call :dk_color2 %Blue% "Check this webpage for help - " %_Yellow% " %mas%issues_due_to_gaming_spoofers" echo: @@ -2216,7 +2205,6 @@ if %winbuild% LSS 9200 set "tokenstore=%Systemdrive%\Windows\ServiceProfiles\Net 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" ( call :dk_color %Red% "Checking TokenStore Registry Key [Correct Path Not Found] [!tokenstore!]" if not defined showfix ( -echo: set fixes=%fixes% %mas%in-place_repair_upgrade call :dk_color2 %Blue% "Check this webpage for help - " %_Yellow% " %mas%in-place_repair_upgrade" echo: @@ -2247,7 +2235,6 @@ call :dk_color %Gray% "Checking SPP Token Folder [Not Found, Creat ) else ( call :dk_color %Red% "Checking SPP Token Folder [Not Found, Failed to Create] [%tokenstore%\]" if not defined showfix ( -echo: set fixes=%fixes% %mas%in-place_repair_upgrade call :dk_color2 %Blue% "Check this webpage for help - " %_Yellow% " %mas%in-place_repair_upgrade" echo: @@ -2437,7 +2424,6 @@ set showfix=1 reg query "HKU\S-1-5-20\Software\Microsoft\Windows NT\CurrentVersion" %nul% || ( call :dk_color %Red% "Checking HKU\S-1-5-20 Registry [Not Found]" if not defined showfix ( -echo: set fixes=%fixes% %mas%in-place_repair_upgrade call :dk_color2 %Blue% "Check this webpage for help - " %_Yellow% " %mas%in-place_repair_upgrade" echo: @@ -2562,7 +2548,6 @@ if "!taskinfo!"=="" set "taskinfo=Not Found" call :dk_color %Gray% "Checking SvcRestartTask Status [!taskinfo!. System might deactivate later.]" if not defined showfix ( -echo: echo "!taskinfo!" | findstr /i "Removed Not Found" %nul1% && ( set fixes=%fixes% %mas%in-place_repair_upgrade call :dk_color2 %Blue% "Check this webpage for help - " %_Yellow% " %mas%in-place_repair_upgrade" diff --git a/MAS/Separate-Files-Version/Activators/Online_KMS_Activation.cmd b/MAS/Separate-Files-Version/Activators/Online_KMS_Activation.cmd index dbc1082..3ce8fa8 100644 --- a/MAS/Separate-Files-Version/Activators/Online_KMS_Activation.cmd +++ b/MAS/Separate-Files-Version/Activators/Online_KMS_Activation.cmd @@ -300,7 +300,6 @@ REM check LanguageMode echo: !tstresult2! | findstr /i "ConstrainedLanguage RestrictedLanguage NoLanguage" %nul1% && ( echo FullLanguage mode not found in PowerShell. Aborting... echo If you have applied restrictions on Powershell then undo those changes. -echo: set fixes=%fixes% %mas%fix_powershell call :dk_color2 %Blue% "Check this webpage for help - " %_Yellow% " %mas%fix_powershell" goto dk_done @@ -310,7 +309,6 @@ 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 @@ -321,7 +319,6 @@ REM check for Mal-ware that may cause issues with Powershell for /r "%ProgramFiles%\" %%f in (secureboot.exe) do if exist "%%f" ( echo "%%f" echo Mal%blank%ware found, PowerShell is not working properly. -echo: set fixes=%fixes% %mas%remove_mal%w%ware call :dk_color2 %Blue% "Check this webpage for help - " %_Yellow% " %mas%remove_mal%w%ware" goto dk_done @@ -333,7 +330,6 @@ 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 @@ -354,7 +350,6 @@ echo Installed Antivirus - Microsoft Defender for Endpoint cmd /c "%psc% ""$av = Get-WmiObject -Namespace root\SecurityCenter2 -Class AntiVirusProduct; $n = @(); foreach ($i in $av) { $n += $i.displayName }; if ($n) { Write-Host ('Installed Antivirus - ' + ($n -join ', '))}""" ) -echo: set fixes=%fixes% %mas%troubleshoot call :dk_color2 %Blue% "Check this webpage for help - " %_Yellow% " %mas%troubleshoot" goto dk_done @@ -534,7 +529,6 @@ echo: if not defined results ( call :dk_color %Blue% "Go back to Main Menu, select Troubleshoot and run DISM Restore and SFC Scan options." call :dk_color %Blue% "After that, restart system and try activation again." -echo: set fixes=%fixes% %mas%in-place_repair_upgrade call :dk_color2 %Blue% "If it still shows the same error, do this - " %_Yellow% " %mas%in-place_repair_upgrade" ) @@ -2983,7 +2977,6 @@ 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: @@ -3066,7 +3059,6 @@ set showfix=1 ) echo "%imagestate%" | find /i "UNDEPLOYABLE" %nul% && ( if not defined showfix ( -echo: set fixes=%fixes% %mas%in-place_repair_upgrade call :dk_color2 %Blue% "If the activation fails, do this - " %_Yellow% " %mas%in-place_repair_upgrade" echo: @@ -3237,7 +3229,6 @@ set showfix=1 if %winbuild% GEQ 7600 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] [Most likely caused by gaming spoofers]" if not defined showfix ( -echo: set fixes=%fixes% %mas%issues_due_to_gaming_spoofers call :dk_color2 %Blue% "Check this webpage for help - " %_Yellow% " %mas%issues_due_to_gaming_spoofers" echo: @@ -3258,7 +3249,6 @@ if %winbuild% LSS 9200 set "tokenstore=%Systemdrive%\Windows\ServiceProfiles\Net 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" ( call :dk_color %Red% "Checking TokenStore Registry Key [Correct Path Not Found] [!tokenstore!]" if not defined showfix ( -echo: set fixes=%fixes% %mas%in-place_repair_upgrade call :dk_color2 %Blue% "Check this webpage for help - " %_Yellow% " %mas%in-place_repair_upgrade" echo: @@ -3289,7 +3279,6 @@ call :dk_color %Gray% "Checking SPP Token Folder [Not Found, Creat ) else ( call :dk_color %Red% "Checking SPP Token Folder [Not Found, Failed to Create] [%tokenstore%\]" if not defined showfix ( -echo: set fixes=%fixes% %mas%in-place_repair_upgrade call :dk_color2 %Blue% "Check this webpage for help - " %_Yellow% " %mas%in-place_repair_upgrade" echo: @@ -3479,7 +3468,6 @@ set showfix=1 reg query "HKU\S-1-5-20\Software\Microsoft\Windows NT\CurrentVersion" %nul% || ( call :dk_color %Red% "Checking HKU\S-1-5-20 Registry [Not Found]" if not defined showfix ( -echo: set fixes=%fixes% %mas%in-place_repair_upgrade call :dk_color2 %Blue% "Check this webpage for help - " %_Yellow% " %mas%in-place_repair_upgrade" echo: @@ -3604,7 +3592,6 @@ if "!taskinfo!"=="" set "taskinfo=Not Found" call :dk_color %Gray% "Checking SvcRestartTask Status [!taskinfo!. System might deactivate later.]" if not defined showfix ( -echo: echo "!taskinfo!" | findstr /i "Removed Not Found" %nul1% && ( set fixes=%fixes% %mas%in-place_repair_upgrade call :dk_color2 %Blue% "Check this webpage for help - " %_Yellow% " %mas%in-place_repair_upgrade" diff --git a/MAS/Separate-Files-Version/Activators/TSforge_Activation.cmd b/MAS/Separate-Files-Version/Activators/TSforge_Activation.cmd index 4b43e3f..4e29ea3 100644 --- a/MAS/Separate-Files-Version/Activators/TSforge_Activation.cmd +++ b/MAS/Separate-Files-Version/Activators/TSforge_Activation.cmd @@ -212,7 +212,6 @@ call :dk_setvar if %winbuild% EQU 1 ( %eline% echo Failed to detect Windows build number. -echo: setlocal EnableDelayedExpansion set fixes=%fixes% %mas%troubleshoot call :dk_color2 %Blue% "Check this webpage for help - " %_Yellow% " %mas%troubleshoot" @@ -327,7 +326,6 @@ REM check LanguageMode echo: !tstresult2! | findstr /i "ConstrainedLanguage RestrictedLanguage NoLanguage" %nul1% && ( echo FullLanguage mode not found in PowerShell. Aborting... echo If you have applied restrictions on Powershell then undo those changes. -echo: set fixes=%fixes% %mas%fix_powershell call :dk_color2 %Blue% "Check this webpage for help - " %_Yellow% " %mas%fix_powershell" goto dk_done @@ -337,7 +335,6 @@ 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 @@ -348,7 +345,6 @@ REM check for Mal-ware that may cause issues with Powershell for /r "%ProgramFiles%\" %%f in (secureboot.exe) do if exist "%%f" ( echo "%%f" echo Mal%blank%ware found, PowerShell is not working properly. -echo: set fixes=%fixes% %mas%remove_mal%w%ware call :dk_color2 %Blue% "Check this webpage for help - " %_Yellow% " %mas%remove_mal%w%ware" goto dk_done @@ -360,7 +356,6 @@ 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 @@ -381,7 +376,6 @@ echo Installed Antivirus - Microsoft Defender for Endpoint cmd /c "%psc% ""$av = Get-WmiObject -Namespace root\SecurityCenter2 -Class AntiVirusProduct; $n = @(); foreach ($i in $av) { $n += $i.displayName }; if ($n) { Write-Host ('Installed Antivirus - ' + ($n -join ', '))}""" ) -echo: set fixes=%fixes% %mas%troubleshoot call :dk_color2 %Blue% "Check this webpage for help - " %_Yellow% " %mas%troubleshoot" goto dk_done @@ -604,7 +598,6 @@ echo: if not defined results ( call :dk_color %Blue% "Go back to Main Menu, select Troubleshoot and run DISM Restore and SFC Scan options." call :dk_color %Blue% "After that, restart system and try activation again." -echo: set fixes=%fixes% %mas%in-place_repair_upgrade call :dk_color2 %Blue% "If it still shows the same error, do this - " %_Yellow% " %mas%in-place_repair_upgrade" ) @@ -618,7 +611,6 @@ echo .NET 3.5 Framework is corrupt or missing. Aborting... if exist "%SysPath%\spp\tokens\skus\Security-SPP-Component-SKU-Embedded" ( echo Install .NET Framework 4.8 and Windows Management Framework 5.1 ) -echo: set fixes=%fixes% %mas%troubleshoot call :dk_color2 %Blue% "Check this webpage for help - " %_Yellow% " %mas%troubleshoot" goto dk_done @@ -632,7 +624,6 @@ if !errorlevel! EQU 1051 ( %eline% echo Evaluation WLMS service is running, %_slser% service can not be stopped. Aborting... echo Install Non-Eval version for Windows build %winbuild%. -echo: set fixes=%fixes% %mas%troubleshoot call :dk_color2 %Blue% "Check this webpage for help - " %_Yellow% " %mas%troubleshoot" goto dk_done @@ -2999,7 +2990,6 @@ 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: @@ -3082,7 +3072,6 @@ set showfix=1 ) echo "%imagestate%" | find /i "UNDEPLOYABLE" %nul% && ( if not defined showfix ( -echo: set fixes=%fixes% %mas%in-place_repair_upgrade call :dk_color2 %Blue% "If the activation fails, do this - " %_Yellow% " %mas%in-place_repair_upgrade" echo: @@ -3253,7 +3242,6 @@ set showfix=1 if %winbuild% GEQ 7600 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] [Most likely caused by gaming spoofers]" if not defined showfix ( -echo: set fixes=%fixes% %mas%issues_due_to_gaming_spoofers call :dk_color2 %Blue% "Check this webpage for help - " %_Yellow% " %mas%issues_due_to_gaming_spoofers" echo: @@ -3274,7 +3262,6 @@ if %winbuild% LSS 9200 set "tokenstore=%Systemdrive%\Windows\ServiceProfiles\Net 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" ( call :dk_color %Red% "Checking TokenStore Registry Key [Correct Path Not Found] [!tokenstore!]" if not defined showfix ( -echo: set fixes=%fixes% %mas%in-place_repair_upgrade call :dk_color2 %Blue% "Check this webpage for help - " %_Yellow% " %mas%in-place_repair_upgrade" echo: @@ -3305,7 +3292,6 @@ call :dk_color %Gray% "Checking SPP Token Folder [Not Found, Creat ) else ( call :dk_color %Red% "Checking SPP Token Folder [Not Found, Failed to Create] [%tokenstore%\]" if not defined showfix ( -echo: set fixes=%fixes% %mas%in-place_repair_upgrade call :dk_color2 %Blue% "Check this webpage for help - " %_Yellow% " %mas%in-place_repair_upgrade" echo: @@ -3495,7 +3481,6 @@ set showfix=1 reg query "HKU\S-1-5-20\Software\Microsoft\Windows NT\CurrentVersion" %nul% || ( call :dk_color %Red% "Checking HKU\S-1-5-20 Registry [Not Found]" if not defined showfix ( -echo: set fixes=%fixes% %mas%in-place_repair_upgrade call :dk_color2 %Blue% "Check this webpage for help - " %_Yellow% " %mas%in-place_repair_upgrade" echo: @@ -3620,7 +3605,6 @@ if "!taskinfo!"=="" set "taskinfo=Not Found" call :dk_color %Gray% "Checking SvcRestartTask Status [!taskinfo!. System might deactivate later.]" if not defined showfix ( -echo: echo "!taskinfo!" | findstr /i "Removed Not Found" %nul1% && ( set fixes=%fixes% %mas%in-place_repair_upgrade call :dk_color2 %Blue% "Check this webpage for help - " %_Yellow% " %mas%in-place_repair_upgrade" diff --git a/MAS/Separate-Files-Version/Change_Office_Edition.cmd b/MAS/Separate-Files-Version/Change_Office_Edition.cmd index b35aaf0..fad2060 100644 --- a/MAS/Separate-Files-Version/Change_Office_Edition.cmd +++ b/MAS/Separate-Files-Version/Change_Office_Edition.cmd @@ -214,7 +214,6 @@ REM check LanguageMode echo: !tstresult2! | findstr /i "ConstrainedLanguage RestrictedLanguage NoLanguage" %nul1% && ( echo FullLanguage mode not found in PowerShell. Aborting... echo If you have applied restrictions on Powershell then undo those changes. -echo: set fixes=%fixes% %mas%fix_powershell call :dk_color2 %Blue% "Check this webpage for help - " %_Yellow% " %mas%fix_powershell" goto dk_done @@ -224,7 +223,6 @@ 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 @@ -235,7 +233,6 @@ REM check for Mal-ware that may cause issues with Powershell for /r "%ProgramFiles%\" %%f in (secureboot.exe) do if exist "%%f" ( echo "%%f" echo Mal%blank%ware found, PowerShell is not working properly. -echo: set fixes=%fixes% %mas%remove_mal%w%ware call :dk_color2 %Blue% "Check this webpage for help - " %_Yellow% " %mas%remove_mal%w%ware" goto dk_done @@ -247,7 +244,6 @@ 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 @@ -268,7 +264,6 @@ echo Installed Antivirus - Microsoft Defender for Endpoint cmd /c "%psc% ""$av = Get-WmiObject -Namespace root\SecurityCenter2 -Class AntiVirusProduct; $n = @(); foreach ($i in $av) { $n += $i.displayName }; if ($n) { Write-Host ('Installed Antivirus - ' + ($n -join ', '))}""" ) -echo: set fixes=%fixes% %mas%troubleshoot call :dk_color2 %Blue% "Check this webpage for help - " %_Yellow% " %mas%troubleshoot" goto dk_done @@ -416,7 +411,6 @@ if not defined o16c2r_reg ( %eline% echo Office C2R 2016 or later is not installed, which is required for this script. echo Download and install Office from below URL and try again. -echo: set fixes=%fixes% %mas%genuine-installation-media call :dk_color %_Yellow% "%mas%genuine-installation-media" goto dk_done @@ -467,7 +461,6 @@ if %winbuild% LSS 10240 if defined ltscfound ( echo Installed Office appears to be from the Volume channel %ltsc19%%ltsc21%%ltsc24%, echo which is not officially supported on your Windows build version %winbuild%. echo Aborting... -echo: set fixes=%fixes% %mas%troubleshoot call :dk_color2 %Blue% "Check this webpage for help - " %_Yellow% " %mas%troubleshoot" goto dk_done @@ -481,7 +474,6 @@ if defined unsupbuild ( %eline% echo Unsupported Office %verchk% is installed on your Windows build version %winbuild%. echo Aborting... -echo: set fixes=%fixes% %mas%troubleshoot call :dk_color2 %Blue% "Check this webpage for help - " %_Yellow% " %mas%troubleshoot" goto dk_done @@ -588,7 +580,6 @@ mode 98, 45 if not exist %SystemRoot%\Temp\%list%.txt ( %eline% echo Failed to generate available editions list. -echo: set fixes=%fixes% %mas%troubleshoot call :dk_color2 %Blue% "Check this webpage for help - " %_Yellow% " %mas%troubleshoot" goto :oe_goback @@ -653,7 +644,6 @@ set suites=1 if not exist %SystemRoot%\Temp\getAppIds.txt ( %eline% echo Failed to generate available apps list. -echo: set fixes=%fixes% %mas%troubleshoot call :dk_color2 %Blue% "Check this webpage for help - " %_Yellow% " %mas%troubleshoot" goto :oe_goback @@ -1172,7 +1162,6 @@ goto :oe_goback if not defined build ( %eline% call :dk_color %Red% "Failed to detect build number for the target FFN." -echo: set fixes=%fixes% %mas%troubleshoot call :dk_color2 %Blue% "Check this webpage for help - " %_Yellow% " %mas%troubleshoot" goto :oe_goback @@ -1210,7 +1199,6 @@ for /l %%i in (1,1,30) do (if !clverchk! LSS %buildchk% (call :ch_getinfo&timeou if %clverchk% LSS %buildchk% ( echo: call :dk_color %Red% "Failed to update Office C2R client. Aborting..." -echo: set fixes=%fixes% %mas%troubleshoot call :dk_color2 %Blue% "Check this webpage for help - " %_Yellow% " %mas%troubleshoot" goto :oe_goback diff --git a/MAS/Separate-Files-Version/Change_Windows_Edition.cmd b/MAS/Separate-Files-Version/Change_Windows_Edition.cmd index 7469069..4d758ec 100644 --- a/MAS/Separate-Files-Version/Change_Windows_Edition.cmd +++ b/MAS/Separate-Files-Version/Change_Windows_Edition.cmd @@ -219,7 +219,6 @@ REM check LanguageMode echo: !tstresult2! | findstr /i "ConstrainedLanguage RestrictedLanguage NoLanguage" %nul1% && ( echo FullLanguage mode not found in PowerShell. Aborting... echo If you have applied restrictions on Powershell then undo those changes. -echo: set fixes=%fixes% %mas%fix_powershell call :dk_color2 %Blue% "Check this webpage for help - " %_Yellow% " %mas%fix_powershell" goto dk_done @@ -229,7 +228,6 @@ 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 @@ -240,7 +238,6 @@ REM check for Mal-ware that may cause issues with Powershell for /r "%ProgramFiles%\" %%f in (secureboot.exe) do if exist "%%f" ( echo "%%f" echo Mal%blank%ware found, PowerShell is not working properly. -echo: set fixes=%fixes% %mas%remove_mal%w%ware call :dk_color2 %Blue% "Check this webpage for help - " %_Yellow% " %mas%remove_mal%w%ware" goto dk_done @@ -252,7 +249,6 @@ 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 @@ -273,7 +269,6 @@ echo Installed Antivirus - Microsoft Defender for Endpoint cmd /c "%psc% ""$av = Get-WmiObject -Namespace root\SecurityCenter2 -Class AntiVirusProduct; $n = @(); foreach ($i in $av) { $n += $i.displayName }; if ($n) { Write-Host ('Installed Antivirus - ' + ($n -join ', '))}""" ) -echo: set fixes=%fixes% %mas%troubleshoot call :dk_color2 %Blue% "Check this webpage for help - " %_Yellow% " %mas%troubleshoot" goto dk_done @@ -397,7 +392,6 @@ if not exist %SysPath%\%%# ( echo [%SysPath%\%%#] file is missing, aborting... call :dk_color %Blue% "Go back to Main Menu, select Troubleshoot and run DISM Restore and SFC Scan options." call :dk_color %Blue% "After that, restart system and try activation again." -echo: set fixes=%fixes% %mas%in-place_repair_upgrade call :dk_color2 %Blue% "If it still shows the same error, do this - " %_Yellow% " %mas%in-place_repair_upgrade" goto dk_done @@ -615,7 +609,6 @@ if not defined key ( %eline% echo [%targetedition% ^| %winbuild%] echo Failed to get product key from pkeyhelper.dll. -echo: set fixes=%fixes% %mas%troubleshoot call :dk_color2 %Blue% "Check this webpage for help - " %_Yellow% " %mas%troubleshoot" goto dk_done @@ -670,7 +663,6 @@ echo: call :dk_color %Gray% "Reboot is required to fully change the edition." ) else ( call :dk_color %Red% "[Unsuccessful] [Error Code: !keyerror!]" -echo: set fixes=%fixes% %mas%troubleshoot call :dk_color2 %Blue% "Check this webpage for help - " %_Yellow% " %mas%troubleshoot" ) @@ -751,7 +743,6 @@ if not defined key ( %eline% echo [%targetedition% ^| %winbuild%] echo Failed to get product key from pkeyhelper.dll. -echo: set fixes=%fixes% %mas%troubleshoot call :dk_color2 %Blue% "Check this webpage for help - " %_Yellow% " %mas%troubleshoot" goto dk_done diff --git a/MAS/Separate-Files-Version/Extract_OEM_Folder.cmd b/MAS/Separate-Files-Version/Extract_OEM_Folder.cmd index 1129301..2a95158 100644 --- a/MAS/Separate-Files-Version/Extract_OEM_Folder.cmd +++ b/MAS/Separate-Files-Version/Extract_OEM_Folder.cmd @@ -230,7 +230,6 @@ REM check LanguageMode echo: !tstresult2! | findstr /i "ConstrainedLanguage RestrictedLanguage NoLanguage" %nul1% && ( echo FullLanguage mode not found in PowerShell. Aborting... echo If you have applied restrictions on Powershell then undo those changes. -echo: set fixes=%fixes% %mas%fix_powershell call :dk_color2 %Blue% "Check this webpage for help - " %_Yellow% " %mas%fix_powershell" goto done2 @@ -240,7 +239,6 @@ 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 @@ -251,7 +249,6 @@ REM check for Mal-ware that may cause issues with Powershell for /r "%ProgramFiles%\" %%f in (secureboot.exe) do if exist "%%f" ( echo "%%f" echo Mal%blank%ware found, PowerShell is not working properly. -echo: set fixes=%fixes% %mas%remove_mal%w%ware call :dk_color2 %Blue% "Check this webpage for help - " %_Yellow% " %mas%remove_mal%w%ware" goto done2 @@ -263,7 +260,6 @@ 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 @@ -284,7 +280,6 @@ echo Installed Antivirus - Microsoft Defender for Endpoint cmd /c "%psc% ""$av = Get-WmiObject -Namespace root\SecurityCenter2 -Class AntiVirusProduct; $n = @(); foreach ($i in $av) { $n += $i.displayName }; if ($n) { Write-Host ('Installed Antivirus - ' + ($n -join ', '))}""" ) -echo: set fixes=%fixes% %mas%troubleshoot call :dk_color2 %Blue% "Check this webpage for help - " %_Yellow% " %mas%troubleshoot" goto done2 diff --git a/MAS/Separate-Files-Version/Troubleshoot.cmd b/MAS/Separate-Files-Version/Troubleshoot.cmd index 2115d8b..7fcadf7 100644 --- a/MAS/Separate-Files-Version/Troubleshoot.cmd +++ b/MAS/Separate-Files-Version/Troubleshoot.cmd @@ -231,7 +231,6 @@ REM check LanguageMode echo: !tstresult2! | findstr /i "ConstrainedLanguage RestrictedLanguage NoLanguage" %nul1% && ( echo FullLanguage mode not found in PowerShell. Aborting... echo If you have applied restrictions on Powershell then undo those changes. -echo: set fixes=%fixes% %mas%fix_powershell call :dk_color2 %Blue% "Check this webpage for help - " %_Yellow% " %mas%fix_powershell" goto dk_done @@ -241,7 +240,6 @@ 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 @@ -252,7 +250,6 @@ REM check for Mal-ware that may cause issues with Powershell for /r "%ProgramFiles%\" %%f in (secureboot.exe) do if exist "%%f" ( echo "%%f" echo Mal%blank%ware found, PowerShell is not working properly. -echo: set fixes=%fixes% %mas%remove_mal%w%ware call :dk_color2 %Blue% "Check this webpage for help - " %_Yellow% " %mas%remove_mal%w%ware" goto dk_done @@ -264,7 +261,6 @@ 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 @@ -285,7 +281,6 @@ echo Installed Antivirus - Microsoft Defender for Endpoint cmd /c "%psc% ""$av = Get-WmiObject -Namespace root\SecurityCenter2 -Class AntiVirusProduct; $n = @(); foreach ($i in $av) { $n += $i.displayName }; if ($n) { Write-Host ('Installed Antivirus - ' + ($n -join ', '))}""" ) -echo: set fixes=%fixes% %mas%troubleshoot call :dk_color2 %Blue% "Check this webpage for help - " %_Yellow% " %mas%troubleshoot" goto dk_done From a5435a349b3ede3587a50dc9d70571e234712eee Mon Sep 17 00:00:00 2001 From: Lyssa Date: Wed, 28 Jan 2026 19:17:15 +0400 Subject: [PATCH 44/66] export-ignore --- .gitattributes | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/.gitattributes b/.gitattributes index 4d21483..de5bd3d 100644 --- a/.gitattributes +++ b/.gitattributes @@ -1,4 +1,4 @@ -# MAS export-ignore -# LICENSE export-ignore -# README.md export-ignore -# .gitattributes export-ignore +MAS export-ignore +LICENSE export-ignore +README.md export-ignore +.gitattributes export-ignore From d33dfc9ce69cf4b758076decd65e9ee18c882313 Mon Sep 17 00:00:00 2001 From: Lyssa Date: Wed, 28 Jan 2026 19:25:27 +0400 Subject: [PATCH 45/66] Revert export-ignore --- .gitattributes | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/.gitattributes b/.gitattributes index de5bd3d..4d21483 100644 --- a/.gitattributes +++ b/.gitattributes @@ -1,4 +1,4 @@ -MAS export-ignore -LICENSE export-ignore -README.md export-ignore -.gitattributes export-ignore +# MAS export-ignore +# LICENSE export-ignore +# README.md export-ignore +# .gitattributes export-ignore From 3e3fe2ca52dbf80fde33cd6f827e97bc3cdf123f Mon Sep 17 00:00:00 2001 From: Lyssa Date: Thu, 29 Jan 2026 16:31:39 +0400 Subject: [PATCH 46/66] Update release date in README --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 5ed14b6..721599e 100644 --- a/README.md +++ b/README.md @@ -81,4 +81,4 @@ --- Latest Version: 3.10 -Release date: 19-Nov-2025 +Release date: 28-Jan-2026 From c07796e405cc1b810003466ebe7cf3e488a07f68 Mon Sep 17 00:00:00 2001 From: Lyssa Date: Fri, 30 Jan 2026 18:08:15 +0400 Subject: [PATCH 47/66] Change file hash --- MAS/All-In-One-Version-KL/MAS_AIO.cmd | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/MAS/All-In-One-Version-KL/MAS_AIO.cmd b/MAS/All-In-One-Version-KL/MAS_AIO.cmd index 3020c5c..607b074 100644 --- a/MAS/All-In-One-Version-KL/MAS_AIO.cmd +++ b/MAS/All-In-One-Version-KL/MAS_AIO.cmd @@ -1,4 +1,4 @@ -@::ab7249d77random13141b5922144806de5d43f +@::22b1randomda521random7f94randomea5random8b55randoma71random85berandom90b7e @set masver=3.10 @setlocal DisableDelayedExpansion @echo off From 773b758f4d9da35a524fd8a92eba91b7dbda8afe Mon Sep 17 00:00:00 2001 From: Lyssa Date: Sat, 31 Jan 2026 21:40:41 +0400 Subject: [PATCH 48/66] Deal with false positive (again) --- MAS/All-In-One-Version-KL/MAS_AIO.cmd | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/MAS/All-In-One-Version-KL/MAS_AIO.cmd b/MAS/All-In-One-Version-KL/MAS_AIO.cmd index 607b074..6a4df8b 100644 --- a/MAS/All-In-One-Version-KL/MAS_AIO.cmd +++ b/MAS/All-In-One-Version-KL/MAS_AIO.cmd @@ -1,4 +1,4 @@ -@::22b1randomda521random7f94randomea5random8b55randoma71random85berandom90b7e +@::5210random3692veryrandom2294f458raaaaandomcb96db3ba0c5da2e @set masver=3.10 @setlocal DisableDelayedExpansion @echo off From 97602941e5724316aa31b6ca1da5c70245d234d5 Mon Sep 17 00:00:00 2001 From: Lyssa Date: Sun, 1 Feb 2026 11:25:52 +0400 Subject: [PATCH 49/66] lol --- MAS/All-In-One-Version-KL/MAS_AIO.cmd | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/MAS/All-In-One-Version-KL/MAS_AIO.cmd b/MAS/All-In-One-Version-KL/MAS_AIO.cmd index 6a4df8b..2c65faa 100644 --- a/MAS/All-In-One-Version-KL/MAS_AIO.cmd +++ b/MAS/All-In-One-Version-KL/MAS_AIO.cmd @@ -1,4 +1,8 @@ -@::5210random3692veryrandom2294f458raaaaandomcb96db3ba0c5da2e +@::Please stop false-flagging this script over and over. This is the 3rd time I've had to update the script to deal with the false positives. +@::Nothing in this script is malicious and it is used by thousands of people *daily*. +@::Is a real person even the one deciding to flag this or is it Copilot told to flag anything it decides not to like? +@::If a campaign is using this script as a cover, please flag parts of the campaign instead of the script. This isn't the first time we experienced collateral damage due to campaigns completely unrelated to us. +@::If you disagree that MAS is not malicious, we would appreciate if you contacted us to explain what constitutes MAS as "Sonbokli" and we'll look into it. Thank you. @set masver=3.10 @setlocal DisableDelayedExpansion @echo off From 33b0ac9cc787aa0ee288b4fa7d26380c4dc67bfe Mon Sep 17 00:00:00 2001 From: WitherOrNot Date: Sat, 21 Feb 2026 19:25:30 -0500 Subject: [PATCH 50/66] Add Windows 10 LTSB 2016 ESU --- MAS/All-In-One-Version-KL/MAS_AIO.cmd | 7 +++++-- .../Activators/TSforge_Activation.cmd | 5 ++++- 2 files changed, 9 insertions(+), 3 deletions(-) diff --git a/MAS/All-In-One-Version-KL/MAS_AIO.cmd b/MAS/All-In-One-Version-KL/MAS_AIO.cmd index 2c65faa..9992d11 100644 --- a/MAS/All-In-One-Version-KL/MAS_AIO.cmd +++ b/MAS/All-In-One-Version-KL/MAS_AIO.cmd @@ -5021,7 +5021,7 @@ set esuexistsup= set esueditionlist= set esuexistbutnosup= -for %%# in (EnterpriseS IoTEnterpriseS IoTEnterpriseSK) do (if /i %tsedition%==%%# set isltsc=1) +if %winbuild% GTR 14393 for %%# in (EnterpriseS IoTEnterpriseS IoTEnterpriseSK) do (if /i %tsedition%==%%# set isltsc=1) if exist "%SystemRoot%\Servicing\Packages\Microsoft-Windows-Server*Edition~*.mum" set isServer=1 if /i %tsedition%==Embedded ( @@ -5067,6 +5067,9 @@ f520e45e-7413-4a34-a497-d2765967d094_Client-ESU-Year1_-%w10EsuEditions%-%w10EsuE REM WindowsServer2016 91bcac0a-d7d3-4d2b-bd0c-72fed675f01b_Server-ESU-Year3[1-3y]_-ServerDatacenter-ServerDatacenterCore-ServerDatacenterV-ServerDatacenterVCore-ServerStandard-ServerStandardCore-ServerStandardV-ServerStandardVCore- 4cd0ab30-73a4-4dde-972c-512f05be31df_Server-ESU-Year6[4-6y]_-ServerDatacenter-ServerDatacenterCore-ServerDatacenterV-ServerDatacenterVCore-ServerStandard-ServerStandardCore-ServerStandardV-ServerStandardVCore- +REM Windows10LTSB2016 +f2571710-2c24-4677-8fb5-a07d41d3c1aa_Client-ESU-Year3[1-3y]_-EnterpriseS-EnterpriseSN- +22badfe6-7d55-4485-874b-7ec317442134_Client-ESU-Year6[4-6y]_-EnterpriseS-EnterpriseSN- ) do ( for /f "tokens=1-3 delims=_" %%A in ("%%#") do ( echo "%allapps%" | find /i "%%A" %nul1% && ( @@ -5122,7 +5125,7 @@ goto :ts_off set esuavail= if defined _vis if defined isServer set esuavail=1 if %winbuild% LEQ 7602 if not defined _vis if not defined isThinpc set esuavail=1 -if %winbuild% GTR 7602 if %winbuild% LSS 14393 if defined isServer set esuavail=1 +if %winbuild% GTR 7602 if %winbuild% LEQ 14393 if defined isServer set esuavail=1 if %winbuild% GEQ 10240 if %winbuild% LEQ 19045 if not defined isServer set esuavail=1 if %winbuild% EQU 9600 set esuavail=1 diff --git a/MAS/Separate-Files-Version/Activators/TSforge_Activation.cmd b/MAS/Separate-Files-Version/Activators/TSforge_Activation.cmd index 4e29ea3..7fc065c 100644 --- a/MAS/Separate-Files-Version/Activators/TSforge_Activation.cmd +++ b/MAS/Separate-Files-Version/Activators/TSforge_Activation.cmd @@ -1092,7 +1092,7 @@ set esuexistsup= set esueditionlist= set esuexistbutnosup= -for %%# in (EnterpriseS IoTEnterpriseS IoTEnterpriseSK) do (if /i %tsedition%==%%# set isltsc=1) +if %winbuild% GTR 14393 for %%# in (EnterpriseS IoTEnterpriseS IoTEnterpriseSK) do (if /i %tsedition%==%%# set isltsc=1) if exist "%SystemRoot%\Servicing\Packages\Microsoft-Windows-Server*Edition~*.mum" set isServer=1 if /i %tsedition%==Embedded ( @@ -1138,6 +1138,9 @@ f520e45e-7413-4a34-a497-d2765967d094_Client-ESU-Year1_-%w10EsuEditions%-%w10EsuE REM WindowsServer2016 91bcac0a-d7d3-4d2b-bd0c-72fed675f01b_Server-ESU-Year3[1-3y]_-ServerDatacenter-ServerDatacenterCore-ServerDatacenterV-ServerDatacenterVCore-ServerStandard-ServerStandardCore-ServerStandardV-ServerStandardVCore- 4cd0ab30-73a4-4dde-972c-512f05be31df_Server-ESU-Year6[4-6y]_-ServerDatacenter-ServerDatacenterCore-ServerDatacenterV-ServerDatacenterVCore-ServerStandard-ServerStandardCore-ServerStandardV-ServerStandardVCore- +REM Windows10LTSB2016 +f2571710-2c24-4677-8fb5-a07d41d3c1aa_Client-ESU-Year3[1-3y]_-EnterpriseS-EnterpriseSN- +22badfe6-7d55-4485-874b-7ec317442134_Client-ESU-Year6[4-6y]_-EnterpriseS-EnterpriseSN- ) do ( for /f "tokens=1-3 delims=_" %%A in ("%%#") do ( echo "%allapps%" | find /i "%%A" %nul1% && ( From 1baa4e18ed791844112296eda6035705cc6e1088 Mon Sep 17 00:00:00 2001 From: WindowsAddict-Alt2 <262417427+WindowsAddict-Alt2@users.noreply.github.com> Date: Mon, 9 Mar 2026 03:49:09 +0530 Subject: [PATCH 51/66] Add OutlookForWindows in app selection menu --- MAS/All-In-One-Version-KL/MAS_AIO.cmd | 64 +++++++++++-------- .../Change_Office_Edition.cmd | 64 +++++++++++-------- 2 files changed, 72 insertions(+), 56 deletions(-) diff --git a/MAS/All-In-One-Version-KL/MAS_AIO.cmd b/MAS/All-In-One-Version-KL/MAS_AIO.cmd index 9992d11..3f324e7 100644 --- a/MAS/All-In-One-Version-KL/MAS_AIO.cmd +++ b/MAS/All-In-One-Version-KL/MAS_AIO.cmd @@ -18377,6 +18377,11 @@ if defined Lync_st set Lync_st=Off set OneDrive_st=Off if defined suites (set Teams_st=Off) else (set Teams_st=) +set OutlookForWindows_st= +if %winbuild% GEQ 19041 if defined Outlook_st echo %targetedition% | find /i "O365" %nul1% && ( +set OutlookForWindows_st=Off +) + :oe_excludeapps cls @@ -18389,19 +18394,20 @@ call :dk_color %Gray% "To exclude the apps listed below from installation, toggl if defined editedition call :dk_color %Gray% "Note: The On/Off status below does not reflect the current status of the installed apps." %line% if defined suites echo: -if defined Access_st echo [A] Access : %Access_st% -if defined Excel_st echo [E] Excel : %Excel_st% -if defined OneNote_st echo [N] OneNote : %OneNote_st% -if defined Outlook_st echo [O] Outlook : %Outlook_st% -if defined PowerPoint_st echo [P] PowerPoint : %PowerPoint_st% -if defined Project_st echo [J] Project : %Project_st% -if defined Publisher_st echo [R] Publisher : %Publisher_st% -if defined Visio_st echo [V] Visio : %Visio_st% -if defined Word_st echo [W] Word : %Word_st% -echo: -if defined Lync_st echo [L] SkypeForBusiness : %Lync_st% -if defined OneDrive_st echo [D] OneDrive : %OneDrive_st% -if defined Teams_st echo [T] Teams : %Teams_st% +if defined Access_st echo [A] Access : %Access_st% +if defined Excel_st echo [E] Excel : %Excel_st% +if defined OneNote_st echo [N] OneNote : %OneNote_st% +if defined Outlook_st echo [O] Outlook ^(Classic^) : %Outlook_st% +if defined PowerPoint_st echo [P] PowerPoint : %PowerPoint_st% +if defined Project_st echo [J] Project : %Project_st% +if defined Publisher_st echo [R] Publisher : %Publisher_st% +if defined Visio_st echo [V] Visio : %Visio_st% +if defined Word_st echo [W] Word : %Word_st% +echo: +if defined Lync_st echo [L] SkypeForBusiness : %Lync_st% +if defined OutlookForWindows_st echo [K] Outlook ^(New^) : %OutlookForWindows_st% +if defined OneDrive_st echo [D] OneDrive : %OneDrive_st% +if defined Teams_st echo [T] Teams : %Teams_st% %line% echo: echo [1] Continue @@ -18409,22 +18415,23 @@ echo [0] Go Back %line% echo: call :dk_color %_Green% "Choose a menu option using your keyboard:" -choice /C:AENOPJRVWLDT10 /N +choice /C:AENOPJRVWLKDT10 /N set _el=!errorlevel! -if !_el!==14 goto :oemenu -if !_el!==13 call :excludelist & goto :oe_editionchangefinal -if !_el!==12 if defined Teams_st (if "%Teams_st%"=="Off" (set Teams_st=ON) else (set Teams_st=Off)) -if !_el!==11 if defined OneDrive_st (if "%OneDrive_st%"=="Off" (set OneDrive_st=ON) else (set OneDrive_st=Off)) -if !_el!==10 if defined Lync_st (if "%Lync_st%"=="Off" (set Lync_st=ON) else (set Lync_st=Off)) -if !_el!==9 if defined Word_st (if "%Word_st%"=="Off" (set Word_st=ON) else (set Word_st=Off)) -if !_el!==8 if defined Visio_st (if "%Visio_st%"=="Off" (set Visio_st=ON) else (set Visio_st=Off)) -if !_el!==7 if defined Publisher_st (if "%Publisher_st%"=="Off" (set Publisher_st=ON) else (set Publisher_st=Off)) -if !_el!==6 if defined Project_st (if "%Project_st%"=="Off" (set Project_st=ON) else (set Project_st=Off)) -if !_el!==5 if defined PowerPoint_st (if "%PowerPoint_st%"=="Off" (set PowerPoint_st=ON) else (set PowerPoint_st=Off)) -if !_el!==4 if defined Outlook_st (if "%Outlook_st%"=="Off" (set Outlook_st=ON) else (set Outlook_st=Off)) -if !_el!==3 if defined OneNote_st (if "%OneNote_st%"=="Off" (set OneNote_st=ON) else (set OneNote_st=Off)) -if !_el!==2 if defined Excel_st (if "%Excel_st%"=="Off" (set Excel_st=ON) else (set Excel_st=Off)) -if !_el!==1 if defined Access_st (if "%Access_st%"=="Off" (set Access_st=ON) else (set Access_st=Off)) +if !_el!==15 goto :oemenu +if !_el!==14 call :excludelist & goto :oe_editionchangefinal +if !_el!==13 if defined Teams_st (if "%Teams_st%"=="Off" (set Teams_st=ON) else (set Teams_st=Off)) +if !_el!==12 if defined OneDrive_st (if "%OneDrive_st%"=="Off" (set OneDrive_st=ON) else (set OneDrive_st=Off)) +if !_el!==11 if defined OutlookForWindows_st (if "%OutlookForWindows_st%"=="Off" (set OutlookForWindows_st=ON) else (set OutlookForWindows_st=Off)) +if !_el!==10 if defined Lync_st (if "%Lync_st%"=="Off" (set Lync_st=ON) else (set Lync_st=Off)) +if !_el!==9 if defined Word_st (if "%Word_st%"=="Off" (set Word_st=ON) else (set Word_st=Off)) +if !_el!==8 if defined Visio_st (if "%Visio_st%"=="Off" (set Visio_st=ON) else (set Visio_st=Off)) +if !_el!==7 if defined Publisher_st (if "%Publisher_st%"=="Off" (set Publisher_st=ON) else (set Publisher_st=Off)) +if !_el!==6 if defined Project_st (if "%Project_st%"=="Off" (set Project_st=ON) else (set Project_st=Off)) +if !_el!==5 if defined PowerPoint_st (if "%PowerPoint_st%"=="Off" (set PowerPoint_st=ON) else (set PowerPoint_st=Off)) +if !_el!==4 if defined Outlook_st (if "%Outlook_st%"=="Off" (set Outlook_st=ON) else (set Outlook_st=Off)) +if !_el!==3 if defined OneNote_st (if "%OneNote_st%"=="Off" (set OneNote_st=ON) else (set OneNote_st=Off)) +if !_el!==2 if defined Excel_st (if "%Excel_st%"=="Off" (set Excel_st=ON) else (set Excel_st=Off)) +if !_el!==1 if defined Access_st (if "%Access_st%"=="Off" (set Access_st=ON) else (set Access_st=Off)) goto :oe_excludeapps :excludelist @@ -18441,6 +18448,7 @@ publisher visio word lync +outlookforwindows onedrive teams ) do ( diff --git a/MAS/Separate-Files-Version/Change_Office_Edition.cmd b/MAS/Separate-Files-Version/Change_Office_Edition.cmd index fad2060..b4bc77b 100644 --- a/MAS/Separate-Files-Version/Change_Office_Edition.cmd +++ b/MAS/Separate-Files-Version/Change_Office_Edition.cmd @@ -673,6 +673,11 @@ if defined Lync_st set Lync_st=Off set OneDrive_st=Off if defined suites (set Teams_st=Off) else (set Teams_st=) +set OutlookForWindows_st= +if %winbuild% GEQ 19041 if defined Outlook_st echo %targetedition% | find /i "O365" %nul1% && ( +set OutlookForWindows_st=Off +) + :oe_excludeapps cls @@ -685,19 +690,20 @@ call :dk_color %Gray% "To exclude the apps listed below from installation, toggl if defined editedition call :dk_color %Gray% "Note: The On/Off status below does not reflect the current status of the installed apps." %line% if defined suites echo: -if defined Access_st echo [A] Access : %Access_st% -if defined Excel_st echo [E] Excel : %Excel_st% -if defined OneNote_st echo [N] OneNote : %OneNote_st% -if defined Outlook_st echo [O] Outlook : %Outlook_st% -if defined PowerPoint_st echo [P] PowerPoint : %PowerPoint_st% -if defined Project_st echo [J] Project : %Project_st% -if defined Publisher_st echo [R] Publisher : %Publisher_st% -if defined Visio_st echo [V] Visio : %Visio_st% -if defined Word_st echo [W] Word : %Word_st% -echo: -if defined Lync_st echo [L] SkypeForBusiness : %Lync_st% -if defined OneDrive_st echo [D] OneDrive : %OneDrive_st% -if defined Teams_st echo [T] Teams : %Teams_st% +if defined Access_st echo [A] Access : %Access_st% +if defined Excel_st echo [E] Excel : %Excel_st% +if defined OneNote_st echo [N] OneNote : %OneNote_st% +if defined Outlook_st echo [O] Outlook ^(Classic^) : %Outlook_st% +if defined PowerPoint_st echo [P] PowerPoint : %PowerPoint_st% +if defined Project_st echo [J] Project : %Project_st% +if defined Publisher_st echo [R] Publisher : %Publisher_st% +if defined Visio_st echo [V] Visio : %Visio_st% +if defined Word_st echo [W] Word : %Word_st% +echo: +if defined Lync_st echo [L] SkypeForBusiness : %Lync_st% +if defined OutlookForWindows_st echo [K] Outlook ^(New^) : %OutlookForWindows_st% +if defined OneDrive_st echo [D] OneDrive : %OneDrive_st% +if defined Teams_st echo [T] Teams : %Teams_st% %line% echo: echo [1] Continue @@ -705,22 +711,23 @@ echo [0] Go Back %line% echo: call :dk_color %_Green% "Choose a menu option using your keyboard:" -choice /C:AENOPJRVWLDT10 /N +choice /C:AENOPJRVWLKDT10 /N set _el=!errorlevel! -if !_el!==14 goto :oemenu -if !_el!==13 call :excludelist & goto :oe_editionchangefinal -if !_el!==12 if defined Teams_st (if "%Teams_st%"=="Off" (set Teams_st=ON) else (set Teams_st=Off)) -if !_el!==11 if defined OneDrive_st (if "%OneDrive_st%"=="Off" (set OneDrive_st=ON) else (set OneDrive_st=Off)) -if !_el!==10 if defined Lync_st (if "%Lync_st%"=="Off" (set Lync_st=ON) else (set Lync_st=Off)) -if !_el!==9 if defined Word_st (if "%Word_st%"=="Off" (set Word_st=ON) else (set Word_st=Off)) -if !_el!==8 if defined Visio_st (if "%Visio_st%"=="Off" (set Visio_st=ON) else (set Visio_st=Off)) -if !_el!==7 if defined Publisher_st (if "%Publisher_st%"=="Off" (set Publisher_st=ON) else (set Publisher_st=Off)) -if !_el!==6 if defined Project_st (if "%Project_st%"=="Off" (set Project_st=ON) else (set Project_st=Off)) -if !_el!==5 if defined PowerPoint_st (if "%PowerPoint_st%"=="Off" (set PowerPoint_st=ON) else (set PowerPoint_st=Off)) -if !_el!==4 if defined Outlook_st (if "%Outlook_st%"=="Off" (set Outlook_st=ON) else (set Outlook_st=Off)) -if !_el!==3 if defined OneNote_st (if "%OneNote_st%"=="Off" (set OneNote_st=ON) else (set OneNote_st=Off)) -if !_el!==2 if defined Excel_st (if "%Excel_st%"=="Off" (set Excel_st=ON) else (set Excel_st=Off)) -if !_el!==1 if defined Access_st (if "%Access_st%"=="Off" (set Access_st=ON) else (set Access_st=Off)) +if !_el!==15 goto :oemenu +if !_el!==14 call :excludelist & goto :oe_editionchangefinal +if !_el!==13 if defined Teams_st (if "%Teams_st%"=="Off" (set Teams_st=ON) else (set Teams_st=Off)) +if !_el!==12 if defined OneDrive_st (if "%OneDrive_st%"=="Off" (set OneDrive_st=ON) else (set OneDrive_st=Off)) +if !_el!==11 if defined OutlookForWindows_st (if "%OutlookForWindows_st%"=="Off" (set OutlookForWindows_st=ON) else (set OutlookForWindows_st=Off)) +if !_el!==10 if defined Lync_st (if "%Lync_st%"=="Off" (set Lync_st=ON) else (set Lync_st=Off)) +if !_el!==9 if defined Word_st (if "%Word_st%"=="Off" (set Word_st=ON) else (set Word_st=Off)) +if !_el!==8 if defined Visio_st (if "%Visio_st%"=="Off" (set Visio_st=ON) else (set Visio_st=Off)) +if !_el!==7 if defined Publisher_st (if "%Publisher_st%"=="Off" (set Publisher_st=ON) else (set Publisher_st=Off)) +if !_el!==6 if defined Project_st (if "%Project_st%"=="Off" (set Project_st=ON) else (set Project_st=Off)) +if !_el!==5 if defined PowerPoint_st (if "%PowerPoint_st%"=="Off" (set PowerPoint_st=ON) else (set PowerPoint_st=Off)) +if !_el!==4 if defined Outlook_st (if "%Outlook_st%"=="Off" (set Outlook_st=ON) else (set Outlook_st=Off)) +if !_el!==3 if defined OneNote_st (if "%OneNote_st%"=="Off" (set OneNote_st=ON) else (set OneNote_st=Off)) +if !_el!==2 if defined Excel_st (if "%Excel_st%"=="Off" (set Excel_st=ON) else (set Excel_st=Off)) +if !_el!==1 if defined Access_st (if "%Access_st%"=="Off" (set Access_st=ON) else (set Access_st=Off)) goto :oe_excludeapps :excludelist @@ -737,6 +744,7 @@ publisher visio word lync +outlookforwindows onedrive teams ) do ( From d1c00507187ffa24d32743dfafaa91c2fa566cb6 Mon Sep 17 00:00:00 2001 From: Wither OrNot Date: Fri, 17 Apr 2026 15:03:37 -0400 Subject: [PATCH 52/66] Add Years 4 and 5 for Windows Server 2012/2012R2 ESU --- MAS/All-In-One-Version-KL/MAS_AIO.cmd | 1 + MAS/Separate-Files-Version/Activators/TSforge_Activation.cmd | 1 + 2 files changed, 2 insertions(+) diff --git a/MAS/All-In-One-Version-KL/MAS_AIO.cmd b/MAS/All-In-One-Version-KL/MAS_AIO.cmd index 3f324e7..37be9f1 100644 --- a/MAS/All-In-One-Version-KL/MAS_AIO.cmd +++ b/MAS/All-In-One-Version-KL/MAS_AIO.cmd @@ -5059,6 +5059,7 @@ REM Windows8.1 11be7019-a309-4763-9a09-091d1722ffe3_Client-FES-ESU-Year3[1-3y]_-EmbeddedIndustry-EmbeddedIndustryE- REM WindowsServer2012/2012R2 55b1dd2d-2209-4ea0-a805-06298bad25b3_Server-ESU-Year3[1-3y]_-ServerDatacenter-ServerDatacenterCore-ServerDatacenterV-ServerDatacenterVCore-ServerStandard-ServerStandardCore-ServerStandardV-ServerStandardVCore- +1b60284a-63b5-42da-8ec9-eaab825e2bc8_Server-ESU-Year5[4-5y]_-ServerDatacenter-ServerDatacenterCore-ServerDatacenterV-ServerDatacenterVCore-ServerStandard-ServerStandardCore-ServerStandardV-ServerStandardVCore- REM Windows10 f520e45e-7413-4a34-a497-d2765967d094_Client-ESU-Year1_-%w10EsuEditions%-%w10EsuEditionsLaterAdded% 1043add5-23b1-4afb-9a0f-64343c8f3f8d_Client-ESU-Year2_-%w10EsuEditions%-%w10EsuEditionsLaterAdded% diff --git a/MAS/Separate-Files-Version/Activators/TSforge_Activation.cmd b/MAS/Separate-Files-Version/Activators/TSforge_Activation.cmd index 7fc065c..5b3ad74 100644 --- a/MAS/Separate-Files-Version/Activators/TSforge_Activation.cmd +++ b/MAS/Separate-Files-Version/Activators/TSforge_Activation.cmd @@ -1130,6 +1130,7 @@ REM Windows8.1 11be7019-a309-4763-9a09-091d1722ffe3_Client-FES-ESU-Year3[1-3y]_-EmbeddedIndustry-EmbeddedIndustryE- REM WindowsServer2012/2012R2 55b1dd2d-2209-4ea0-a805-06298bad25b3_Server-ESU-Year3[1-3y]_-ServerDatacenter-ServerDatacenterCore-ServerDatacenterV-ServerDatacenterVCore-ServerStandard-ServerStandardCore-ServerStandardV-ServerStandardVCore- +1b60284a-63b5-42da-8ec9-eaab825e2bc8_Server-ESU-Year5[4-5y]_-ServerDatacenter-ServerDatacenterCore-ServerDatacenterV-ServerDatacenterVCore-ServerStandard-ServerStandardCore-ServerStandardV-ServerStandardVCore- REM Windows10 f520e45e-7413-4a34-a497-d2765967d094_Client-ESU-Year1_-%w10EsuEditions%-%w10EsuEditionsLaterAdded% 1043add5-23b1-4afb-9a0f-64343c8f3f8d_Client-ESU-Year2_-%w10EsuEditions%-%w10EsuEditionsLaterAdded% From 7e5cda65c16daf022238e7437f1445ee895bbcce Mon Sep 17 00:00:00 2001 From: WitherOrNot Date: Sat, 2 May 2026 02:15:09 -0400 Subject: [PATCH 53/66] masver --- MAS/All-In-One-Version-KL/MAS_AIO.cmd | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/MAS/All-In-One-Version-KL/MAS_AIO.cmd b/MAS/All-In-One-Version-KL/MAS_AIO.cmd index 37be9f1..26ecd72 100644 --- a/MAS/All-In-One-Version-KL/MAS_AIO.cmd +++ b/MAS/All-In-One-Version-KL/MAS_AIO.cmd @@ -3,7 +3,7 @@ @::Is a real person even the one deciding to flag this or is it Copilot told to flag anything it decides not to like? @::If a campaign is using this script as a cover, please flag parts of the campaign instead of the script. This isn't the first time we experienced collateral damage due to campaigns completely unrelated to us. @::If you disagree that MAS is not malicious, we would appreciate if you contacted us to explain what constitutes MAS as "Sonbokli" and we'll look into it. Thank you. -@set masver=3.10 +@set masver=3.11 @setlocal DisableDelayedExpansion @echo off From 5bde60199b3df5cac909d6c9bdb096cfc1a88c83 Mon Sep 17 00:00:00 2001 From: WitherOrNot Date: Sat, 2 May 2026 02:18:16 -0400 Subject: [PATCH 54/66] export-ignore --- .gitattributes | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/.gitattributes b/.gitattributes index 4d21483..de5bd3d 100644 --- a/.gitattributes +++ b/.gitattributes @@ -1,4 +1,4 @@ -# MAS export-ignore -# LICENSE export-ignore -# README.md export-ignore -# .gitattributes export-ignore +MAS export-ignore +LICENSE export-ignore +README.md export-ignore +.gitattributes export-ignore From b9906472628468de9f6e53b00cf5b06c318e8b96 Mon Sep 17 00:00:00 2001 From: WitherOrNot Date: Sat, 2 May 2026 02:24:41 -0400 Subject: [PATCH 55/66] more masver --- MAS/Separate-Files-Version/Activators/HWID_Activation.cmd | 2 +- MAS/Separate-Files-Version/Activators/Ohook_Activation_AIO.cmd | 2 +- MAS/Separate-Files-Version/Activators/Online_KMS_Activation.cmd | 2 +- MAS/Separate-Files-Version/Activators/TSforge_Activation.cmd | 2 +- MAS/Separate-Files-Version/Change_Office_Edition.cmd | 2 +- MAS/Separate-Files-Version/Change_Windows_Edition.cmd | 2 +- MAS/Separate-Files-Version/Extract_OEM_Folder.cmd | 2 +- MAS/Separate-Files-Version/Troubleshoot.cmd | 2 +- 8 files changed, 8 insertions(+), 8 deletions(-) diff --git a/MAS/Separate-Files-Version/Activators/HWID_Activation.cmd b/MAS/Separate-Files-Version/Activators/HWID_Activation.cmd index ce4470b..f099093 100644 --- a/MAS/Separate-Files-Version/Activators/HWID_Activation.cmd +++ b/MAS/Separate-Files-Version/Activators/HWID_Activation.cmd @@ -1,4 +1,4 @@ -@set masver=3.10 +@set masver=3.11 @echo off diff --git a/MAS/Separate-Files-Version/Activators/Ohook_Activation_AIO.cmd b/MAS/Separate-Files-Version/Activators/Ohook_Activation_AIO.cmd index 779f645..e1b1aeb 100644 --- a/MAS/Separate-Files-Version/Activators/Ohook_Activation_AIO.cmd +++ b/MAS/Separate-Files-Version/Activators/Ohook_Activation_AIO.cmd @@ -1,4 +1,4 @@ -@set masver=3.10 +@set masver=3.11 @echo off diff --git a/MAS/Separate-Files-Version/Activators/Online_KMS_Activation.cmd b/MAS/Separate-Files-Version/Activators/Online_KMS_Activation.cmd index 3ce8fa8..d9a91c2 100644 --- a/MAS/Separate-Files-Version/Activators/Online_KMS_Activation.cmd +++ b/MAS/Separate-Files-Version/Activators/Online_KMS_Activation.cmd @@ -1,4 +1,4 @@ -@set masver=3.10 +@set masver=3.11 @echo off diff --git a/MAS/Separate-Files-Version/Activators/TSforge_Activation.cmd b/MAS/Separate-Files-Version/Activators/TSforge_Activation.cmd index 5b3ad74..2e230bb 100644 --- a/MAS/Separate-Files-Version/Activators/TSforge_Activation.cmd +++ b/MAS/Separate-Files-Version/Activators/TSforge_Activation.cmd @@ -1,4 +1,4 @@ -@set masver=3.10 +@set masver=3.11 @echo off diff --git a/MAS/Separate-Files-Version/Change_Office_Edition.cmd b/MAS/Separate-Files-Version/Change_Office_Edition.cmd index b4bc77b..d9fd310 100644 --- a/MAS/Separate-Files-Version/Change_Office_Edition.cmd +++ b/MAS/Separate-Files-Version/Change_Office_Edition.cmd @@ -1,4 +1,4 @@ -@set masver=3.10 +@set masver=3.11 @echo off diff --git a/MAS/Separate-Files-Version/Change_Windows_Edition.cmd b/MAS/Separate-Files-Version/Change_Windows_Edition.cmd index 4d758ec..b6f9d9f 100644 --- a/MAS/Separate-Files-Version/Change_Windows_Edition.cmd +++ b/MAS/Separate-Files-Version/Change_Windows_Edition.cmd @@ -1,4 +1,4 @@ -@set masver=3.10 +@set masver=3.11 @echo off diff --git a/MAS/Separate-Files-Version/Extract_OEM_Folder.cmd b/MAS/Separate-Files-Version/Extract_OEM_Folder.cmd index 2a95158..cbbc316 100644 --- a/MAS/Separate-Files-Version/Extract_OEM_Folder.cmd +++ b/MAS/Separate-Files-Version/Extract_OEM_Folder.cmd @@ -1,4 +1,4 @@ -@set masver=3.10 +@set masver=3.11 @echo off diff --git a/MAS/Separate-Files-Version/Troubleshoot.cmd b/MAS/Separate-Files-Version/Troubleshoot.cmd index 7fcadf7..a24dbc4 100644 --- a/MAS/Separate-Files-Version/Troubleshoot.cmd +++ b/MAS/Separate-Files-Version/Troubleshoot.cmd @@ -1,4 +1,4 @@ -@set masver=3.10 +@set masver=3.11 @echo off From 983762fc789b93d7f1faf82384d9834aa8c9f6b7 Mon Sep 17 00:00:00 2001 From: WitherOrNot Date: Sat, 2 May 2026 02:26:31 -0400 Subject: [PATCH 56/66] Revert "export-ignore" This reverts commit 5bde60199b3df5cac909d6c9bdb096cfc1a88c83. --- .gitattributes | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/.gitattributes b/.gitattributes index de5bd3d..4d21483 100644 --- a/.gitattributes +++ b/.gitattributes @@ -1,4 +1,4 @@ -MAS export-ignore -LICENSE export-ignore -README.md export-ignore -.gitattributes export-ignore +# MAS export-ignore +# LICENSE export-ignore +# README.md export-ignore +# .gitattributes export-ignore From 7b78fffd7fd4b846863c57922b4ce4fff5c1f487 Mon Sep 17 00:00:00 2001 From: WitherOrNot Date: Sat, 2 May 2026 04:18:36 -0400 Subject: [PATCH 57/66] Update README.md --- README.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 721599e..c43fff6 100644 --- a/README.md +++ b/README.md @@ -80,5 +80,5 @@ --- -Latest Version: 3.10 -Release date: 28-Jan-2026 +Latest Version: 3.11 +Release date: 02-May-2026 From 694976cd35c9601ce280d7b8fc920f257c97b627 Mon Sep 17 00:00:00 2001 From: May <112294121+ave9858@users.noreply.github.com> Date: Thu, 7 May 2026 07:09:03 +0000 Subject: [PATCH 58/66] cleanup --- MAS/All-In-One-Version-KL/MAS_AIO.cmd | 72 +++++++++++++-------------- 1 file changed, 36 insertions(+), 36 deletions(-) diff --git a/MAS/All-In-One-Version-KL/MAS_AIO.cmd b/MAS/All-In-One-Version-KL/MAS_AIO.cmd index 26ecd72..a12f9b9 100644 --- a/MAS/All-In-One-Version-KL/MAS_AIO.cmd +++ b/MAS/All-In-One-Version-KL/MAS_AIO.cmd @@ -229,7 +229,7 @@ goto dk_done ::pstst $ExecutionContext.SessionState.LanguageMode :pstst -for /f "delims=" %%a in ('%psc% "if ($PSVersionTable.PSEdition -ne 'Core') {$f=[System.IO.File]::ReadAllText('!_batp!') -split ':pstst';. ([scriptblock]::Create($f[1]))}" %nul6%') do (set tstresult=%%a) +for /f "delims=" %%a in ('%psc% "if ($PSVersionTable.PSEdition -ne 'Core') {$f=[IO.File]::ReadAllText('!_batp!') -split ':pstst';. ([scriptblock]::Create($f[1]))}" %nul6%') do (set tstresult=%%a) if /i not "%tstresult%"=="FullLanguage" ( %eline% @@ -609,7 +609,7 @@ set "_dir=!desktop!\$OEM$\$$\Setup\Scripts" md "!_dir!\" :: Add random data on top to create unique file which helps in avoiding AV's detections -%psc% "$f=[System.IO.File]::ReadAllText('!_batp!'); [io.file]::WriteAllText('!_pdesk!\$OEM$\$$\Setup\Scripts\MAS_AIO.cmd', '@::RANDOM-' + [Guid]::NewGuid().Guid + [Environment]::NewLine + $f, [System.Text.Encoding]::ASCII)" +%psc% "$f=[IO.File]::ReadAllText('!_batp!'); [io.file]::WriteAllText('!_pdesk!\$OEM$\$$\Setup\Scripts\MAS_AIO.cmd', '@::RANDOM-' + [Guid]::NewGuid().Guid + [Environment]::NewLine + $f, [System.Text.Encoding]::ASCII)" ( echo @echo off @@ -824,7 +824,7 @@ set notworking= call :dk_actids 55c92734-d682-4d71-983e-d6ec3f16059f if defined allapps call :hwiddata key if not defined key ( -for /f "delims=" %%a in ('%psc% "$f=[System.IO.File]::ReadAllText('!_batp!') -split ':getactivationid\:.*';. ([scriptblock]::Create($f[1]))"') do (set altapplist=%%a) +for /f "delims=" %%a in ('%psc% "$f=[IO.File]::ReadAllText('!_batp!') -split ':getactivationid\:.*';. ([scriptblock]::Create($f[1]))"') do (set altapplist=%%a) if defined altapplist call :hwiddata key ) @@ -1246,7 +1246,7 @@ for /f "tokens=3 delims=." %%a in ('reg query "HKLM\SYSTEM\CurrentControlSet\Con if %_wmic% EQU 1 for /f "tokens=2 delims==" %%a in ('"wmic Path Win32_OperatingSystem Get OperatingSystemSKU /format:LIST" %nul6%') do if not errorlevel 1 set "wmiSKU=%%a" if %_wmic% EQU 0 for /f "tokens=1" %%a in ('%psc% "([WMI]'Win32_OperatingSystem=@').OperatingSystemSKU" %nul6%') do if not errorlevel 1 set "wmiSKU=%%a" -if %winbuild% GEQ 15063 %psc% "$f=[System.IO.File]::ReadAllText('!_batp!') -split ':winsubstatus\:.*';. ([scriptblock]::Create($f[1]))" %nul2% | find /i "Subscription_is_activated" %nul% && ( +if %winbuild% GEQ 15063 %psc% "$f=[IO.File]::ReadAllText('!_batp!') -split ':winsubstatus\:.*';. ([scriptblock]::Create($f[1]))" %nul2% | find /i "Subscription_is_activated" %nul% && ( if defined regSKU if defined slcSKU if not "%regSKU%"=="%slcSKU%" ( set winsub=1 set osSKU=%regSKU% @@ -1893,7 +1893,7 @@ set showfix=1 set chkalp= set wpainfo=NotFound -for /f "delims=" %%a in ('%psc% "$f=[System.IO.File]::ReadAllText('!_batp!') -split ':wpatest\:.*';. ([scriptblock]::Create($f[1]))" %nul6%') do (set wpainfo=%%a) +for /f "delims=" %%a in ('%psc% "$f=[IO.File]::ReadAllText('!_batp!') -split ':wpatest\:.*';. ([scriptblock]::Create($f[1]))" %nul6%') do (set wpainfo=%%a) for /f "delims=0123456789" %%i in ("%wpainfo%") do set chkalp=%%i if defined chkalp ( @@ -1967,7 +1967,7 @@ set showfix=1 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% +%psc% "if (-not $env:_vis) {Start-Job { Stop-Service %_slser% -force } | Wait-Job -Timeout 20 | Out-Null}; $sls = Get-WmiObject SoftwareLicensingService; $f=[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 ) @@ -2332,7 +2332,7 @@ REM Generate ticket if %1==ticket if "%key%"=="%%B" ( set "SessionIdStr=OSMajorVersion=5;OSMinorVersion=1;OSPlatformId=2;PP=0;Pfn=Microsoft.Windows.%%C.%%D_8wekyb3d8bbwe;PKeyIID=465145217131314304264339481117862266242033457260311819664735280;" -%psc% "$f=[System.IO.File]::ReadAllText('!_batp!') -split ':sign\:.*';. ([scriptblock]::Create($f[1]))" +%psc% "$f=[IO.File]::ReadAllText('!_batp!') -split ':sign\:.*';. ([scriptblock]::Create($f[1]))" ) ) @@ -2407,7 +2407,7 @@ $SignatureStr = SignProperties $PropertiesStr $rsa $xml = @" 1.0$PropertiesStr$SignatureStr "@ -[System.IO.File]::WriteAllText("$env:ProgramData\Microsoft\Windows\ClipSVC\GenuineTicket\GenuineTicket", ($xml -join ""), [System.Text.Encoding]::ASCII) +[IO.File]::WriteAllText("$env:ProgramData\Microsoft\Windows\ClipSVC\GenuineTicket\GenuineTicket", ($xml -join ""), [System.Text.Encoding]::ASCII) :sign: ::======================================================================================================================================== @@ -3189,7 +3189,7 @@ for %%# in ("!_oLPath!\%_License%*.xrm-ms") do ( if defined _arr (set "_arr=!_arr!;"!_oLPath!\%%~nx#"") else (set "_arr="!_oLPath!\%%~nx#"") ) -%psc% "$sls = Get-WmiObject %sps%; $f=[System.IO.File]::ReadAllText('!_batp!') -split ':xrm\:.*';. ([scriptblock]::Create($f[1])); InstallLicenseArr '!_arr!'; InstallLicenseFile '"!_oLPath!\pkeyconfig-office.xrm-ms"'" %nul% +%psc% "$sls = Get-WmiObject %sps%; $f=[IO.File]::ReadAllText('!_batp!') -split ':xrm\:.*';. ([scriptblock]::Create($f[1])); InstallLicenseArr '!_arr!'; InstallLicenseFile '"!_oLPath!\pkeyconfig-office.xrm-ms"'" %nul% call :dk_actids 0ff1ce15-a989-479d-af46-f275c6370663 echo "!allapps!" | find /i "!_actid!" %nul1% || ( @@ -3720,8 +3720,8 @@ exit /b :oh_licrefresh if exist "%SysPath%\spp\store_test\2.0\tokens.dat" ( -%psc% "Stop-Service sppsvc -force; $sls = Get-WmiObject SoftwareLicensingService; $f=[System.IO.File]::ReadAllText('!_batp!') -split ':xrm\:.*';. ([scriptblock]::Create($f[1])); ReinstallLicenses" %nul% -if !errorlevel! NEQ 0 %psc% "$sls = Get-WmiObject SoftwareLicensingService; $f=[System.IO.File]::ReadAllText('!_batp!') -split ':xrm\:.*';. ([scriptblock]::Create($f[1])); ReinstallLicenses" %nul% +%psc% "Stop-Service sppsvc -force; $sls = Get-WmiObject SoftwareLicensingService; $f=[IO.File]::ReadAllText('!_batp!') -split ':xrm\:.*';. ([scriptblock]::Create($f[1])); ReinstallLicenses" %nul% +if !errorlevel! NEQ 0 %psc% "$sls = Get-WmiObject SoftwareLicensingService; $f=[IO.File]::ReadAllText('!_batp!') -split ':xrm\:.*';. ([scriptblock]::Create($f[1])); ReinstallLicenses" %nul% ) exit /b @@ -4057,7 +4057,7 @@ exit /b :oh_extractdll set b= -%psc% "$f=[System.IO.File]::ReadAllText('!_batp!') -split ':%_hook%\:.*';$encoded = ($f[1]) -replace '-', 'A' -replace '_', 'a';$bytes = [Con%b%vert]::FromBas%b%e64String($encoded); $PePath='%1'; $offset='%2'; $m=[System.IO.File]::ReadAllText('!_batp!') -split ':hexedit\:.*';. ([scriptblock]::Create($m[1]))" %nul2% | find /i "Error found" %nul1% && set hasherror=1 +%psc% "$f=[IO.File]::ReadAllText('!_batp!') -split ':%_hook%\:.*';$encoded = ($f[1]) -replace '-', 'A' -replace '_', 'a';$bytes = [Con%b%vert]::FromBas%b%e64String($encoded); $PePath='%1'; $offset='%2'; $m=[IO.File]::ReadAllText('!_batp!') -split ':hexedit\:.*';. ([scriptblock]::Create($m[1]))" %nul2% | find /i "Error found" %nul1% && set hasherror=1 exit /b :hexedit: @@ -4097,7 +4097,7 @@ $Writer.Flush() # Write the current state of the MemoryStream to a temporary file $tempFilePath = "$env:windir\Temp\$([System.IO.Path]::GetRandomFileName())" -[System.IO.File]::WriteAllBytes($tempFilePath, $MemoryStream.ToArray()) +[IO.File]::WriteAllBytes($tempFilePath, $MemoryStream.ToArray()) # Update hash using the temporary file [int]$HeaderSum = 0 @@ -4120,7 +4120,7 @@ Remove-Item -Path $tempFilePath -Force $modifiedBytes = $MemoryStream.ToArray() # Write the modified bytes to the final file -[System.IO.File]::WriteAllBytes($PePath, $modifiedBytes) +[IO.File]::WriteAllBytes($PePath, $modifiedBytes) [void]$Imagehlp::MapFileAndCheckSum($PePath, [ref]$HeaderSum, [ref]$CheckSum) if ($HeaderSum -ne $CheckSum) { @@ -4692,7 +4692,7 @@ if defined _vis goto :ts_winvista set tempid= if /i %tsmethod%==KMS4k (set keytype=ks) else (set keytype=zero) -for /f "delims=" %%a in ('%psc% "$f=[System.IO.File]::ReadAllText('!_batp!') -split ':wintsid\:.*';. ([scriptblock]::Create($f[1]))" %nul6%') do ( +for /f "delims=" %%a in ('%psc% "$f=[IO.File]::ReadAllText('!_batp!') -split ':wintsid\:.*';. ([scriptblock]::Create($f[1]))" %nul6%') do ( echo "%%a" | findstr /r ".*-.*-.*-.*-.*" %nul1% && (set tsids=!tsids! %%a& set tempid=%%a) ) @@ -4982,7 +4982,7 @@ goto :ts_esu ) set resetstuff=1 -%psc% "$f=[System.IO.File]::ReadAllText('!_batp!') -split ':tsforge\:.*';. ([scriptblock]::Create($f[1]))" +%psc% "$f=[IO.File]::ReadAllText('!_batp!') -split ':tsforge\:.*';. ([scriptblock]::Create($f[1]))" set resetstuff= if !errorlevel!==3 ( set error=1 @@ -5474,10 +5474,10 @@ if %winbuild% GEQ 10586 ( for %%# in ("%SysPath%\spp\tokens\skus\%tsedition%\*CSVLK*.xrm-ms") do ( if defined _arr (set "_arr=!_arr!;"%SysPath%\spp\tokens\skus\%tsedition%\%%~nx#"") else (set "_arr="%SysPath%\spp\tokens\skus\%tsedition%\%%~nx#"") ) -if defined _arr %psc% "$sls = Get-WmiObject %sps%; $f=[System.IO.File]::ReadAllText('!_batp!') -split ':xrm\:.*';. ([scriptblock]::Create($f[1])); InstallLicenseArr '!_arr!'" %nul% +if defined _arr %psc% "$sls = Get-WmiObject %sps%; $f=[IO.File]::ReadAllText('!_batp!') -split ':xrm\:.*';. ([scriptblock]::Create($f[1])); InstallLicenseArr '!_arr!'" %nul% ) -for /f "delims=" %%a in ('%psc% "$f=[System.IO.File]::ReadAllText('!_batp!') -split ':wintsid\:.*';. ([scriptblock]::Create($f[1]))" %nul6%') do ( +for /f "delims=" %%a in ('%psc% "$f=[IO.File]::ReadAllText('!_batp!') -split ':wintsid\:.*';. ([scriptblock]::Create($f[1]))" %nul6%') do ( echo "%%a" | findstr /r ".*-.*-.*-.*-.*" %nul1% && (set tsids=!tsids! %%a& set tempid=%%a) ) @@ -5671,7 +5671,7 @@ echo Processing Reset of Rearm / Timers / Tamper / Lock... echo: set resetstuff=1 -%psc% "$f=[System.IO.File]::ReadAllText('!_batp!') -split ':tsforge\:.*';. ([scriptblock]::Create($f[1]))" +%psc% "$f=[IO.File]::ReadAllText('!_batp!') -split ':tsforge\:.*';. ([scriptblock]::Create($f[1]))" if %errorlevel%==3 ( call :dk_color %Red% "Reset Failed." @@ -5719,7 +5719,7 @@ if %errorlevel%==1 exit /b echo: echo Fetching Supported Activation IDs list. Please wait... -%psc% "$f=[System.IO.File]::ReadAllText('!_batp!') -split ':listactids\:.*';. ([scriptblock]::Create($f[1]))" +%psc% "$f=[IO.File]::ReadAllText('!_batp!') -split ':listactids\:.*';. ([scriptblock]::Create($f[1]))" if %errorlevel%==3 ( call :dk_color %Gray% "No supported activation ID found, aborting..." goto :dk_done @@ -5869,7 +5869,7 @@ echo Writing TrustedStore data... if /i %tsmethod%==StaticCID (echo Depositing Static Confirmation ID...) else (echo Depositing Zero Confirmation ID...) ) echo: -%psc% "$f=[System.IO.File]::ReadAllText('!_batp!') -split ':tsforge\:.*';. ([scriptblock]::Create($f[1])) %tsids%" +%psc% "$f=[IO.File]::ReadAllText('!_batp!') -split ':tsforge\:.*';. ([scriptblock]::Create($f[1])) %tsids%" if !errorlevel!==3 ( if %_actman%==0 (if not defined showfix call :dk_color %Blue% "%_fixmsg%") set fixes=%fixes% %mas%troubleshoot @@ -6072,7 +6072,7 @@ echo !_License! | find /i "Retail" %nul% && (set keytype=zero) || (set keytype=k set keytype=zero ) -for /f "delims=" %%a in ('%psc% "$f=[System.IO.File]::ReadAllText('!_batp!') -split ':offtsid\:.*';. ([scriptblock]::Create($f[1]))" %nul6%') do ( +for /f "delims=" %%a in ('%psc% "$f=[IO.File]::ReadAllText('!_batp!') -split ':offtsid\:.*';. ([scriptblock]::Create($f[1]))" %nul6%') do ( echo "%%a" | findstr /r ".*-.*-.*-.*-.*" %nul1% && (set tsids=!tsids! %%a& set _actid=%%a) ) set "_allactid=!tsids!" @@ -13594,7 +13594,7 @@ if not defined _int (s%nil%cht%nil%asks /cre%nil%ate /tn "Activation-Run_Once" / if exist "%_temp%\.*" rmdir /s /q "%_temp%\" %nul% call :ks_createInfo.txt -%psc% "$f=[System.IO.File]::ReadAllText('!_batp!') -split \":_extracttask\:.*`r`n\"; [io.file]::WriteAllText('%_dest%\Activation_task.cmd', '@::%randguid%' + [Environment]::NewLine + $f[1].Trim(), [System.Text.Encoding]::ASCII)" +%psc% "$f=[IO.File]::ReadAllText('!_batp!') -split \":_extracttask\:.*`r`n\"; [io.file]::WriteAllText('%_dest%\Activation_task.cmd', '@::%randguid%' + [Environment]::NewLine + $f[1].Trim(), [System.Text.Encoding]::ASCII)" ::======================================================================================================================================== @@ -13624,7 +13624,7 @@ exit /b :ks_RenExport -%psc% "$f=[System.IO.File]::ReadAllText('!_batp!') -split \":%~1\:.*`r`n\"; [io.file]::WriteAllText('%~2',$f[1].Trim(),[System.Text.Encoding]::%~3);" +%psc% "$f=[IO.File]::ReadAllText('!_batp!') -split \":%~1\:.*`r`n\"; [io.file]::WriteAllText('%~2',$f[1].Trim(),[System.Text.Encoding]::%~3);" exit /b ::======================================================================================================================================== @@ -14472,7 +14472,7 @@ mode 100, 36 %psc% "&{$W=$Host.UI.RawUI.WindowSize;$B=$Host.UI.RawUI.BufferSize;$W.Height=35;$B.Height=300;$Host.UI.RawUI.WindowSize=$W;$Host.UI.RawUI.BufferSize=$B;}" %nul% ) -%psc% "$f=[System.IO.File]::ReadAllText('!_batp!') -split ':sppmgr\:.*';. ([scriptblock]::Create($f[1]))" +%psc% "$f=[IO.File]::ReadAllText('!_batp!') -split ':sppmgr\:.*';. ([scriptblock]::Create($f[1]))" goto dk_done :sppmgr: @@ -16387,7 +16387,7 @@ call :_taskclear-cache %nul% reg query "HKLM\%SPPk%\%_wApp%" && ( echo Removing KMS38 protection... -%psc% "$f=[System.IO.File]::ReadAllText('!_batp!') -split ':regdel\:.*';. ([scriptblock]::Create($f[1]))" +%psc% "$f=[IO.File]::ReadAllText('!_batp!') -split ':regdel\:.*';. ([scriptblock]::Create($f[1]))" %nul% reg delete "HKLM\%SPPk%\%_wApp%" /f %nul% reg query "HKLM\%SPPk%\%_wApp%" && ( call :dk_color %Red% "Failed to remove KMS38 protection." @@ -16425,7 +16425,7 @@ echo Checking SPP permission related issues... call :checkperms if defined permerror ( call :dk_color %Red% "[!permerror!]" -%psc% "$f=[System.IO.File]::ReadAllText('!_batp!') -split ':fixsppperms\:.*';. ([scriptblock]::Create($f[1]))" %nul% +%psc% "$f=[IO.File]::ReadAllText('!_batp!') -split ':fixsppperms\:.*';. ([scriptblock]::Create($f[1]))" %nul% call :checkperms if defined permerror ( call :dk_color %Red% "[!permerror!] [Failed To Fix]" @@ -16495,8 +16495,8 @@ if defined _vis ( echo: echo Reinstalling system licenses... -%psc% "$sls = Get-WmiObject SoftwareLicensingService; $f=[System.IO.File]::ReadAllText('!_batp!') -split ':xrm\:.*';. ([scriptblock]::Create($f[1])); ReinstallLicenses" %nul% -if %errorlevel% NEQ 0 %psc% "$sls = Get-WmiObject SoftwareLicensingService; $f=[System.IO.File]::ReadAllText('!_batp!') -split ':xrm\:.*';. ([scriptblock]::Create($f[1])); ReinstallLicenses" %nul% +%psc% "$sls = Get-WmiObject SoftwareLicensingService; $f=[IO.File]::ReadAllText('!_batp!') -split ':xrm\:.*';. ([scriptblock]::Create($f[1])); ReinstallLicenses" %nul% +if %errorlevel% NEQ 0 %psc% "$sls = Get-WmiObject SoftwareLicensingService; $f=[IO.File]::ReadAllText('!_batp!') -split ':xrm\:.*';. ([scriptblock]::Create($f[1])); ReinstallLicenses" %nul% if %errorlevel% EQU 0 ( echo [Successful] ) else ( @@ -17119,7 +17119,7 @@ exit /b :regownstart -%psc% "$f=[System.IO.File]::ReadAllText('!_batp!') -split ':regown\:.*';. ([scriptblock]::Create($f[1]));" +%psc% "$f=[IO.File]::ReadAllText('!_batp!') -split ':regown\:.*';. ([scriptblock]::Create($f[1]));" exit /b :: Below code takes ownership of a volatile registry key and deletes it @@ -17288,7 +17288,7 @@ set _ntarget= set _wtarget= if %winbuild% GEQ 10240 for /f "tokens=4" %%a in ('dism /online /english /Get-TargetEditions ^| findstr /i /c:"Target Edition : "') do (if defined _dtarget (set "_dtarget= !_dtarget! %%a ") else (set "_dtarget= %%a ")) -if %winbuild% LSS 10240 for /f "tokens=4" %%a in ('%psc% "$f=[System.IO.File]::ReadAllText('!_batp!') -split ':cbsxml\:.*';. ([scriptblock]::Create($f[1])) -GetTargetEditions;" ^| findstr /i /c:"Target Edition : "') do (if defined _ptarget (set "_ptarget= !_ptarget! %%a ") else (set "_ptarget= %%a ")) +if %winbuild% LSS 10240 for /f "tokens=4" %%a in ('%psc% "$f=[IO.File]::ReadAllText('!_batp!') -split ':cbsxml\:.*';. ([scriptblock]::Create($f[1])) -GetTargetEditions;" ^| findstr /i /c:"Target Edition : "') do (if defined _ptarget (set "_ptarget= !_ptarget! %%a ") else (set "_ptarget= %%a ")) if %winbuild% GEQ 10240 if not exist "%SystemRoot%\Servicing\Packages\Microsoft-Windows-Server*Edition~*.mum" ( if %winbuild% GEQ 17063 call :ced_edilist @@ -17496,7 +17496,7 @@ echo: call :ced_prep if defined preperror goto dk_done -%psc% "$f=[System.IO.File]::ReadAllText('!_batp!') -split ':dismapi\:.*';. ([scriptblock]::Create($f[1])) %targetedition% %key%" +%psc% "$f=[IO.File]::ReadAllText('!_batp!') -split ':dismapi\:.*';. ([scriptblock]::Create($f[1])) %targetedition% %key%" call :ced_postprep ) %line% @@ -17534,7 +17534,7 @@ call :ced_prep if defined preperror goto dk_done if %_stg%==0 (set stage=) else (set stage=-StageCurrent) -%psc% "$f=[System.IO.File]::ReadAllText('!_batp!') -split ':cbsxml\:.*';. ([scriptblock]::Create($f[1])) -SetEdition %targetedition% %stage%" +%psc% "$f=[IO.File]::ReadAllText('!_batp!') -split ':cbsxml\:.*';. ([scriptblock]::Create($f[1])) -SetEdition %targetedition% %stage%" call :ced_postprep %line% @@ -18272,7 +18272,7 @@ cls set editedition= call :ch_getinfo call :oe_tempcleanup -%psc% "$f=[System.IO.File]::ReadAllText('!_batp!') -split ':getlist\:.*';. ([scriptblock]::Create($f[1]))" +%psc% "$f=[IO.File]::ReadAllText('!_batp!') -split ':getlist\:.*';. ([scriptblock]::Create($f[1]))" :oe_editionchange @@ -18345,7 +18345,7 @@ cls set suites= echo %list% | find /i "Suites" %nul1% && ( set suites=1 -%psc% "$f=[System.IO.File]::ReadAllText('!_batp!') -split ':getappnames\:.*';. ([scriptblock]::Create($f[1]))" +%psc% "$f=[IO.File]::ReadAllText('!_batp!') -split ':getappnames\:.*';. ([scriptblock]::Create($f[1]))" if not exist %SystemRoot%\Temp\getAppIds.txt ( %eline% echo Failed to generate available apps list. @@ -18830,7 +18830,7 @@ if not defined terminal mode 105, 32 :: Get build number for the target FFN, using build number with OfficeC2RClient.exe command to trigger updates provides accurate results set build= -for /f "delims=" %%a in ('%psc% "$f=[System.IO.File]::ReadAllText('!_batp!') -split ':getbuild\:.*';. ([scriptblock]::Create($f[1]))" %nul6%') do (set build=%%a) +for /f "delims=" %%a in ('%psc% "$f=[IO.File]::ReadAllText('!_batp!') -split ':getbuild\:.*';. ([scriptblock]::Create($f[1]))" %nul6%') do (set build=%%a) echo "%build%" | find /i "16." %nul% || set build= echo: From 166814e52d10204aaa5c3c7db03a3dae9d866509 Mon Sep 17 00:00:00 2001 From: WitherOrNot Date: Thu, 7 May 2026 14:01:10 +0000 Subject: [PATCH 59/66] Update separate file versions --- .../Activators/HWID_Activation.cmd | 14 ++++----- .../Activators/Ohook_Activation_AIO.cmd | 18 +++++------ .../Activators/Online_KMS_Activation.cmd | 18 +++++------ .../Activators/TSforge_Activation.cmd | 30 +++++++++---------- .../Change_Office_Edition.cmd | 8 ++--- .../Change_Windows_Edition.cmd | 8 ++--- .../Check_Activation_Status.cmd | 2 +- .../Extract_OEM_Folder.cmd | 4 +-- MAS/Separate-Files-Version/Troubleshoot.cmd | 12 ++++---- 9 files changed, 57 insertions(+), 57 deletions(-) diff --git a/MAS/Separate-Files-Version/Activators/HWID_Activation.cmd b/MAS/Separate-Files-Version/Activators/HWID_Activation.cmd index f099093..bca2f0f 100644 --- a/MAS/Separate-Files-Version/Activators/HWID_Activation.cmd +++ b/MAS/Separate-Files-Version/Activators/HWID_Activation.cmd @@ -246,7 +246,7 @@ goto dk_done ::pstst $ExecutionContext.SessionState.LanguageMode :pstst -for /f "delims=" %%a in ('%psc% "if ($PSVersionTable.PSEdition -ne 'Core') {$f=[System.IO.File]::ReadAllText('!_batp!') -split ':pstst';. ([scriptblock]::Create($f[1]))}" %nul6%') do (set tstresult=%%a) +for /f "delims=" %%a in ('%psc% "if ($PSVersionTable.PSEdition -ne 'Core') {$f=[IO.File]::ReadAllText('!_batp!') -split ':pstst';. ([scriptblock]::Create($f[1]))}" %nul6%') do (set tstresult=%%a) if /i not "%tstresult%"=="FullLanguage" ( %eline% @@ -529,7 +529,7 @@ set notworking= call :dk_actids 55c92734-d682-4d71-983e-d6ec3f16059f if defined allapps call :hwiddata key if not defined key ( -for /f "delims=" %%a in ('%psc% "$f=[System.IO.File]::ReadAllText('!_batp!') -split ':getactivationid\:.*';. ([scriptblock]::Create($f[1]))"') do (set altapplist=%%a) +for /f "delims=" %%a in ('%psc% "$f=[IO.File]::ReadAllText('!_batp!') -split ':getactivationid\:.*';. ([scriptblock]::Create($f[1]))"') do (set altapplist=%%a) if defined altapplist call :hwiddata key ) @@ -951,7 +951,7 @@ for /f "tokens=3 delims=." %%a in ('reg query "HKLM\SYSTEM\CurrentControlSet\Con if %_wmic% EQU 1 for /f "tokens=2 delims==" %%a in ('"wmic Path Win32_OperatingSystem Get OperatingSystemSKU /format:LIST" %nul6%') do if not errorlevel 1 set "wmiSKU=%%a" if %_wmic% EQU 0 for /f "tokens=1" %%a in ('%psc% "([WMI]'Win32_OperatingSystem=@').OperatingSystemSKU" %nul6%') do if not errorlevel 1 set "wmiSKU=%%a" -if %winbuild% GEQ 15063 %psc% "$f=[System.IO.File]::ReadAllText('!_batp!') -split ':winsubstatus\:.*';. ([scriptblock]::Create($f[1]))" %nul2% | find /i "Subscription_is_activated" %nul% && ( +if %winbuild% GEQ 15063 %psc% "$f=[IO.File]::ReadAllText('!_batp!') -split ':winsubstatus\:.*';. ([scriptblock]::Create($f[1]))" %nul2% | find /i "Subscription_is_activated" %nul% && ( if defined regSKU if defined slcSKU if not "%regSKU%"=="%slcSKU%" ( set winsub=1 set osSKU=%regSKU% @@ -1582,7 +1582,7 @@ set showfix=1 set chkalp= set wpainfo=NotFound -for /f "delims=" %%a in ('%psc% "$f=[System.IO.File]::ReadAllText('!_batp!') -split ':wpatest\:.*';. ([scriptblock]::Create($f[1]))" %nul6%') do (set wpainfo=%%a) +for /f "delims=" %%a in ('%psc% "$f=[IO.File]::ReadAllText('!_batp!') -split ':wpatest\:.*';. ([scriptblock]::Create($f[1]))" %nul6%') do (set wpainfo=%%a) for /f "delims=0123456789" %%i in ("%wpainfo%") do set chkalp=%%i if defined chkalp ( @@ -1656,7 +1656,7 @@ set showfix=1 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% +%psc% "if (-not $env:_vis) {Start-Job { Stop-Service %_slser% -force } | Wait-Job -Timeout 20 | Out-Null}; $sls = Get-WmiObject SoftwareLicensingService; $f=[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 ) @@ -2021,7 +2021,7 @@ REM Generate ticket if %1==ticket if "%key%"=="%%B" ( set "SessionIdStr=OSMajorVersion=5;OSMinorVersion=1;OSPlatformId=2;PP=0;Pfn=Microsoft.Windows.%%C.%%D_8wekyb3d8bbwe;PKeyIID=465145217131314304264339481117862266242033457260311819664735280;" -%psc% "$f=[System.IO.File]::ReadAllText('!_batp!') -split ':sign\:.*';. ([scriptblock]::Create($f[1]))" +%psc% "$f=[IO.File]::ReadAllText('!_batp!') -split ':sign\:.*';. ([scriptblock]::Create($f[1]))" ) ) @@ -2096,7 +2096,7 @@ $SignatureStr = SignProperties $PropertiesStr $rsa $xml = @" 1.0$PropertiesStr$SignatureStr "@ -[System.IO.File]::WriteAllText("$env:ProgramData\Microsoft\Windows\ClipSVC\GenuineTicket\GenuineTicket", ($xml -join ""), [System.Text.Encoding]::ASCII) +[IO.File]::WriteAllText("$env:ProgramData\Microsoft\Windows\ClipSVC\GenuineTicket\GenuineTicket", ($xml -join ""), [System.Text.Encoding]::ASCII) :sign: ::======================================================================================================================================== diff --git a/MAS/Separate-Files-Version/Activators/Ohook_Activation_AIO.cmd b/MAS/Separate-Files-Version/Activators/Ohook_Activation_AIO.cmd index e1b1aeb..9d24547 100644 --- a/MAS/Separate-Files-Version/Activators/Ohook_Activation_AIO.cmd +++ b/MAS/Separate-Files-Version/Activators/Ohook_Activation_AIO.cmd @@ -255,7 +255,7 @@ goto dk_done ::pstst $ExecutionContext.SessionState.LanguageMode :pstst -for /f "delims=" %%a in ('%psc% "if ($PSVersionTable.PSEdition -ne 'Core') {$f=[System.IO.File]::ReadAllText('!_batp!') -split ':pstst';. ([scriptblock]::Create($f[1]))}" %nul6%') do (set tstresult=%%a) +for /f "delims=" %%a in ('%psc% "if ($PSVersionTable.PSEdition -ne 'Core') {$f=[IO.File]::ReadAllText('!_batp!') -split ':pstst';. ([scriptblock]::Create($f[1]))}" %nul6%') do (set tstresult=%%a) if /i not "%tstresult%"=="FullLanguage" ( %eline% @@ -1110,7 +1110,7 @@ for %%# in ("!_oLPath!\%_License%*.xrm-ms") do ( if defined _arr (set "_arr=!_arr!;"!_oLPath!\%%~nx#"") else (set "_arr="!_oLPath!\%%~nx#"") ) -%psc% "$sls = Get-WmiObject %sps%; $f=[System.IO.File]::ReadAllText('!_batp!') -split ':xrm\:.*';. ([scriptblock]::Create($f[1])); InstallLicenseArr '!_arr!'; InstallLicenseFile '"!_oLPath!\pkeyconfig-office.xrm-ms"'" %nul% +%psc% "$sls = Get-WmiObject %sps%; $f=[IO.File]::ReadAllText('!_batp!') -split ':xrm\:.*';. ([scriptblock]::Create($f[1])); InstallLicenseArr '!_arr!'; InstallLicenseFile '"!_oLPath!\pkeyconfig-office.xrm-ms"'" %nul% call :dk_actids 0ff1ce15-a989-479d-af46-f275c6370663 echo "!allapps!" | find /i "!_actid!" %nul1% || ( @@ -1641,8 +1641,8 @@ exit /b :oh_licrefresh if exist "%SysPath%\spp\store_test\2.0\tokens.dat" ( -%psc% "Stop-Service sppsvc -force; $sls = Get-WmiObject SoftwareLicensingService; $f=[System.IO.File]::ReadAllText('!_batp!') -split ':xrm\:.*';. ([scriptblock]::Create($f[1])); ReinstallLicenses" %nul% -if !errorlevel! NEQ 0 %psc% "$sls = Get-WmiObject SoftwareLicensingService; $f=[System.IO.File]::ReadAllText('!_batp!') -split ':xrm\:.*';. ([scriptblock]::Create($f[1])); ReinstallLicenses" %nul% +%psc% "Stop-Service sppsvc -force; $sls = Get-WmiObject SoftwareLicensingService; $f=[IO.File]::ReadAllText('!_batp!') -split ':xrm\:.*';. ([scriptblock]::Create($f[1])); ReinstallLicenses" %nul% +if !errorlevel! NEQ 0 %psc% "$sls = Get-WmiObject SoftwareLicensingService; $f=[IO.File]::ReadAllText('!_batp!') -split ':xrm\:.*';. ([scriptblock]::Create($f[1])); ReinstallLicenses" %nul% ) exit /b @@ -2293,7 +2293,7 @@ set showfix=1 set chkalp= set wpainfo=NotFound -for /f "delims=" %%a in ('%psc% "$f=[System.IO.File]::ReadAllText('!_batp!') -split ':wpatest\:.*';. ([scriptblock]::Create($f[1]))" %nul6%') do (set wpainfo=%%a) +for /f "delims=" %%a in ('%psc% "$f=[IO.File]::ReadAllText('!_batp!') -split ':wpatest\:.*';. ([scriptblock]::Create($f[1]))" %nul6%') do (set wpainfo=%%a) for /f "delims=0123456789" %%i in ("%wpainfo%") do set chkalp=%%i if defined chkalp ( @@ -2367,7 +2367,7 @@ set showfix=1 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% +%psc% "if (-not $env:_vis) {Start-Job { Stop-Service %_slser% -force } | Wait-Job -Timeout 20 | Out-Null}; $sls = Get-WmiObject SoftwareLicensingService; $f=[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 ) @@ -3147,7 +3147,7 @@ exit /b :oh_extractdll set b= -%psc% "$f=[System.IO.File]::ReadAllText('!_batp!') -split ':%_hook%\:.*';$encoded = ($f[1]) -replace '-', 'A' -replace '_', 'a';$bytes = [Con%b%vert]::FromBas%b%e64String($encoded); $PePath='%1'; $offset='%2'; $m=[System.IO.File]::ReadAllText('!_batp!') -split ':hexedit\:.*';. ([scriptblock]::Create($m[1]))" %nul2% | find /i "Error found" %nul1% && set hasherror=1 +%psc% "$f=[IO.File]::ReadAllText('!_batp!') -split ':%_hook%\:.*';$encoded = ($f[1]) -replace '-', 'A' -replace '_', 'a';$bytes = [Con%b%vert]::FromBas%b%e64String($encoded); $PePath='%1'; $offset='%2'; $m=[IO.File]::ReadAllText('!_batp!') -split ':hexedit\:.*';. ([scriptblock]::Create($m[1]))" %nul2% | find /i "Error found" %nul1% && set hasherror=1 exit /b :hexedit: @@ -3187,7 +3187,7 @@ $Writer.Flush() # Write the current state of the MemoryStream to a temporary file $tempFilePath = "$env:windir\Temp\$([System.IO.Path]::GetRandomFileName())" -[System.IO.File]::WriteAllBytes($tempFilePath, $MemoryStream.ToArray()) +[IO.File]::WriteAllBytes($tempFilePath, $MemoryStream.ToArray()) # Update hash using the temporary file [int]$HeaderSum = 0 @@ -3210,7 +3210,7 @@ Remove-Item -Path $tempFilePath -Force $modifiedBytes = $MemoryStream.ToArray() # Write the modified bytes to the final file -[System.IO.File]::WriteAllBytes($PePath, $modifiedBytes) +[IO.File]::WriteAllBytes($PePath, $modifiedBytes) [void]$Imagehlp::MapFileAndCheckSum($PePath, [ref]$HeaderSum, [ref]$CheckSum) if ($HeaderSum -ne $CheckSum) { diff --git a/MAS/Separate-Files-Version/Activators/Online_KMS_Activation.cmd b/MAS/Separate-Files-Version/Activators/Online_KMS_Activation.cmd index d9a91c2..754019b 100644 --- a/MAS/Separate-Files-Version/Activators/Online_KMS_Activation.cmd +++ b/MAS/Separate-Files-Version/Activators/Online_KMS_Activation.cmd @@ -286,7 +286,7 @@ goto dk_done ::pstst $ExecutionContext.SessionState.LanguageMode :pstst -for /f "delims=" %%a in ('%psc% "if ($PSVersionTable.PSEdition -ne 'Core') {$f=[System.IO.File]::ReadAllText('!_batp!') -split ':pstst';. ([scriptblock]::Create($f[1]))}" %nul6%') do (set tstresult=%%a) +for /f "delims=" %%a in ('%psc% "if ($PSVersionTable.PSEdition -ne 'Core') {$f=[IO.File]::ReadAllText('!_batp!') -split ':pstst';. ([scriptblock]::Create($f[1]))}" %nul6%') do (set tstresult=%%a) if /i not "%tstresult%"=="FullLanguage" ( %eline% @@ -1379,7 +1379,7 @@ for %%# in ("!_oLPath!\%_License%*.xrm-ms") do ( if defined _arr (set "_arr=!_arr!;"!_oLPath!\%%~nx#"") else (set "_arr="!_oLPath!\%%~nx#"") ) -%psc% "$sls = Get-WmiObject %sps%; $f=[System.IO.File]::ReadAllText('!_batp!') -split ':xrm\:.*';. ([scriptblock]::Create($f[1])); InstallLicenseArr '!_arr!'; InstallLicenseFile '"!_oLPath!\pkeyconfig-office.xrm-ms"'" %nul% +%psc% "$sls = Get-WmiObject %sps%; $f=[IO.File]::ReadAllText('!_batp!') -split ':xrm\:.*';. ([scriptblock]::Create($f[1])); InstallLicenseArr '!_arr!'; InstallLicenseFile '"!_oLPath!\pkeyconfig-office.xrm-ms"'" %nul% call :dk_actids 0ff1ce15-a989-479d-af46-f275c6370663 echo "!allapps!" | find /i "!_actid!" %nul1% || ( @@ -1603,8 +1603,8 @@ exit /b :oh_licrefresh if exist "%SysPath%\spp\store_test\2.0\tokens.dat" ( -%psc% "Stop-Service sppsvc -force; $sls = Get-WmiObject SoftwareLicensingService; $f=[System.IO.File]::ReadAllText('!_batp!') -split ':xrm\:.*';. ([scriptblock]::Create($f[1])); ReinstallLicenses" %nul% -if !errorlevel! NEQ 0 %psc% "$sls = Get-WmiObject SoftwareLicensingService; $f=[System.IO.File]::ReadAllText('!_batp!') -split ':xrm\:.*';. ([scriptblock]::Create($f[1])); ReinstallLicenses" %nul% +%psc% "Stop-Service sppsvc -force; $sls = Get-WmiObject SoftwareLicensingService; $f=[IO.File]::ReadAllText('!_batp!') -split ':xrm\:.*';. ([scriptblock]::Create($f[1])); ReinstallLicenses" %nul% +if !errorlevel! NEQ 0 %psc% "$sls = Get-WmiObject SoftwareLicensingService; $f=[IO.File]::ReadAllText('!_batp!') -split ':xrm\:.*';. ([scriptblock]::Create($f[1])); ReinstallLicenses" %nul% ) exit /b @@ -2271,7 +2271,7 @@ if not defined _int (s%nil%cht%nil%asks /cre%nil%ate /tn "Activation-Run_Once" / if exist "%_temp%\.*" rmdir /s /q "%_temp%\" %nul% call :ks_createInfo.txt -%psc% "$f=[System.IO.File]::ReadAllText('!_batp!') -split \":_extracttask\:.*`r`n\"; [io.file]::WriteAllText('%_dest%\Activation_task.cmd', '@::%randguid%' + [Environment]::NewLine + $f[1].Trim(), [System.Text.Encoding]::ASCII)" +%psc% "$f=[IO.File]::ReadAllText('!_batp!') -split \":_extracttask\:.*`r`n\"; [io.file]::WriteAllText('%_dest%\Activation_task.cmd', '@::%randguid%' + [Environment]::NewLine + $f[1].Trim(), [System.Text.Encoding]::ASCII)" ::======================================================================================================================================== @@ -2301,7 +2301,7 @@ exit /b :ks_RenExport -%psc% "$f=[System.IO.File]::ReadAllText('!_batp!') -split \":%~1\:.*`r`n\"; [io.file]::WriteAllText('%~2',$f[1].Trim(),[System.Text.Encoding]::%~3);" +%psc% "$f=[IO.File]::ReadAllText('!_batp!') -split \":%~1\:.*`r`n\"; [io.file]::WriteAllText('%~2',$f[1].Trim(),[System.Text.Encoding]::%~3);" exit /b ::======================================================================================================================================== @@ -2666,7 +2666,7 @@ for /f "tokens=3 delims=." %%a in ('reg query "HKLM\SYSTEM\CurrentControlSet\Con if %_wmic% EQU 1 for /f "tokens=2 delims==" %%a in ('"wmic Path Win32_OperatingSystem Get OperatingSystemSKU /format:LIST" %nul6%') do if not errorlevel 1 set "wmiSKU=%%a" if %_wmic% EQU 0 for /f "tokens=1" %%a in ('%psc% "([WMI]'Win32_OperatingSystem=@').OperatingSystemSKU" %nul6%') do if not errorlevel 1 set "wmiSKU=%%a" -if %winbuild% GEQ 15063 %psc% "$f=[System.IO.File]::ReadAllText('!_batp!') -split ':winsubstatus\:.*';. ([scriptblock]::Create($f[1]))" %nul2% | find /i "Subscription_is_activated" %nul% && ( +if %winbuild% GEQ 15063 %psc% "$f=[IO.File]::ReadAllText('!_batp!') -split ':winsubstatus\:.*';. ([scriptblock]::Create($f[1]))" %nul2% | find /i "Subscription_is_activated" %nul% && ( if defined regSKU if defined slcSKU if not "%regSKU%"=="%slcSKU%" ( set winsub=1 set osSKU=%regSKU% @@ -3337,7 +3337,7 @@ set showfix=1 set chkalp= set wpainfo=NotFound -for /f "delims=" %%a in ('%psc% "$f=[System.IO.File]::ReadAllText('!_batp!') -split ':wpatest\:.*';. ([scriptblock]::Create($f[1]))" %nul6%') do (set wpainfo=%%a) +for /f "delims=" %%a in ('%psc% "$f=[IO.File]::ReadAllText('!_batp!') -split ':wpatest\:.*';. ([scriptblock]::Create($f[1]))" %nul6%') do (set wpainfo=%%a) for /f "delims=0123456789" %%i in ("%wpainfo%") do set chkalp=%%i if defined chkalp ( @@ -3411,7 +3411,7 @@ set showfix=1 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% +%psc% "if (-not $env:_vis) {Start-Job { Stop-Service %_slser% -force } | Wait-Job -Timeout 20 | Out-Null}; $sls = Get-WmiObject SoftwareLicensingService; $f=[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 ) diff --git a/MAS/Separate-Files-Version/Activators/TSforge_Activation.cmd b/MAS/Separate-Files-Version/Activators/TSforge_Activation.cmd index 2e230bb..e2577dd 100644 --- a/MAS/Separate-Files-Version/Activators/TSforge_Activation.cmd +++ b/MAS/Separate-Files-Version/Activators/TSforge_Activation.cmd @@ -312,7 +312,7 @@ goto dk_done ::pstst $ExecutionContext.SessionState.LanguageMode :pstst -for /f "delims=" %%a in ('%psc% "if ($PSVersionTable.PSEdition -ne 'Core') {$f=[System.IO.File]::ReadAllText('!_batp!') -split ':pstst';. ([scriptblock]::Create($f[1]))}" %nul6%') do (set tstresult=%%a) +for /f "delims=" %%a in ('%psc% "if ($PSVersionTable.PSEdition -ne 'Core') {$f=[IO.File]::ReadAllText('!_batp!') -split ':pstst';. ([scriptblock]::Create($f[1]))}" %nul6%') do (set tstresult=%%a) if /i not "%tstresult%"=="FullLanguage" ( %eline% @@ -763,7 +763,7 @@ if defined _vis goto :ts_winvista set tempid= if /i %tsmethod%==KMS4k (set keytype=ks) else (set keytype=zero) -for /f "delims=" %%a in ('%psc% "$f=[System.IO.File]::ReadAllText('!_batp!') -split ':wintsid\:.*';. ([scriptblock]::Create($f[1]))" %nul6%') do ( +for /f "delims=" %%a in ('%psc% "$f=[IO.File]::ReadAllText('!_batp!') -split ':wintsid\:.*';. ([scriptblock]::Create($f[1]))" %nul6%') do ( echo "%%a" | findstr /r ".*-.*-.*-.*-.*" %nul1% && (set tsids=!tsids! %%a& set tempid=%%a) ) @@ -1053,7 +1053,7 @@ goto :ts_esu ) set resetstuff=1 -%psc% "$f=[System.IO.File]::ReadAllText('!_batp!') -split ':tsforge\:.*';. ([scriptblock]::Create($f[1]))" +%psc% "$f=[IO.File]::ReadAllText('!_batp!') -split ':tsforge\:.*';. ([scriptblock]::Create($f[1]))" set resetstuff= if !errorlevel!==3 ( set error=1 @@ -1545,10 +1545,10 @@ if %winbuild% GEQ 10586 ( for %%# in ("%SysPath%\spp\tokens\skus\%tsedition%\*CSVLK*.xrm-ms") do ( if defined _arr (set "_arr=!_arr!;"%SysPath%\spp\tokens\skus\%tsedition%\%%~nx#"") else (set "_arr="%SysPath%\spp\tokens\skus\%tsedition%\%%~nx#"") ) -if defined _arr %psc% "$sls = Get-WmiObject %sps%; $f=[System.IO.File]::ReadAllText('!_batp!') -split ':xrm\:.*';. ([scriptblock]::Create($f[1])); InstallLicenseArr '!_arr!'" %nul% +if defined _arr %psc% "$sls = Get-WmiObject %sps%; $f=[IO.File]::ReadAllText('!_batp!') -split ':xrm\:.*';. ([scriptblock]::Create($f[1])); InstallLicenseArr '!_arr!'" %nul% ) -for /f "delims=" %%a in ('%psc% "$f=[System.IO.File]::ReadAllText('!_batp!') -split ':wintsid\:.*';. ([scriptblock]::Create($f[1]))" %nul6%') do ( +for /f "delims=" %%a in ('%psc% "$f=[IO.File]::ReadAllText('!_batp!') -split ':wintsid\:.*';. ([scriptblock]::Create($f[1]))" %nul6%') do ( echo "%%a" | findstr /r ".*-.*-.*-.*-.*" %nul1% && (set tsids=!tsids! %%a& set tempid=%%a) ) @@ -1742,7 +1742,7 @@ echo Processing Reset of Rearm / Timers / Tamper / Lock... echo: set resetstuff=1 -%psc% "$f=[System.IO.File]::ReadAllText('!_batp!') -split ':tsforge\:.*';. ([scriptblock]::Create($f[1]))" +%psc% "$f=[IO.File]::ReadAllText('!_batp!') -split ':tsforge\:.*';. ([scriptblock]::Create($f[1]))" if %errorlevel%==3 ( call :dk_color %Red% "Reset Failed." @@ -1790,7 +1790,7 @@ if %errorlevel%==1 exit /b echo: echo Fetching Supported Activation IDs list. Please wait... -%psc% "$f=[System.IO.File]::ReadAllText('!_batp!') -split ':listactids\:.*';. ([scriptblock]::Create($f[1]))" +%psc% "$f=[IO.File]::ReadAllText('!_batp!') -split ':listactids\:.*';. ([scriptblock]::Create($f[1]))" if %errorlevel%==3 ( call :dk_color %Gray% "No supported activation ID found, aborting..." goto :dk_done @@ -1940,7 +1940,7 @@ echo Writing TrustedStore data... if /i %tsmethod%==StaticCID (echo Depositing Static Confirmation ID...) else (echo Depositing Zero Confirmation ID...) ) echo: -%psc% "$f=[System.IO.File]::ReadAllText('!_batp!') -split ':tsforge\:.*';. ([scriptblock]::Create($f[1])) %tsids%" +%psc% "$f=[IO.File]::ReadAllText('!_batp!') -split ':tsforge\:.*';. ([scriptblock]::Create($f[1])) %tsids%" if !errorlevel!==3 ( if %_actman%==0 (if not defined showfix call :dk_color %Blue% "%_fixmsg%") set fixes=%fixes% %mas%troubleshoot @@ -2225,7 +2225,7 @@ echo !_License! | find /i "Retail" %nul% && (set keytype=zero) || (set keytype=k set keytype=zero ) -for /f "delims=" %%a in ('%psc% "$f=[System.IO.File]::ReadAllText('!_batp!') -split ':offtsid\:.*';. ([scriptblock]::Create($f[1]))" %nul6%') do ( +for /f "delims=" %%a in ('%psc% "$f=[IO.File]::ReadAllText('!_batp!') -split ':offtsid\:.*';. ([scriptblock]::Create($f[1]))" %nul6%') do ( echo "%%a" | findstr /r ".*-.*-.*-.*-.*" %nul1% && (set tsids=!tsids! %%a& set _actid=%%a) ) set "_allactid=!tsids!" @@ -2346,7 +2346,7 @@ for %%# in ("!_oLPath!\%_License%*.xrm-ms") do ( if defined _arr (set "_arr=!_arr!;"!_oLPath!\%%~nx#"") else (set "_arr="!_oLPath!\%%~nx#"") ) -%psc% "$sls = Get-WmiObject %sps%; $f=[System.IO.File]::ReadAllText('!_batp!') -split ':xrm\:.*';. ([scriptblock]::Create($f[1])); InstallLicenseArr '!_arr!'; InstallLicenseFile '"!_oLPath!\pkeyconfig-office.xrm-ms"'" %nul% +%psc% "$sls = Get-WmiObject %sps%; $f=[IO.File]::ReadAllText('!_batp!') -split ':xrm\:.*';. ([scriptblock]::Create($f[1])); InstallLicenseArr '!_arr!'; InstallLicenseFile '"!_oLPath!\pkeyconfig-office.xrm-ms"'" %nul% call :dk_actids 0ff1ce15-a989-479d-af46-f275c6370663 echo "!allapps!" | find /i "!_actid!" %nul1% || ( @@ -2570,8 +2570,8 @@ exit /b :oh_licrefresh if exist "%SysPath%\spp\store_test\2.0\tokens.dat" ( -%psc% "Stop-Service sppsvc -force; $sls = Get-WmiObject SoftwareLicensingService; $f=[System.IO.File]::ReadAllText('!_batp!') -split ':xrm\:.*';. ([scriptblock]::Create($f[1])); ReinstallLicenses" %nul% -if !errorlevel! NEQ 0 %psc% "$sls = Get-WmiObject SoftwareLicensingService; $f=[System.IO.File]::ReadAllText('!_batp!') -split ':xrm\:.*';. ([scriptblock]::Create($f[1])); ReinstallLicenses" %nul% +%psc% "Stop-Service sppsvc -force; $sls = Get-WmiObject SoftwareLicensingService; $f=[IO.File]::ReadAllText('!_batp!') -split ':xrm\:.*';. ([scriptblock]::Create($f[1])); ReinstallLicenses" %nul% +if !errorlevel! NEQ 0 %psc% "$sls = Get-WmiObject SoftwareLicensingService; $f=[IO.File]::ReadAllText('!_batp!') -split ':xrm\:.*';. ([scriptblock]::Create($f[1])); ReinstallLicenses" %nul% ) exit /b @@ -2726,7 +2726,7 @@ for /f "tokens=3 delims=." %%a in ('reg query "HKLM\SYSTEM\CurrentControlSet\Con if %_wmic% EQU 1 for /f "tokens=2 delims==" %%a in ('"wmic Path Win32_OperatingSystem Get OperatingSystemSKU /format:LIST" %nul6%') do if not errorlevel 1 set "wmiSKU=%%a" if %_wmic% EQU 0 for /f "tokens=1" %%a in ('%psc% "([WMI]'Win32_OperatingSystem=@').OperatingSystemSKU" %nul6%') do if not errorlevel 1 set "wmiSKU=%%a" -if %winbuild% GEQ 15063 %psc% "$f=[System.IO.File]::ReadAllText('!_batp!') -split ':winsubstatus\:.*';. ([scriptblock]::Create($f[1]))" %nul2% | find /i "Subscription_is_activated" %nul% && ( +if %winbuild% GEQ 15063 %psc% "$f=[IO.File]::ReadAllText('!_batp!') -split ':winsubstatus\:.*';. ([scriptblock]::Create($f[1]))" %nul2% | find /i "Subscription_is_activated" %nul% && ( if defined regSKU if defined slcSKU if not "%regSKU%"=="%slcSKU%" ( set winsub=1 set osSKU=%regSKU% @@ -3354,7 +3354,7 @@ set showfix=1 set chkalp= set wpainfo=NotFound -for /f "delims=" %%a in ('%psc% "$f=[System.IO.File]::ReadAllText('!_batp!') -split ':wpatest\:.*';. ([scriptblock]::Create($f[1]))" %nul6%') do (set wpainfo=%%a) +for /f "delims=" %%a in ('%psc% "$f=[IO.File]::ReadAllText('!_batp!') -split ':wpatest\:.*';. ([scriptblock]::Create($f[1]))" %nul6%') do (set wpainfo=%%a) for /f "delims=0123456789" %%i in ("%wpainfo%") do set chkalp=%%i if defined chkalp ( @@ -3428,7 +3428,7 @@ set showfix=1 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% +%psc% "if (-not $env:_vis) {Start-Job { Stop-Service %_slser% -force } | Wait-Job -Timeout 20 | Out-Null}; $sls = Get-WmiObject SoftwareLicensingService; $f=[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 ) diff --git a/MAS/Separate-Files-Version/Change_Office_Edition.cmd b/MAS/Separate-Files-Version/Change_Office_Edition.cmd index d9fd310..498af9d 100644 --- a/MAS/Separate-Files-Version/Change_Office_Edition.cmd +++ b/MAS/Separate-Files-Version/Change_Office_Edition.cmd @@ -200,7 +200,7 @@ goto dk_done ::pstst $ExecutionContext.SessionState.LanguageMode :pstst -for /f "delims=" %%a in ('%psc% "if ($PSVersionTable.PSEdition -ne 'Core') {$f=[System.IO.File]::ReadAllText('!_batp!') -split ':pstst';. ([scriptblock]::Create($f[1]))}" %nul6%') do (set tstresult=%%a) +for /f "delims=" %%a in ('%psc% "if ($PSVersionTable.PSEdition -ne 'Core') {$f=[IO.File]::ReadAllText('!_batp!') -split ':pstst';. ([scriptblock]::Create($f[1]))}" %nul6%') do (set tstresult=%%a) if /i not "%tstresult%"=="FullLanguage" ( %eline% @@ -567,7 +567,7 @@ cls set editedition= call :ch_getinfo call :oe_tempcleanup -%psc% "$f=[System.IO.File]::ReadAllText('!_batp!') -split ':getlist\:.*';. ([scriptblock]::Create($f[1]))" +%psc% "$f=[IO.File]::ReadAllText('!_batp!') -split ':getlist\:.*';. ([scriptblock]::Create($f[1]))" :oe_editionchange @@ -640,7 +640,7 @@ cls set suites= echo %list% | find /i "Suites" %nul1% && ( set suites=1 -%psc% "$f=[System.IO.File]::ReadAllText('!_batp!') -split ':getappnames\:.*';. ([scriptblock]::Create($f[1]))" +%psc% "$f=[IO.File]::ReadAllText('!_batp!') -split ':getappnames\:.*';. ([scriptblock]::Create($f[1]))" if not exist %SystemRoot%\Temp\getAppIds.txt ( %eline% echo Failed to generate available apps list. @@ -1125,7 +1125,7 @@ if not defined terminal mode 105, 32 :: Get build number for the target FFN, using build number with OfficeC2RClient.exe command to trigger updates provides accurate results set build= -for /f "delims=" %%a in ('%psc% "$f=[System.IO.File]::ReadAllText('!_batp!') -split ':getbuild\:.*';. ([scriptblock]::Create($f[1]))" %nul6%') do (set build=%%a) +for /f "delims=" %%a in ('%psc% "$f=[IO.File]::ReadAllText('!_batp!') -split ':getbuild\:.*';. ([scriptblock]::Create($f[1]))" %nul6%') do (set build=%%a) echo "%build%" | find /i "16." %nul% || set build= echo: diff --git a/MAS/Separate-Files-Version/Change_Windows_Edition.cmd b/MAS/Separate-Files-Version/Change_Windows_Edition.cmd index b6f9d9f..7643131 100644 --- a/MAS/Separate-Files-Version/Change_Windows_Edition.cmd +++ b/MAS/Separate-Files-Version/Change_Windows_Edition.cmd @@ -205,7 +205,7 @@ goto dk_done ::pstst $ExecutionContext.SessionState.LanguageMode :pstst -for /f "delims=" %%a in ('%psc% "if ($PSVersionTable.PSEdition -ne 'Core') {$f=[System.IO.File]::ReadAllText('!_batp!') -split ':pstst';. ([scriptblock]::Create($f[1]))}" %nul6%') do (set tstresult=%%a) +for /f "delims=" %%a in ('%psc% "if ($PSVersionTable.PSEdition -ne 'Core') {$f=[IO.File]::ReadAllText('!_batp!') -split ':pstst';. ([scriptblock]::Create($f[1]))}" %nul6%') do (set tstresult=%%a) if /i not "%tstresult%"=="FullLanguage" ( %eline% @@ -468,7 +468,7 @@ set _ntarget= set _wtarget= if %winbuild% GEQ 10240 for /f "tokens=4" %%a in ('dism /online /english /Get-TargetEditions ^| findstr /i /c:"Target Edition : "') do (if defined _dtarget (set "_dtarget= !_dtarget! %%a ") else (set "_dtarget= %%a ")) -if %winbuild% LSS 10240 for /f "tokens=4" %%a in ('%psc% "$f=[System.IO.File]::ReadAllText('!_batp!') -split ':cbsxml\:.*';. ([scriptblock]::Create($f[1])) -GetTargetEditions;" ^| findstr /i /c:"Target Edition : "') do (if defined _ptarget (set "_ptarget= !_ptarget! %%a ") else (set "_ptarget= %%a ")) +if %winbuild% LSS 10240 for /f "tokens=4" %%a in ('%psc% "$f=[IO.File]::ReadAllText('!_batp!') -split ':cbsxml\:.*';. ([scriptblock]::Create($f[1])) -GetTargetEditions;" ^| findstr /i /c:"Target Edition : "') do (if defined _ptarget (set "_ptarget= !_ptarget! %%a ") else (set "_ptarget= %%a ")) if %winbuild% GEQ 10240 if not exist "%SystemRoot%\Servicing\Packages\Microsoft-Windows-Server*Edition~*.mum" ( if %winbuild% GEQ 17063 call :ced_edilist @@ -676,7 +676,7 @@ echo: call :ced_prep if defined preperror goto dk_done -%psc% "$f=[System.IO.File]::ReadAllText('!_batp!') -split ':dismapi\:.*';. ([scriptblock]::Create($f[1])) %targetedition% %key%" +%psc% "$f=[IO.File]::ReadAllText('!_batp!') -split ':dismapi\:.*';. ([scriptblock]::Create($f[1])) %targetedition% %key%" call :ced_postprep ) %line% @@ -714,7 +714,7 @@ call :ced_prep if defined preperror goto dk_done if %_stg%==0 (set stage=) else (set stage=-StageCurrent) -%psc% "$f=[System.IO.File]::ReadAllText('!_batp!') -split ':cbsxml\:.*';. ([scriptblock]::Create($f[1])) -SetEdition %targetedition% %stage%" +%psc% "$f=[IO.File]::ReadAllText('!_batp!') -split ':cbsxml\:.*';. ([scriptblock]::Create($f[1])) -SetEdition %targetedition% %stage%" call :ced_postprep %line% diff --git a/MAS/Separate-Files-Version/Check_Activation_Status.cmd b/MAS/Separate-Files-Version/Check_Activation_Status.cmd index a76b0b3..45efa28 100644 --- a/MAS/Separate-Files-Version/Check_Activation_Status.cmd +++ b/MAS/Separate-Files-Version/Check_Activation_Status.cmd @@ -42,7 +42,7 @@ goto :E_Exit set "_batf=%~f0" set "_batp=%_batf:'=''%" setlocal EnableDelayedExpansion -%_psc% "$f=[System.IO.File]::ReadAllText('!_batp!') -split ':sppmgr\:.*';. ([scriptblock]::Create($f[1]))" +%_psc% "$f=[IO.File]::ReadAllText('!_batp!') -split ':sppmgr\:.*';. ([scriptblock]::Create($f[1]))" :E_Exit echo. diff --git a/MAS/Separate-Files-Version/Extract_OEM_Folder.cmd b/MAS/Separate-Files-Version/Extract_OEM_Folder.cmd index cbbc316..3e7dbd1 100644 --- a/MAS/Separate-Files-Version/Extract_OEM_Folder.cmd +++ b/MAS/Separate-Files-Version/Extract_OEM_Folder.cmd @@ -216,7 +216,7 @@ goto done2 ::pstst $ExecutionContext.SessionState.LanguageMode :pstst -for /f "delims=" %%a in ('%psc% "if ($PSVersionTable.PSEdition -ne 'Core') {$f=[System.IO.File]::ReadAllText('!_batp!') -split ':pstst';. ([scriptblock]::Create($f[1]))}" %nul6%') do (set tstresult=%%a) +for /f "delims=" %%a in ('%psc% "if ($PSVersionTable.PSEdition -ne 'Core') {$f=[IO.File]::ReadAllText('!_batp!') -split ':pstst';. ([scriptblock]::Create($f[1]))}" %nul6%') do (set tstresult=%%a) if /i not "%tstresult%"=="FullLanguage" ( %eline% @@ -804,7 +804,7 @@ exit /b :export -%psc% "$f=[System.IO.File]::ReadAllText('!_batp!') -split \":%~1\:.*`r`n\"; [io.file]::WriteAllText('!_pdesk!\$OEM$\$$\Setup\Scripts\SetupComplete.cmd',$f[1].Trim(),[System.Text.Encoding]::ASCII);" +%psc% "$f=[IO.File]::ReadAllText('!_batp!') -split \":%~1\:.*`r`n\"; [io.file]::WriteAllText('!_pdesk!\$OEM$\$$\Setup\Scripts\SetupComplete.cmd',$f[1].Trim(),[System.Text.Encoding]::ASCII);" exit /b ::======================================================================================================================================== diff --git a/MAS/Separate-Files-Version/Troubleshoot.cmd b/MAS/Separate-Files-Version/Troubleshoot.cmd index a24dbc4..e6d89ba 100644 --- a/MAS/Separate-Files-Version/Troubleshoot.cmd +++ b/MAS/Separate-Files-Version/Troubleshoot.cmd @@ -217,7 +217,7 @@ goto dk_done ::pstst $ExecutionContext.SessionState.LanguageMode :pstst -for /f "delims=" %%a in ('%psc% "if ($PSVersionTable.PSEdition -ne 'Core') {$f=[System.IO.File]::ReadAllText('!_batp!') -split ':pstst';. ([scriptblock]::Create($f[1]))}" %nul6%') do (set tstresult=%%a) +for /f "delims=" %%a in ('%psc% "if ($PSVersionTable.PSEdition -ne 'Core') {$f=[IO.File]::ReadAllText('!_batp!') -split ':pstst';. ([scriptblock]::Create($f[1]))}" %nul6%') do (set tstresult=%%a) if /i not "%tstresult%"=="FullLanguage" ( %eline% @@ -758,7 +758,7 @@ call :_taskclear-cache %nul% reg query "HKLM\%SPPk%\%_wApp%" && ( echo Removing KMS38 protection... -%psc% "$f=[System.IO.File]::ReadAllText('!_batp!') -split ':regdel\:.*';. ([scriptblock]::Create($f[1]))" +%psc% "$f=[IO.File]::ReadAllText('!_batp!') -split ':regdel\:.*';. ([scriptblock]::Create($f[1]))" %nul% reg delete "HKLM\%SPPk%\%_wApp%" /f %nul% reg query "HKLM\%SPPk%\%_wApp%" && ( call :dk_color %Red% "Failed to remove KMS38 protection." @@ -796,7 +796,7 @@ echo Checking SPP permission related issues... call :checkperms if defined permerror ( call :dk_color %Red% "[!permerror!]" -%psc% "$f=[System.IO.File]::ReadAllText('!_batp!') -split ':fixsppperms\:.*';. ([scriptblock]::Create($f[1]))" %nul% +%psc% "$f=[IO.File]::ReadAllText('!_batp!') -split ':fixsppperms\:.*';. ([scriptblock]::Create($f[1]))" %nul% call :checkperms if defined permerror ( call :dk_color %Red% "[!permerror!] [Failed To Fix]" @@ -866,8 +866,8 @@ if defined _vis ( echo: echo Reinstalling system licenses... -%psc% "$sls = Get-WmiObject SoftwareLicensingService; $f=[System.IO.File]::ReadAllText('!_batp!') -split ':xrm\:.*';. ([scriptblock]::Create($f[1])); ReinstallLicenses" %nul% -if %errorlevel% NEQ 0 %psc% "$sls = Get-WmiObject SoftwareLicensingService; $f=[System.IO.File]::ReadAllText('!_batp!') -split ':xrm\:.*';. ([scriptblock]::Create($f[1])); ReinstallLicenses" %nul% +%psc% "$sls = Get-WmiObject SoftwareLicensingService; $f=[IO.File]::ReadAllText('!_batp!') -split ':xrm\:.*';. ([scriptblock]::Create($f[1])); ReinstallLicenses" %nul% +if %errorlevel% NEQ 0 %psc% "$sls = Get-WmiObject SoftwareLicensingService; $f=[IO.File]::ReadAllText('!_batp!') -split ':xrm\:.*';. ([scriptblock]::Create($f[1])); ReinstallLicenses" %nul% if %errorlevel% EQU 0 ( echo [Successful] ) else ( @@ -1570,7 +1570,7 @@ exit /b :regownstart -%psc% "$f=[System.IO.File]::ReadAllText('!_batp!') -split ':regown\:.*';. ([scriptblock]::Create($f[1]));" +%psc% "$f=[IO.File]::ReadAllText('!_batp!') -split ':regown\:.*';. ([scriptblock]::Create($f[1]));" exit /b :: Below code takes ownership of a volatile registry key and deletes it From bf9da8b5d8ee035e9290b1698e7e2c5319156695 Mon Sep 17 00:00:00 2001 From: Lyssa Date: Thu, 11 Jun 2026 17:27:03 +0400 Subject: [PATCH 60/66] Remove "Probable" from malware error --- MAS/Separate-Files-Version/Activators/HWID_Activation.cmd | 2 +- MAS/Separate-Files-Version/Activators/Ohook_Activation_AIO.cmd | 2 +- MAS/Separate-Files-Version/Activators/Online_KMS_Activation.cmd | 2 +- MAS/Separate-Files-Version/Activators/TSforge_Activation.cmd | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-) diff --git a/MAS/Separate-Files-Version/Activators/HWID_Activation.cmd b/MAS/Separate-Files-Version/Activators/HWID_Activation.cmd index bca2f0f..bdc1752 100644 --- a/MAS/Separate-Files-Version/Activators/HWID_Activation.cmd +++ b/MAS/Separate-Files-Version/Activators/HWID_Activation.cmd @@ -1220,7 +1220,7 @@ if not exist %SysPath%\%_slexe% if not exist %SysPath%\alg.exe (set "results=%re 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% "Checking for Mal%w%ware Infection..." if defined results (call :dk_color %Red% "%results%"&set showfix=1) set fixes=%fixes% %mas%remove_mal%w%ware call :dk_color2 %Blue% "Check this webpage for help - " %_Yellow% " %mas%remove_mal%w%ware" diff --git a/MAS/Separate-Files-Version/Activators/Ohook_Activation_AIO.cmd b/MAS/Separate-Files-Version/Activators/Ohook_Activation_AIO.cmd index 9d24547..8512014 100644 --- a/MAS/Separate-Files-Version/Activators/Ohook_Activation_AIO.cmd +++ b/MAS/Separate-Files-Version/Activators/Ohook_Activation_AIO.cmd @@ -1931,7 +1931,7 @@ if not exist %SysPath%\%_slexe% if not exist %SysPath%\alg.exe (set "results=%re 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% "Checking for Mal%w%ware Infection..." if defined results (call :dk_color %Red% "%results%"&set showfix=1) set fixes=%fixes% %mas%remove_mal%w%ware call :dk_color2 %Blue% "Check this webpage for help - " %_Yellow% " %mas%remove_mal%w%ware" diff --git a/MAS/Separate-Files-Version/Activators/Online_KMS_Activation.cmd b/MAS/Separate-Files-Version/Activators/Online_KMS_Activation.cmd index 754019b..ef71816 100644 --- a/MAS/Separate-Files-Version/Activators/Online_KMS_Activation.cmd +++ b/MAS/Separate-Files-Version/Activators/Online_KMS_Activation.cmd @@ -2975,7 +2975,7 @@ if not exist %SysPath%\%_slexe% if not exist %SysPath%\alg.exe (set "results=%re 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% "Checking for Mal%w%ware Infection..." if defined results (call :dk_color %Red% "%results%"&set showfix=1) set fixes=%fixes% %mas%remove_mal%w%ware call :dk_color2 %Blue% "Check this webpage for help - " %_Yellow% " %mas%remove_mal%w%ware" diff --git a/MAS/Separate-Files-Version/Activators/TSforge_Activation.cmd b/MAS/Separate-Files-Version/Activators/TSforge_Activation.cmd index e2577dd..ecbf1ca 100644 --- a/MAS/Separate-Files-Version/Activators/TSforge_Activation.cmd +++ b/MAS/Separate-Files-Version/Activators/TSforge_Activation.cmd @@ -2992,7 +2992,7 @@ if not exist %SysPath%\%_slexe% if not exist %SysPath%\alg.exe (set "results=%re 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% "Checking for Mal%w%ware Infection..." if defined results (call :dk_color %Red% "%results%"&set showfix=1) set fixes=%fixes% %mas%remove_mal%w%ware call :dk_color2 %Blue% "Check this webpage for help - " %_Yellow% " %mas%remove_mal%w%ware" From d084ef3fb6521bd3ff366e389a7eee42363f1e44 Mon Sep 17 00:00:00 2001 From: Lyssa <75037904+thecatontheceiling@users.noreply.github.com> Date: Thu, 11 Jun 2026 20:10:30 +0400 Subject: [PATCH 61/66] Update some troubleshoot messages --- .../Activators/HWID_Activation.cmd | 15 ++++++++------- .../Activators/Ohook_Activation_AIO.cmd | 14 +++++++------- .../Activators/Online_KMS_Activation.cmd | 14 +++++++------- .../Activators/TSforge_Activation.cmd | 14 +++++++------- .../Change_Office_Edition.cmd | 4 ++-- .../Change_Windows_Edition.cmd | 2 +- MAS/Separate-Files-Version/Extract_OEM_Folder.cmd | 2 +- MAS/Separate-Files-Version/Troubleshoot.cmd | 2 +- 8 files changed, 34 insertions(+), 33 deletions(-) diff --git a/MAS/Separate-Files-Version/Activators/HWID_Activation.cmd b/MAS/Separate-Files-Version/Activators/HWID_Activation.cmd index bdc1752..c433836 100644 --- a/MAS/Separate-Files-Version/Activators/HWID_Activation.cmd +++ b/MAS/Separate-Files-Version/Activators/HWID_Activation.cmd @@ -407,7 +407,7 @@ title HWID Activation %masver% echo: echo Initializing... -call :dk_chkmal +echo: for %%# in ( sppsvc.exe @@ -1209,19 +1209,19 @@ reg query "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Schedule\taskcache\ set hcount=0 for %%# in (avira.com kaspersky.com virustotal.com mcafee.com) do ( 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 URLs blocked in hosts file" sc start %_slser% %nul% echo "%errorlevel%" | findstr "577 225" %nul% && ( -set "results=%results%[Likely File Infector]" +set "results=%results%Likely File Infector" ) || ( if not exist %SysPath%\%_slexe% if not exist %SysPath%\alg.exe (set "results=%results%[Likely File Infector]") ) if not "%results%%pupfound%"=="" ( -if defined pupfound call :dk_color %Gray% "Checking PUP Activators [Found%pupfound%]" -if defined results call :dk_color %Red% "Checking for Mal%w%ware Infection..." -if defined results (call :dk_color %Red% "%results%"&set showfix=1) +if defined pupfound call :dk_color %Gray% "Checking PUP Activators [%pupfound%]" +if defined results call :dk_color %Red% "Checking for Mal%w%ware Infection... [%results%]" +call :dk_color %Gray% "It is highly likely that your Windows install is infected with mal%w%ware. Windows cannot be activated." set fixes=%fixes% %mas%remove_mal%w%ware call :dk_color2 %Blue% "Check this webpage for help - " %_Yellow% " %mas%remove_mal%w%ware" echo: @@ -1239,6 +1239,7 @@ exit /b :dk_errorcheck +echo: set showfix= call :dk_chkmal @@ -1938,7 +1939,7 @@ if %_unattended%==1 timeout /t 2 & exit /b if defined fixes ( call :dk_color %White% "Follow ALL the ABOVE blue lines. " -call :dk_color2 %Blue% "Press [1] to Open Support Webpage " %Gray% " Press [0] to Ignore" +call :dk_color2 %Blue% "Press [1] to Open Support Webpage " %Gray% " Press [0] to Go Back" choice /C:10 /N if !errorlevel!==2 exit /b if !errorlevel!==1 (start %selfgit% & start %github% & for %%# in (%fixes%) do (start %%#)) diff --git a/MAS/Separate-Files-Version/Activators/Ohook_Activation_AIO.cmd b/MAS/Separate-Files-Version/Activators/Ohook_Activation_AIO.cmd index 8512014..3435fa7 100644 --- a/MAS/Separate-Files-Version/Activators/Ohook_Activation_AIO.cmd +++ b/MAS/Separate-Files-Version/Activators/Ohook_Activation_AIO.cmd @@ -457,7 +457,7 @@ title Ohook Activation %masver% echo: echo Initializing... -call :dk_chkmal +echo: if not exist %SysPath%\%_slexe% ( %eline% @@ -1920,19 +1920,19 @@ reg query "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Schedule\taskcache\ set hcount=0 for %%# in (avira.com kaspersky.com virustotal.com mcafee.com) do ( 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 URLs blocked in hosts file" sc start %_slser% %nul% echo "%errorlevel%" | findstr "577 225" %nul% && ( -set "results=%results%[Likely File Infector]" +set "results=%results%Likely File Infector" ) || ( if not exist %SysPath%\%_slexe% if not exist %SysPath%\alg.exe (set "results=%results%[Likely File Infector]") ) if not "%results%%pupfound%"=="" ( -if defined pupfound call :dk_color %Gray% "Checking PUP Activators [Found%pupfound%]" -if defined results call :dk_color %Red% "Checking for Mal%w%ware Infection..." -if defined results (call :dk_color %Red% "%results%"&set showfix=1) +if defined pupfound call :dk_color %Gray% "Checking PUP Activators [%pupfound%]" +if defined results call :dk_color %Red% "Checking for Mal%w%ware Infection... [%results%]" +call :dk_color %Gray% "It is highly likely that your Windows install is infected with mal%w%ware. Windows cannot be activated." set fixes=%fixes% %mas%remove_mal%w%ware call :dk_color2 %Blue% "Check this webpage for help - " %_Yellow% " %mas%remove_mal%w%ware" echo: @@ -2649,7 +2649,7 @@ if %_unattended%==1 timeout /t 2 & exit /b if defined fixes ( call :dk_color %White% "Follow ALL the ABOVE blue lines. " -call :dk_color2 %Blue% "Press [1] to Open Support Webpage " %Gray% " Press [0] to Ignore" +call :dk_color2 %Blue% "Press [1] to Open Support Webpage " %Gray% " Press [0] to Go Back" choice /C:10 /N if !errorlevel!==2 exit /b if !errorlevel!==1 (start %selfgit% & start %github% & for %%# in (%fixes%) do (start %%#)) diff --git a/MAS/Separate-Files-Version/Activators/Online_KMS_Activation.cmd b/MAS/Separate-Files-Version/Activators/Online_KMS_Activation.cmd index ef71816..91426fa 100644 --- a/MAS/Separate-Files-Version/Activators/Online_KMS_Activation.cmd +++ b/MAS/Separate-Files-Version/Activators/Online_KMS_Activation.cmd @@ -520,7 +520,7 @@ title Online %KS% Activation %masver% echo: echo Initializing... -call :dk_chkmal +echo: if not exist %SysPath%\%_slexe% ( %eline% @@ -2964,19 +2964,19 @@ reg query "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Schedule\taskcache\ set hcount=0 for %%# in (avira.com kaspersky.com virustotal.com mcafee.com) do ( 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 URLs blocked in hosts file" sc start %_slser% %nul% echo "%errorlevel%" | findstr "577 225" %nul% && ( -set "results=%results%[Likely File Infector]" +set "results=%results%Likely File Infector" ) || ( if not exist %SysPath%\%_slexe% if not exist %SysPath%\alg.exe (set "results=%results%[Likely File Infector]") ) if not "%results%%pupfound%"=="" ( -if defined pupfound call :dk_color %Gray% "Checking PUP Activators [Found%pupfound%]" -if defined results call :dk_color %Red% "Checking for Mal%w%ware Infection..." -if defined results (call :dk_color %Red% "%results%"&set showfix=1) +if defined pupfound call :dk_color %Gray% "Checking PUP Activators [%pupfound%]" +if defined results call :dk_color %Red% "Checking for Mal%w%ware Infection... [%results%]" +call :dk_color %Gray% "It is highly likely that your Windows install is infected with mal%w%ware. Windows cannot be activated." set fixes=%fixes% %mas%remove_mal%w%ware call :dk_color2 %Blue% "Check this webpage for help - " %_Yellow% " %mas%remove_mal%w%ware" echo: @@ -3693,7 +3693,7 @@ if %_unattended%==1 timeout /t 2 & exit /b if defined fixes ( call :dk_color %White% "Follow ALL the ABOVE blue lines. " -call :dk_color2 %Blue% "Press [1] to Open Support Webpage " %Gray% " Press [0] to Ignore" +call :dk_color2 %Blue% "Press [1] to Open Support Webpage " %Gray% " Press [0] to Go Back" choice /C:10 /N if !errorlevel!==2 exit /b if !errorlevel!==1 (start %selfgit% & start %github% & for %%# in (%fixes%) do (start %%#)) diff --git a/MAS/Separate-Files-Version/Activators/TSforge_Activation.cmd b/MAS/Separate-Files-Version/Activators/TSforge_Activation.cmd index ecbf1ca..af4f26a 100644 --- a/MAS/Separate-Files-Version/Activators/TSforge_Activation.cmd +++ b/MAS/Separate-Files-Version/Activators/TSforge_Activation.cmd @@ -589,7 +589,7 @@ title TSforge Activation %masver% echo: echo Initializing... -call :dk_chkmal +echo: if not exist %SysPath%\%_slexe% ( %eline% @@ -2981,19 +2981,19 @@ reg query "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Schedule\taskcache\ set hcount=0 for %%# in (avira.com kaspersky.com virustotal.com mcafee.com) do ( 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 URLs blocked in hosts file" sc start %_slser% %nul% echo "%errorlevel%" | findstr "577 225" %nul% && ( -set "results=%results%[Likely File Infector]" +set "results=%results%Likely File Infector" ) || ( if not exist %SysPath%\%_slexe% if not exist %SysPath%\alg.exe (set "results=%results%[Likely File Infector]") ) if not "%results%%pupfound%"=="" ( -if defined pupfound call :dk_color %Gray% "Checking PUP Activators [Found%pupfound%]" -if defined results call :dk_color %Red% "Checking for Mal%w%ware Infection..." -if defined results (call :dk_color %Red% "%results%"&set showfix=1) +if defined pupfound call :dk_color %Gray% "Checking PUP Activators [%pupfound%]" +if defined results call :dk_color %Red% "Checking for Mal%w%ware Infection... [%results%]" +call :dk_color %Gray% "It is highly likely that your Windows install is infected with mal%w%ware. Windows cannot be activated." set fixes=%fixes% %mas%remove_mal%w%ware call :dk_color2 %Blue% "Check this webpage for help - " %_Yellow% " %mas%remove_mal%w%ware" echo: @@ -3710,7 +3710,7 @@ if %_unattended%==1 timeout /t 2 & exit /b if defined fixes ( call :dk_color %White% "Follow ALL the ABOVE blue lines. " -call :dk_color2 %Blue% "Press [1] to Open Support Webpage " %Gray% " Press [0] to Ignore" +call :dk_color2 %Blue% "Press [1] to Open Support Webpage " %Gray% " Press [0] to Go Back" choice /C:10 /N if !errorlevel!==2 exit /b if !errorlevel!==1 (start %selfgit% & start %github% & for %%# in (%fixes%) do (start %%#)) diff --git a/MAS/Separate-Files-Version/Change_Office_Edition.cmd b/MAS/Separate-Files-Version/Change_Office_Edition.cmd index 498af9d..f797e22 100644 --- a/MAS/Separate-Files-Version/Change_Office_Edition.cmd +++ b/MAS/Separate-Files-Version/Change_Office_Edition.cmd @@ -1238,7 +1238,7 @@ call :oe_tempcleanup echo: if defined fixes ( call :dk_color %White% "Follow ALL the ABOVE blue lines. " -call :dk_color2 %Blue% "Press [1] to Open Support Webpage " %Gray% " Press [0] to Ignore" +call :dk_color2 %Blue% "Press [1] to Open Support Webpage " %Gray% " Press [0] to Go Back" choice /C:10 /N if !errorlevel!==2 goto :oemenu if !errorlevel!==1 (start %selfgit% & start %github% & for %%# in (%fixes%) do (start %%#)) @@ -1660,7 +1660,7 @@ if %_unattended%==1 timeout /t 2 & exit /b if defined fixes ( call :dk_color %White% "Follow ALL the ABOVE blue lines. " -call :dk_color2 %Blue% "Press [1] to Open Support Webpage " %Gray% " Press [0] to Ignore" +call :dk_color2 %Blue% "Press [1] to Open Support Webpage " %Gray% " Press [0] to Go Back" choice /C:10 /N if !errorlevel!==2 exit /b if !errorlevel!==1 (start %selfgit% & start %github% & for %%# in (%fixes%) do (start %%#)) diff --git a/MAS/Separate-Files-Version/Change_Windows_Edition.cmd b/MAS/Separate-Files-Version/Change_Windows_Edition.cmd index 7643131..77f015e 100644 --- a/MAS/Separate-Files-Version/Change_Windows_Edition.cmd +++ b/MAS/Separate-Files-Version/Change_Windows_Edition.cmd @@ -1091,7 +1091,7 @@ if %_unattended%==1 timeout /t 2 & exit /b if defined fixes ( call :dk_color %White% "Follow ALL the ABOVE blue lines. " -call :dk_color2 %Blue% "Press [1] to Open Support Webpage " %Gray% " Press [0] to Ignore" +call :dk_color2 %Blue% "Press [1] to Open Support Webpage " %Gray% " Press [0] to Go Back" choice /C:10 /N if !errorlevel!==2 exit /b if !errorlevel!==1 (start %selfgit% & start %github% & for %%# in (%fixes%) do (start %%#)) diff --git a/MAS/Separate-Files-Version/Extract_OEM_Folder.cmd b/MAS/Separate-Files-Version/Extract_OEM_Folder.cmd index 3e7dbd1..39cef76 100644 --- a/MAS/Separate-Files-Version/Extract_OEM_Folder.cmd +++ b/MAS/Separate-Files-Version/Extract_OEM_Folder.cmd @@ -727,7 +727,7 @@ echo ______________________________________________________________ echo: if defined fixes ( call :dk_color %White% "Follow ALL the ABOVE blue lines. " -call :dk_color2 %Blue% "Press [1] to Open Support Webpage " %Gray% " Press [0] to Ignore" +call :dk_color2 %Blue% "Press [1] to Open Support Webpage " %Gray% " Press [0] to Go Back" choice /C:10 /N if !errorlevel!==2 exit /b if !errorlevel!==1 (start %selfgit% & start %github% & for %%# in (%fixes%) do (start %%#)) diff --git a/MAS/Separate-Files-Version/Troubleshoot.cmd b/MAS/Separate-Files-Version/Troubleshoot.cmd index e6d89ba..8d85ba6 100644 --- a/MAS/Separate-Files-Version/Troubleshoot.cmd +++ b/MAS/Separate-Files-Version/Troubleshoot.cmd @@ -1663,7 +1663,7 @@ if %_unattended%==1 timeout /t 2 & exit /b if defined fixes ( call :dk_color %White% "Follow ALL the ABOVE blue lines. " -call :dk_color2 %Blue% "Press [1] to Open Support Webpage " %Gray% " Press [0] to Ignore" +call :dk_color2 %Blue% "Press [1] to Open Support Webpage " %Gray% " Press [0] to Go Back" choice /C:10 /N if !errorlevel!==2 exit /b if !errorlevel!==1 (start %selfgit% & start %github% & for %%# in (%fixes%) do (start %%#)) From a9d539e7636f444285272ba0540f30d6a38d2f56 Mon Sep 17 00:00:00 2001 From: Lyssa <75037904+thecatontheceiling@users.noreply.github.com> Date: Thu, 11 Jun 2026 21:21:17 +0400 Subject: [PATCH 62/66] Fix malware detection messages --- .../Activators/HWID_Activation.cmd | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/MAS/Separate-Files-Version/Activators/HWID_Activation.cmd b/MAS/Separate-Files-Version/Activators/HWID_Activation.cmd index c433836..3ab3720 100644 --- a/MAS/Separate-Files-Version/Activators/HWID_Activation.cmd +++ b/MAS/Separate-Files-Version/Activators/HWID_Activation.cmd @@ -1201,27 +1201,27 @@ exit /b set w= set results= -if exist "%ProgramFiles%\KM%w%Spico" set pupfound= KM%w%Spico +if exist "%ProgramFiles%\KM%w%Spico" set pupfound=[KM%w%Spico] if not defined pupfound ( -reg query "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Schedule\taskcache\tasks" /f Path /s | find /i "AutoPico" %nul% && set pupfound= KM%w%Spico +reg query "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Schedule\taskcache\tasks" /f Path /s | find /i "AutoPico" %nul% && set pupfound=[KM%w%Spico] ) set hcount=0 for %%# in (avira.com kaspersky.com virustotal.com mcafee.com) do ( find /i "%%#" %SysPath%\drivers\etc\hosts %nul% && set /a hcount+=1) -if %hcount%==4 set "results=Antivirus URLs blocked in hosts file" +if %hcount%==4 set "results=[Antivirus Domains Blocked In Hosts File] " sc start %_slser% %nul% echo "%errorlevel%" | findstr "577 225" %nul% && ( -set "results=%results%Likely File Infector" +set "results=%results%[Likely File Infector]" ) || ( if not exist %SysPath%\%_slexe% if not exist %SysPath%\alg.exe (set "results=%results%[Likely File Infector]") ) if not "%results%%pupfound%"=="" ( -if defined pupfound call :dk_color %Gray% "Checking PUP Activators [%pupfound%]" -if defined results call :dk_color %Red% "Checking for Mal%w%ware Infection... [%results%]" -call :dk_color %Gray% "It is highly likely that your Windows install is infected with mal%w%ware. Windows cannot be activated." +if defined pupfound call :dk_color %Gray% "Checking PUP Activators %pupfound%" +if defined results call :dk_color %Red% "Checking for Mal%w%ware Infection... %results%" +call :dk_color %Gray% "It is highly likely that your Windows install is infected with mal%w%ware. Windows may fail to activate." set fixes=%fixes% %mas%remove_mal%w%ware call :dk_color2 %Blue% "Check this webpage for help - " %_Yellow% " %mas%remove_mal%w%ware" echo: From f34d025d5102a790c75c839c8d46b672284729a5 Mon Sep 17 00:00:00 2001 From: WitherOrNot Date: Sat, 4 Jul 2026 03:48:39 -0400 Subject: [PATCH 63/66] MAS 3.12 --- MAS/All-In-One-Version-KL/MAS_AIO.cmd | 159 ++++++++---------- .../Activators/HWID_Activation.cmd | 32 ++-- .../Activators/Ohook_Activation_AIO.cmd | 66 +++----- .../Activators/Online_KMS_Activation.cmd | 30 ++-- .../Activators/TSforge_Activation.cmd | 77 +++++---- .../Change_Office_Edition.cmd | 39 +++-- .../Change_Windows_Edition.cmd | 36 ++-- .../Check_Activation_Status.cmd | 12 ++ .../Extract_OEM_Folder.cmd | 32 ++-- MAS/Separate-Files-Version/Troubleshoot.cmd | 30 ++-- 10 files changed, 277 insertions(+), 236 deletions(-) diff --git a/MAS/All-In-One-Version-KL/MAS_AIO.cmd b/MAS/All-In-One-Version-KL/MAS_AIO.cmd index a12f9b9..33513d9 100644 --- a/MAS/All-In-One-Version-KL/MAS_AIO.cmd +++ b/MAS/All-In-One-Version-KL/MAS_AIO.cmd @@ -3,7 +3,7 @@ @::Is a real person even the one deciding to flag this or is it Copilot told to flag anything it decides not to like? @::If a campaign is using this script as a cover, please flag parts of the campaign instead of the script. This isn't the first time we experienced collateral damage due to campaigns completely unrelated to us. @::If you disagree that MAS is not malicious, we would appreciate if you contacted us to explain what constitutes MAS as "Sonbokli" and we'll look into it. Thank you. -@set masver=3.11 +@set masver=3.12 @setlocal DisableDelayedExpansion @echo off @@ -41,9 +41,20 @@ set "Path=%SystemRoot%\Sysnative;%SystemRoot%;%SystemRoot%\Sysnative\Wbem;%Syste set "ComSpec=%SysPath%\cmd.exe" set "PSModulePath=%ProgramFiles%\WindowsPowerShell\Modules;%SysPath%\WindowsPowerShell\v1.0\Modules" +cd /d "%SysPath%" + +:: Workaround for https://github.com/microsoft/terminal/issues/15212, when %0 starts with a quote %0 parameter expansion is not specialcased. +:: Changing %0 to something that is not quoted bypasses the issue. +goto arg_workaround_end +:arg_workaround +set "_cmdf=%~f0" +exit /b +:arg_workaround_end + +call :arg_workaround + set re1= set re2= -set "_cmdf=%~f0" for %%# in (%*) do ( if /i "%%#"=="re1" set re1=1 if /i "%%#"=="re2" set re2=1 @@ -91,8 +102,7 @@ cls :: Check LF line ending -pushd "%~dp0" ->nul findstr /v "$" "%~nx0" && ( +>nul findstr /v "$" "%_cmdf%" && ( echo: echo Error - Script either has LF line ending issue or an empty line at the end of the script is missing. echo: @@ -101,10 +111,8 @@ echo Check this webpage for help - %mas%troubleshoot echo: echo: ping 127.0.0.1 -n 20 >nul -popd exit /b ) -popd ::======================================================================================================================================== @@ -188,10 +196,9 @@ goto dk_done set "_work=%~dp0" if "%_work:~-1%"=="\" set "_work=%_work:~0,-1%" -set "_batf=%~f0" -set "_batp=%_batf:'=''%" +set "_batp=%_cmdf:'=''%" -set _PSarg="""%~f0""" -el %_args% +set _PSarg="""%_cmdf%""" -el %_args% set _PSarg=%_PSarg:'=''% set "_ttemp=%userprofile%\AppData\Local\Temp" @@ -200,7 +207,7 @@ setlocal EnableDelayedExpansion ::======================================================================================================================================== -echo "!_batf!" | find /i "!_ttemp!" %nul1% && ( +echo "!_cmdf!" | find /i "!_ttemp!" %nul1% && ( if /i not "!_work!"=="!_ttemp!" ( %eline% echo The script was launched from the temp folder. @@ -330,11 +337,11 @@ reg query HKCU\Console /v QuickEdit %nul2% | find /i "0x0" %nul1% && set resetQE reg add HKCU\Console /v QuickEdit /t REG_DWORD /d 0 /f %nul1% if defined terminal ( -start conhost.exe "!_batf!" %_args% -qedit +start conhost.exe "!_cmdf!" %_args% -qedit start reg add HKCU\Console /v QuickEdit /t REG_DWORD /d %resetQE% /f %nul1% exit /b ) else if %resetQE% EQU 1 ( -start cmd.exe /c ""!_batf!" %_args% -qedit" +start cmd.exe /c ""!_cmdf!" %_args% -qedit" start reg add HKCU\Console /v QuickEdit /t REG_DWORD /d %resetQE% /f %nul1% exit /b ) @@ -2331,7 +2338,7 @@ set key=%%B REM Generate ticket if %1==ticket if "%key%"=="%%B" ( -set "SessionIdStr=OSMajorVersion=5;OSMinorVersion=1;OSPlatformId=2;PP=0;Pfn=Microsoft.Windows.%%C.%%D_8wekyb3d8bbwe;PKeyIID=465145217131314304264339481117862266242033457260311819664735280;" +set "SessionIdStr=OSMajorVersion=5;OSMinorVersion=1;OSPlatformId=2;PP=0;Pfn=Microsoft.Windows.%%C.%%D_8wekyb3d8bbwe;PKeyIID=221306452340115677963964261259250411589493550039199940431586886;" %psc% "$f=[IO.File]::ReadAllText('!_batp!') -split ':sign\:.*';. ([scriptblock]::Create($f[1]))" ) @@ -3229,18 +3236,9 @@ set ierror=mklink sppcs.dll goto :oh_hookinstall_error ) -set exhook= -if exist "!_work!\BIN\%_hook%" set exhook=1 - if not exist "%_hookPath%\sppc.dll" ( -if defined exhook ( -pushd "!_work!\BIN\" -copy /y /b "%_hook%" "%_hookPath%\sppc.dll" %nul% -popd -) else ( call :oh_extractdll "%_hookPath%\sppc.dll" "%offset%" ) -) if not exist "%_hookPath%\sppc.dll" ( set ierror=Copy goto :oh_hookinstall_error @@ -3248,11 +3246,7 @@ goto :oh_hookinstall_error echo: echo Symlinking System's sppc.dll ["%_hookPath%\sppcs.dll"] [Successful] -if defined exhook ( -echo Copying Custom %_hook% to ["%_hookPath%\sppc.dll"] [Successful] -) else ( echo Extracting Custom %_hook% to ["%_hookPath%\sppc.dll"] [Successful] -) goto :oh_hookinstall_error @@ -3318,18 +3312,8 @@ set ierror=mklink sppcs.dll goto :oh_hookinstall_error ) -set exhook= -if exist "!_work!\BIN\%_hook68%" if exist "!_work!\BIN\%_hook86%" set exhook=1 - -if defined exhook ( -pushd "!_work!\BIN\" -if defined _osppPath68 (copy /y /b "%_hook68%" "%_osppPath68%\OSPPC.DLL" %nul%) -if defined _osppPath86 (copy /y /b "%_hook86%" "%_osppPath86%\OSPPC.DLL" %nul%) -popd -) else ( if defined _osppPath68 (set _hook=%_hook68%&call :oh_extractdll "%_osppPath68%\OSPPC.DLL" "%offset68%") if defined _osppPath86 (set _hook=%_hook86%&call :oh_extractdll "%_osppPath86%\OSPPC.DLL" "%offset86%") -) if defined _osppPath68 (if not exist "%_osppPath68%\OSPPC.DLL" set ierror=1) if defined _osppPath86 (if not exist "%_osppPath86%\OSPPC.DLL" set ierror=1) @@ -3342,13 +3326,8 @@ goto :oh_hookinstall_error echo: if defined _osppPath68 (echo Renaming OSPPC.DLL to sppcs.dll ["%_osppPath68%\sppcs.dll"]) if defined _osppPath86 (echo Renaming OSPPC.DLL to sppcs.dll ["%_osppPath86%\sppcs.dll"]) -if defined exhook ( -if defined _osppPath68 (echo Copying Custom %_hook68% to ["%_osppPath68%\OSPPC.DLL"]) -if defined _osppPath86 (echo Copying Custom %_hook86% to ["%_osppPath86%\OSPPC.DLL"]) -) else ( if defined _osppPath68 (echo Extracting Custom %_hook68% to ["%_osppPath68%\OSPPC.DLL"]) if defined _osppPath86 (echo Extracting Custom %_hook86% to ["%_osppPath86%\OSPPC.DLL"]) -) echo Symlinking Renamed sppcs.dll ["%_hookPath%\sppcs.dll"] @@ -4096,7 +4075,7 @@ $Writer.Write($unixTimestamp) $Writer.Flush() # Write the current state of the MemoryStream to a temporary file -$tempFilePath = "$env:windir\Temp\$([System.IO.Path]::GetRandomFileName())" +$tempFilePath = "$env:windir\Temp\$([Guid]::NewGuid().Guid)" [IO.File]::WriteAllBytes($tempFilePath, $MemoryStream.ToArray()) # Update hash using the temporary file @@ -4150,12 +4129,6 @@ $MemoryStream.Close() :: ::======================================================================================================================================== :: -:: If you want to use a different sppc.dll or without base64 format, then create a folder named "BIN" where this script is located and -:: place these two files in that "BIN" folder. sppc32.dll, sppc64.dll -:: Script will auto pick that instead of using the below from base64 section. You can also delete the below code in that case. -:: -::======================================================================================================================================== -:: :: Replace "-" with "A" and "_" with "a" before base64 conversion :: It was changed to prevent antiviruses from detecting and flagging base64 encoding @@ -4467,7 +4440,9 @@ echo: echo ______________________________________________________________ echo: call :dk_color2 %_White% " [1] " %_Green% "Auto" -echo Builds ^>= 26100 - StaticCID (KMS4k if offline) +echo Builds ^>= 26100 - Windows only - KMS4k +echo Other options - StaticCID +echo: echo Builds ^< 26100 - ZeroCID echo __________________________________________________ echo: @@ -4588,6 +4563,9 @@ if /i %_actmethod%==KMS4k set tsmethod=KMS4k if /i %_actmethod%==Auto ( if %winbuild% GEQ 26100 ( set tsmethod=StaticCID +if !_actwin!==1 if not !_actwinesuoff!==1 ( +set tsmethod=KMS4k +) ) else ( set tsmethod=ZeroCID ) @@ -4703,7 +4681,7 @@ call :dk_color %Red% "Checking Activation ID [Not Found] [%tsed set error=1 if /i %tsmethod%==KMS4k ( if /i %_actmethod%==Auto ( -call :dk_color %Blue% "Connect to the Internet and try again. Script will use the StaticCID activation method." +call :dk_color %Blue% "Return to the previous menu and select StaticCID activation method. Internet connection is required to activate." ) else ( call :dk_color %Blue% "Use non-KMS4K activation options from the previous menu." ) @@ -5875,7 +5853,7 @@ 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 ( -if /i %tsmethod%==KMS4k if %winbuild% GEQ 26100 ( +if /i %tsmethod%==KMS4k if %winbuild% GEQ 26100 if %_actwin%==1 ( echo: call :dk_color %Gray% "In Windows settings, you may see a renewal notification for activation that can be ignored." if /i %_actmethod%==Auto call :dk_color %Gray% "To avoid this notification, run the script with an internet connection to use the StaticCID method." @@ -11261,27 +11239,27 @@ namespace LibTSforge.PhysicalStore } '@ $ErrorActionPreference = 'Stop' -$binPath = "$env:_work\BIN\LibTSforge.dll" $psMajorVer = (Get-Host).Version.Major $build = [System.Environment]::OSVersion.Version.Build -if (Test-Path -LiteralPath $binPath) { - Write-Host "LibTSforge.dll found in BIN folder. Loading the DLL..." - Add-Type -Path $binPath -} -else { - $cp = [CodeDom.Compiler.CompilerParameters] [string[]]@("System.dll", "System.Core.dll", "System.ServiceProcess.dll", "System.Xml.dll", "System.Xml.Linq.dll") - if ($psMajorVer -le 2) { $cp.CompilerOptions = "/define:POWERSHELL2 /unsafe" } else { $cp.CompilerOptions = "/unsafe" } - $lang = if ($psMajorVer -gt 2) { "CSharp" } else { "CSharpVersion3" } - - $ctemp = "$env:SystemRoot\Temp\" - if (-Not (Test-Path -Path $ctemp)) { New-Item -Path $ctemp -ItemType Directory > $null } - $env:TMP = $ctemp - $env:TEMP = $ctemp - - $cp.GenerateInMemory = $true - Add-Type -Language $lang -TypeDefinition $src -CompilerParameters $cp +$cp = [CodeDom.Compiler.CompilerParameters] [string[]]@("System.dll", "System.Core.dll", "System.ServiceProcess.dll", "System.Xml.dll", "System.Xml.Linq.dll") +if ($psMajorVer -le 2) { $cp.CompilerOptions = "/define:POWERSHELL2 /unsafe" } else { $cp.CompilerOptions = "/unsafe" } +$lang = if ($psMajorVer -gt 2) { "CSharp" } else { "CSharpVersion3" } + +$ctemp = "$env:SystemRoot\Temp\$([Guid]::NewGuid().Guid)\" +if (-Not (Test-Path -Path $ctemp)) { New-Item -Path $ctemp -ItemType Directory > $null } +$env:TMP = $ctemp +$env:TEMP = $ctemp + +$cp.GenerateInMemory = $true +Add-Type -Language $lang -TypeDefinition $src -CompilerParameters $cp + +try { + $cp.TempFiles.Dispose() +} catch { +# Older .NET Framework versions do not have that method, but they also don't create the folder that it removes. } +Remove-Item -Path $ctemp if ($env:_debug -eq '0') { [LibTSforge.Logger]::HideOutput = $true @@ -11383,7 +11361,7 @@ if (-not $env:resetstuff) { if ($env:tsmethod -eq "KMS4k") { if ($build -ge 26100) { Write-Host "[$prodName] is activated with KMS4k for over 4,000 years." -ForegroundColor White -BackgroundColor DarkGreen - Write-Host "From build 26100.7019, Windows will always display and stay at 180 days remaining if the actual period is longer." -ForegroundColor White -BackgroundColor Darkgray + Write-Host "From build 26100.7019, Windows will always display a remaining activation period of 180 days in Settings." -ForegroundColor White -BackgroundColor Darkgray } else { Write-Host "[$prodName] is activated till $([DateTime]::Now.AddMinutes($GracePeriodStatus).ToString('yyyy-MM-dd HH:mm:ss')) with $env:tsmethod." -ForegroundColor White -BackgroundColor DarkGreen @@ -16901,8 +16879,8 @@ goto :at_menu :: https://stackoverflow.com/a/46268232 -set "ddf="%SystemRoot%\Temp\%Random%%Random%%Random%%Random%"" -%nul% del /q /f %ddf% +for /f %%G in ('%psc% "[Guid]::NewGuid().Guid"') do set "randguid=%%G" +set "ddf="%SystemRoot%\Temp\%Random%%randguid%"" echo/.New Cabinet>%ddf% echo/.set Cabinet=ON>>%ddf% echo/.set CabinetFileCountThreshold=0;>>%ddf% @@ -16924,7 +16902,6 @@ for /f "tokens=* delims=" %%D in ('dir /a:-D/b/s "%SystemRoot%\logs\%1"') do ( echo/"%%~fD" /inf=no;>>%ddf% ) makecab /F %ddf% /D DiskDirectory1="" /D CabinetNameTemplate="!desktop!\%2_%_time%.cab" -del /q /f %ddf% exit /b ::======================================================================================================================================== @@ -17890,7 +17867,7 @@ if($false -eq ($installCandidates.Keys -contains $SetEdition)) { Exit 1 } -$xmlPath = $Env:SystemRoot + '\Temp' + '\CbsUpgrade.xml' +$xmlPath = $Env:SystemRoot + '\Temp' + "\$([Guid]::NewGuid().Guid)CbsUpgrade.xml" Write-UpgradeXml -RemovalCandidates $removalCandidates ` -InstallCandidates $installCandidates[$SetEdition] ` @@ -18184,6 +18161,18 @@ call :dk_color2 %Blue% "Check this webpage for help - " %_Yellow% " %mas%trouble goto dk_done ) +set "o_randguid=" +for /f %%G in ('%psc% "[Guid]::NewGuid().Guid" ^| findstr /r "^[0123456789abcdef]*-[0123456789abcdef]*-[0123456789abcdef]*-[0123456789abcdef]*-[0123456789abcdef]*$"') do set "o_randguid=%%G" +if not defined o_randguid ( +%eline% +echo Unable to generate GUID with PowerShell. +echo Aborting... +set fixes=%fixes% %mas%troubleshoot +call :dk_color2 %Blue% "Check this webpage for help - " %_Yellow% " %mas%troubleshoot" +goto dk_done +) +md "%SystemRoot%\Temp\%o_randguid%\" + ::======================================================================================================================================== :oemenu @@ -18282,7 +18271,7 @@ mode 98, 45 %psc% "&{$W=$Host.UI.RawUI.WindowSize;$B=$Host.UI.RawUI.BufferSize;$W.Height=44;$B.Height=100;$Host.UI.RawUI.WindowSize=$W;$Host.UI.RawUI.BufferSize=$B;}" %nul% ) -if not exist %SystemRoot%\Temp\%list%.txt ( +if not exist %SystemRoot%\Temp\%o_randguid%\%list%.txt ( %eline% echo Failed to generate available editions list. set fixes=%fixes% %mas%troubleshoot @@ -18304,7 +18293,7 @@ if %winbuild% LSS 10240 ( echo Unsupported products such as 2019/2021/2024 are excluded from this list. ) else ( for %%# in (2019 2021 2024) do ( -find /i "%%#" "%SystemRoot%\Temp\%list%.txt" %nul1% || ( +find /i "%%#" "%SystemRoot%\Temp\%o_randguid%\%list%.txt" %nul1% || ( if defined _notfound (set _notfound=%%#, !_notfound!) else (set _notfound=%%#) ) ) @@ -18313,7 +18302,7 @@ if defined _notfound call :dk_color %Gray% "Office !_notfound! is not in this li %line% echo: -for /f "usebackq delims=" %%A in (%SystemRoot%\Temp\%list%.txt) do ( +for /f "usebackq delims=" %%A in (%SystemRoot%\Temp\%o_randguid%\%list%.txt) do ( set /a counter+=1 if !counter! LSS 10 ( echo [!counter!] %%A @@ -18346,7 +18335,7 @@ set suites= echo %list% | find /i "Suites" %nul1% && ( set suites=1 %psc% "$f=[IO.File]::ReadAllText('!_batp!') -split ':getappnames\:.*';. ([scriptblock]::Create($f[1]))" -if not exist %SystemRoot%\Temp\getAppIds.txt ( +if not exist %SystemRoot%\Temp\%o_randguid%\getAppIds.txt ( %eline% echo Failed to generate available apps list. set fixes=%fixes% %mas%troubleshoot @@ -18368,7 +18357,7 @@ Visio Word ) do ( if defined suites ( -find /i "%%#" "%SystemRoot%\Temp\getAppIds.txt" %nul1% && (set %%#_st=On) || (set %%#_st=) +find /i "%%#" "%SystemRoot%\Temp\%o_randguid%\getAppIds.txt" %nul1% && (set %%#_st=On) || (set %%#_st=) ) else ( set %%#_st= ) @@ -18992,11 +18981,11 @@ exit /b :oe_tempcleanup -del /f /q %SystemRoot%\Temp\SingleApps_Volume.txt %nul% -del /f /q %SystemRoot%\Temp\SingleApps_Retail.txt %nul% -del /f /q %SystemRoot%\Temp\Suites_Volume.txt %nul% -del /f /q %SystemRoot%\Temp\Suites_Retail.txt %nul% -del /f /q %SystemRoot%\Temp\getAppIds.txt %nul% +del %SystemRoot%\Temp\%o_randguid%\SingleApps_Volume.txt %nul% +del %SystemRoot%\Temp\%o_randguid%\SingleApps_Retail.txt %nul% +del %SystemRoot%\Temp\%o_randguid%\Suites_Volume.txt %nul% +del %SystemRoot%\Temp\%o_randguid%\Suites_Retail.txt %nul% +del %SystemRoot%\Temp\%o_randguid%\getAppIds.txt %nul% exit /b ::======================================================================================================================================== @@ -19150,7 +19139,7 @@ if ($windowsBuild -lt 9200) { :getlist: $xmlPath1 = $env:_c2rXml $xmlPath2 = $env:_masterxml -$outputDir = $env:SystemRoot + "\Temp\" +$outputDir = $env:SystemRoot + "\Temp\$env:o_randguid\" $buildNumber = [System.Environment]::OSVersion.Version.Build $excludedKeywords = @("2019", "2021", "2024") $productReleaseIds = @() @@ -19210,7 +19199,7 @@ foreach ($section in $categories.Keys) { :getappnames: $xmlPath = $env:_masterxml $targetSkuId = $env:targetedition -$outputDir = $env:SystemRoot + "\Temp\" +$outputDir = $env:SystemRoot + "\Temp\$env:o_randguid\" $outputFile = Join-Path -Path $outputDir -ChildPath "getAppIds.txt" $excludeIds = @("shared", "PowerPivot", "PowerView", "MondoOnly", "OSM", "OSMUX", "Groove", "DCF") diff --git a/MAS/Separate-Files-Version/Activators/HWID_Activation.cmd b/MAS/Separate-Files-Version/Activators/HWID_Activation.cmd index 3ab3720..ad43e99 100644 --- a/MAS/Separate-Files-Version/Activators/HWID_Activation.cmd +++ b/MAS/Separate-Files-Version/Activators/HWID_Activation.cmd @@ -1,4 +1,4 @@ -@set masver=3.11 +@set masver=3.12 @echo off @@ -43,6 +43,18 @@ set "Path=%SystemRoot%\Sysnative;%SystemRoot%;%SystemRoot%\Sysnative\Wbem;%Syste set "ComSpec=%SysPath%\cmd.exe" set "PSModulePath=%ProgramFiles%\WindowsPowerShell\Modules;%SysPath%\WindowsPowerShell\v1.0\Modules" +cd /d "%SysPath%" + +:: Workaround for https://github.com/microsoft/terminal/issues/15212, when %0 starts with a quote %0 parameter expansion is not specialcased. +:: Changing %0 to something that is not quoted bypasses the issue. +goto arg_workaround_end +:arg_workaround +set "_cmdf=%~f0" +exit /b +:arg_workaround_end + +call :arg_workaround + set re1= set re2= set "_cmdf=%~f0" @@ -120,8 +132,7 @@ cls :: Check LF line ending -pushd "%~dp0" ->nul findstr /v "$" "%~nx0" && ( +>nul findstr /v "$" "%_cmdf%" && ( echo: echo Error - Script either has LF line ending issue or an empty line at the end of the script is missing. echo: @@ -130,10 +141,8 @@ echo Check this webpage for help - %mas%troubleshoot echo: echo: ping 127.0.0.1 -n 20 >nul -popd exit /b ) -popd ::======================================================================================================================================== @@ -205,10 +214,9 @@ goto dk_done set "_work=%~dp0" if "%_work:~-1%"=="\" set "_work=%_work:~0,-1%" -set "_batf=%~f0" -set "_batp=%_batf:'=''%" +set "_batp=%_cmdf:'=''%" -set _PSarg="""%~f0""" -el %_args% +set _PSarg="""%_cmdf%""" -el %_args% set _PSarg=%_PSarg:'=''% set "_ttemp=%userprofile%\AppData\Local\Temp" @@ -217,7 +225,7 @@ setlocal EnableDelayedExpansion ::======================================================================================================================================== -echo "!_batf!" | find /i "!_ttemp!" %nul1% && ( +echo "!_cmdf!" | find /i "!_ttemp!" %nul1% && ( if /i not "!_work!"=="!_ttemp!" ( %eline% echo The script was launched from the temp folder. @@ -347,11 +355,11 @@ reg query HKCU\Console /v QuickEdit %nul2% | find /i "0x0" %nul1% && set resetQE reg add HKCU\Console /v QuickEdit /t REG_DWORD /d 0 /f %nul1% if defined terminal ( -start conhost.exe "!_batf!" %_args% -qedit +start conhost.exe "!_cmdf!" %_args% -qedit start reg add HKCU\Console /v QuickEdit /t REG_DWORD /d %resetQE% /f %nul1% exit /b ) else if %resetQE% EQU 1 ( -start cmd.exe /c ""!_batf!" %_args% -qedit" +start cmd.exe /c ""!_cmdf!" %_args% -qedit" start reg add HKCU\Console /v QuickEdit /t REG_DWORD /d %resetQE% /f %nul1% exit /b ) @@ -2021,7 +2029,7 @@ set key=%%B REM Generate ticket if %1==ticket if "%key%"=="%%B" ( -set "SessionIdStr=OSMajorVersion=5;OSMinorVersion=1;OSPlatformId=2;PP=0;Pfn=Microsoft.Windows.%%C.%%D_8wekyb3d8bbwe;PKeyIID=465145217131314304264339481117862266242033457260311819664735280;" +set "SessionIdStr=OSMajorVersion=5;OSMinorVersion=1;OSPlatformId=2;PP=0;Pfn=Microsoft.Windows.%%C.%%D_8wekyb3d8bbwe;PKeyIID=221306452340115677963964261259250411589493550039199940431586886;" %psc% "$f=[IO.File]::ReadAllText('!_batp!') -split ':sign\:.*';. ([scriptblock]::Create($f[1]))" ) diff --git a/MAS/Separate-Files-Version/Activators/Ohook_Activation_AIO.cmd b/MAS/Separate-Files-Version/Activators/Ohook_Activation_AIO.cmd index 3435fa7..cec64c6 100644 --- a/MAS/Separate-Files-Version/Activators/Ohook_Activation_AIO.cmd +++ b/MAS/Separate-Files-Version/Activators/Ohook_Activation_AIO.cmd @@ -1,4 +1,4 @@ -@set masver=3.11 +@set masver=3.12 @echo off @@ -43,6 +43,18 @@ set "Path=%SystemRoot%\Sysnative;%SystemRoot%;%SystemRoot%\Sysnative\Wbem;%Syste set "ComSpec=%SysPath%\cmd.exe" set "PSModulePath=%ProgramFiles%\WindowsPowerShell\Modules;%SysPath%\WindowsPowerShell\v1.0\Modules" +cd /d "%SysPath%" + +:: Workaround for https://github.com/microsoft/terminal/issues/15212, when %0 starts with a quote %0 parameter expansion is not specialcased. +:: Changing %0 to something that is not quoted bypasses the issue. +goto arg_workaround_end +:arg_workaround +set "_cmdf=%~f0" +exit /b +:arg_workaround_end + +call :arg_workaround + set re1= set re2= set "_cmdf=%~f0" @@ -120,8 +132,7 @@ cls :: Check LF line ending -pushd "%~dp0" ->nul findstr /v "$" "%~nx0" && ( +>nul findstr /v "$" "%_cmdf%" && ( echo: echo Error - Script either has LF line ending issue or an empty line at the end of the script is missing. echo: @@ -130,10 +141,8 @@ echo Check this webpage for help - %mas%troubleshoot echo: echo: ping 127.0.0.1 -n 20 >nul -popd exit /b ) -popd ::======================================================================================================================================== @@ -214,10 +223,9 @@ goto dk_done set "_work=%~dp0" if "%_work:~-1%"=="\" set "_work=%_work:~0,-1%" -set "_batf=%~f0" -set "_batp=%_batf:'=''%" +set "_batp=%_cmdf:'=''%" -set _PSarg="""%~f0""" -el %_args% +set _PSarg="""%_cmdf%""" -el %_args% set _PSarg=%_PSarg:'=''% set "_ttemp=%userprofile%\AppData\Local\Temp" @@ -226,7 +234,7 @@ setlocal EnableDelayedExpansion ::======================================================================================================================================== -echo "!_batf!" | find /i "!_ttemp!" %nul1% && ( +echo "!_cmdf!" | find /i "!_ttemp!" %nul1% && ( if /i not "!_work!"=="!_ttemp!" ( %eline% echo The script was launched from the temp folder. @@ -356,11 +364,11 @@ reg query HKCU\Console /v QuickEdit %nul2% | find /i "0x0" %nul1% && set resetQE reg add HKCU\Console /v QuickEdit /t REG_DWORD /d 0 /f %nul1% if defined terminal ( -start conhost.exe "!_batf!" %_args% -qedit +start conhost.exe "!_cmdf!" %_args% -qedit start reg add HKCU\Console /v QuickEdit /t REG_DWORD /d %resetQE% /f %nul1% exit /b ) else if %resetQE% EQU 1 ( -start cmd.exe /c ""!_batf!" %_args% -qedit" +start cmd.exe /c ""!_cmdf!" %_args% -qedit" start reg add HKCU\Console /v QuickEdit /t REG_DWORD /d %resetQE% /f %nul1% exit /b ) @@ -1150,18 +1158,9 @@ set ierror=mklink sppcs.dll goto :oh_hookinstall_error ) -set exhook= -if exist "!_work!\BIN\%_hook%" set exhook=1 - if not exist "%_hookPath%\sppc.dll" ( -if defined exhook ( -pushd "!_work!\BIN\" -copy /y /b "%_hook%" "%_hookPath%\sppc.dll" %nul% -popd -) else ( call :oh_extractdll "%_hookPath%\sppc.dll" "%offset%" ) -) if not exist "%_hookPath%\sppc.dll" ( set ierror=Copy goto :oh_hookinstall_error @@ -1169,11 +1168,7 @@ goto :oh_hookinstall_error echo: echo Symlinking System's sppc.dll ["%_hookPath%\sppcs.dll"] [Successful] -if defined exhook ( -echo Copying Custom %_hook% to ["%_hookPath%\sppc.dll"] [Successful] -) else ( echo Extracting Custom %_hook% to ["%_hookPath%\sppc.dll"] [Successful] -) goto :oh_hookinstall_error @@ -1239,18 +1234,8 @@ set ierror=mklink sppcs.dll goto :oh_hookinstall_error ) -set exhook= -if exist "!_work!\BIN\%_hook68%" if exist "!_work!\BIN\%_hook86%" set exhook=1 - -if defined exhook ( -pushd "!_work!\BIN\" -if defined _osppPath68 (copy /y /b "%_hook68%" "%_osppPath68%\OSPPC.DLL" %nul%) -if defined _osppPath86 (copy /y /b "%_hook86%" "%_osppPath86%\OSPPC.DLL" %nul%) -popd -) else ( if defined _osppPath68 (set _hook=%_hook68%&call :oh_extractdll "%_osppPath68%\OSPPC.DLL" "%offset68%") if defined _osppPath86 (set _hook=%_hook86%&call :oh_extractdll "%_osppPath86%\OSPPC.DLL" "%offset86%") -) if defined _osppPath68 (if not exist "%_osppPath68%\OSPPC.DLL" set ierror=1) if defined _osppPath86 (if not exist "%_osppPath86%\OSPPC.DLL" set ierror=1) @@ -1263,13 +1248,8 @@ goto :oh_hookinstall_error echo: if defined _osppPath68 (echo Renaming OSPPC.DLL to sppcs.dll ["%_osppPath68%\sppcs.dll"]) if defined _osppPath86 (echo Renaming OSPPC.DLL to sppcs.dll ["%_osppPath86%\sppcs.dll"]) -if defined exhook ( -if defined _osppPath68 (echo Copying Custom %_hook68% to ["%_osppPath68%\OSPPC.DLL"]) -if defined _osppPath86 (echo Copying Custom %_hook86% to ["%_osppPath86%\OSPPC.DLL"]) -) else ( if defined _osppPath68 (echo Extracting Custom %_hook68% to ["%_osppPath68%\OSPPC.DLL"]) if defined _osppPath86 (echo Extracting Custom %_hook86% to ["%_osppPath86%\OSPPC.DLL"]) -) echo Symlinking Renamed sppcs.dll ["%_hookPath%\sppcs.dll"] @@ -3186,7 +3166,7 @@ $Writer.Write($unixTimestamp) $Writer.Flush() # Write the current state of the MemoryStream to a temporary file -$tempFilePath = "$env:windir\Temp\$([System.IO.Path]::GetRandomFileName())" +$tempFilePath = "$env:windir\Temp\$([Guid]::NewGuid().Guid)" [IO.File]::WriteAllBytes($tempFilePath, $MemoryStream.ToArray()) # Update hash using the temporary file @@ -3240,12 +3220,6 @@ $MemoryStream.Close() :: ::======================================================================================================================================== :: -:: If you want to use a different sppc.dll or without base64 format, then create a folder named "BIN" where this script is located and -:: place these two files in that "BIN" folder. sppc32.dll, sppc64.dll -:: Script will auto pick that instead of using the below from base64 section. You can also delete the below code in that case. -:: -::======================================================================================================================================== -:: :: Replace "-" with "A" and "_" with "a" before base64 conversion :: It was changed to prevent antiviruses from detecting and flagging base64 encoding diff --git a/MAS/Separate-Files-Version/Activators/Online_KMS_Activation.cmd b/MAS/Separate-Files-Version/Activators/Online_KMS_Activation.cmd index 91426fa..6dd3dae 100644 --- a/MAS/Separate-Files-Version/Activators/Online_KMS_Activation.cmd +++ b/MAS/Separate-Files-Version/Activators/Online_KMS_Activation.cmd @@ -1,4 +1,4 @@ -@set masver=3.11 +@set masver=3.12 @echo off @@ -68,6 +68,18 @@ set "Path=%SystemRoot%\Sysnative;%SystemRoot%;%SystemRoot%\Sysnative\Wbem;%Syste set "ComSpec=%SysPath%\cmd.exe" set "PSModulePath=%ProgramFiles%\WindowsPowerShell\Modules;%SysPath%\WindowsPowerShell\v1.0\Modules" +cd /d "%SysPath%" + +:: Workaround for https://github.com/microsoft/terminal/issues/15212, when %0 starts with a quote %0 parameter expansion is not specialcased. +:: Changing %0 to something that is not quoted bypasses the issue. +goto arg_workaround_end +:arg_workaround +set "_cmdf=%~f0" +exit /b +:arg_workaround_end + +call :arg_workaround + set re1= set re2= set "_cmdf=%~f0" @@ -145,8 +157,7 @@ cls :: Check LF line ending -pushd "%~dp0" ->nul findstr /v "$" "%~nx0" && ( +>nul findstr /v "$" "%_cmdf%" && ( echo: echo Error - Script either has LF line ending issue or an empty line at the end of the script is missing. echo: @@ -155,10 +166,8 @@ echo Check this webpage for help - %mas%troubleshoot echo: echo: ping 127.0.0.1 -n 20 >nul -popd exit /b ) -popd ::======================================================================================================================================== @@ -245,10 +254,9 @@ goto dk_done set "_work=%~dp0" if "%_work:~-1%"=="\" set "_work=%_work:~0,-1%" -set "_batf=%~f0" -set "_batp=%_batf:'=''%" +set "_batp=%_cmdf:'=''%" -set _PSarg="""%~f0""" -el %_args% +set _PSarg="""%_cmdf%""" -el %_args% set _PSarg=%_PSarg:'=''% set "_ttemp=%userprofile%\AppData\Local\Temp" @@ -257,7 +265,7 @@ setlocal EnableDelayedExpansion ::======================================================================================================================================== -echo "!_batf!" | find /i "!_ttemp!" %nul1% && ( +echo "!_cmdf!" | find /i "!_ttemp!" %nul1% && ( if /i not "!_work!"=="!_ttemp!" ( %eline% echo The script was launched from the temp folder. @@ -387,11 +395,11 @@ reg query HKCU\Console /v QuickEdit %nul2% | find /i "0x0" %nul1% && set resetQE reg add HKCU\Console /v QuickEdit /t REG_DWORD /d 0 /f %nul1% if defined terminal ( -start conhost.exe "!_batf!" %_args% -qedit +start conhost.exe "!_cmdf!" %_args% -qedit start reg add HKCU\Console /v QuickEdit /t REG_DWORD /d %resetQE% /f %nul1% exit /b ) else if %resetQE% EQU 1 ( -start cmd.exe /c ""!_batf!" %_args% -qedit" +start cmd.exe /c ""!_cmdf!" %_args% -qedit" start reg add HKCU\Console /v QuickEdit /t REG_DWORD /d %resetQE% /f %nul1% exit /b ) diff --git a/MAS/Separate-Files-Version/Activators/TSforge_Activation.cmd b/MAS/Separate-Files-Version/Activators/TSforge_Activation.cmd index af4f26a..c44d656 100644 --- a/MAS/Separate-Files-Version/Activators/TSforge_Activation.cmd +++ b/MAS/Separate-Files-Version/Activators/TSforge_Activation.cmd @@ -1,4 +1,4 @@ -@set masver=3.11 +@set masver=3.12 @echo off @@ -77,6 +77,18 @@ set "Path=%SystemRoot%\Sysnative;%SystemRoot%;%SystemRoot%\Sysnative\Wbem;%Syste set "ComSpec=%SysPath%\cmd.exe" set "PSModulePath=%ProgramFiles%\WindowsPowerShell\Modules;%SysPath%\WindowsPowerShell\v1.0\Modules" +cd /d "%SysPath%" + +:: Workaround for https://github.com/microsoft/terminal/issues/15212, when %0 starts with a quote %0 parameter expansion is not specialcased. +:: Changing %0 to something that is not quoted bypasses the issue. +goto arg_workaround_end +:arg_workaround +set "_cmdf=%~f0" +exit /b +:arg_workaround_end + +call :arg_workaround + set re1= set re2= set "_cmdf=%~f0" @@ -154,8 +166,7 @@ cls :: Check LF line ending -pushd "%~dp0" ->nul findstr /v "$" "%~nx0" && ( +>nul findstr /v "$" "%_cmdf%" && ( echo: echo Error - Script either has LF line ending issue or an empty line at the end of the script is missing. echo: @@ -164,10 +175,8 @@ echo Check this webpage for help - %mas%troubleshoot echo: echo: ping 127.0.0.1 -n 20 >nul -popd exit /b ) -popd ::======================================================================================================================================== @@ -271,10 +280,9 @@ goto dk_done set "_work=%~dp0" if "%_work:~-1%"=="\" set "_work=%_work:~0,-1%" -set "_batf=%~f0" -set "_batp=%_batf:'=''%" +set "_batp=%_cmdf:'=''%" -set _PSarg="""%~f0""" -el %_args% +set _PSarg="""%_cmdf%""" -el %_args% set _PSarg=%_PSarg:'=''% set "_ttemp=%userprofile%\AppData\Local\Temp" @@ -283,7 +291,7 @@ setlocal EnableDelayedExpansion ::======================================================================================================================================== -echo "!_batf!" | find /i "!_ttemp!" %nul1% && ( +echo "!_cmdf!" | find /i "!_ttemp!" %nul1% && ( if /i not "!_work!"=="!_ttemp!" ( %eline% echo The script was launched from the temp folder. @@ -413,11 +421,11 @@ reg query HKCU\Console /v QuickEdit %nul2% | find /i "0x0" %nul1% && set resetQE reg add HKCU\Console /v QuickEdit /t REG_DWORD /d 0 /f %nul1% if defined terminal ( -start conhost.exe "!_batf!" %_args% -qedit +start conhost.exe "!_cmdf!" %_args% -qedit start reg add HKCU\Console /v QuickEdit /t REG_DWORD /d %resetQE% /f %nul1% exit /b ) else if %resetQE% EQU 1 ( -start cmd.exe /c ""!_batf!" %_args% -qedit" +start cmd.exe /c ""!_cmdf!" %_args% -qedit" start reg add HKCU\Console /v QuickEdit /t REG_DWORD /d %resetQE% /f %nul1% exit /b ) @@ -538,7 +546,9 @@ echo: echo ______________________________________________________________ echo: call :dk_color2 %_White% " [1] " %_Green% "Auto" -echo Builds ^>= 26100 - StaticCID (KMS4k if offline) +echo Builds ^>= 26100 - Windows only - KMS4k +echo Other options - StaticCID +echo: echo Builds ^< 26100 - ZeroCID echo __________________________________________________ echo: @@ -659,6 +669,9 @@ if /i %_actmethod%==KMS4k set tsmethod=KMS4k if /i %_actmethod%==Auto ( if %winbuild% GEQ 26100 ( set tsmethod=StaticCID +if !_actwin!==1 if not !_actwinesuoff!==1 ( +set tsmethod=KMS4k +) ) else ( set tsmethod=ZeroCID ) @@ -774,7 +787,7 @@ call :dk_color %Red% "Checking Activation ID [Not Found] [%tsed set error=1 if /i %tsmethod%==KMS4k ( if /i %_actmethod%==Auto ( -call :dk_color %Blue% "Connect to the Internet and try again. Script will use the StaticCID activation method." +call :dk_color %Blue% "Return to the previous menu and select StaticCID activation method. Internet connection is required to activate." ) else ( call :dk_color %Blue% "Use non-KMS4K activation options from the previous menu." ) @@ -1946,7 +1959,7 @@ 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 ( -if /i %tsmethod%==KMS4k if %winbuild% GEQ 26100 ( +if /i %tsmethod%==KMS4k if %winbuild% GEQ 26100 if %_actwin%==1 ( echo: call :dk_color %Gray% "In Windows settings, you may see a renewal notification for activation that can be ignored." if /i %_actmethod%==Auto call :dk_color %Gray% "To avoid this notification, run the script with an internet connection to use the StaticCID method." @@ -8825,27 +8838,27 @@ namespace LibTSforge.PhysicalStore } '@ $ErrorActionPreference = 'Stop' -$binPath = "$env:_work\BIN\LibTSforge.dll" $psMajorVer = (Get-Host).Version.Major $build = [System.Environment]::OSVersion.Version.Build -if (Test-Path -LiteralPath $binPath) { - Write-Host "LibTSforge.dll found in BIN folder. Loading the DLL..." - Add-Type -Path $binPath -} -else { - $cp = [CodeDom.Compiler.CompilerParameters] [string[]]@("System.dll", "System.Core.dll", "System.ServiceProcess.dll", "System.Xml.dll", "System.Xml.Linq.dll") - if ($psMajorVer -le 2) { $cp.CompilerOptions = "/define:POWERSHELL2 /unsafe" } else { $cp.CompilerOptions = "/unsafe" } - $lang = if ($psMajorVer -gt 2) { "CSharp" } else { "CSharpVersion3" } - - $ctemp = "$env:SystemRoot\Temp\" - if (-Not (Test-Path -Path $ctemp)) { New-Item -Path $ctemp -ItemType Directory > $null } - $env:TMP = $ctemp - $env:TEMP = $ctemp - - $cp.GenerateInMemory = $true - Add-Type -Language $lang -TypeDefinition $src -CompilerParameters $cp +$cp = [CodeDom.Compiler.CompilerParameters] [string[]]@("System.dll", "System.Core.dll", "System.ServiceProcess.dll", "System.Xml.dll", "System.Xml.Linq.dll") +if ($psMajorVer -le 2) { $cp.CompilerOptions = "/define:POWERSHELL2 /unsafe" } else { $cp.CompilerOptions = "/unsafe" } +$lang = if ($psMajorVer -gt 2) { "CSharp" } else { "CSharpVersion3" } + +$ctemp = "$env:SystemRoot\Temp\$([Guid]::NewGuid().Guid)\" +if (-Not (Test-Path -Path $ctemp)) { New-Item -Path $ctemp -ItemType Directory > $null } +$env:TMP = $ctemp +$env:TEMP = $ctemp + +$cp.GenerateInMemory = $true +Add-Type -Language $lang -TypeDefinition $src -CompilerParameters $cp + +try { + $cp.TempFiles.Dispose() +} catch { +# Older .NET Framework versions do not have that method, but they also don't create the folder that it removes. } +Remove-Item -Path $ctemp if ($env:_debug -eq '0') { [LibTSforge.Logger]::HideOutput = $true @@ -8947,7 +8960,7 @@ if (-not $env:resetstuff) { if ($env:tsmethod -eq "KMS4k") { if ($build -ge 26100) { Write-Host "[$prodName] is activated with KMS4k for over 4,000 years." -ForegroundColor White -BackgroundColor DarkGreen - Write-Host "From build 26100.7019, Windows will always display and stay at 180 days remaining if the actual period is longer." -ForegroundColor White -BackgroundColor Darkgray + Write-Host "From build 26100.7019, Windows will always display a remaining activation period of 180 days in Settings." -ForegroundColor White -BackgroundColor Darkgray } else { Write-Host "[$prodName] is activated till $([DateTime]::Now.AddMinutes($GracePeriodStatus).ToString('yyyy-MM-dd HH:mm:ss')) with $env:tsmethod." -ForegroundColor White -BackgroundColor DarkGreen diff --git a/MAS/Separate-Files-Version/Change_Office_Edition.cmd b/MAS/Separate-Files-Version/Change_Office_Edition.cmd index f797e22..0e0f31e 100644 --- a/MAS/Separate-Files-Version/Change_Office_Edition.cmd +++ b/MAS/Separate-Files-Version/Change_Office_Edition.cmd @@ -1,4 +1,4 @@ -@set masver=3.11 +@set masver=3.12 @echo off @@ -479,6 +479,19 @@ call :dk_color2 %Blue% "Check this webpage for help - " %_Yellow% " %mas%trouble goto dk_done ) +set "o_randguid=" +for /f %%G in ('%psc% "[Guid]::NewGuid().Guid" ^| findstr /r "^[0123456789abcdef]*-[0123456789abcdef]*-[0123456789abcdef]*-[0123456789abcdef]*-[0123456789abcdef]*$"') do set "o_randguid=%%G" +if not defined o_randguid ( +set "o_randguid=" +%eline% +echo Unable to generate GUID with PowerShell. +echo Aborting... +set fixes=%fixes% %mas%troubleshoot +call :dk_color2 %Blue% "Check this webpage for help - " %_Yellow% " %mas%troubleshoot" +goto dk_done +) +md "%SystemRoot%\Temp\%o_randguid%\" + ::======================================================================================================================================== :oemenu @@ -577,7 +590,7 @@ mode 98, 45 %psc% "&{$W=$Host.UI.RawUI.WindowSize;$B=$Host.UI.RawUI.BufferSize;$W.Height=44;$B.Height=100;$Host.UI.RawUI.WindowSize=$W;$Host.UI.RawUI.BufferSize=$B;}" %nul% ) -if not exist %SystemRoot%\Temp\%list%.txt ( +if not exist %SystemRoot%\Temp\%o_randguid%\%list%.txt ( %eline% echo Failed to generate available editions list. set fixes=%fixes% %mas%troubleshoot @@ -599,7 +612,7 @@ if %winbuild% LSS 10240 ( echo Unsupported products such as 2019/2021/2024 are excluded from this list. ) else ( for %%# in (2019 2021 2024) do ( -find /i "%%#" "%SystemRoot%\Temp\%list%.txt" %nul1% || ( +find /i "%%#" "%SystemRoot%\Temp\%o_randguid%\%list%.txt" %nul1% || ( if defined _notfound (set _notfound=%%#, !_notfound!) else (set _notfound=%%#) ) ) @@ -608,7 +621,7 @@ if defined _notfound call :dk_color %Gray% "Office !_notfound! is not in this li %line% echo: -for /f "usebackq delims=" %%A in (%SystemRoot%\Temp\%list%.txt) do ( +for /f "usebackq delims=" %%A in (%SystemRoot%\Temp\%o_randguid%\%list%.txt) do ( set /a counter+=1 if !counter! LSS 10 ( echo [!counter!] %%A @@ -641,7 +654,7 @@ set suites= echo %list% | find /i "Suites" %nul1% && ( set suites=1 %psc% "$f=[IO.File]::ReadAllText('!_batp!') -split ':getappnames\:.*';. ([scriptblock]::Create($f[1]))" -if not exist %SystemRoot%\Temp\getAppIds.txt ( +if not exist %SystemRoot%\Temp\%o_randguid%\getAppIds.txt ( %eline% echo Failed to generate available apps list. set fixes=%fixes% %mas%troubleshoot @@ -663,7 +676,7 @@ Visio Word ) do ( if defined suites ( -find /i "%%#" "%SystemRoot%\Temp\getAppIds.txt" %nul1% && (set %%#_st=On) || (set %%#_st=) +find /i "%%#" "%SystemRoot%\Temp\%o_randguid%\getAppIds.txt" %nul1% && (set %%#_st=On) || (set %%#_st=) ) else ( set %%#_st= ) @@ -1287,11 +1300,11 @@ exit /b :oe_tempcleanup -del /f /q %SystemRoot%\Temp\SingleApps_Volume.txt %nul% -del /f /q %SystemRoot%\Temp\SingleApps_Retail.txt %nul% -del /f /q %SystemRoot%\Temp\Suites_Volume.txt %nul% -del /f /q %SystemRoot%\Temp\Suites_Retail.txt %nul% -del /f /q %SystemRoot%\Temp\getAppIds.txt %nul% +del %SystemRoot%\Temp\%o_randguid%\SingleApps_Volume.txt %nul% +del %SystemRoot%\Temp\%o_randguid%\SingleApps_Retail.txt %nul% +del %SystemRoot%\Temp\%o_randguid%\Suites_Volume.txt %nul% +del %SystemRoot%\Temp\%o_randguid%\Suites_Retail.txt %nul% +del %SystemRoot%\Temp\%o_randguid%\getAppIds.txt %nul% exit /b ::======================================================================================================================================== @@ -1445,7 +1458,7 @@ if ($windowsBuild -lt 9200) { :getlist: $xmlPath1 = $env:_c2rXml $xmlPath2 = $env:_masterxml -$outputDir = $env:SystemRoot + "\Temp\" +$outputDir = $env:SystemRoot + "\Temp\$env:o_randguid\" $buildNumber = [System.Environment]::OSVersion.Version.Build $excludedKeywords = @("2019", "2021", "2024") $productReleaseIds = @() @@ -1505,7 +1518,7 @@ foreach ($section in $categories.Keys) { :getappnames: $xmlPath = $env:_masterxml $targetSkuId = $env:targetedition -$outputDir = $env:SystemRoot + "\Temp\" +$outputDir = $env:SystemRoot + "\Temp\$env:o_randguid\" $outputFile = Join-Path -Path $outputDir -ChildPath "getAppIds.txt" $excludeIds = @("shared", "PowerPivot", "PowerView", "MondoOnly", "OSM", "OSMUX", "Groove", "DCF") diff --git a/MAS/Separate-Files-Version/Change_Windows_Edition.cmd b/MAS/Separate-Files-Version/Change_Windows_Edition.cmd index 77f015e..8dee1d5 100644 --- a/MAS/Separate-Files-Version/Change_Windows_Edition.cmd +++ b/MAS/Separate-Files-Version/Change_Windows_Edition.cmd @@ -1,4 +1,4 @@ -@set masver=3.11 +@set masver=3.12 @echo off @@ -35,6 +35,18 @@ set "Path=%SystemRoot%\Sysnative;%SystemRoot%;%SystemRoot%\Sysnative\Wbem;%Syste set "ComSpec=%SysPath%\cmd.exe" set "PSModulePath=%ProgramFiles%\WindowsPowerShell\Modules;%SysPath%\WindowsPowerShell\v1.0\Modules" +cd /d "%SysPath%" + +:: Workaround for https://github.com/microsoft/terminal/issues/15212, when %0 starts with a quote %0 parameter expansion is not specialcased. +:: Changing %0 to something that is not quoted bypasses the issue. +goto arg_workaround_end +:arg_workaround +set "_cmdf=%~f0" +exit /b +:arg_workaround_end + +call :arg_workaround + set re1= set re2= set "_cmdf=%~f0" @@ -85,8 +97,7 @@ cls :: Check LF line ending -pushd "%~dp0" ->nul findstr /v "$" "%~nx0" && ( +>nul findstr /v "$" "%_cmdf%" && ( echo: echo Error - Script either has LF line ending issue or an empty line at the end of the script is missing. echo: @@ -95,10 +106,8 @@ echo Check this webpage for help - %mas%troubleshoot echo: echo: ping 127.0.0.1 -n 20 >nul -popd exit /b ) -popd ::======================================================================================================================================== @@ -164,10 +173,9 @@ goto dk_done set "_work=%~dp0" if "%_work:~-1%"=="\" set "_work=%_work:~0,-1%" -set "_batf=%~f0" -set "_batp=%_batf:'=''%" +set "_batp=%_cmdf:'=''%" -set _PSarg="""%~f0""" -el %_args% +set _PSarg="""%_cmdf%""" -el %_args% set _PSarg=%_PSarg:'=''% set "_ttemp=%userprofile%\AppData\Local\Temp" @@ -176,7 +184,7 @@ setlocal EnableDelayedExpansion ::======================================================================================================================================== -echo "!_batf!" | find /i "!_ttemp!" %nul1% && ( +echo "!_cmdf!" | find /i "!_ttemp!" %nul1% && ( if /i not "!_work!"=="!_ttemp!" ( %eline% echo The script was launched from the temp folder. @@ -306,11 +314,11 @@ reg query HKCU\Console /v QuickEdit %nul2% | find /i "0x0" %nul1% && set resetQE reg add HKCU\Console /v QuickEdit /t REG_DWORD /d 0 /f %nul1% if defined terminal ( -start conhost.exe "!_batf!" %_args% -qedit +start conhost.exe "!_cmdf!" %_args% -qedit start reg add HKCU\Console /v QuickEdit /t REG_DWORD /d %resetQE% /f %nul1% exit /b ) else if %resetQE% EQU 1 ( -start cmd.exe /c ""!_batf!" %_args% -qedit" +start cmd.exe /c ""!_cmdf!" %_args% -qedit" start reg add HKCU\Console /v QuickEdit /t REG_DWORD /d %resetQE% /f %nul1% exit /b ) @@ -827,8 +835,8 @@ exit /b :: https://stackoverflow.com/a/46268232 -set "ddf="%SystemRoot%\Temp\%Random%%Random%%Random%%Random%"" -%nul% del /q /f %ddf% +for /f %%G in ('%psc% "[Guid]::NewGuid().Guid"') do set "randguid=%%G" +set "ddf="%SystemRoot%\Temp\%Random%%randguid%"" echo/.New Cabinet>%ddf% echo/.set Cabinet=ON>>%ddf% echo/.set CabinetFileCountThreshold=0;>>%ddf% @@ -1293,7 +1301,7 @@ if($false -eq ($installCandidates.Keys -contains $SetEdition)) { Exit 1 } -$xmlPath = $Env:SystemRoot + '\Temp' + '\CbsUpgrade.xml' +$xmlPath = $Env:SystemRoot + '\Temp' + "\$([Guid]::NewGuid().Guid)CbsUpgrade.xml" Write-UpgradeXml -RemovalCandidates $removalCandidates ` -InstallCandidates $installCandidates[$SetEdition] ` diff --git a/MAS/Separate-Files-Version/Check_Activation_Status.cmd b/MAS/Separate-Files-Version/Check_Activation_Status.cmd index 45efa28..1bfde0e 100644 --- a/MAS/Separate-Files-Version/Check_Activation_Status.cmd +++ b/MAS/Separate-Files-Version/Check_Activation_Status.cmd @@ -26,6 +26,18 @@ set "Path=%SystemRoot%\Sysnative;%SystemRoot%;%SystemRoot%\Sysnative\Wbem;%Syste set "ComSpec=%SysPath%\cmd.exe" set "PSModulePath=%ProgramFiles%\WindowsPowerShell\Modules;%SysPath%\WindowsPowerShell\v1.0\Modules" +cd /d "%SysPath%" + +:: Workaround for https://github.com/microsoft/terminal/issues/15212, when %0 starts with a quote %0 parameter expansion is not specialcased. +:: Changing %0 to something that is not quoted bypasses the issue. +goto arg_workaround_end +:arg_workaround +set "_cmdf=%~f0" +exit /b +:arg_workaround_end + +call :arg_workaround + set "ps=%SysPath%\WindowsPowerShell\v1.0\powershell.exe" set "_psc=%ps% -nop -c" set "_err===== ERROR ====" diff --git a/MAS/Separate-Files-Version/Extract_OEM_Folder.cmd b/MAS/Separate-Files-Version/Extract_OEM_Folder.cmd index 39cef76..7d9930f 100644 --- a/MAS/Separate-Files-Version/Extract_OEM_Folder.cmd +++ b/MAS/Separate-Files-Version/Extract_OEM_Folder.cmd @@ -1,4 +1,4 @@ -@set masver=3.11 +@set masver=3.12 @echo off @@ -30,6 +30,18 @@ set "Path=%SystemRoot%\Sysnative;%SystemRoot%;%SystemRoot%\Sysnative\Wbem;%Syste set "ComSpec=%SysPath%\cmd.exe" set "PSModulePath=%ProgramFiles%\WindowsPowerShell\Modules;%SysPath%\WindowsPowerShell\v1.0\Modules" +cd /d "%SysPath%" + +:: Workaround for https://github.com/microsoft/terminal/issues/15212, when %0 starts with a quote %0 parameter expansion is not specialcased. +:: Changing %0 to something that is not quoted bypasses the issue. +goto arg_workaround_end +:arg_workaround +set "_cmdf=%~f0" +exit /b +:arg_workaround_end + +call :arg_workaround + set re1= set re2= set "_cmdf=%~f0" @@ -80,8 +92,7 @@ cls :: Check LF line ending -pushd "%~dp0" ->nul findstr /v "$" "%~nx0" && ( +>nul findstr /v "$" "%_cmdf%" && ( echo: echo Error - Script either has LF line ending issue or an empty line at the end of the script is missing. echo: @@ -90,10 +101,8 @@ echo Check this webpage for help - %mas%troubleshoot echo: echo: ping 127.0.0.1 -n 20 >nul -popd exit /b ) -popd ::======================================================================================================================================== @@ -175,10 +184,9 @@ goto done2 set "_work=%~dp0" if "%_work:~-1%"=="\" set "_work=%_work:~0,-1%" -set "_batf=%~f0" -set "_batp=%_batf:'=''%" +set "_batp=%_cmdf:'=''%" -set _PSarg="""%~f0""" -el %_args% +set _PSarg="""%_cmdf%""" -el %_args% set _PSarg=%_PSarg:'=''% set "_ttemp=%userprofile%\AppData\Local\Temp" @@ -187,14 +195,14 @@ setlocal EnableDelayedExpansion ::======================================================================================================================================== -echo "!_batf!" | find /i "!_ttemp!" %nul1% && ( +echo "!_cmdf!" | find /i "!_ttemp!" %nul1% && ( if /i not "!_work!"=="!_ttemp!" ( %eline% echo The script was launched from the temp folder. echo You are most likely running the script directly from the archive file. echo: echo Extract the archive file and launch the script from the extracted folder. -goto done2 +goto dk_done ) ) @@ -317,11 +325,11 @@ reg query HKCU\Console /v QuickEdit %nul2% | find /i "0x0" %nul1% && set resetQE reg add HKCU\Console /v QuickEdit /t REG_DWORD /d 0 /f %nul1% if defined terminal ( -start conhost.exe "!_batf!" %_args% -qedit +start conhost.exe "!_cmdf!" %_args% -qedit start reg add HKCU\Console /v QuickEdit /t REG_DWORD /d %resetQE% /f %nul1% exit /b ) else if %resetQE% EQU 1 ( -start cmd.exe /c ""!_batf!" %_args% -qedit" +start cmd.exe /c ""!_cmdf!" %_args% -qedit" start reg add HKCU\Console /v QuickEdit /t REG_DWORD /d %resetQE% /f %nul1% exit /b ) diff --git a/MAS/Separate-Files-Version/Troubleshoot.cmd b/MAS/Separate-Files-Version/Troubleshoot.cmd index 8d85ba6..4e2cf79 100644 --- a/MAS/Separate-Files-Version/Troubleshoot.cmd +++ b/MAS/Separate-Files-Version/Troubleshoot.cmd @@ -1,4 +1,4 @@ -@set masver=3.11 +@set masver=3.12 @echo off @@ -30,6 +30,18 @@ set "Path=%SystemRoot%\Sysnative;%SystemRoot%;%SystemRoot%\Sysnative\Wbem;%Syste set "ComSpec=%SysPath%\cmd.exe" set "PSModulePath=%ProgramFiles%\WindowsPowerShell\Modules;%SysPath%\WindowsPowerShell\v1.0\Modules" +cd /d "%SysPath%" + +:: Workaround for https://github.com/microsoft/terminal/issues/15212, when %0 starts with a quote %0 parameter expansion is not specialcased. +:: Changing %0 to something that is not quoted bypasses the issue. +goto arg_workaround_end +:arg_workaround +set "_cmdf=%~f0" +exit /b +:arg_workaround_end + +call :arg_workaround + set re1= set re2= set "_cmdf=%~f0" @@ -80,8 +92,7 @@ cls :: Check LF line ending -pushd "%~dp0" ->nul findstr /v "$" "%~nx0" && ( +>nul findstr /v "$" "%_cmdf%" && ( echo: echo Error - Script either has LF line ending issue or an empty line at the end of the script is missing. echo: @@ -90,10 +101,8 @@ echo Check this webpage for help - %mas%troubleshoot echo: echo: ping 127.0.0.1 -n 20 >nul -popd exit /b ) -popd ::======================================================================================================================================== @@ -176,10 +185,9 @@ goto dk_done set "_work=%~dp0" if "%_work:~-1%"=="\" set "_work=%_work:~0,-1%" -set "_batf=%~f0" -set "_batp=%_batf:'=''%" +set "_batp=%_cmdf:'=''%" -set _PSarg="""%~f0""" -el %_args% +set _PSarg="""%_cmdf%""" -el %_args% set _PSarg=%_PSarg:'=''% set "_ttemp=%userprofile%\AppData\Local\Temp" @@ -188,7 +196,7 @@ setlocal EnableDelayedExpansion ::======================================================================================================================================== -echo "!_batf!" | find /i "!_ttemp!" %nul1% && ( +echo "!_cmdf!" | find /i "!_ttemp!" %nul1% && ( if /i not "!_work!"=="!_ttemp!" ( %eline% echo The script was launched from the temp folder. @@ -318,11 +326,11 @@ reg query HKCU\Console /v QuickEdit %nul2% | find /i "0x0" %nul1% && set resetQE reg add HKCU\Console /v QuickEdit /t REG_DWORD /d 0 /f %nul1% if defined terminal ( -start conhost.exe "!_batf!" %_args% -qedit +start conhost.exe "!_cmdf!" %_args% -qedit start reg add HKCU\Console /v QuickEdit /t REG_DWORD /d %resetQE% /f %nul1% exit /b ) else if %resetQE% EQU 1 ( -start cmd.exe /c ""!_batf!" %_args% -qedit" +start cmd.exe /c ""!_cmdf!" %_args% -qedit" start reg add HKCU\Console /v QuickEdit /t REG_DWORD /d %resetQE% /f %nul1% exit /b ) From 40c74d0d7f42146b1dd1ab59b5c7e836d6a56d1f Mon Sep 17 00:00:00 2001 From: WitherOrNot Date: Sat, 4 Jul 2026 03:51:45 -0400 Subject: [PATCH 64/66] export-ignore --- .gitattributes | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/.gitattributes b/.gitattributes index 4d21483..de5bd3d 100644 --- a/.gitattributes +++ b/.gitattributes @@ -1,4 +1,4 @@ -# MAS export-ignore -# LICENSE export-ignore -# README.md export-ignore -# .gitattributes export-ignore +MAS export-ignore +LICENSE export-ignore +README.md export-ignore +.gitattributes export-ignore From 05c4f881efec946c0040cdd552d1afa9a519704b Mon Sep 17 00:00:00 2001 From: WitherOrNot Date: Sat, 4 Jul 2026 03:56:42 -0400 Subject: [PATCH 65/66] Revert "export-ignore" This reverts commit 40c74d0d7f42146b1dd1ab59b5c7e836d6a56d1f. --- .gitattributes | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/.gitattributes b/.gitattributes index de5bd3d..4d21483 100644 --- a/.gitattributes +++ b/.gitattributes @@ -1,4 +1,4 @@ -MAS export-ignore -LICENSE export-ignore -README.md export-ignore -.gitattributes export-ignore +# MAS export-ignore +# LICENSE export-ignore +# README.md export-ignore +# .gitattributes export-ignore From 6401d2f36975dc07bcb6d22ea823a8498a75ec01 Mon Sep 17 00:00:00 2001 From: WitherOrNot Date: Sat, 4 Jul 2026 12:54:24 -0400 Subject: [PATCH 66/66] Update README --- README.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index c43fff6..c4731fb 100644 --- a/README.md +++ b/README.md @@ -80,5 +80,5 @@ --- -Latest Version: 3.11 -Release date: 02-May-2026 +Latest Version: 3.12 +Release date: 04-Jul-2026