From 4c53e6231baeeb9985a7721a54c32e6fed854ce8 Mon Sep 17 00:00:00 2001 From: WindowsAddict Date: Thu, 8 May 2025 05:31:04 +0530 Subject: Fix Microsoft links --- .../Activators/TSforge_Activation.cmd | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) (limited to 'MAS/Separate-Files-Version/Activators/TSforge_Activation.cmd') diff --git a/MAS/Separate-Files-Version/Activators/TSforge_Activation.cmd b/MAS/Separate-Files-Version/Activators/TSforge_Activation.cmd index b5bf9f5..01671ab 100644 --- a/MAS/Separate-Files-Version/Activators/TSforge_Activation.cmd +++ b/MAS/Separate-Files-Version/Activators/TSforge_Activation.cmd @@ -238,8 +238,8 @@ reg query "HKLM\SOFTWARE\Microsoft\NET Framework Setup\NDP\v3.5" /v Install %nul echo .NET 3.5 Framework is not installed in your system. echo Install it using the following URL. echo: -echo https://www.microsoft.com/download/details.aspx?id=25150 -if %_unattended%==0 start https://www.microsoft.com/download/details.aspx?id=25150 +echo https://www.microsoft.com/en-us/download/details.aspx?id=25150 +if %_unattended%==0 start https://www.microsoft.com/en-us/download/details.aspx?id=25150 goto dk_done ) ) @@ -1944,7 +1944,7 @@ exit /b :oh_clearblock :: Find remnants of Office vNext/shared/device license block and remove it because it stops other licenses from appearing -:: https://learn.microsoft.com/office/troubleshoot/activation/reset-office-365-proplus-activation-state +:: https://learn.microsoft.com/en-us/office/troubleshoot/activation/reset-office-365-proplus-activation-state set _sidlist= for /f "tokens=* delims=" %%a in ('%psc% "$p = 'HKLM:\SOFTWARE\Microsoft\Windows NT\CurrentVersion\ProfileList'; Get-ChildItem $p | ForEach-Object { $pi = (Get-ItemProperty """"$p\$($_.PSChildName)"""").ProfileImagePath; if ($pi -like '*\Users\*' -and (Test-Path """"$pi\NTUSER.DAT"""") -and -not ($_.PSChildName -match '\.bak$')) { Split-Path $_.PSPath -Leaf } }" %nul6%') do (if defined _sidlist (set _sidlist=!_sidlist! %%a) else (set _sidlist=%%a)) @@ -2040,12 +2040,12 @@ reg delete HKLM\SOFTWARE\Microsoft\Office\15.0\ClickToRun\Configuration /v Share ) :: Clear device-based-licensing -:: https://learn.microsoft.com/deployoffice/device-based-licensing +:: https://learn.microsoft.com/en-us/deployoffice/device-based-licensing for /f %%# in ('reg query "%o16c2r_reg%\Configuration" /f *.DeviceBasedLicensing %nul6% ^| findstr REG_') do reg delete "%o16c2r_reg%\Configuration" /v %%# /f %nul% :: Remove OEM registry key -:: https://support.microsoft.com/office/office-repeatedly-prompts-you-to-activate-on-a-new-pc-a9a6b05f-f6ce-4d1f-8d49-eb5007b64ba1 +:: https://support.microsoft.com/en-us/office/office-repeatedly-prompts-you-to-activate-on-a-new-pc-a9a6b05f-f6ce-4d1f-8d49-eb5007b64ba1 for %%# in (15 16) do ( reg delete "HKLM\SOFTWARE\Microsoft\Office\%%#.0\Common\OEM" /f %nul% @@ -2638,7 +2638,7 @@ call :dk_color2 %Red% "Checking Boot Mode [%safeboot_option ) -:: https://learn.microsoft.com/windows-hardware/manufacture/desktop/windows-setup-states +:: 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) @@ -2909,7 +2909,7 @@ set "permerror=Error Found In SPP Registries" ) ) -REM https://learn.microsoft.com/office/troubleshoot/activation/license-issue-when-start-office-application +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% && ( -- cgit v1.2.3 From 74b7c74218f8f0f4fd87b2a71b985ed604fb380e Mon Sep 17 00:00:00 2001 From: WindowsAddict Date: Sun, 18 May 2025 01:40:41 +0530 Subject: Continue to activate in case of errors --- 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(-) (limited to 'MAS/Separate-Files-Version/Activators/TSforge_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 c824895..c683783 100644 --- a/MAS/All-In-One-Version-KL/MAS_AIO.cmd +++ b/MAS/All-In-One-Version-KL/MAS_AIO.cmd @@ -4293,7 +4293,7 @@ echo Checking Activation ID [%tempid%] [%tsedition%] set generickey=1 call :dk_inskey "[%key%]" -if not defined error set tsids=%tsids% %tempid% +set tsids=%tsids% %tempid% goto :ts_esu ::======================================================================================================================================== @@ -4901,7 +4901,7 @@ goto :ts_act ) call :dk_inskey "[%key%]" -if not defined error set tsids=%tsids% %tempid% +set tsids=%tsids% %tempid% goto :ts_act ::======================================================================================================================================== diff --git a/MAS/Separate-Files-Version/Activators/TSforge_Activation.cmd b/MAS/Separate-Files-Version/Activators/TSforge_Activation.cmd index 01671ab..3657ce6 100644 --- a/MAS/Separate-Files-Version/Activators/TSforge_Activation.cmd +++ b/MAS/Separate-Files-Version/Activators/TSforge_Activation.cmd @@ -702,7 +702,7 @@ echo Checking Activation ID [%tempid%] [%tsedition%] set generickey=1 call :dk_inskey "[%key%]" -if not defined error set tsids=%tsids% %tempid% +set tsids=%tsids% %tempid% goto :ts_esu ::======================================================================================================================================== @@ -1310,7 +1310,7 @@ goto :ts_act ) call :dk_inskey "[%key%]" -if not defined error set tsids=%tsids% %tempid% +set tsids=%tsids% %tempid% goto :ts_act ::======================================================================================================================================== -- cgit v1.2.3 From 691e6088d516f25b61cd3de0362668de3be5199b Mon Sep 17 00:00:00 2001 From: WindowsAddict Date: Sun, 18 May 2025 02:41:47 +0530 Subject: Use user temp folder or random name in Windows/Temp --- MAS/All-In-One-Version-KL/MAS_AIO.cmd | 8 ++++---- MAS/Separate-Files-Version/Activators/Ohook_Activation_AIO.cmd | 6 +++--- MAS/Separate-Files-Version/Activators/Online_KMS_Activation.cmd | 6 +++--- MAS/Separate-Files-Version/Activators/TSforge_Activation.cmd | 6 +++--- MAS/Separate-Files-Version/Change_Windows_Edition.cmd | 2 +- MAS/Separate-Files-Version/Troubleshoot.cmd | 2 +- 6 files changed, 15 insertions(+), 15 deletions(-) (limited to 'MAS/Separate-Files-Version/Activators/TSforge_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 c683783..ca13cef 100644 --- a/MAS/All-In-One-Version-KL/MAS_AIO.cmd +++ b/MAS/All-In-One-Version-KL/MAS_AIO.cmd @@ -1286,9 +1286,9 @@ if %_wmic% EQU 0 set "chkapp=for /f "tokens=2 delims==" %%a in ('%psc% "(([WMISE if defined allapps if %1==0ff1ce15-a989-479d-af46-f275c6370663 ( set len=0 -echo:!allapps!> %SystemRoot%\Temp\chklen -for %%A in (%SystemRoot%\Temp\chklen) do (set len=%%~zA) -del %SystemRoot%\Temp\chklen %nul% +echo:!allapps!> "!_ttemp!\chklen" +for %%A in ("!_ttemp!\chklen") do (set len=%%~zA) +del "!_ttemp!\chklen" %nul% if !len! GTR 6000 ( %eline% @@ -16315,7 +16315,7 @@ goto :at_menu :: https://stackoverflow.com/a/46268232 -set "ddf="%SystemRoot%\Temp\ddf"" +set "ddf="%SystemRoot%\Temp\%Random%%Random%%Random%%Random%"" %nul% del /q /f %ddf% echo/.New Cabinet>%ddf% echo/.set Cabinet=ON>>%ddf% diff --git a/MAS/Separate-Files-Version/Activators/Ohook_Activation_AIO.cmd b/MAS/Separate-Files-Version/Activators/Ohook_Activation_AIO.cmd index 4c582c2..bef9d50 100644 --- a/MAS/Separate-Files-Version/Activators/Ohook_Activation_AIO.cmd +++ b/MAS/Separate-Files-Version/Activators/Ohook_Activation_AIO.cmd @@ -1701,9 +1701,9 @@ if %_wmic% EQU 0 set "chkapp=for /f "tokens=2 delims==" %%a in ('%psc% "(([WMISE if defined allapps if %1==0ff1ce15-a989-479d-af46-f275c6370663 ( set len=0 -echo:!allapps!> %SystemRoot%\Temp\chklen -for %%A in (%SystemRoot%\Temp\chklen) do (set len=%%~zA) -del %SystemRoot%\Temp\chklen %nul% +echo:!allapps!> "!_ttemp!\chklen" +for %%A in ("!_ttemp!\chklen") do (set len=%%~zA) +del "!_ttemp!\chklen" %nul% if !len! GTR 6000 ( %eline% diff --git a/MAS/Separate-Files-Version/Activators/Online_KMS_Activation.cmd b/MAS/Separate-Files-Version/Activators/Online_KMS_Activation.cmd index 3546ad8..53ebe2c 100644 --- a/MAS/Separate-Files-Version/Activators/Online_KMS_Activation.cmd +++ b/MAS/Separate-Files-Version/Activators/Online_KMS_Activation.cmd @@ -2675,9 +2675,9 @@ if %_wmic% EQU 0 set "chkapp=for /f "tokens=2 delims==" %%a in ('%psc% "(([WMISE if defined allapps if %1==0ff1ce15-a989-479d-af46-f275c6370663 ( set len=0 -echo:!allapps!> %SystemRoot%\Temp\chklen -for %%A in (%SystemRoot%\Temp\chklen) do (set len=%%~zA) -del %SystemRoot%\Temp\chklen %nul% +echo:!allapps!> "!_ttemp!\chklen" +for %%A in ("!_ttemp!\chklen") do (set len=%%~zA) +del "!_ttemp!\chklen" %nul% if !len! GTR 6000 ( %eline% diff --git a/MAS/Separate-Files-Version/Activators/TSforge_Activation.cmd b/MAS/Separate-Files-Version/Activators/TSforge_Activation.cmd index 3657ce6..5942597 100644 --- a/MAS/Separate-Files-Version/Activators/TSforge_Activation.cmd +++ b/MAS/Separate-Files-Version/Activators/TSforge_Activation.cmd @@ -2335,9 +2335,9 @@ if %_wmic% EQU 0 set "chkapp=for /f "tokens=2 delims==" %%a in ('%psc% "(([WMISE if defined allapps if %1==0ff1ce15-a989-479d-af46-f275c6370663 ( set len=0 -echo:!allapps!> %SystemRoot%\Temp\chklen -for %%A in (%SystemRoot%\Temp\chklen) do (set len=%%~zA) -del %SystemRoot%\Temp\chklen %nul% +echo:!allapps!> "!_ttemp!\chklen" +for %%A in ("!_ttemp!\chklen") do (set len=%%~zA) +del "!_ttemp!\chklen" %nul% if !len! GTR 6000 ( %eline% diff --git a/MAS/Separate-Files-Version/Change_Windows_Edition.cmd b/MAS/Separate-Files-Version/Change_Windows_Edition.cmd index e0fa600..f875018 100644 --- a/MAS/Separate-Files-Version/Change_Windows_Edition.cmd +++ b/MAS/Separate-Files-Version/Change_Windows_Edition.cmd @@ -795,7 +795,7 @@ exit /b :: https://stackoverflow.com/a/46268232 -set "ddf="%SystemRoot%\Temp\ddf"" +set "ddf="%SystemRoot%\Temp\%Random%%Random%%Random%%Random%"" %nul% del /q /f %ddf% echo/.New Cabinet>%ddf% echo/.set Cabinet=ON>>%ddf% diff --git a/MAS/Separate-Files-Version/Troubleshoot.cmd b/MAS/Separate-Files-Version/Troubleshoot.cmd index fb3a879..b3af1c4 100644 --- a/MAS/Separate-Files-Version/Troubleshoot.cmd +++ b/MAS/Separate-Files-Version/Troubleshoot.cmd @@ -1178,7 +1178,7 @@ goto :at_menu :: https://stackoverflow.com/a/46268232 -set "ddf="%SystemRoot%\Temp\ddf"" +set "ddf="%SystemRoot%\Temp\%Random%%Random%%Random%%Random%"" %nul% del /q /f %ddf% echo/.New Cabinet>%ddf% echo/.set Cabinet=ON>>%ddf% -- cgit v1.2.3 From 966fbd14f6b4f17ee07c9ccc1d97dc499d16fc0f Mon Sep 17 00:00:00 2001 From: WindowsAddict Date: Sun, 18 May 2025 02:47:41 +0530 Subject: Don't ask to run other fixes if file infector malware is detected --- MAS/All-In-One-Version-KL/MAS_AIO.cmd | 2 +- MAS/Separate-Files-Version/Activators/HWID_Activation.cmd | 2 +- MAS/Separate-Files-Version/Activators/KMS38_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 +- 6 files changed, 6 insertions(+), 6 deletions(-) (limited to 'MAS/Separate-Files-Version/Activators/TSforge_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 ca13cef..0dc3954 100644 --- a/MAS/All-In-One-Version-KL/MAS_AIO.cmd +++ b/MAS/All-In-One-Version-KL/MAS_AIO.cmd @@ -1468,7 +1468,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% "%results%" +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" echo: diff --git a/MAS/Separate-Files-Version/Activators/HWID_Activation.cmd b/MAS/Separate-Files-Version/Activators/HWID_Activation.cmd index 25c7190..a24dc4b 100644 --- a/MAS/Separate-Files-Version/Activators/HWID_Activation.cmd +++ b/MAS/Separate-Files-Version/Activators/HWID_Activation.cmd @@ -1171,7 +1171,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% "%results%" +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" echo: diff --git a/MAS/Separate-Files-Version/Activators/KMS38_Activation.cmd b/MAS/Separate-Files-Version/Activators/KMS38_Activation.cmd index bf8850f..30480d3 100644 --- a/MAS/Separate-Files-Version/Activators/KMS38_Activation.cmd +++ b/MAS/Separate-Files-Version/Activators/KMS38_Activation.cmd @@ -1314,7 +1314,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% "%results%" +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" echo: diff --git a/MAS/Separate-Files-Version/Activators/Ohook_Activation_AIO.cmd b/MAS/Separate-Files-Version/Activators/Ohook_Activation_AIO.cmd index bef9d50..f59f85d 100644 --- a/MAS/Separate-Files-Version/Activators/Ohook_Activation_AIO.cmd +++ b/MAS/Separate-Files-Version/Activators/Ohook_Activation_AIO.cmd @@ -1832,7 +1832,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% "%results%" +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" echo: diff --git a/MAS/Separate-Files-Version/Activators/Online_KMS_Activation.cmd b/MAS/Separate-Files-Version/Activators/Online_KMS_Activation.cmd index 53ebe2c..568e0f7 100644 --- a/MAS/Separate-Files-Version/Activators/Online_KMS_Activation.cmd +++ b/MAS/Separate-Files-Version/Activators/Online_KMS_Activation.cmd @@ -2884,7 +2884,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% "%results%" +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" echo: diff --git a/MAS/Separate-Files-Version/Activators/TSforge_Activation.cmd b/MAS/Separate-Files-Version/Activators/TSforge_Activation.cmd index 5942597..ca7eb3e 100644 --- a/MAS/Separate-Files-Version/Activators/TSforge_Activation.cmd +++ b/MAS/Separate-Files-Version/Activators/TSforge_Activation.cmd @@ -2499,7 +2499,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% "%results%" +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" echo: -- cgit v1.2.3 From fc2348bf53a13665bae3f869283798f6dca5373a Mon Sep 17 00:00:00 2001 From: WindowsAddict Date: Sun, 18 May 2025 03:39:29 +0530 Subject: Add some info related to O365 to Mondo conversion in TSforge --- MAS/All-In-One-Version-KL/MAS_AIO.cmd | 5 +++++ MAS/Separate-Files-Version/Activators/TSforge_Activation.cmd | 5 +++++ 2 files changed, 10 insertions(+) (limited to 'MAS/Separate-Files-Version/Activators/TSforge_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 0dc3954..f3e269a 100644 --- a/MAS/All-In-One-Version-KL/MAS_AIO.cmd +++ b/MAS/All-In-One-Version-KL/MAS_AIO.cmd @@ -5327,6 +5327,11 @@ set _License=MondoRetail set _altoffid=MondoRetail call :ks_osppready echo Converting Unsupported O365 Office [%%# To MondoRetail] +if "%oVer%"=="15" (call :dk_color %Gray% "Mondo 2013 is equivalent to O365 [15.0 version] in terms of the latest features.") +if "%oVer%"=="16" ( +call :dk_color %Gray% "Mondo 2016 is equivalent to O365 in terms of the latest features." +call :dk_color %Gray% "To enhance stability, select the Change Office Edition option in the Main Menu to fully switch to Mondo." +) ) if not defined _oMSI ( diff --git a/MAS/Separate-Files-Version/Activators/TSforge_Activation.cmd b/MAS/Separate-Files-Version/Activators/TSforge_Activation.cmd index ca7eb3e..ded99ca 100644 --- a/MAS/Separate-Files-Version/Activators/TSforge_Activation.cmd +++ b/MAS/Separate-Files-Version/Activators/TSforge_Activation.cmd @@ -1796,6 +1796,11 @@ set _License=MondoRetail set _altoffid=MondoRetail call :ks_osppready echo Converting Unsupported O365 Office [%%# To MondoRetail] +if "%oVer%"=="15" (call :dk_color %Gray% "Mondo 2013 is equivalent to O365 [15.0 version] in terms of the latest features.") +if "%oVer%"=="16" ( +call :dk_color %Gray% "Mondo 2016 is equivalent to O365 in terms of the latest features." +call :dk_color %Gray% "To enhance stability, select the Change Office Edition option in the Main Menu to fully switch to Mondo." +) ) if not defined _oMSI ( -- cgit v1.2.3 From 133d3b9720c29d0d566f8e6bb117a802fda0c454 Mon Sep 17 00:00:00 2001 From: WindowsAddict Date: Sun, 18 May 2025 10:46:12 +0530 Subject: Edit the info related to Mondo conversion --- MAS/All-In-One-Version-KL/MAS_AIO.cmd | 9 +++++---- MAS/Separate-Files-Version/Activators/Online_KMS_Activation.cmd | 4 ++++ MAS/Separate-Files-Version/Activators/TSforge_Activation.cmd | 5 +---- 3 files changed, 10 insertions(+), 8 deletions(-) (limited to 'MAS/Separate-Files-Version/Activators/TSforge_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 f3e269a..198d13e 100644 --- a/MAS/All-In-One-Version-KL/MAS_AIO.cmd +++ b/MAS/All-In-One-Version-KL/MAS_AIO.cmd @@ -5328,10 +5328,7 @@ set _altoffid=MondoRetail call :ks_osppready echo Converting Unsupported O365 Office [%%# To MondoRetail] if "%oVer%"=="15" (call :dk_color %Gray% "Mondo 2013 is equivalent to O365 [15.0 version] in terms of the latest features.") -if "%oVer%"=="16" ( -call :dk_color %Gray% "Mondo 2016 is equivalent to O365 in terms of the latest features." -call :dk_color %Gray% "To enhance stability, select the Change Office Edition option in the Main Menu to fully switch to Mondo." -) +if "%oVer%"=="16" (call :dk_color %Gray% "Mondo 2016 is equivalent to O365 in terms of the latest features.") ) if not defined _oMSI ( @@ -12446,6 +12443,10 @@ call :ksdata getinfo !_prod! if defined _altoffid ( set _License=!_altoffid! echo Converting Retail To Volume [!_prod! To !_altoffid!] +echo %%# | find /i "O365" %nul% && ( +if "%oVer%"=="15" (call :dk_color %Gray% "Mondo 2013 is equivalent to O365 [15.0 version] in terms of the latest features.") +if "%oVer%"=="16" (call :dk_color %Gray% "Mondo 2016 is equivalent to O365 in terms of the latest features.") +) set _prod=!_altoffid! call :ks_osppready ) diff --git a/MAS/Separate-Files-Version/Activators/Online_KMS_Activation.cmd b/MAS/Separate-Files-Version/Activators/Online_KMS_Activation.cmd index 568e0f7..28879e5 100644 --- a/MAS/Separate-Files-Version/Activators/Online_KMS_Activation.cmd +++ b/MAS/Separate-Files-Version/Activators/Online_KMS_Activation.cmd @@ -1212,6 +1212,10 @@ call :ksdata getinfo !_prod! if defined _altoffid ( set _License=!_altoffid! echo Converting Retail To Volume [!_prod! To !_altoffid!] +echo %%# | find /i "O365" %nul% && ( +if "%oVer%"=="15" (call :dk_color %Gray% "Mondo 2013 is equivalent to O365 [15.0 version] in terms of the latest features.") +if "%oVer%"=="16" (call :dk_color %Gray% "Mondo 2016 is equivalent to O365 in terms of the latest features.") +) set _prod=!_altoffid! call :ks_osppready ) diff --git a/MAS/Separate-Files-Version/Activators/TSforge_Activation.cmd b/MAS/Separate-Files-Version/Activators/TSforge_Activation.cmd index ded99ca..a8a1911 100644 --- a/MAS/Separate-Files-Version/Activators/TSforge_Activation.cmd +++ b/MAS/Separate-Files-Version/Activators/TSforge_Activation.cmd @@ -1797,10 +1797,7 @@ set _altoffid=MondoRetail call :ks_osppready echo Converting Unsupported O365 Office [%%# To MondoRetail] if "%oVer%"=="15" (call :dk_color %Gray% "Mondo 2013 is equivalent to O365 [15.0 version] in terms of the latest features.") -if "%oVer%"=="16" ( -call :dk_color %Gray% "Mondo 2016 is equivalent to O365 in terms of the latest features." -call :dk_color %Gray% "To enhance stability, select the Change Office Edition option in the Main Menu to fully switch to Mondo." -) +if "%oVer%"=="16" (call :dk_color %Gray% "Mondo 2016 is equivalent to O365 in terms of the latest features.") ) if not defined _oMSI ( -- cgit v1.2.3 From 206c31ece505276f62f0e1cb9f49f0811d264864 Mon Sep 17 00:00:00 2001 From: WindowsAddict Date: Sun, 18 May 2025 12:09:25 +0530 Subject: Open mirror pages along with massgrave.dev --- MAS/All-In-One-Version-KL/MAS_AIO.cmd | 6 +++--- MAS/Separate-Files-Version/Activators/HWID_Activation.cmd | 4 ++-- MAS/Separate-Files-Version/Activators/KMS38_Activation.cmd | 4 ++-- MAS/Separate-Files-Version/Activators/Ohook_Activation_AIO.cmd | 4 ++-- MAS/Separate-Files-Version/Activators/Online_KMS_Activation.cmd | 4 ++-- MAS/Separate-Files-Version/Activators/TSforge_Activation.cmd | 4 ++-- MAS/Separate-Files-Version/Change_Office_Edition.cmd | 6 +++--- MAS/Separate-Files-Version/Change_Windows_Edition.cmd | 4 ++-- MAS/Separate-Files-Version/Extract_OEM_Folder.cmd | 4 ++-- MAS/Separate-Files-Version/Troubleshoot.cmd | 4 ++-- 10 files changed, 22 insertions(+), 22 deletions(-) (limited to 'MAS/Separate-Files-Version/Activators/TSforge_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 198d13e..8b6ddbf 100644 --- a/MAS/All-In-One-Version-KL/MAS_AIO.cmd +++ b/MAS/All-In-One-Version-KL/MAS_AIO.cmd @@ -334,7 +334,7 @@ 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 %mas% & exit /b) +if !errorlevel!==1 (start https://git.activated.win/massg%-%rave/Micr%-%osoft-Act%-%ivation-Scripts & start https://github.com/massgra%-%vel/Micro%-%soft-Acti%-%vation-Scripts & start %mas% & exit /b) ) ) @@ -2004,7 +2004,7 @@ 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 (for %%# in (%fixes%) do (start %%#)) +if !errorlevel!==1 (start https://git.activated.win/massg%-%rave/Micr%-%osoft-Act%-%ivation-Scripts & start https://github.com/massgra%-%vel/Micro%-%soft-Acti%-%vation-Scripts & for %%# in (%fixes%) do (start %%#)) ) if defined terminal ( @@ -18249,7 +18249,7 @@ 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 goto :oemenu -if !errorlevel!==1 (for %%# in (%fixes%) do (start %%#)) +if !errorlevel!==1 (start https://git.activated.win/massg%-%rave/Micr%-%osoft-Act%-%ivation-Scripts & start https://github.com/massgra%-%vel/Micro%-%soft-Acti%-%vation-Scripts & for %%# in (%fixes%) do (start %%#)) ) if defined terminal ( diff --git a/MAS/Separate-Files-Version/Activators/HWID_Activation.cmd b/MAS/Separate-Files-Version/Activators/HWID_Activation.cmd index a24dc4b..02be6af 100644 --- a/MAS/Separate-Files-Version/Activators/HWID_Activation.cmd +++ b/MAS/Separate-Files-Version/Activators/HWID_Activation.cmd @@ -356,7 +356,7 @@ 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 %mas% & exit /b) +if !errorlevel!==1 (start https://git.activated.win/massg%-%rave/Micr%-%osoft-Act%-%ivation-Scripts & start https://github.com/massgra%-%vel/Micro%-%soft-Acti%-%vation-Scripts & start %mas% & exit /b) ) ) @@ -1707,7 +1707,7 @@ 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 (for %%# in (%fixes%) do (start %%#)) +if !errorlevel!==1 (start https://git.activated.win/massg%-%rave/Micr%-%osoft-Act%-%ivation-Scripts & start https://github.com/massgra%-%vel/Micro%-%soft-Acti%-%vation-Scripts & for %%# in (%fixes%) do (start %%#)) ) if defined terminal ( diff --git a/MAS/Separate-Files-Version/Activators/KMS38_Activation.cmd b/MAS/Separate-Files-Version/Activators/KMS38_Activation.cmd index 30480d3..e909532 100644 --- a/MAS/Separate-Files-Version/Activators/KMS38_Activation.cmd +++ b/MAS/Separate-Files-Version/Activators/KMS38_Activation.cmd @@ -359,7 +359,7 @@ 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 %mas% & exit /b) +if !errorlevel!==1 (start https://git.activated.win/massg%-%rave/Micr%-%osoft-Act%-%ivation-Scripts & start https://github.com/massgra%-%vel/Micro%-%soft-Acti%-%vation-Scripts & start %mas% & exit /b) ) ) cls @@ -1850,7 +1850,7 @@ 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 (for %%# in (%fixes%) do (start %%#)) +if !errorlevel!==1 (start https://git.activated.win/massg%-%rave/Micr%-%osoft-Act%-%ivation-Scripts & start https://github.com/massgra%-%vel/Micro%-%soft-Acti%-%vation-Scripts & for %%# in (%fixes%) do (start %%#)) ) if defined terminal ( diff --git a/MAS/Separate-Files-Version/Activators/Ohook_Activation_AIO.cmd b/MAS/Separate-Files-Version/Activators/Ohook_Activation_AIO.cmd index f59f85d..6e06bf1 100644 --- a/MAS/Separate-Files-Version/Activators/Ohook_Activation_AIO.cmd +++ b/MAS/Separate-Files-Version/Activators/Ohook_Activation_AIO.cmd @@ -364,7 +364,7 @@ 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 %mas% & exit /b) +if !errorlevel!==1 (start https://git.activated.win/massg%-%rave/Micr%-%osoft-Act%-%ivation-Scripts & start https://github.com/massgra%-%vel/Micro%-%soft-Acti%-%vation-Scripts & start %mas% & exit /b) ) ) cls @@ -2368,7 +2368,7 @@ 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 (for %%# in (%fixes%) do (start %%#)) +if !errorlevel!==1 (start https://git.activated.win/massg%-%rave/Micr%-%osoft-Act%-%ivation-Scripts & start https://github.com/massgra%-%vel/Micro%-%soft-Acti%-%vation-Scripts & for %%# in (%fixes%) do (start %%#)) ) if defined terminal ( diff --git a/MAS/Separate-Files-Version/Activators/Online_KMS_Activation.cmd b/MAS/Separate-Files-Version/Activators/Online_KMS_Activation.cmd index 28879e5..321095a 100644 --- a/MAS/Separate-Files-Version/Activators/Online_KMS_Activation.cmd +++ b/MAS/Separate-Files-Version/Activators/Online_KMS_Activation.cmd @@ -395,7 +395,7 @@ 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 %mas% & exit /b) +if !errorlevel!==1 (start https://git.activated.win/massg%-%rave/Micr%-%osoft-Act%-%ivation-Scripts & start https://github.com/massgra%-%vel/Micro%-%soft-Acti%-%vation-Scripts & start %mas% & exit /b) ) ) @@ -3424,7 +3424,7 @@ 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 (for %%# in (%fixes%) do (start %%#)) +if !errorlevel!==1 (start https://git.activated.win/massg%-%rave/Micr%-%osoft-Act%-%ivation-Scripts & start https://github.com/massgra%-%vel/Micro%-%soft-Acti%-%vation-Scripts & for %%# in (%fixes%) do (start %%#)) ) if defined terminal ( diff --git a/MAS/Separate-Files-Version/Activators/TSforge_Activation.cmd b/MAS/Separate-Files-Version/Activators/TSforge_Activation.cmd index a8a1911..e9b75e6 100644 --- a/MAS/Separate-Files-Version/Activators/TSforge_Activation.cmd +++ b/MAS/Separate-Files-Version/Activators/TSforge_Activation.cmd @@ -413,7 +413,7 @@ 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 %mas% & exit /b) +if !errorlevel!==1 (start https://git.activated.win/massg%-%rave/Micr%-%osoft-Act%-%ivation-Scripts & start https://github.com/massgra%-%vel/Micro%-%soft-Acti%-%vation-Scripts & start %mas% & exit /b) ) ) @@ -3037,7 +3037,7 @@ 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 (for %%# in (%fixes%) do (start %%#)) +if !errorlevel!==1 (start https://git.activated.win/massg%-%rave/Micr%-%osoft-Act%-%ivation-Scripts & start https://github.com/massgra%-%vel/Micro%-%soft-Acti%-%vation-Scripts & for %%# in (%fixes%) do (start %%#)) ) if defined terminal ( diff --git a/MAS/Separate-Files-Version/Change_Office_Edition.cmd b/MAS/Separate-Files-Version/Change_Office_Edition.cmd index 835a80b..b5bd456 100644 --- a/MAS/Separate-Files-Version/Change_Office_Edition.cmd +++ b/MAS/Separate-Files-Version/Change_Office_Edition.cmd @@ -309,7 +309,7 @@ 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 %mas% & exit /b) +if !errorlevel!==1 (start https://git.activated.win/massg%-%rave/Micr%-%osoft-Act%-%ivation-Scripts & start https://github.com/massgra%-%vel/Micro%-%soft-Acti%-%vation-Scripts & start %mas% & exit /b) ) ) @@ -1112,7 +1112,7 @@ 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 goto :oemenu -if !errorlevel!==1 (for %%# in (%fixes%) do (start %%#)) +if !errorlevel!==1 (start https://git.activated.win/massg%-%rave/Micr%-%osoft-Act%-%ivation-Scripts & start https://github.com/massgra%-%vel/Micro%-%soft-Acti%-%vation-Scripts & for %%# in (%fixes%) do (start %%#)) ) if defined terminal ( @@ -1477,7 +1477,7 @@ 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 (for %%# in (%fixes%) do (start %%#)) +if !errorlevel!==1 (start https://git.activated.win/massg%-%rave/Micr%-%osoft-Act%-%ivation-Scripts & start https://github.com/massgra%-%vel/Micro%-%soft-Acti%-%vation-Scripts & for %%# in (%fixes%) do (start %%#)) ) if defined terminal ( diff --git a/MAS/Separate-Files-Version/Change_Windows_Edition.cmd b/MAS/Separate-Files-Version/Change_Windows_Edition.cmd index f875018..eaa0956 100644 --- a/MAS/Separate-Files-Version/Change_Windows_Edition.cmd +++ b/MAS/Separate-Files-Version/Change_Windows_Edition.cmd @@ -314,7 +314,7 @@ 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 %mas% & exit /b) +if !errorlevel!==1 (start https://git.activated.win/massg%-%rave/Micr%-%osoft-Act%-%ivation-Scripts & start https://github.com/massgra%-%vel/Micro%-%soft-Acti%-%vation-Scripts & start %mas% & exit /b) ) ) @@ -1058,7 +1058,7 @@ 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 (for %%# in (%fixes%) do (start %%#)) +if !errorlevel!==1 (start https://git.activated.win/massg%-%rave/Micr%-%osoft-Act%-%ivation-Scripts & start https://github.com/massgra%-%vel/Micro%-%soft-Acti%-%vation-Scripts & for %%# in (%fixes%) do (start %%#)) ) if defined terminal ( diff --git a/MAS/Separate-Files-Version/Extract_OEM_Folder.cmd b/MAS/Separate-Files-Version/Extract_OEM_Folder.cmd index a896e2b..f1049bd 100644 --- a/MAS/Separate-Files-Version/Extract_OEM_Folder.cmd +++ b/MAS/Separate-Files-Version/Extract_OEM_Folder.cmd @@ -325,7 +325,7 @@ 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 %mas% & exit /b) +if !errorlevel!==1 (start https://git.activated.win/massg%-%rave/Micr%-%osoft-Act%-%ivation-Scripts & start https://github.com/massgra%-%vel/Micro%-%soft-Acti%-%vation-Scripts & start %mas% & exit /b) ) ) @@ -732,7 +732,7 @@ 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 (for %%# in (%fixes%) do (start %%#)) +if !errorlevel!==1 (start https://git.activated.win/massg%-%rave/Micr%-%osoft-Act%-%ivation-Scripts & start https://github.com/massgra%-%vel/Micro%-%soft-Acti%-%vation-Scripts & for %%# in (%fixes%) do (start %%#)) ) if defined terminal ( diff --git a/MAS/Separate-Files-Version/Troubleshoot.cmd b/MAS/Separate-Files-Version/Troubleshoot.cmd index b3af1c4..ce82567 100644 --- a/MAS/Separate-Files-Version/Troubleshoot.cmd +++ b/MAS/Separate-Files-Version/Troubleshoot.cmd @@ -326,7 +326,7 @@ 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 %mas% & exit /b) +if !errorlevel!==1 (start https://git.activated.win/massg%-%rave/Micr%-%osoft-Act%-%ivation-Scripts & start https://github.com/massgra%-%vel/Micro%-%soft-Acti%-%vation-Scripts & start %mas% & exit /b) ) ) @@ -1489,7 +1489,7 @@ 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 (for %%# in (%fixes%) do (start %%#)) +if !errorlevel!==1 (start https://git.activated.win/massg%-%rave/Micr%-%osoft-Act%-%ivation-Scripts & start https://github.com/massgra%-%vel/Micro%-%soft-Acti%-%vation-Scripts & for %%# in (%fixes%) do (start %%#)) ) if defined terminal ( -- cgit v1.2.3 From 830755f6b606446225ca4535a6a0d45ba9f8c052 Mon Sep 17 00:00:00 2001 From: WindowsAddict Date: Sun, 18 May 2025 18:11:04 +0530 Subject: Fix an issue in detecting Office preview licenses in TSforge --- MAS/All-In-One-Version-KL/MAS_AIO.cmd | 2 +- MAS/Separate-Files-Version/Activators/TSforge_Activation.cmd | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) (limited to 'MAS/Separate-Files-Version/Activators/TSforge_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 f72acb4..9bff890 100644 --- a/MAS/All-In-One-Version-KL/MAS_AIO.cmd +++ b/MAS/All-In-One-Version-KL/MAS_AIO.cmd @@ -10570,7 +10570,7 @@ function Office-ActID { } } - $filterPreview = $filteredConfigs | Where-Object { $_.ProductDescription -notmatch 'preview' } + $filterPreview = $filteredConfigs | Where-Object { $_.ProductDescription -notmatch 'preview|c2r' } if ($filterPreview.Count -ne 0) { $filteredConfigs = $filterPreview diff --git a/MAS/Separate-Files-Version/Activators/TSforge_Activation.cmd b/MAS/Separate-Files-Version/Activators/TSforge_Activation.cmd index e9b75e6..444a20b 100644 --- a/MAS/Separate-Files-Version/Activators/TSforge_Activation.cmd +++ b/MAS/Separate-Files-Version/Activators/TSforge_Activation.cmd @@ -8189,7 +8189,7 @@ function Office-ActID { } } - $filterPreview = $filteredConfigs | Where-Object { $_.ProductDescription -notmatch 'preview' } + $filterPreview = $filteredConfigs | Where-Object { $_.ProductDescription -notmatch 'preview|c2r' } if ($filterPreview.Count -ne 0) { $filteredConfigs = $filterPreview -- cgit v1.2.3 From be867f6616e7408342c00346bcee49268b966778 Mon Sep 17 00:00:00 2001 From: WindowsAddict Date: Tue, 27 May 2025 19:32:44 +0530 Subject: Update links --- MAS/All-In-One-Version-KL/MAS_AIO.cmd | 12 +++++++----- MAS/Separate-Files-Version/Activators/HWID_Activation.cmd | 6 ++++-- MAS/Separate-Files-Version/Activators/KMS38_Activation.cmd | 6 ++++-- .../Activators/Ohook_Activation_AIO.cmd | 6 ++++-- .../Activators/Online_KMS_Activation.cmd | 6 ++++-- MAS/Separate-Files-Version/Activators/TSforge_Activation.cmd | 6 ++++-- MAS/Separate-Files-Version/Change_Office_Edition.cmd | 8 +++++--- MAS/Separate-Files-Version/Change_Windows_Edition.cmd | 6 ++++-- MAS/Separate-Files-Version/Extract_OEM_Folder.cmd | 6 ++++-- MAS/Separate-Files-Version/Troubleshoot.cmd | 8 +++++--- 10 files changed, 45 insertions(+), 25 deletions(-) (limited to 'MAS/Separate-Files-Version/Activators/TSforge_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 9b215ee..ced0953 100644 --- a/MAS/All-In-One-Version-KL/MAS_AIO.cmd +++ b/MAS/All-In-One-Version-KL/MAS_AIO.cmd @@ -67,6 +67,8 @@ 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" :: Check if Null service is working, it's important for the batch script @@ -334,7 +336,7 @@ 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 https://git.activated.win/massg%-%rave/Micr%-%osoft-Act%-%ivation-Scripts & start https://github.com/massgra%-%vel/Micro%-%soft-Acti%-%vation-Scripts & start %mas% & exit /b) +if !errorlevel!==1 (start %selfgit% & start %github% & start %mas% & exit /b) ) ) @@ -431,7 +433,7 @@ choice /C:123456789EH0 /N set _erl=%errorlevel% if %_erl%==12 exit /b -if %_erl%==11 start %mas%troubleshoot & goto :MainMenu +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 @@ -2004,7 +2006,7 @@ 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 https://git.activated.win/massg%-%rave/Micr%-%osoft-Act%-%ivation-Scripts & start https://github.com/massgra%-%vel/Micro%-%soft-Acti%-%vation-Scripts & for %%# in (%fixes%) do (start %%#)) +if !errorlevel!==1 (start %selfgit% & start %github% & for %%# in (%fixes%) do (start %%#)) ) if defined terminal ( @@ -15530,7 +15532,7 @@ if %_erl%==5 goto:retokens if %_erl%==4 goto:fixwmi if %_erl%==3 goto:sfcscan if %_erl%==2 goto:dism_rest -if %_erl%==1 start %mas%troubleshoot.html &goto at_menu +if %_erl%==1 (start %selfgit% & start %github% & start %mas%troubleshoot & goto at_menu) goto :at_menu ::======================================================================================================================================== @@ -18331,7 +18333,7 @@ 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 goto :oemenu -if !errorlevel!==1 (start https://git.activated.win/massg%-%rave/Micr%-%osoft-Act%-%ivation-Scripts & start https://github.com/massgra%-%vel/Micro%-%soft-Acti%-%vation-Scripts & for %%# in (%fixes%) do (start %%#)) +if !errorlevel!==1 (start %selfgit% & start %github% & for %%# in (%fixes%) do (start %%#)) ) if defined terminal ( diff --git a/MAS/Separate-Files-Version/Activators/HWID_Activation.cmd b/MAS/Separate-Files-Version/Activators/HWID_Activation.cmd index 02be6af..2b1fe2e 100644 --- a/MAS/Separate-Files-Version/Activators/HWID_Activation.cmd +++ b/MAS/Separate-Files-Version/Activators/HWID_Activation.cmd @@ -100,6 +100,8 @@ 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" :: Check if Null service is working, it's important for the batch script @@ -356,7 +358,7 @@ 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 https://git.activated.win/massg%-%rave/Micr%-%osoft-Act%-%ivation-Scripts & start https://github.com/massgra%-%vel/Micro%-%soft-Acti%-%vation-Scripts & start %mas% & exit /b) +if !errorlevel!==1 (start %selfgit% & start %github% & start %mas% & exit /b) ) ) @@ -1707,7 +1709,7 @@ 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 https://git.activated.win/massg%-%rave/Micr%-%osoft-Act%-%ivation-Scripts & start https://github.com/massgra%-%vel/Micro%-%soft-Acti%-%vation-Scripts & for %%# in (%fixes%) do (start %%#)) +if !errorlevel!==1 (start %selfgit% & start %github% & for %%# in (%fixes%) do (start %%#)) ) if defined terminal ( diff --git a/MAS/Separate-Files-Version/Activators/KMS38_Activation.cmd b/MAS/Separate-Files-Version/Activators/KMS38_Activation.cmd index e909532..eed6d3b 100644 --- a/MAS/Separate-Files-Version/Activators/KMS38_Activation.cmd +++ b/MAS/Separate-Files-Version/Activators/KMS38_Activation.cmd @@ -103,6 +103,8 @@ 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" :: Check if Null service is working, it's important for the batch script @@ -359,7 +361,7 @@ 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 https://git.activated.win/massg%-%rave/Micr%-%osoft-Act%-%ivation-Scripts & start https://github.com/massgra%-%vel/Micro%-%soft-Acti%-%vation-Scripts & start %mas% & exit /b) +if !errorlevel!==1 (start %selfgit% & start %github% & start %mas% & exit /b) ) ) cls @@ -1850,7 +1852,7 @@ 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 https://git.activated.win/massg%-%rave/Micr%-%osoft-Act%-%ivation-Scripts & start https://github.com/massgra%-%vel/Micro%-%soft-Acti%-%vation-Scripts & for %%# in (%fixes%) do (start %%#)) +if !errorlevel!==1 (start %selfgit% & start %github% & for %%# in (%fixes%) do (start %%#)) ) if defined terminal ( diff --git a/MAS/Separate-Files-Version/Activators/Ohook_Activation_AIO.cmd b/MAS/Separate-Files-Version/Activators/Ohook_Activation_AIO.cmd index cee100b..9904958 100644 --- a/MAS/Separate-Files-Version/Activators/Ohook_Activation_AIO.cmd +++ b/MAS/Separate-Files-Version/Activators/Ohook_Activation_AIO.cmd @@ -100,6 +100,8 @@ 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" :: Check if Null service is working, it's important for the batch script @@ -364,7 +366,7 @@ 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 https://git.activated.win/massg%-%rave/Micr%-%osoft-Act%-%ivation-Scripts & start https://github.com/massgra%-%vel/Micro%-%soft-Acti%-%vation-Scripts & start %mas% & exit /b) +if !errorlevel!==1 (start %selfgit% & start %github% & start %mas% & exit /b) ) ) cls @@ -2368,7 +2370,7 @@ 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 https://git.activated.win/massg%-%rave/Micr%-%osoft-Act%-%ivation-Scripts & start https://github.com/massgra%-%vel/Micro%-%soft-Acti%-%vation-Scripts & for %%# in (%fixes%) do (start %%#)) +if !errorlevel!==1 (start %selfgit% & start %github% & for %%# in (%fixes%) do (start %%#)) ) if defined terminal ( diff --git a/MAS/Separate-Files-Version/Activators/Online_KMS_Activation.cmd b/MAS/Separate-Files-Version/Activators/Online_KMS_Activation.cmd index 321095a..a5ff772 100644 --- a/MAS/Separate-Files-Version/Activators/Online_KMS_Activation.cmd +++ b/MAS/Separate-Files-Version/Activators/Online_KMS_Activation.cmd @@ -125,6 +125,8 @@ 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" :: Check if Null service is working, it's important for the batch script @@ -395,7 +397,7 @@ 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 https://git.activated.win/massg%-%rave/Micr%-%osoft-Act%-%ivation-Scripts & start https://github.com/massgra%-%vel/Micro%-%soft-Acti%-%vation-Scripts & start %mas% & exit /b) +if !errorlevel!==1 (start %selfgit% & start %github% & start %mas% & exit /b) ) ) @@ -3424,7 +3426,7 @@ 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 https://git.activated.win/massg%-%rave/Micr%-%osoft-Act%-%ivation-Scripts & start https://github.com/massgra%-%vel/Micro%-%soft-Acti%-%vation-Scripts & for %%# in (%fixes%) do (start %%#)) +if !errorlevel!==1 (start %selfgit% & start %github% & for %%# in (%fixes%) do (start %%#)) ) if defined terminal ( diff --git a/MAS/Separate-Files-Version/Activators/TSforge_Activation.cmd b/MAS/Separate-Files-Version/Activators/TSforge_Activation.cmd index 444a20b..d1ecff3 100644 --- a/MAS/Separate-Files-Version/Activators/TSforge_Activation.cmd +++ b/MAS/Separate-Files-Version/Activators/TSforge_Activation.cmd @@ -129,6 +129,8 @@ 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" :: Check if Null service is working, it's important for the batch script @@ -413,7 +415,7 @@ 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 https://git.activated.win/massg%-%rave/Micr%-%osoft-Act%-%ivation-Scripts & start https://github.com/massgra%-%vel/Micro%-%soft-Acti%-%vation-Scripts & start %mas% & exit /b) +if !errorlevel!==1 (start %selfgit% & start %github% & start %mas% & exit /b) ) ) @@ -3037,7 +3039,7 @@ 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 https://git.activated.win/massg%-%rave/Micr%-%osoft-Act%-%ivation-Scripts & start https://github.com/massgra%-%vel/Micro%-%soft-Acti%-%vation-Scripts & for %%# in (%fixes%) do (start %%#)) +if !errorlevel!==1 (start %selfgit% & start %github% & for %%# in (%fixes%) do (start %%#)) ) if defined terminal ( diff --git a/MAS/Separate-Files-Version/Change_Office_Edition.cmd b/MAS/Separate-Files-Version/Change_Office_Edition.cmd index 6926cd0..652109d 100644 --- a/MAS/Separate-Files-Version/Change_Office_Edition.cmd +++ b/MAS/Separate-Files-Version/Change_Office_Edition.cmd @@ -60,6 +60,8 @@ 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" :: Check if Null service is working, it's important for the batch script @@ -309,7 +311,7 @@ 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 https://git.activated.win/massg%-%rave/Micr%-%osoft-Act%-%ivation-Scripts & start https://github.com/massgra%-%vel/Micro%-%soft-Acti%-%vation-Scripts & start %mas% & exit /b) +if !errorlevel!==1 (start %selfgit% & start %github% & start %mas% & exit /b) ) ) @@ -1196,7 +1198,7 @@ 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 goto :oemenu -if !errorlevel!==1 (start https://git.activated.win/massg%-%rave/Micr%-%osoft-Act%-%ivation-Scripts & start https://github.com/massgra%-%vel/Micro%-%soft-Acti%-%vation-Scripts & for %%# in (%fixes%) do (start %%#)) +if !errorlevel!==1 (start %selfgit% & start %github% & for %%# in (%fixes%) do (start %%#)) ) if defined terminal ( @@ -1593,7 +1595,7 @@ 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 https://git.activated.win/massg%-%rave/Micr%-%osoft-Act%-%ivation-Scripts & start https://github.com/massgra%-%vel/Micro%-%soft-Acti%-%vation-Scripts & for %%# in (%fixes%) do (start %%#)) +if !errorlevel!==1 (start %selfgit% & start %github% & for %%# in (%fixes%) do (start %%#)) ) if defined terminal ( diff --git a/MAS/Separate-Files-Version/Change_Windows_Edition.cmd b/MAS/Separate-Files-Version/Change_Windows_Edition.cmd index 5bfc43e..9ff5535 100644 --- a/MAS/Separate-Files-Version/Change_Windows_Edition.cmd +++ b/MAS/Separate-Files-Version/Change_Windows_Edition.cmd @@ -65,6 +65,8 @@ 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" :: Check if Null service is working, it's important for the batch script @@ -314,7 +316,7 @@ 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 https://git.activated.win/massg%-%rave/Micr%-%osoft-Act%-%ivation-Scripts & start https://github.com/massgra%-%vel/Micro%-%soft-Acti%-%vation-Scripts & start %mas% & exit /b) +if !errorlevel!==1 (start %selfgit% & start %github% & start %mas% & exit /b) ) ) @@ -1056,7 +1058,7 @@ 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 https://git.activated.win/massg%-%rave/Micr%-%osoft-Act%-%ivation-Scripts & start https://github.com/massgra%-%vel/Micro%-%soft-Acti%-%vation-Scripts & for %%# in (%fixes%) do (start %%#)) +if !errorlevel!==1 (start %selfgit% & start %github% & for %%# in (%fixes%) do (start %%#)) ) if defined terminal ( diff --git a/MAS/Separate-Files-Version/Extract_OEM_Folder.cmd b/MAS/Separate-Files-Version/Extract_OEM_Folder.cmd index f1049bd..29c50cb 100644 --- a/MAS/Separate-Files-Version/Extract_OEM_Folder.cmd +++ b/MAS/Separate-Files-Version/Extract_OEM_Folder.cmd @@ -60,6 +60,8 @@ 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" :: Check if Null service is working, it's important for the batch script @@ -325,7 +327,7 @@ 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 https://git.activated.win/massg%-%rave/Micr%-%osoft-Act%-%ivation-Scripts & start https://github.com/massgra%-%vel/Micro%-%soft-Acti%-%vation-Scripts & start %mas% & exit /b) +if !errorlevel!==1 (start %selfgit% & start %github% & start %mas% & exit /b) ) ) @@ -732,7 +734,7 @@ 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 https://git.activated.win/massg%-%rave/Micr%-%osoft-Act%-%ivation-Scripts & start https://github.com/massgra%-%vel/Micro%-%soft-Acti%-%vation-Scripts & for %%# in (%fixes%) do (start %%#)) +if !errorlevel!==1 (start %selfgit% & start %github% & for %%# in (%fixes%) do (start %%#)) ) if defined terminal ( diff --git a/MAS/Separate-Files-Version/Troubleshoot.cmd b/MAS/Separate-Files-Version/Troubleshoot.cmd index ce82567..5df6110 100644 --- a/MAS/Separate-Files-Version/Troubleshoot.cmd +++ b/MAS/Separate-Files-Version/Troubleshoot.cmd @@ -60,6 +60,8 @@ 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" :: Check if Null service is working, it's important for the batch script @@ -326,7 +328,7 @@ 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 https://git.activated.win/massg%-%rave/Micr%-%osoft-Act%-%ivation-Scripts & start https://github.com/massgra%-%vel/Micro%-%soft-Acti%-%vation-Scripts & start %mas% & exit /b) +if !errorlevel!==1 (start %selfgit% & start %github% & start %mas% & exit /b) ) ) @@ -387,7 +389,7 @@ if %_erl%==5 goto:retokens if %_erl%==4 goto:fixwmi if %_erl%==3 goto:sfcscan if %_erl%==2 goto:dism_rest -if %_erl%==1 start %mas%troubleshoot.html &goto at_menu +if %_erl%==1 (start %selfgit% & start %github% & start %mas%troubleshoot & goto at_menu) goto :at_menu ::======================================================================================================================================== @@ -1489,7 +1491,7 @@ 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 https://git.activated.win/massg%-%rave/Micr%-%osoft-Act%-%ivation-Scripts & start https://github.com/massgra%-%vel/Micro%-%soft-Acti%-%vation-Scripts & for %%# in (%fixes%) do (start %%#)) +if !errorlevel!==1 (start %selfgit% & start %github% & for %%# in (%fixes%) do (start %%#)) ) if defined terminal ( -- cgit v1.2.3 From a99acbb02557409e553f2e2c9cb906b8682cfb04 Mon Sep 17 00:00:00 2001 From: WindowsAddict Date: Tue, 27 May 2025 20:43:23 +0530 Subject: Update Powershell error detection code --- MAS/All-In-One-Version-KL/MAS_AIO.cmd | 16 ++++++++++++---- .../Activators/HWID_Activation.cmd | 16 ++++++++++++---- .../Activators/KMS38_Activation.cmd | 16 ++++++++++++---- .../Activators/Ohook_Activation_AIO.cmd | 16 ++++++++++++---- .../Activators/Online_KMS_Activation.cmd | 16 ++++++++++++---- .../Activators/TSforge_Activation.cmd | 16 ++++++++++++---- MAS/Separate-Files-Version/Change_Office_Edition.cmd | 16 ++++++++++++---- MAS/Separate-Files-Version/Change_Windows_Edition.cmd | 16 ++++++++++++---- MAS/Separate-Files-Version/Extract_OEM_Folder.cmd | 16 ++++++++++++---- MAS/Separate-Files-Version/Troubleshoot.cmd | 16 ++++++++++++---- 10 files changed, 120 insertions(+), 40 deletions(-) (limited to 'MAS/Separate-Files-Version/Activators/TSforge_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 ced0953..9d2c61f 100644 --- a/MAS/All-In-One-Version-KL/MAS_AIO.cmd +++ b/MAS/All-In-One-Version-KL/MAS_AIO.cmd @@ -219,12 +219,14 @@ for /f "delims=" %%a in ('%psc% "if ($PSVersionTable.PSEdition -ne 'Core') {$f=[ if /i not "%tstresult%"=="FullLanguage" ( %eline% -echo: %tstresult% -cmd /c "%psc% $ExecutionContext.SessionState.LanguageMode" +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 -cmd /c "%psc% "$ExecutionContext.SessionState.LanguageMode"" | findstr /i "ConstrainedLanguage RestrictedLanguage NoLanguage" %nul1% && ( +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: @@ -254,7 +256,13 @@ goto dk_done REM check antivirus and other errors echo PowerShell is not working properly. Aborting... -cmd /c "%psc% ""$av = Get-WmiObject -Namespace root\SecurityCenter2 -Class AntiVirusProduct; $n = @(); foreach ($i in $av) { if ($i.displayName -notlike '*windows*') { $n += $i.displayName } }; if ($n) { Write-Host ('Installed 3rd party Antivirus might be blocking the script - ' + ($n -join ', ')) -ForegroundColor White -BackgroundColor Blue }""" + +if /i "!tstresult2!"=="FullLanguage" ( +echo: +echo Your antivirus software might be blocking the script, or PowerShell on your system might be corrupted. +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" diff --git a/MAS/Separate-Files-Version/Activators/HWID_Activation.cmd b/MAS/Separate-Files-Version/Activators/HWID_Activation.cmd index 2b1fe2e..34fe81d 100644 --- a/MAS/Separate-Files-Version/Activators/HWID_Activation.cmd +++ b/MAS/Separate-Files-Version/Activators/HWID_Activation.cmd @@ -241,12 +241,14 @@ for /f "delims=" %%a in ('%psc% "if ($PSVersionTable.PSEdition -ne 'Core') {$f=[ if /i not "%tstresult%"=="FullLanguage" ( %eline% -echo: %tstresult% -cmd /c "%psc% $ExecutionContext.SessionState.LanguageMode" +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 -cmd /c "%psc% "$ExecutionContext.SessionState.LanguageMode"" | findstr /i "ConstrainedLanguage RestrictedLanguage NoLanguage" %nul1% && ( +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: @@ -276,7 +278,13 @@ goto dk_done REM check antivirus and other errors echo PowerShell is not working properly. Aborting... -cmd /c "%psc% ""$av = Get-WmiObject -Namespace root\SecurityCenter2 -Class AntiVirusProduct; $n = @(); foreach ($i in $av) { if ($i.displayName -notlike '*windows*') { $n += $i.displayName } }; if ($n) { Write-Host ('Installed 3rd party Antivirus might be blocking the script - ' + ($n -join ', ')) -ForegroundColor White -BackgroundColor Blue }""" + +if /i "!tstresult2!"=="FullLanguage" ( +echo: +echo Your antivirus software might be blocking the script, or PowerShell on your system might be corrupted. +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" diff --git a/MAS/Separate-Files-Version/Activators/KMS38_Activation.cmd b/MAS/Separate-Files-Version/Activators/KMS38_Activation.cmd index eed6d3b..c9aa57f 100644 --- a/MAS/Separate-Files-Version/Activators/KMS38_Activation.cmd +++ b/MAS/Separate-Files-Version/Activators/KMS38_Activation.cmd @@ -244,12 +244,14 @@ for /f "delims=" %%a in ('%psc% "if ($PSVersionTable.PSEdition -ne 'Core') {$f=[ if /i not "%tstresult%"=="FullLanguage" ( %eline% -echo: %tstresult% -cmd /c "%psc% $ExecutionContext.SessionState.LanguageMode" +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 -cmd /c "%psc% "$ExecutionContext.SessionState.LanguageMode"" | findstr /i "ConstrainedLanguage RestrictedLanguage NoLanguage" %nul1% && ( +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: @@ -279,7 +281,13 @@ goto dk_done REM check antivirus and other errors echo PowerShell is not working properly. Aborting... -cmd /c "%psc% ""$av = Get-WmiObject -Namespace root\SecurityCenter2 -Class AntiVirusProduct; $n = @(); foreach ($i in $av) { if ($i.displayName -notlike '*windows*') { $n += $i.displayName } }; if ($n) { Write-Host ('Installed 3rd party Antivirus might be blocking the script - ' + ($n -join ', ')) -ForegroundColor White -BackgroundColor Blue }""" + +if /i "!tstresult2!"=="FullLanguage" ( +echo: +echo Your antivirus software might be blocking the script, or PowerShell on your system might be corrupted. +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" diff --git a/MAS/Separate-Files-Version/Activators/Ohook_Activation_AIO.cmd b/MAS/Separate-Files-Version/Activators/Ohook_Activation_AIO.cmd index 9904958..aa321b3 100644 --- a/MAS/Separate-Files-Version/Activators/Ohook_Activation_AIO.cmd +++ b/MAS/Separate-Files-Version/Activators/Ohook_Activation_AIO.cmd @@ -249,12 +249,14 @@ for /f "delims=" %%a in ('%psc% "if ($PSVersionTable.PSEdition -ne 'Core') {$f=[ if /i not "%tstresult%"=="FullLanguage" ( %eline% -echo: %tstresult% -cmd /c "%psc% $ExecutionContext.SessionState.LanguageMode" +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 -cmd /c "%psc% "$ExecutionContext.SessionState.LanguageMode"" | findstr /i "ConstrainedLanguage RestrictedLanguage NoLanguage" %nul1% && ( +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: @@ -284,7 +286,13 @@ goto dk_done REM check antivirus and other errors echo PowerShell is not working properly. Aborting... -cmd /c "%psc% ""$av = Get-WmiObject -Namespace root\SecurityCenter2 -Class AntiVirusProduct; $n = @(); foreach ($i in $av) { if ($i.displayName -notlike '*windows*') { $n += $i.displayName } }; if ($n) { Write-Host ('Installed 3rd party Antivirus might be blocking the script - ' + ($n -join ', ')) -ForegroundColor White -BackgroundColor Blue }""" + +if /i "!tstresult2!"=="FullLanguage" ( +echo: +echo Your antivirus software might be blocking the script, or PowerShell on your system might be corrupted. +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" diff --git a/MAS/Separate-Files-Version/Activators/Online_KMS_Activation.cmd b/MAS/Separate-Files-Version/Activators/Online_KMS_Activation.cmd index a5ff772..db8bba9 100644 --- a/MAS/Separate-Files-Version/Activators/Online_KMS_Activation.cmd +++ b/MAS/Separate-Files-Version/Activators/Online_KMS_Activation.cmd @@ -280,12 +280,14 @@ for /f "delims=" %%a in ('%psc% "if ($PSVersionTable.PSEdition -ne 'Core') {$f=[ if /i not "%tstresult%"=="FullLanguage" ( %eline% -echo: %tstresult% -cmd /c "%psc% $ExecutionContext.SessionState.LanguageMode" +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 -cmd /c "%psc% "$ExecutionContext.SessionState.LanguageMode"" | findstr /i "ConstrainedLanguage RestrictedLanguage NoLanguage" %nul1% && ( +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: @@ -315,7 +317,13 @@ goto dk_done REM check antivirus and other errors echo PowerShell is not working properly. Aborting... -cmd /c "%psc% ""$av = Get-WmiObject -Namespace root\SecurityCenter2 -Class AntiVirusProduct; $n = @(); foreach ($i in $av) { if ($i.displayName -notlike '*windows*') { $n += $i.displayName } }; if ($n) { Write-Host ('Installed 3rd party Antivirus might be blocking the script - ' + ($n -join ', ')) -ForegroundColor White -BackgroundColor Blue }""" + +if /i "!tstresult2!"=="FullLanguage" ( +echo: +echo Your antivirus software might be blocking the script, or PowerShell on your system might be corrupted. +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" diff --git a/MAS/Separate-Files-Version/Activators/TSforge_Activation.cmd b/MAS/Separate-Files-Version/Activators/TSforge_Activation.cmd index d1ecff3..5c0a10b 100644 --- a/MAS/Separate-Files-Version/Activators/TSforge_Activation.cmd +++ b/MAS/Separate-Files-Version/Activators/TSforge_Activation.cmd @@ -298,12 +298,14 @@ for /f "delims=" %%a in ('%psc% "if ($PSVersionTable.PSEdition -ne 'Core') {$f=[ if /i not "%tstresult%"=="FullLanguage" ( %eline% -echo: %tstresult% -cmd /c "%psc% $ExecutionContext.SessionState.LanguageMode" +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 -cmd /c "%psc% "$ExecutionContext.SessionState.LanguageMode"" | findstr /i "ConstrainedLanguage RestrictedLanguage NoLanguage" %nul1% && ( +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: @@ -333,7 +335,13 @@ goto dk_done REM check antivirus and other errors echo PowerShell is not working properly. Aborting... -cmd /c "%psc% ""$av = Get-WmiObject -Namespace root\SecurityCenter2 -Class AntiVirusProduct; $n = @(); foreach ($i in $av) { if ($i.displayName -notlike '*windows*') { $n += $i.displayName } }; if ($n) { Write-Host ('Installed 3rd party Antivirus might be blocking the script - ' + ($n -join ', ')) -ForegroundColor White -BackgroundColor Blue }""" + +if /i "!tstresult2!"=="FullLanguage" ( +echo: +echo Your antivirus software might be blocking the script, or PowerShell on your system might be corrupted. +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" diff --git a/MAS/Separate-Files-Version/Change_Office_Edition.cmd b/MAS/Separate-Files-Version/Change_Office_Edition.cmd index 652109d..eed5d70 100644 --- a/MAS/Separate-Files-Version/Change_Office_Edition.cmd +++ b/MAS/Separate-Files-Version/Change_Office_Edition.cmd @@ -194,12 +194,14 @@ for /f "delims=" %%a in ('%psc% "if ($PSVersionTable.PSEdition -ne 'Core') {$f=[ if /i not "%tstresult%"=="FullLanguage" ( %eline% -echo: %tstresult% -cmd /c "%psc% $ExecutionContext.SessionState.LanguageMode" +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 -cmd /c "%psc% "$ExecutionContext.SessionState.LanguageMode"" | findstr /i "ConstrainedLanguage RestrictedLanguage NoLanguage" %nul1% && ( +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: @@ -229,7 +231,13 @@ goto dk_done REM check antivirus and other errors echo PowerShell is not working properly. Aborting... -cmd /c "%psc% ""$av = Get-WmiObject -Namespace root\SecurityCenter2 -Class AntiVirusProduct; $n = @(); foreach ($i in $av) { if ($i.displayName -notlike '*windows*') { $n += $i.displayName } }; if ($n) { Write-Host ('Installed 3rd party Antivirus might be blocking the script - ' + ($n -join ', ')) -ForegroundColor White -BackgroundColor Blue }""" + +if /i "!tstresult2!"=="FullLanguage" ( +echo: +echo Your antivirus software might be blocking the script, or PowerShell on your system might be corrupted. +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" diff --git a/MAS/Separate-Files-Version/Change_Windows_Edition.cmd b/MAS/Separate-Files-Version/Change_Windows_Edition.cmd index 9ff5535..e93db0c 100644 --- a/MAS/Separate-Files-Version/Change_Windows_Edition.cmd +++ b/MAS/Separate-Files-Version/Change_Windows_Edition.cmd @@ -199,12 +199,14 @@ for /f "delims=" %%a in ('%psc% "if ($PSVersionTable.PSEdition -ne 'Core') {$f=[ if /i not "%tstresult%"=="FullLanguage" ( %eline% -echo: %tstresult% -cmd /c "%psc% $ExecutionContext.SessionState.LanguageMode" +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 -cmd /c "%psc% "$ExecutionContext.SessionState.LanguageMode"" | findstr /i "ConstrainedLanguage RestrictedLanguage NoLanguage" %nul1% && ( +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: @@ -234,7 +236,13 @@ goto dk_done REM check antivirus and other errors echo PowerShell is not working properly. Aborting... -cmd /c "%psc% ""$av = Get-WmiObject -Namespace root\SecurityCenter2 -Class AntiVirusProduct; $n = @(); foreach ($i in $av) { if ($i.displayName -notlike '*windows*') { $n += $i.displayName } }; if ($n) { Write-Host ('Installed 3rd party Antivirus might be blocking the script - ' + ($n -join ', ')) -ForegroundColor White -BackgroundColor Blue }""" + +if /i "!tstresult2!"=="FullLanguage" ( +echo: +echo Your antivirus software might be blocking the script, or PowerShell on your system might be corrupted. +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" diff --git a/MAS/Separate-Files-Version/Extract_OEM_Folder.cmd b/MAS/Separate-Files-Version/Extract_OEM_Folder.cmd index 29c50cb..9b43ac2 100644 --- a/MAS/Separate-Files-Version/Extract_OEM_Folder.cmd +++ b/MAS/Separate-Files-Version/Extract_OEM_Folder.cmd @@ -210,12 +210,14 @@ for /f "delims=" %%a in ('%psc% "if ($PSVersionTable.PSEdition -ne 'Core') {$f=[ if /i not "%tstresult%"=="FullLanguage" ( %eline% -echo: %tstresult% -cmd /c "%psc% $ExecutionContext.SessionState.LanguageMode" +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 -cmd /c "%psc% "$ExecutionContext.SessionState.LanguageMode"" | findstr /i "ConstrainedLanguage RestrictedLanguage NoLanguage" %nul1% && ( +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: @@ -245,7 +247,13 @@ goto done2 REM check antivirus and other errors echo PowerShell is not working properly. Aborting... -cmd /c "%psc% ""$av = Get-WmiObject -Namespace root\SecurityCenter2 -Class AntiVirusProduct; $n = @(); foreach ($i in $av) { if ($i.displayName -notlike '*windows*') { $n += $i.displayName } }; if ($n) { Write-Host ('Installed 3rd party Antivirus might be blocking the script - ' + ($n -join ', ')) -ForegroundColor White -BackgroundColor Blue }""" + +if /i "!tstresult2!"=="FullLanguage" ( +echo: +echo Your antivirus software might be blocking the script, or PowerShell on your system might be corrupted. +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" diff --git a/MAS/Separate-Files-Version/Troubleshoot.cmd b/MAS/Separate-Files-Version/Troubleshoot.cmd index 5df6110..d35e046 100644 --- a/MAS/Separate-Files-Version/Troubleshoot.cmd +++ b/MAS/Separate-Files-Version/Troubleshoot.cmd @@ -211,12 +211,14 @@ for /f "delims=" %%a in ('%psc% "if ($PSVersionTable.PSEdition -ne 'Core') {$f=[ if /i not "%tstresult%"=="FullLanguage" ( %eline% -echo: %tstresult% -cmd /c "%psc% $ExecutionContext.SessionState.LanguageMode" +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 -cmd /c "%psc% "$ExecutionContext.SessionState.LanguageMode"" | findstr /i "ConstrainedLanguage RestrictedLanguage NoLanguage" %nul1% && ( +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: @@ -246,7 +248,13 @@ goto dk_done REM check antivirus and other errors echo PowerShell is not working properly. Aborting... -cmd /c "%psc% ""$av = Get-WmiObject -Namespace root\SecurityCenter2 -Class AntiVirusProduct; $n = @(); foreach ($i in $av) { if ($i.displayName -notlike '*windows*') { $n += $i.displayName } }; if ($n) { Write-Host ('Installed 3rd party Antivirus might be blocking the script - ' + ($n -join ', ')) -ForegroundColor White -BackgroundColor Blue }""" + +if /i "!tstresult2!"=="FullLanguage" ( +echo: +echo Your antivirus software might be blocking the script, or PowerShell on your system might be corrupted. +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" -- cgit v1.2.3 From 9f244ddc179b3fd3479aebec58cbc26c1bebb78a Mon Sep 17 00:00:00 2001 From: WindowsAddict Date: Tue, 27 May 2025 22:10:02 +0530 Subject: Fix grammar --- MAS/All-In-One-Version-KL/MAS_AIO.cmd | 6 +++--- 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, 6 insertions(+), 6 deletions(-) (limited to 'MAS/Separate-Files-Version/Activators/TSforge_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 b8026db..a5761b0 100644 --- a/MAS/All-In-One-Version-KL/MAS_AIO.cmd +++ b/MAS/All-In-One-Version-KL/MAS_AIO.cmd @@ -2348,7 +2348,7 @@ 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." @@ -4654,7 +4654,7 @@ call :dk_color %Gray% "Checking Installed Office [Not Found]" if defined ohub ( echo: -echo You have only Office dashboard app installed, you need to install full Office version. +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." if %_actwin%==0 set fixes=%fixes% %mas%genuine-installation-media @@ -12083,7 +12083,7 @@ call :dk_color %Red% "Checking Installed Office [Not Found]" if defined ohub ( echo: -echo You have only Office dashboard app installed, you need to install full Office version. +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." set fixes=%fixes% %mas%genuine-installation-media diff --git a/MAS/Separate-Files-Version/Activators/Ohook_Activation_AIO.cmd b/MAS/Separate-Files-Version/Activators/Ohook_Activation_AIO.cmd index aa321b3..ac11d16 100644 --- a/MAS/Separate-Files-Version/Activators/Ohook_Activation_AIO.cmd +++ b/MAS/Separate-Files-Version/Activators/Ohook_Activation_AIO.cmd @@ -539,7 +539,7 @@ 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." diff --git a/MAS/Separate-Files-Version/Activators/Online_KMS_Activation.cmd b/MAS/Separate-Files-Version/Activators/Online_KMS_Activation.cmd index db8bba9..200c69e 100644 --- a/MAS/Separate-Files-Version/Activators/Online_KMS_Activation.cmd +++ b/MAS/Separate-Files-Version/Activators/Online_KMS_Activation.cmd @@ -784,7 +784,7 @@ call :dk_color %Red% "Checking Installed Office [Not Found]" if defined ohub ( echo: -echo You have only Office dashboard app installed, you need to install full Office version. +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." set fixes=%fixes% %mas%genuine-installation-media diff --git a/MAS/Separate-Files-Version/Activators/TSforge_Activation.cmd b/MAS/Separate-Files-Version/Activators/TSforge_Activation.cmd index 5c0a10b..33e8f7c 100644 --- a/MAS/Separate-Files-Version/Activators/TSforge_Activation.cmd +++ b/MAS/Separate-Files-Version/Activators/TSforge_Activation.cmd @@ -1054,7 +1054,7 @@ call :dk_color %Gray% "Checking Installed Office [Not Found]" if defined ohub ( echo: -echo You have only Office dashboard app installed, you need to install full Office version. +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." if %_actwin%==0 set fixes=%fixes% %mas%genuine-installation-media -- cgit v1.2.3 From 9073a35fe00b7b40b8086a0036e4f13a20e9d4f4 Mon Sep 17 00:00:00 2001 From: WindowsAddict Date: Sun, 1 Jun 2025 20:27:57 +0530 Subject: Add StaticCID and KMS4k method in TSforge --- MAS/All-In-One-Version-KL/MAS_AIO.cmd | 930 +++++++++++++++++-- .../Activators/TSforge_Activation.cmd | 983 +++++++++++++++++++-- README.md | 234 +++-- 3 files changed, 1887 insertions(+), 260 deletions(-) (limited to 'MAS/Separate-Files-Version/Activators/TSforge_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 a5761b0..9c90b53 100644 --- a/MAS/All-In-One-Version-KL/MAS_AIO.cmd +++ b/MAS/All-In-One-Version-KL/MAS_AIO.cmd @@ -3976,6 +3976,11 @@ set tsids= :: To reset rearm counter, evaluation period and clear the tamper state, key lock, run the script with "/Z-Reset" parameter or change 0 to 1 in below line set _resall=0 +:: Choose activation method: +:: In builds 19041 and later, the script will auto select StaticCID (requires internet). If no internet is detected, it will then auto select the KMS4k method. For builds lower than 19041, the script will auto select ZeroCID. +:: To change the activation method, run the script with the parameters "/Z-SCID", "/Z-ZCID", or "/Z-KMS4k", or modify the option from Auto to SCID, ZCID, or KMS4k in the line below. +set _actmethod=Auto + :: Debug Mode: :: To run the script in debug mode, change 0 to any parameter above that you want to run, in below line set "_debug=0" @@ -4010,10 +4015,14 @@ if /i "%%A"=="/Z-OffHost" (set _actoffhost=1) if /i "%%A"=="/Z-APPX" (set _actappx=1) echo "%%A" | find /i "/Z-ID-" >nul && (set _actman=1& set "filtsids=%%A" & call set "filtsids=%%filtsids:~6%%" & if defined filtsids call set tsids=%%filtsids%% %%tsids%%) if /i "%%A"=="/Z-Reset" (set _resall=1) +if /i "%%A"=="/Z-SCID" (set _actmethod=SCID) +if /i "%%A"=="/Z-ZCID" (set _actmethod=ZCID) +if /i "%%A"=="/Z-KMS4k" (set _actmethod=KMS4k) ) if not defined tsids set _actman=0 for %%A in (%_actwin% %_actesu% %_actoff% %_actprojvis% %_actwinesuoff% %_actwinhost% %_actoffhost% %_actappx% %_actman% %_resall%) do (if "%%A"=="1" set _unattended=1) +if /i not %_actmethod%==Auto set _unattended=1 if %winbuild% LSS 7600 ( reg query "HKLM\SOFTWARE\Microsoft\NET Framework Setup\NDP\v3.5" /v Install %nul2% | find /i "0x1" %nul1% || ( @@ -4059,6 +4068,7 @@ echo [E] Reset - Rearm/Timers ) else ( echo [E] Reset - Rearm/Timers/Tamper/Lock ) +echo [F] Change - Activation Method [%_actmethod%] echo _______________________________________________ echo: echo [6] Remove TSforge Activation @@ -4067,12 +4077,13 @@ echo [0] %_exitmsg% echo ______________________________________________________________ echo: call :dk_color2 %_White% " " %_Green% "Choose a menu option using your keyboard..." -choice /C:12345ABCDE670 /N +choice /C:12345ABCDEF670 /N set _el=!errorlevel! -if !_el!==13 exit /b -if !_el!==12 start %mas%genuine-installation-media & goto :ts_menu -if !_el!==11 call :ts_remove & cls & goto :ts_menu +if !_el!==14 exit /b +if !_el!==13 start %mas%genuine-installation-media & goto :ts_menu +if !_el!==12 call :ts_remove & cls & goto :ts_menu +if !_el!==11 goto :ts_changemethod if !_el!==10 cls & setlocal & set "_resall=1" & call :ts_start & endlocal & cls & goto :ts_menu if !_el!==9 cls & setlocal & set "_actman=1" & call :ts_start & endlocal & cls & goto :ts_menu if !_el!==8 cls & setlocal & set "_actappx=1" & call :ts_start & endlocal & cls & goto :ts_menu @@ -4088,6 +4099,54 @@ goto :ts_menu ::======================================================================================================================================== +:ts_changemethod + +cls +if not defined terminal mode 76, 36 + +echo: +echo: +echo: +echo ______________________________________________________________ +echo: +call :dk_color2 %_White% " [1] " %_Green% " Auto" +echo Build 19041 and later: +echo Uses StaticCID, or KMS4k if offline. +echo Older builds: Uses ZeroCID. +echo _______________________________________________ +echo: +echo [2] StaticCID +echo Needs Internet. +echo Not for Windows 7 or older. +echo _______________________________________________ +echo: +echo [3] ZeroCID +echo Works only on builds below 19041. +echo _______________________________________________ +echo: +echo [4] KMS4k +echo This applies only to volume products. +echo Activates for 4000+ years using KMS. +echo _______________________________________________ +echo: +echo [5] Learn More +echo [0] %_exitmsg% +echo ______________________________________________________________ +echo: +call :dk_color2 %_White% " " %_Green% "Choose a menu option using your keyboard..." +choice /C:123450 /N +set _el=!errorlevel! + +if !_el!==6 goto :ts_menu +if !_el!==5 cls & start %mas%tsforge &goto :ts_menu +if !_el!==4 cls & set "_actmethod=KMS4k" & goto :ts_menu +if !_el!==3 cls & set "_actmethod=ZCID" & goto :ts_menu +if !_el!==2 cls & set "_actmethod=SCID" & goto :ts_menu +if !_el!==1 cls & set "_actmethod=Auto" & goto :ts_menu +goto :ts_changemethod + +::======================================================================================================================================== + :ts_start cls @@ -4168,6 +4227,57 @@ cls echo: call :dk_showosinfo +if /i %_actmethod%==SCID set tsmethod=StaticCID +if /i %_actmethod%==ZCID set tsmethod=ZeroCID +if /i %_actmethod%==KMS4k set tsmethod=KMS4k + +if /i %_actmethod%==Auto ( +if %winbuild% GEQ 19041 ( +set tsmethod=StaticCID +) else ( +set tsmethod=ZeroCID +) +) + +if %winbuild% LSS 9200 if /i %tsmethod%==StaticCID ( +%eline% +echo StaticCID method is supported only on Windows 8 and later. +goto dk_done +) + +::======================================================================================================================================== + +:: Check Internet connection + +if /i %tsmethod%==StaticCID ( +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 ( +if /i %_actmethod%==Auto if not %_actman%==1 set tsmethod=KMS4k +if /i !tsmethod!==KMS4k ( +call :dk_color %Gray% "Checking Internet Connection [Not Connected]" +call :dk_color %Blue% "Switching To KMS4k Activation Method because Internet is needed for StaticCID method." +) else ( +set error=1 +call :dk_color %Red% "Checking Internet Connection [Not Connected]" +call :dk_color %Blue% "Internet is required for TSforge StaticCID option." +) +echo: +) +) + +::======================================================================================================================================== + echo Initiating Diagnostic Tests... set "_serv=%_slser% Winmgmt" @@ -4185,6 +4295,11 @@ call :dk_color2 %Blue% "Check this webpage for help - " %_Yellow% " %mas%trouble goto :dk_done ) +if /i !tsmethod!==KMS4k ( +call :_taskclear-cache +echo Clearing %KS% Cache [Successful] +) + ::======================================================================================================================================== if %_resall%==1 goto :ts_resetall @@ -4206,16 +4321,23 @@ echo %tsedition% | find /i "Eval" %nul1% && ( goto :ts_wineval ) -call :ts_checkwinperm +set /a UBR=0 +if %winbuild% EQU 26100 ( +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 !UBR! LSS 4188 (set dontcheckact=1) +) + +if not defined dontcheckact call :ts_checkwinperm if defined _perm ( call :dk_color %Gray% "Checking OS Activation [Windows is already permanently activated]" goto :ts_esu ) +if %winbuild% LSS 9200 if /i %tsmethod%==KMS4k goto :ts_oldks if defined _vis goto :ts_winvista set tempid= -set keytype=zero +if /i %tsmethod%==KMS4k (set keytype=ks) else (set keytype=zero) for /f "delims=" %%a in ('%psc% "$f=[io.file]::ReadAllText('!_batp!') -split ':wintsid\:.*';iex ($f[1])" %nul6%') do ( echo "%%a" | findstr /r ".*-.*-.*-.*-.*" %nul1% && (set tsids=!tsids! %%a& set tempid=%%a) ) @@ -4225,6 +4347,13 @@ echo Checking Activation ID [%tempid%] [%tsedition%] ) else ( call :dk_color %Red% "Checking Activation ID [Not Found] [%tsedition%] [%osSKU%]" 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." +) else ( +call :dk_color %Blue% "Use non-KMS4K activation options from the previous menu." +) +) goto :ts_esu ) @@ -4232,6 +4361,83 @@ if defined winsub ( call :dk_color %Blue% "Windows Subscription [SKU ID-%slcSKU%] found. Script will activate base edition [SKU ID-%regSKU%]." echo: ) + +goto :ts_esu + +::======================================================================================================================================== + +:ts_oldks + +:: KMS keys for KMS4k method because TSforge cannot install KMS key on Windows Vista and 7 + +:: 1st column = Activation ID +:: 2nd column = Generic key +:: 3rd column = Edition ID +:: Separator = _ + +set f= +set key= +set tempid= +if not defined allapps call :dk_actids 55c92734-d682-4d71-983e-d6ec3f16059f + +for %%# in ( +:: Windows 7 +ae2ee509-1b34-41c0-acb7-6d4650168915_33PXH-7Y6KF-2VJC9-XBBR8-HV%f%THH_Enterprise +1cb6d605-11b3-4e14-bb30-da91c8e3983a_YDRBP-3D83W-TY26F-D46B2-XC%f%KRJ_EnterpriseN +b92e9980-b9d5-4821-9c94-140f632f6312_FJ82H-XT6CR-J8D7P-XQJJ2-GP%f%DD4_Professional +54a09a0d-d57b-4c10-8b69-a842d6590ad5_MRPKT-YTG23-K7D7T-X2JMM-QY%f%7MG_ProfessionalN +db537896-376f-48ae-a492-53d0547773d0_YBYF6-BHCR3-JPKRB-CDW7B-F9%f%BK4_Embedded_POSReady +aa6dd3aa-c2b4-40e2-a544-a6bbb3f5c395_73KQT-CD9G6-K7TQG-66MRP-CQ%f%22C_Embedded_ThinPC +5a041529-fef8-4d07-b06f-b59b573b32d2_W82YF-2Q76Y-63HXB-FGJG9-GF%f%7QX_ProfessionalE +46bbed08-9c7b-48fc-a614-95250573f4ea_C29WB-22CC8-VJ326-GHFJW-H9%f%DH4_EnterpriseE +:: Windows Server 2008 R2 +68531fb9-5511-4989-97be-d11a0f55633f_YC6KT-GKW9T-YTKYR-T4X34-R7%f%VHC_ServerStandard +7482e61b-c589-4b7f-8ecc-46d455ac3b87_74YFP-3QFB3-KQT8W-PMXWJ-7M%f%648_ServerDatacenter +620e2b3d-09e7-42fd-802a-17a13652fe7a_489J6-VHDMP-X63PK-3K798-CP%f%X3Y_ServerEnterprise +7482e61b-c589-4b7f-8ecc-46d455ac3b87_74YFP-3QFB3-KQT8W-PMXWJ-7M%f%648_ServerDatacenterCore +68531fb9-5511-4989-97be-d11a0f55633f_YC6KT-GKW9T-YTKYR-T4X34-R7%f%VHC_ServerStandardCore +620e2b3d-09e7-42fd-802a-17a13652fe7a_489J6-VHDMP-X63PK-3K798-CP%f%X3Y_ServerEnterpriseCore +8a26851c-1c7e-48d3-a687-fbca9b9ac16b_GT63C-RJFQ3-4GMB6-BRFB9-CB%f%83V_ServerEnterpriseIA64 +a78b8bd9-8017-4df5-b86a-09f756affa7c_6TPJF-RBVHG-WBW2R-86QPH-6R%f%TM4_ServerWeb +cda18cf3-c196-46ad-b289-60c072869994_TT8MH-CG224-D3D7Q-498W2-9Q%f%CTX_ServerHPC +a78b8bd9-8017-4df5-b86a-09f756affa7c_6TPJF-RBVHG-WBW2R-86QPH-6R%f%TM4_ServerWebCore +f772515c-0e87-48d5-a676-e6962c3e1195_736RG-XDKJK-V34PF-BHK87-J6%f%X3K_ServerEmbeddedSolution +:: Windows Vista +cfd8ff08-c0d7-452b-9f60-ef5c70c32094_VKK3X-68KWM-X2YGT-QR4M6-4B%f%WMV_Enterprise +4f3d1606-3fea-4c01-be3c-8d671c401e3b_YFKBB-PQJJV-G996G-VWGXY-2V%f%3X8_Business +2c682dc2-8b68-4f63-a165-ae291d4cf138_HMBQG-8H2RH-C77VX-27R82-VM%f%QBT_BusinessN +d4f54950-26f2-4fb4-ba21-ffab16afcade_VTC42-BM838-43QHV-84HX6-XJ%f%XKV_EnterpriseN +:: Windows Server 2008 +ad2542d4-9154-4c6d-8a44-30f11ee96989_TM24T-X9RMF-VWXK6-X8JC9-BF%f%GM2_ServerStandard +68b6e220-cf09-466b-92d3-45cd964b9509_7M67G-PC374-GR742-YH8V4-TC%f%BY3_ServerDatacenter +c1af4d90-d1bc-44ca-85d4-003ba33db3b9_YQGMW-MPWTJ-34KDK-48M3W-X4%f%Q6V_ServerEnterprise +01ef176b-3e0d-422a-b4f8-4ea880035e8f_4DWFP-JF3DJ-B7DTH-78FJB-PD%f%RHK_ServerEnterpriseIA64 +ddfa9f7c-f09e-40b9-8c1a-be877a9a7f4b_WYR28-R7TFJ-3X2YQ-YCY4H-M2%f%49D_ServerWeb +7afb1156-2c1d-40fc-b260-aab7442b62fe_RCTX3-KWVHP-BR6TB-RB6DM-6X%f%7HP_ServerComputeCluster +2401e3d0-c50a-4b58-87b2-7e794b7d2607_W7VD6-7JFBR-RX26B-YKQ3Y-6F%f%FFJ_ServerStandardV +fd09ef77-5647-4eff-809c-af2b64659a45_22XQ2-VRXRG-P8D42-K34TD-G3%f%QQC_ServerDatacenterV +8198490a-add0-47b2-b3ba-316b12d647b4_39BXF-X8Q23-P2WWT-38T2F-G3%f%FPG_ServerEnterpriseV +) do ( +for /f "tokens=1-3 delims=_" %%A in ("%%#") do if %tsedition%==%%C if not defined key ( +echo "%allapps%" | find /i "%%A" %nul1% && ( +set key=%%B +set tempid=%%A +) +) +) + +if not defined key ( +call :dk_color %Red% "Checking Activation ID [%tsedition% SKU-%osSKU% %KS% key is not available]" +call :dk_color %Blue% "Use ZeroCID activation method from the previous menu." +goto :ts_esu +) + +echo Checking Activation ID [%tempid%] [%tsedition%] + +set oldks=1 +set generickey=1 +call :dk_inskey "[%key%]" +set tsids=%tsids% %tempid% goto :ts_esu ::======================================================================================================================================== @@ -4441,6 +4647,15 @@ call :dk_inskey "[%key%]" :ts_esu if not %_actesu%==1 goto :ts_off +if /i %tsmethod%==KMS4k ( +call :dk_color %Red% "Skipping Windows ESU [KMS4k method is not supported with Windows ESU]" +if /i %_actmethod%==Auto ( +call :dk_color %Blue% "Connect to the Internet and try again. Script will use the StaticCID activation method." +) else ( +call :dk_color %Blue% "Use non-KMS4K activation options from the previous menu." +) +goto :ts_off +) :: Process Windows ESU @@ -4528,8 +4743,12 @@ goto :ts_off if defined esuexistbutnosup ( call :dk_color %Red% "Checking Activation ID [Commercial ESU is not supported for %tsedition%]" +echo %esueditionlist% | find /i "Professional" %nul1% && ( +call :dk_color %Blue% "Go back to Main Menu, select Change Windows Edition option, and change it to [Professional] or any non-Home edition." +) || ( call :dk_color %Blue% "Go back to Main Menu, select Change Windows Edition option and change to any of the below listed editions." echo [%esueditionlist%] +) goto :ts_off ) @@ -4804,6 +5023,24 @@ call :ts_process ::======================================================================================================================================== +:: mass grave[.]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" +if /i %tsmethod%==KMS4k ( +if %winbuild% GEQ 9200 ( +if not "%osarch%"=="x86" ( +reg delete "%kmskey%" /f /reg:32 %nul% +reg add "%kmskey%" /f /v KeyManagementServiceName /t REG_SZ /d "10.0.0.10" /reg:32 %nul% +) +reg delete "%kmskey%" /f %nul% +reg add "%kmskey%" /f /v KeyManagementServiceName /t REG_SZ /d "10.0.0.10" %nul% +echo Adding a Registry to Prevent Banner [Successful] +) +) + +::======================================================================================================================================== + :ts_startmsi if defined o15msi call :ts_processmsi 15 %o15msi_reg% @@ -4827,6 +5064,17 @@ goto :ts_act echo: echo Processing Windows %KS% Host... +if /i %tsmethod%==KMS4k ( +echo: +call :dk_color %Red% "Skipping Windows %KS% Host [KMS4k method is not supported with Windows %KS% Host]" +if /i %_actmethod%==Auto ( +call :dk_color %Blue% "Connect to the Internet and try again. Script will use the StaticCID activation method." +) else ( +call :dk_color %Blue% "Use non-KMS4K activation options from the previous menu." +) +goto :ts_act +) + echo: if %winbuild% GEQ 10586 ( call :dk_color %Gray% "With %KS% Host license, system may randomly change Windows Edition later. It is a Windows issue and can be safely ignored." @@ -4938,6 +5186,17 @@ call :dk_color %Blue% "Windows Vista and Server 2008 do not support the installa goto :ts_act ) +if /i %tsmethod%==KMS4k ( +echo: +call :dk_color %Red% "Skipping Office %KS% Host [KMS4k method is not supported with Office %KS% Host]" +if /i %_actmethod%==Auto ( +call :dk_color %Blue% "Connect to the Internet and try again. Script will use the StaticCID activation method." +) else ( +call :dk_color %Blue% "Use non-KMS4K activation options from the previous menu." +) +goto :ts_act +) + set ohostexist= call :dk_actids 0ff1ce15-a989-479d-af46-f275c6370663 set ohostids=%allapps% @@ -4990,6 +5249,17 @@ call :dk_color %Gray% "Checking Activation ID [APPX Sideloading goto :dk_done ) +if /i %tsmethod%==KMS4k ( +echo: +call :dk_color %Red% "Skipping Windows 8/8.1 APPX [KMS4k method is not supported with Windows 8/8.1 APPX]" +if /i %_actmethod%==Auto ( +call :dk_color %Blue% "Connect to the Internet and try again. Script will use the StaticCID activation method." +) else ( +call :dk_color %Blue% "Use non-KMS4K activation options from the previous menu." +) +goto :dk_done +) + set appxexist= if not defined allapps call :dk_actids 55c92734-d682-4d71-983e-d6ec3f16059f @@ -5048,6 +5318,17 @@ echo: echo Processing Manual Activation... echo: +if /i %tsmethod%==KMS4k ( +echo: +call :dk_color %Red% "Skipping Manual Activation [KMS4k method is not supported with it]" +if /i %_actmethod%==Auto ( +call :dk_color %Blue% "Connect to the Internet and try again. Script will use the StaticCID activation method." +) else ( +call :dk_color %Blue% "Use non-KMS4K activation options from the previous menu." +) +goto :dk_done +) + call :dk_color %Gray% "This option is for advanced users, those who already know what they are doing." call :dk_color %Blue% "Some activation IDs may cause system crash [MUI mismatch], or irreversible changes [CloudEdition etc]." @@ -5207,12 +5488,16 @@ call :dk_color2 %Blue% "Check this webpage for help - " %_Yellow% " %mas%trouble if defined tsids ( echo: -if not defined _vis echo Installing Forged Product Key Data... -echo Depositing Zero Confirmation ID... +if not defined _vis if not defined oldks echo Installing Forged Product Key Data... +if /i %tsmethod%==KMS4k ( +echo Writing TrustedStore data... +) else ( +if /i %tsmethod%==StaticCID (echo Depositing Static Confirmation ID...) else (echo Depositing Zero Confirmation ID...) +) echo: %psc% "$f=[io.file]::ReadAllText('!_batp!') -split ':tsforge\:.*';& ([ScriptBlock]::Create($f[1])) %tsids%" if !errorlevel!==3 ( -if %_actman%==0 call :dk_color %Blue% "%_fixmsg%" +if %_actman%==0 (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" ) else ( @@ -5328,6 +5613,19 @@ set _preview= set _License=%%# set skipprocess= + +set foundprod= +call :tsksdata chkprod %%# +if defined _oMSI if not defined foundprod if /i %tsmethod%==KMS4k ( +set skipprocess=1 +call :dk_color %Red% "Checking Product In Script [%%# MSI Retail is not supported with KMS4k]" +if /i %_actmethod%==Auto ( +call :dk_color %Blue% "Connect to the Internet and try again. Script will use the StaticCID activation method." +) else ( +call :dk_color %Blue% "Use non-KMS4K activation options from the previous menu." +) +) + if "%_actprojvis%"=="1" ( echo %%# | findstr /i "Project Visio" %nul% || ( set skipprocess=1 @@ -5335,8 +5633,17 @@ call :dk_color %Gray% "Skipping Because Project/Visio Mode [%%#]" ) ) +if "%_actprojvis%"=="0" if /i %tsmethod%==KMS4k echo %_oIds% | findstr /i "O365" %nul% && ( +echo %%# | findstr /i "Project Visio" %nul% && ( +set skipprocess=1 +echo Skipping Because Mondo Is Available [%%#] +) +) + + if not defined skipprocess ( +if /i not %tsmethod%==KMS4k ( set no365= if "%oVer%"=="15" (echo %%# | findstr /i "O365HomePremRetail" %nul% && set no365=1) if "%oVer%"=="16" (echo %%# | findstr /i "O365" %nul% && set no365=1) @@ -5358,8 +5665,30 @@ call :ks_osppready echo Converting Unsupported OEM-ARM Office [%%# To MondoRetail] ) ) +) +if not defined _oMSI if /i %tsmethod%==KMS4k if not defined foundprod ( +call :tsksdata getinfo %%# +if defined _altoffid ( +echo Converting Retail To Volume [%%# To !_altoffid!] +) else ( +set _License=MondoVolume +set _altoffid=MondoVolume +echo Converting Retail To Volume [%%# To !_altoffid!] [Using Mondo because %%# is not found in the script] +) +echo %%# | find /i "O365" %nul% && ( +if "%oVer%"=="15" (call :dk_color %Gray% "Mondo 2013 is equivalent to O365 [15.0 version] in terms of the latest features.") +if "%oVer%"=="16" (call :dk_color %Gray% "Mondo 2016 is equivalent to O365 in terms of the latest features.") +) +call :ks_osppready +) + +if /i %tsmethod%==KMS4k ( +echo !_License! | find /i "Retail" %nul% && (set keytype=zero) || (set keytype=ks) +) else ( set keytype=zero +) + for /f "delims=" %%a in ('%psc% "$f=[io.file]::ReadAllText('!_batp!') -split ':offtsid\:.*';iex ($f[1])" %nul6%') do ( echo "%%a" | findstr /r ".*-.*-.*-.*-.*" %nul1% && (set tsids=!tsids! %%a& set _actid=%%a) ) @@ -5388,7 +5717,7 @@ echo "!allapps!" | find /i "!_actid!" %nul1% || call :oh_installlic :: Add SharedComputerLicensing registry key if Retail Office C2R is installed on Windows Server :: https://learn.microsoft.com/en-us/office/troubleshoot/office-suite-issues/click-to-run-office-on-terminal-server -if defined winserver if defined _config if exist "%_oLPath%\Word2019VL_KMS_Client_AE*.xrm-ms" ( +if /i not %tsmethod%==KMS4k if defined winserver if defined _config if exist "%_oLPath%\Word2019VL_KMS_Client_AE*.xrm-ms" ( echo %_oIds% | find /i "Retail" %nul1% && ( set scaIsNeeded=1 reg add %_config% /v SharedComputerLicensing /t REG_SZ /d "1" /f %nul1% @@ -5454,6 +5783,220 @@ exit /b :tsforge: $src = @' +#if !POWERSHELL2 +namespace ActivationWs +{ + +/* + +This code is adapted from ActivationWs. +Original Repository: https://github.com/dadorner-msft/activationws + +MIT License + +Copyright (c) Daniel Dorner + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +*/ + +using System; +using System.IO; +using System.Linq; +using System.Net; +using System.Security.Cryptography; +using System.Text; +using System.Xml.Linq; + + public static class ActivationHelper { + // Key for HMAC/SHA256 signature. + private static readonly byte[] MacKey = new byte[64] { + 254, 49, 152, 117, 251, 72, 132, 134, + 156, 243, 241, 206, 153, 168, 144, 100, + 171, 87, 31, 202, 71, 4, 80, 88, + 48, 36, 226, 20, 98, 135, 121, 160, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0 + }; + + private const string Action = "http://www.microsoft.com/BatchActivationService/BatchActivate"; + + private static readonly Uri Uri = new Uri("https://activation.sls.microsoft.com/BatchActivation/BatchActivation.asmx"); + + private static readonly XNamespace SoapSchemaNs = "http://schemas.xmlsoap.org/soap/envelope/"; + private static readonly XNamespace XmlSchemaInstanceNs = "http://www.w3.org/2001/XMLSchema-instance"; + private static readonly XNamespace XmlSchemaNs = "http://www.w3.org/2001/XMLSchema"; + private static readonly XNamespace BatchActivationServiceNs = "http://www.microsoft.com/BatchActivationService"; + private static readonly XNamespace BatchActivationRequestNs = "http://www.microsoft.com/DRM/SL/BatchActivationRequest/1.0"; + private static readonly XNamespace BatchActivationResponseNs = "http://www.microsoft.com/DRM/SL/BatchActivationResponse/1.0"; + + public static string CallWebService(int requestType, string installationId, string extendedProductId) { + XDocument soapRequest = CreateSoapRequest(requestType, installationId, extendedProductId); + HttpWebRequest webRequest = CreateWebRequest(soapRequest); + XDocument soapResponse = new XDocument(); + + try { + IAsyncResult asyncResult = webRequest.BeginGetResponse(null, null); + asyncResult.AsyncWaitHandle.WaitOne(); + + // Read data from the response stream. + using (WebResponse webResponse = webRequest.EndGetResponse(asyncResult)) + using (StreamReader streamReader = new StreamReader(webResponse.GetResponseStream())) { + soapResponse = XDocument.Parse(streamReader.ReadToEnd()); + } + + return ParseSoapResponse(soapResponse); + + } catch { + throw; + } + } + + private static XDocument CreateSoapRequest(int requestType, string installationId, string extendedProductId) { + // Create an activation request. + XElement activationRequest = new XElement(BatchActivationRequestNs + "ActivationRequest", + new XElement(BatchActivationRequestNs + "VersionNumber", "2.0"), + new XElement(BatchActivationRequestNs + "RequestType", requestType), + new XElement(BatchActivationRequestNs + "Requests", + new XElement(BatchActivationRequestNs + "Request", + new XElement(BatchActivationRequestNs + "PID", extendedProductId), + requestType == 1 ? new XElement(BatchActivationRequestNs + "IID", installationId) : null) + ) + ); + + // Get the unicode byte array of activationRequest and convert it to Base64. + byte[] bytes = Encoding.Unicode.GetBytes(activationRequest.ToString()); + string requestXml = Convert.ToBase64String(bytes); + + XDocument soapRequest = new XDocument(); + + using (HMACSHA256 hMACSHA = new HMACSHA256(MacKey)) { + // Convert the HMAC hashed data to Base64. + string digest = Convert.ToBase64String(hMACSHA.ComputeHash(bytes)); + + soapRequest = new XDocument( + new XDeclaration("1.0", "UTF-8", "no"), + new XElement(SoapSchemaNs + "Envelope", + new XAttribute(XNamespace.Xmlns + "soap", SoapSchemaNs), + new XAttribute(XNamespace.Xmlns + "xsi", XmlSchemaInstanceNs), + new XAttribute(XNamespace.Xmlns + "xsd", XmlSchemaNs), + new XElement(SoapSchemaNs + "Body", + new XElement(BatchActivationServiceNs + "BatchActivate", + new XElement(BatchActivationServiceNs + "request", + new XElement(BatchActivationServiceNs + "Digest", digest), + new XElement(BatchActivationServiceNs + "RequestXml", requestXml) + ) + ) + ) + )); + + } + + return soapRequest; + } + + private static HttpWebRequest CreateWebRequest(XDocument soapRequest) { + HttpWebRequest webRequest = (HttpWebRequest)WebRequest.Create(Uri); + webRequest.Accept = "text/xml"; + webRequest.ContentType = "text/xml; charset=\"utf-8\""; + webRequest.Headers.Add("SOAPAction", Action); + webRequest.Host = "activation.sls.microsoft.com"; + webRequest.Method = "POST"; + + try { + // Insert SOAP envelope + using (Stream stream = webRequest.GetRequestStream()) { + soapRequest.Save(stream); + } + + return webRequest; + + } catch { + throw; + } + } + + private static string ParseSoapResponse(XDocument soapResponse) { + if (soapResponse == null) { + throw new ArgumentNullException("soapResponse", "The remote server returned an unexpected response."); + } + + if (!soapResponse.Descendants(BatchActivationServiceNs + "ResponseXml").Any()) { + throw new Exception("The remote server returned an unexpected response"); + } + + try { + XDocument responseXml = XDocument.Parse(soapResponse.Descendants(BatchActivationServiceNs + "ResponseXml").First().Value); + + if (responseXml.Descendants(BatchActivationResponseNs + "ErrorCode").Any()) { + string errorCode = responseXml.Descendants(BatchActivationResponseNs + "ErrorCode").First().Value; + + switch (errorCode) { + case "0x7F": + throw new Exception("The Multiple Activation Key has exceeded its limit"); + + case "0x67": + throw new Exception("The product key has been blocked"); + + case "0x68": + throw new Exception("Invalid product key"); + + case "0x86": + throw new Exception("Invalid key type"); + + case "0x90": + throw new Exception("Please check the Installation ID and try again"); + + default: + throw new Exception(string.Format("The remote server reported an error ({0})", errorCode)); + } + + } else if (responseXml.Descendants(BatchActivationResponseNs + "ResponseType").Any()) { + string responseType = responseXml.Descendants(BatchActivationResponseNs + "ResponseType").First().Value; + + switch (responseType) { + case "1": + string confirmationId = responseXml.Descendants(BatchActivationResponseNs + "CID").First().Value; + return confirmationId; + + case "2": + string activationsRemaining = responseXml.Descendants(BatchActivationResponseNs + "ActivationRemaining").First().Value; + return activationsRemaining; + + default: + throw new Exception("The remote server returned an unrecognized response"); + } + + } else { + throw new Exception("The remote server returned an unrecognized response"); + } + + } catch { + throw; + } + } + } +} +#endif + // Common.cs namespace LibTSforge { @@ -8015,27 +8558,23 @@ namespace LibTSforge.Modifiers } -// Activators/AVMA4K.cs +// Activators/KMS4K.cs namespace LibTSforge.Activators { using System; + using System.IO; using PhysicalStore; using SPP; - public static class AVMA4k + public class KMS4k { public static void Activate(PSVersion version, bool production, Guid actId) { - if (version != PSVersion.WinModern && version != PSVersion.WinBlue) - { - throw new NotSupportedException("AVMA licenses are not available for this product."); - } - Guid appId; if (actId == Guid.Empty) { appId = SLApi.WINDOWS_APP_ID; - actId = SLApi.GetDefaultActivationID(appId, false); + actId = SLApi.GetDefaultActivationID(appId, true); if (actId == Guid.Empty) { @@ -8047,9 +8586,9 @@ namespace LibTSforge.Activators appId = SLApi.GetAppId(actId); } - if (SLApi.GetPKeyChannel(SLApi.GetInstalledPkeyID(actId)) != "VT:IA") + if (SLApi.GetPKeyChannel(SLApi.GetInstalledPkeyID(actId)) != "Volume:GVLK") { - throw new NotSupportedException("Non-VT:IA product key installed."); + throw new NotSupportedException("Non-Volume:GVLK product key installed."); } SPPUtils.KillSPP(version); @@ -8060,80 +8599,171 @@ namespace LibTSforge.Activators { string key = string.Format("SPPSVC\\{0}\\{1}", appId, actId); - long creationTime = BitConverter.ToInt64(store.GetBlock("__##USERSEP##\\$$_RESERVED_$$\\NAMESPACE__", "__##USERSEP-RESERVED##__$$GLOBAL-CREATION-TIME$$").Data, 0); - long tickCount = BitConverter.ToInt64(store.GetBlock("__##USERSEP##\\$$_RESERVED_$$\\NAMESPACE__", "__##USERSEP-RESERVED##__$$GLOBAL-TICKCOUNT-UPTIME$$").Data, 0); - long deltaTime = BitConverter.ToInt64(store.GetBlock(key, "__##USERSEP-RESERVED##__$$UP-TIME-DELTA$$").Data, 0); + ulong unknown = 0; + ulong time1; + ulong time2 = (ulong)DateTime.UtcNow.ToFileTime(); + ulong expiry = Constants.TimerMax; + + if (version == PSVersion.Vista || version == PSVersion.Win7) + { + unknown = 0x800000000; + time1 = 0; + } + else + { + long creationTime = BitConverter.ToInt64(store.GetBlock("__##USERSEP##\\$$_RESERVED_$$\\NAMESPACE__", "__##USERSEP-RESERVED##__$$GLOBAL-CREATION-TIME$$").Data, 0); + long tickCount = BitConverter.ToInt64(store.GetBlock("__##USERSEP##\\$$_RESERVED_$$\\NAMESPACE__", "__##USERSEP-RESERVED##__$$GLOBAL-TICKCOUNT-UPTIME$$").Data, 0); + long deltaTime = BitConverter.ToInt64(store.GetBlock(key, "__##USERSEP-RESERVED##__$$UP-TIME-DELTA$$").Data, 0); + + time1 = (ulong)(creationTime + tickCount + deltaTime); + time2 /= 10000; + expiry /= 10000; + } + + if (version == PSVersion.Vista) + { + VistaTimer vistaTimer = new VistaTimer + { + Time = time2, + Expiry = Constants.TimerMax + }; + + string vistaTimerName = string.Format("msft:sl/timer/VLExpiration/VOLUME/{0}/{1}", appId, actId); - const ulong unknown = 0; - ulong time1 = (ulong)(creationTime + tickCount + deltaTime); - ulong crcBindTime = (ulong)DateTime.UtcNow.ToFileTime(); - ulong timerTime = crcBindTime / 10000; - ulong expiry = Constants.TimerMax / 10000; + store.DeleteBlock(key, vistaTimerName); + store.DeleteBlock(key, actId.ToString()); - VariableBag avmaBinding = new VariableBag(version); + BinaryWriter writer = new BinaryWriter(new MemoryStream()); + writer.Write(Constants.KMSv4Response.Length); + writer.Write(Constants.KMSv4Response); + writer.Write(Constants.UniversalHWIDBlock); + byte[] kmsData = writer.GetBytes(); - avmaBinding.Blocks.AddRange(new[] + store.AddBlocks(new[] + { + new PSBlock + { + Type = BlockType.TIMER, + Flags = 0, + KeyAsStr = key, + ValueAsStr = vistaTimerName, + Data = vistaTimer.CastToArray() + }, + new PSBlock + { + Type = BlockType.NAMED, + Flags = 0, + KeyAsStr = key, + ValueAsStr = actId.ToString(), + Data = kmsData + } + }); + } + else { + byte[] hwidBlock = Constants.UniversalHWIDBlock; + byte[] kmsResp; + + switch (version) + { + case PSVersion.Win7: + kmsResp = Constants.KMSv4Response; + break; + case PSVersion.Win8: + kmsResp = Constants.KMSv5Response; + break; + case PSVersion.WinBlue: + case PSVersion.WinModern: + kmsResp = Constants.KMSv6Response; + break; + default: + throw new NotSupportedException("Unsupported PSVersion."); + } + + VariableBag kmsBinding = new VariableBag(version); + + kmsBinding.Blocks.AddRange(new[] + { new CRCBlockModern { DataType = CRCBlockType.BINARY, Key = new byte[] { }, - Value = BitConverter.GetBytes(crcBindTime), + Value = kmsResp }, new CRCBlockModern { DataType = CRCBlockType.STRING, Key = new byte[] { }, - ValueAsStr = "AVMA4K", + ValueAsStr = "msft:rm/algorithm/hwid/4.0" }, new CRCBlockModern { - DataType = CRCBlockType.STRING, - Key = new byte[] { }, - ValueAsStr = "00491-50000-00001-AA666", + DataType = CRCBlockType.BINARY, + KeyAsStr = "SppBindingLicenseData", + Value = hwidBlock + } + }); + + if (version == PSVersion.WinModern) + { + kmsBinding.Blocks.AddRange(new[] + { + new CRCBlockModern + { + DataType = CRCBlockType.STRING, + Key = new byte[] { }, + ValueAsStr = "massgrave.dev" + }, + new CRCBlockModern + { + DataType = CRCBlockType.STRING, + Key = new byte[] { }, + ValueAsStr = "6969" + } + }); } - }); - byte[] avmaBindingData = avmaBinding.Serialize(); + byte[] kmsBindingData = kmsBinding.Serialize(); - Timer avmaTimer = new Timer - { - Unknown = unknown, - Time1 = time1, - Time2 = timerTime, - Expiry = expiry - }; + Timer kmsTimer = new Timer + { + Unknown = unknown, + Time1 = time1, + Time2 = time2, + Expiry = expiry + }; - string storeVal = string.Format("msft:spp/ia/bind/1.0/store/{0}/{1}", appId, actId); - string timerVal = string.Format("msft:spp/ia/bind/1.0/timer/{0}/{1}", appId, actId); + string storeVal = string.Format("msft:spp/kms/bind/2.0/store/{0}/{1}", appId, actId); + string timerVal = string.Format("msft:spp/kms/bind/2.0/timer/{0}/{1}", appId, actId); - store.DeleteBlock(key, storeVal); - store.DeleteBlock(key, timerVal); + store.DeleteBlock(key, storeVal); + store.DeleteBlock(key, timerVal); - store.AddBlocks(new[] - { + store.AddBlocks(new[] + { new PSBlock { Type = BlockType.NAMED, - Flags = 0x400, + Flags = (version == PSVersion.WinModern) ? (uint)0x400 : 0, KeyAsStr = key, ValueAsStr = storeVal, - Data = avmaBindingData, + Data = kmsBindingData }, new PSBlock { Type = BlockType.TIMER, - Flags = 0x4, + Flags = (version == PSVersion.Win7) ? (uint)0 : 0x4, KeyAsStr = key, ValueAsStr = timerVal, - Data = avmaTimer.CastToArray() + Data = kmsTimer.CastToArray() } - }); + }); + } } - SLApi.RefreshLicenseStatus(); + SPPUtils.RestartSPP(version); SLApi.FireStateChangedEvent(appId); - Logger.WriteLine("Activated using AVMA4k successfully."); + Logger.WriteLine("Activated using KMS4k successfully."); } } } @@ -10240,15 +10870,16 @@ namespace LibTSforge.PhysicalStore '@ $ErrorActionPreference = 'Stop' $binPath = "$env:_work\BIN\LibTSforge.dll" +$psMajorVer = (Get-Host).Version.Major 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") - $cp.CompilerOptions = "/unsafe" - $lang = If ((Get-Host).Version.Major -gt 2) { "CSharp" } Else { "CSharpVersion3" } + $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 } @@ -10297,32 +10928,65 @@ function slGetSkuInfo($SkuId) { if (-not $env:resetstuff) { foreach ($tsactid in $tsactids) { try { + $activated = $null $prodDes = Get-WmiInfo -tsactid $tsactid -property "Description" $prodName = Get-WmiInfo -tsactid $tsactid -property "Name" if ($prodName) { $nameParts = $prodName -split ',', 2 $prodName = if ($nameParts.Count -gt 1) { ($nameParts[1].Trim() -split '[ ,]')[0] } else { $null } } - if (-not $env:_vis) { - [LibTSforge.Modifiers.GenPKeyInstall]::InstallGenPKey($ver, $prod, $tsactid) - } - if ($prodName -match 'Office' -and -not (slGetSkuInfo($tsactid))) { + if (-not $env:_vis -and -not $env:oldks) { + [LibTSforge.Modifiers.GenPKeyInstall]::InstallGenPKey($ver, $prod, $tsactid) + } + if ($prodName -match 'Office' -and $prodDes -notmatch 'KMS' -and -not (slGetSkuInfo($tsactid))) { $licenseStatus = Get-WmiInfo -tsactid $tsactid -property "LicenseStatus" if ($licenseStatus -eq 1) { Write-Host "[$prodName] is already permanently activated." -ForegroundColor White -BackgroundColor DarkGreen continue } } - [LibTSforge.Activators.ZeroCID]::Activate($ver, $prod, $tsactid) - $licenseStatus = Get-WmiInfo -tsactid $tsactid -property "LicenseStatus" - if ($licenseStatus -eq 1) { + if ($env:tsmethod -eq "StaticCID") { + [Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12 + $attempts = @( + @(100055, 1000043, 1338662172562478), + @(1345, 1003020, 6311608238084405) + ) + foreach ($params in $attempts) { + [LibTSforge.Modifiers.SetIIDParams]::SetParams($ver, $prod, $tsactid, [LibTSforge.SPP.PKeyAlgorithm]::PKEY2009, $params[0], $params[1], $params[2]) + $instId = [LibTSforge.SPP.SLApi]::GetInstallationID($tsactid) + $confId = [ActivationWs.ActivationHelper]::CallWebService(1, $instId, "31337-42069-123-456789-04-1337-2600.0000-2542001") + $result = [LibTSforge.SPP.SLApi]::DepositConfirmationID($tsactid, $instId, $confId) + if ($result -eq 0) { break } + } + [LibTSforge.SPP.SPPUtils]::RestartSPP($ver) + } + elseif ($env:tsmethod -eq "KMS4k") { + [LibTSforge.Activators.KMS4k]::Activate($ver, $prod, $tsactid) + } + else { + [LibTSforge.Activators.ZeroCID]::Activate($ver, $prod, $tsactid) + } + if ($env:tsmethod -eq "KMS4k") { + $GracePeriodStatus = Get-WmiInfo -tsactid $tsactid -property "GracePeriodRemaining" + if ($GracePeriodStatus -gt 259200) { $activated = 1 } + } + else { + $licenseStatus = Get-WmiInfo -tsactid $tsactid -property "LicenseStatus" + if ($licenseStatus -eq 1) { $activated = 1 } + } + if ($activated) { if ($prodDes -match 'KMS' -and $prodDes -notmatch 'CLIENT') { [LibTSforge.Modifiers.KMSHostCharge]::Charge($ver, $prod, $tsactid) - Write-Host "[$prodName] CSVLK is permanently activated with ZeroCID." -ForegroundColor White -BackgroundColor DarkGreen + Write-Host "[$prodName] CSVLK is permanently activated with $env:tsmethod." -ForegroundColor White -BackgroundColor DarkGreen Write-Host "[$prodName] CSVLK is charged with 25 clients for 30 days." -ForegroundColor White -BackgroundColor DarkGreen } else { - Write-Host "[$prodName] is permanently activated with ZeroCID." -ForegroundColor White -BackgroundColor DarkGreen + 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 + } + else { + Write-Host "[$prodName] is permanently activated with $env:tsmethod." -ForegroundColor White -BackgroundColor DarkGreen + } } } else { @@ -10340,11 +11004,11 @@ if (-not $env:resetstuff) { if ($env:resetstuff) { try { - if (-not $env:_vis) {[LibTSforge.Modifiers.TamperedFlagsDelete]::DeleteTamperFlags($ver, $prod)} + if (-not $env:_vis) { [LibTSforge.Modifiers.TamperedFlagsDelete]::DeleteTamperFlags($ver, $prod) } [LibTSforge.SPP.SLApi]::RefreshLicenseStatus() [LibTSforge.Modifiers.RearmReset]::Reset($ver, $prod) [LibTSforge.Modifiers.GracePeriodReset]::Reset($ver, $prod) - if (-not $env:_vis) {[LibTSforge.Modifiers.KeyChangeLockDelete]::Delete($ver, $prod)} + if (-not $env:_vis) { [LibTSforge.Modifiers.KeyChangeLockDelete]::Delete($ver, $prod) } } catch { $errcode = 3 @@ -10604,6 +11268,130 @@ Office-ActID -pkeypath "$env:pkeypath" -edition "$env:_License" -keytype "$env:k ::======================================================================================================================================== +:: 1st column = Office version +:: 2nd column = Volume or free retail product +:: 3rd column = Retail product names that needs to be converted to the Volume product mentioned in 2nd column +:: Separator = "_" + +:tsksdata + +set f= +for %%# in ( +:: Office 2013 +15_AccessVolume_-AccessRetail- +15_AccessRuntimeRetail +15_ExcelVolume_-ExcelRetail- +15_GrooveVolume_-GrooveRetail- +15_InfoPathVolume_-InfoPathRetail- +15_LyncAcademicRetail +15_LyncEntryRetail +15_LyncVolume_-LyncRetail- +15_MondoRetail +15_MondoVolume_-O365BusinessRetail-O365HomePremRetail-O365ProPlusRetail-O365SmallBusPremRetail- +15_OneNoteFreeRetail +15_OneNoteVolume_-OneNoteRetail- +15_OutlookVolume_-OutlookRetail- +15_PowerPointVolume_-PowerPointRetail- +15_ProjectProVolume_-ProjectProRetail- +15_ProjectStdVolume_-ProjectStdRetail- +15_ProPlusVolume_-ProPlusRetail-ProfessionalPipcRetail-ProfessionalRetail- +15_PublisherVolume_-PublisherRetail- +15_SPDRetail +15_StandardVolume_-StandardRetail-HomeBusinessPipcRetail-HomeBusinessRetail-HomeStudentARMRetail-HomeStudentPlusARMRetail-HomeStudentRetail-PersonalPipcRetail-PersonalRetail- +15_VisioProVolume_-VisioProRetail- +15_VisioStdVolume_-VisioStdRetail- +15_WordVolume_-WordRetail- +:: Office 2016 +16_AccessRuntimeRetail +16_AccessVolume_-AccessRetail- +16_ExcelVolume_-ExcelRetail- +16_MondoRetail +16_MondoVolume_-O365AppsBasicRetail-O365BusinessRetail-O365EduCloudRetail-O365HomePremRetail-O365ProPlusRetail-O365SmallBusPremRetail- +16_OneNoteFreeRetail +16_OneNoteVolume_-OneNoteRetail-OneNote2021Retail- +16_OutlookVolume_-OutlookRetail- +16_PowerPointVolume_-PowerPointRetail- +16_ProjectProVolume_-ProjectProRetail- +16_ProjectProXVolume +16_ProjectStdVolume_-ProjectStdRetail- +16_ProjectStdXVolume +16_ProPlusVolume_-ProPlusRetail-ProfessionalPipcRetail-ProfessionalRetail- +16_PublisherVolume_-PublisherRetail- +16_SkypeServiceBypassRetail +16_SkypeforBusinessEntryRetail +16_SkypeforBusinessVolume_-SkypeforBusinessRetail- +16_StandardVolume_-StandardRetail-HomeBusinessPipcRetail-HomeBusinessRetail-HomeStudentARMRetail-HomeStudentPlusARMRetail-HomeStudentRetail-HomeStudentVNextRetail-PersonalPipcRetail-PersonalRetail- +16_VisioProVolume_-VisioProRetail- +16_VisioProXVolume +16_VisioStdVolume_-VisioStdRetail- +16_VisioStdXVolume +16_WordVolume_-WordRetail- +:: Office 2019 +16_AccessRuntime2019Retail +16_Access2019Volume_-Access2019Retail- +16_Excel2019Volume_-Excel2019Retail- +16_Outlook2019Volume_-Outlook2019Retail- +16_PowerPoint2019Volume_-PowerPoint2019Retail- +16_ProjectPro2019Volume_-ProjectPro2019Retail- +16_ProjectStd2019Volume_-ProjectStd2019Retail- +16_ProPlus2019Volume_-ProPlus2019Retail-Professional2019Retail- +16_Publisher2019Volume_-Publisher2019Retail- +16_SkypeforBusiness2019Volume_-SkypeforBusiness2019Retail- +16_SkypeforBusinessEntry2019Retail +16_Standard2019Volume_-Standard2019Retail-HomeBusiness2019Retail-HomeStudentARM2019Retail-HomeStudentPlusARM2019Retail-HomeStudent2019Retail-Personal2019Retail- +16_VisioPro2019Volume_-VisioPro2019Retail- +16_VisioStd2019Volume_-VisioStd2019Retail- +16_Word2019Volume_-Word2019Retail- +:: Office 2021 +:: OneNote2021Volume KMS license is not available +16_AccessRuntime2021Retail +16_Access2021Volume_-Access2021Retail- +16_Excel2021Volume_-Excel2021Retail- +16_Outlook2021Volume_-Outlook2021Retail- +16_OneNoteFree2021Retail +16_PowerPoint2021Volume_-PowerPoint2021Retail- +16_ProjectPro2021Volume_-ProjectPro2021Retail- +16_ProjectStd2021Volume_-ProjectStd2021Retail- +16_ProPlus2021Volume_-ProPlus2021Retail-Professional2021Retail- +16_Publisher2021Volume_-Publisher2021Retail- +16_SkypeforBusiness2021Volume_-SkypeforBusiness2021Retail- +16_Standard2021Volume_-Standard2021Retail-HomeBusiness2021Retail-HomeStudent2021Retail-Personal2021Retail- +16_VisioPro2021Volume_-VisioPro2021Retail- +16_VisioStd2021Volume_-VisioStd2021Retail- +16_Word2021Volume_-Word2021Retail- +:: Office 2024 +16_Access2024Volume_-Access2024Retail- +16_Excel2024Volume_-Excel2024Retail- +16_Outlook2024Volume_-Outlook2024Retail- +16_PowerPoint2024Volume_-PowerPoint2024Retail- +16_ProjectPro2024Volume_-ProjectPro2024Retail- +16_ProjectStd2024Volume_-ProjectStd2024Retail- +16_ProPlus2024Volume_-ProPlus2024Retail- +16_SkypeforBusiness2024Volume +16_Standard2024Volume_-Home2024Retail-HomeBusiness2024Retail- +16_VisioPro2024Volume_-VisioPro2024Retail- +16_VisioStd2024Volume_-VisioStd2024Retail- +16_Word2024Volume_-Word2024Retail- +) do ( +for /f "tokens=1-3 delims=_" %%A in ("%%#") do ( + +if %1==chkprod if "%oVer%"=="%%A" if not defined foundprod ( +if /i "%%B"=="%2" set foundprod=1 +) + +if %1==getinfo if "%oVer%"=="%%A" ( +echo: %%C | find /i "-%2-" %nul% && ( +set _License=%%B +set _altoffid=%%B +) +) + +) +) +exit /b + +::======================================================================================================================================== + :ts_getedition set tsedition= diff --git a/MAS/Separate-Files-Version/Activators/TSforge_Activation.cmd b/MAS/Separate-Files-Version/Activators/TSforge_Activation.cmd index 33e8f7c..c80d70e 100644 --- a/MAS/Separate-Files-Version/Activators/TSforge_Activation.cmd +++ b/MAS/Separate-Files-Version/Activators/TSforge_Activation.cmd @@ -45,6 +45,11 @@ set tsids= :: To reset rearm counter, evaluation period and clear the tamper state, key lock, run the script with "/Z-Reset" parameter or change 0 to 1 in below line set _resall=0 +:: Choose activation method: +:: In builds 19041 and later, the script will auto select StaticCID (requires internet). If no internet is detected, it will then auto select the KMS4k method. For builds lower than 19041, the script will auto select ZeroCID. +:: To change the activation method, run the script with the parameters "/Z-SCID", "/Z-ZCID", or "/Z-KMS4k", or modify the option from Auto to SCID, ZCID, or KMS4k in the line below. +set _actmethod=Auto + :: Debug Mode: :: To run the script in debug mode, change 0 to any parameter above that you want to run, in below line set "_debug=0" @@ -191,10 +196,14 @@ if /i "%%A"=="/Z-OffHost" (set _actoffhost=1) if /i "%%A"=="/Z-APPX" (set _actappx=1) echo "%%A" | find /i "/Z-ID-" >nul && (set _actman=1& set "filtsids=%%A" & call set "filtsids=%%filtsids:~6%%" & if defined filtsids call set tsids=%%filtsids%% %%tsids%%) if /i "%%A"=="/Z-Reset" (set _resall=1) +if /i "%%A"=="/Z-SCID" (set _actmethod=SCID) +if /i "%%A"=="/Z-ZCID" (set _actmethod=ZCID) +if /i "%%A"=="/Z-KMS4k" (set _actmethod=KMS4k) ) if not defined tsids set _actman=0 for %%A in (%_actwin% %_actesu% %_actoff% %_actprojvis% %_actwinesuoff% %_actwinhost% %_actoffhost% %_actappx% %_actman% %_resall%) do (if "%%A"=="1" set _unattended=1) +if /i not %_actmethod%==Auto set _unattended=1 ::======================================================================================================================================== @@ -459,6 +468,7 @@ echo [E] Reset - Rearm/Timers ) else ( echo [E] Reset - Rearm/Timers/Tamper/Lock ) +echo [F] Change - Activation Method [%_actmethod%] echo _______________________________________________ echo: echo [6] Remove TSforge Activation @@ -467,12 +477,13 @@ echo [0] %_exitmsg% echo ______________________________________________________________ echo: call :dk_color2 %_White% " " %_Green% "Choose a menu option using your keyboard..." -choice /C:12345ABCDE670 /N +choice /C:12345ABCDEF670 /N set _el=!errorlevel! -if !_el!==13 exit /b -if !_el!==12 start %mas%genuine-installation-media & goto :ts_menu -if !_el!==11 call :ts_remove & cls & goto :ts_menu +if !_el!==14 exit /b +if !_el!==13 start %mas%genuine-installation-media & goto :ts_menu +if !_el!==12 call :ts_remove & cls & goto :ts_menu +if !_el!==11 goto :ts_changemethod if !_el!==10 cls & setlocal & set "_resall=1" & call :ts_start & endlocal & cls & goto :ts_menu if !_el!==9 cls & setlocal & set "_actman=1" & call :ts_start & endlocal & cls & goto :ts_menu if !_el!==8 cls & setlocal & set "_actappx=1" & call :ts_start & endlocal & cls & goto :ts_menu @@ -488,6 +499,54 @@ goto :ts_menu ::======================================================================================================================================== +:ts_changemethod + +cls +if not defined terminal mode 76, 36 + +echo: +echo: +echo: +echo ______________________________________________________________ +echo: +call :dk_color2 %_White% " [1] " %_Green% " Auto" +echo Build 19041 and later: +echo Uses StaticCID, or KMS4k if offline. +echo Older builds: Uses ZeroCID. +echo _______________________________________________ +echo: +echo [2] StaticCID +echo Needs Internet. +echo Not for Windows 7 or older. +echo _______________________________________________ +echo: +echo [3] ZeroCID +echo Works only on builds below 19041. +echo _______________________________________________ +echo: +echo [4] KMS4k +echo This applies only to volume products. +echo Activates for 4000+ years using KMS. +echo _______________________________________________ +echo: +echo [5] Learn More +echo [0] %_exitmsg% +echo ______________________________________________________________ +echo: +call :dk_color2 %_White% " " %_Green% "Choose a menu option using your keyboard..." +choice /C:123450 /N +set _el=!errorlevel! + +if !_el!==6 goto :ts_menu +if !_el!==5 cls & start %mas%tsforge &goto :ts_menu +if !_el!==4 cls & set "_actmethod=KMS4k" & goto :ts_menu +if !_el!==3 cls & set "_actmethod=ZCID" & goto :ts_menu +if !_el!==2 cls & set "_actmethod=SCID" & goto :ts_menu +if !_el!==1 cls & set "_actmethod=Auto" & goto :ts_menu +goto :ts_changemethod + +::======================================================================================================================================== + :ts_start cls @@ -568,6 +627,57 @@ cls echo: call :dk_showosinfo +if /i %_actmethod%==SCID set tsmethod=StaticCID +if /i %_actmethod%==ZCID set tsmethod=ZeroCID +if /i %_actmethod%==KMS4k set tsmethod=KMS4k + +if /i %_actmethod%==Auto ( +if %winbuild% GEQ 19041 ( +set tsmethod=StaticCID +) else ( +set tsmethod=ZeroCID +) +) + +if %winbuild% LSS 9200 if /i %tsmethod%==StaticCID ( +%eline% +echo StaticCID method is supported only on Windows 8 and later. +goto dk_done +) + +::======================================================================================================================================== + +:: Check Internet connection + +if /i %tsmethod%==StaticCID ( +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 ( +if /i %_actmethod%==Auto if not %_actman%==1 set tsmethod=KMS4k +if /i !tsmethod!==KMS4k ( +call :dk_color %Gray% "Checking Internet Connection [Not Connected]" +call :dk_color %Blue% "Switching To KMS4k Activation Method because Internet is needed for StaticCID method." +) else ( +set error=1 +call :dk_color %Red% "Checking Internet Connection [Not Connected]" +call :dk_color %Blue% "Internet is required for TSforge StaticCID option." +) +echo: +) +) + +::======================================================================================================================================== + echo Initiating Diagnostic Tests... set "_serv=%_slser% Winmgmt" @@ -585,6 +695,11 @@ call :dk_color2 %Blue% "Check this webpage for help - " %_Yellow% " %mas%trouble goto :dk_done ) +if /i !tsmethod!==KMS4k ( +call :_taskclear-cache +echo Clearing %KS% Cache [Successful] +) + ::======================================================================================================================================== if %_resall%==1 goto :ts_resetall @@ -606,16 +721,23 @@ echo %tsedition% | find /i "Eval" %nul1% && ( goto :ts_wineval ) -call :ts_checkwinperm +set /a UBR=0 +if %winbuild% EQU 26100 ( +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 !UBR! LSS 4188 (set dontcheckact=1) +) + +if not defined dontcheckact call :ts_checkwinperm if defined _perm ( call :dk_color %Gray% "Checking OS Activation [Windows is already permanently activated]" goto :ts_esu ) +if %winbuild% LSS 9200 if /i %tsmethod%==KMS4k goto :ts_oldks if defined _vis goto :ts_winvista set tempid= -set keytype=zero +if /i %tsmethod%==KMS4k (set keytype=ks) else (set keytype=zero) for /f "delims=" %%a in ('%psc% "$f=[io.file]::ReadAllText('!_batp!') -split ':wintsid\:.*';iex ($f[1])" %nul6%') do ( echo "%%a" | findstr /r ".*-.*-.*-.*-.*" %nul1% && (set tsids=!tsids! %%a& set tempid=%%a) ) @@ -625,6 +747,13 @@ echo Checking Activation ID [%tempid%] [%tsedition%] ) else ( call :dk_color %Red% "Checking Activation ID [Not Found] [%tsedition%] [%osSKU%]" 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." +) else ( +call :dk_color %Blue% "Use non-KMS4K activation options from the previous menu." +) +) goto :ts_esu ) @@ -632,6 +761,83 @@ if defined winsub ( call :dk_color %Blue% "Windows Subscription [SKU ID-%slcSKU%] found. Script will activate base edition [SKU ID-%regSKU%]." echo: ) + +goto :ts_esu + +::======================================================================================================================================== + +:ts_oldks + +:: KMS keys for KMS4k method because TSforge cannot install KMS key on Windows Vista and 7 + +:: 1st column = Activation ID +:: 2nd column = Generic key +:: 3rd column = Edition ID +:: Separator = _ + +set f= +set key= +set tempid= +if not defined allapps call :dk_actids 55c92734-d682-4d71-983e-d6ec3f16059f + +for %%# in ( +:: Windows 7 +ae2ee509-1b34-41c0-acb7-6d4650168915_33PXH-7Y6KF-2VJC9-XBBR8-HV%f%THH_Enterprise +1cb6d605-11b3-4e14-bb30-da91c8e3983a_YDRBP-3D83W-TY26F-D46B2-XC%f%KRJ_EnterpriseN +b92e9980-b9d5-4821-9c94-140f632f6312_FJ82H-XT6CR-J8D7P-XQJJ2-GP%f%DD4_Professional +54a09a0d-d57b-4c10-8b69-a842d6590ad5_MRPKT-YTG23-K7D7T-X2JMM-QY%f%7MG_ProfessionalN +db537896-376f-48ae-a492-53d0547773d0_YBYF6-BHCR3-JPKRB-CDW7B-F9%f%BK4_Embedded_POSReady +aa6dd3aa-c2b4-40e2-a544-a6bbb3f5c395_73KQT-CD9G6-K7TQG-66MRP-CQ%f%22C_Embedded_ThinPC +5a041529-fef8-4d07-b06f-b59b573b32d2_W82YF-2Q76Y-63HXB-FGJG9-GF%f%7QX_ProfessionalE +46bbed08-9c7b-48fc-a614-95250573f4ea_C29WB-22CC8-VJ326-GHFJW-H9%f%DH4_EnterpriseE +:: Windows Server 2008 R2 +68531fb9-5511-4989-97be-d11a0f55633f_YC6KT-GKW9T-YTKYR-T4X34-R7%f%VHC_ServerStandard +7482e61b-c589-4b7f-8ecc-46d455ac3b87_74YFP-3QFB3-KQT8W-PMXWJ-7M%f%648_ServerDatacenter +620e2b3d-09e7-42fd-802a-17a13652fe7a_489J6-VHDMP-X63PK-3K798-CP%f%X3Y_ServerEnterprise +7482e61b-c589-4b7f-8ecc-46d455ac3b87_74YFP-3QFB3-KQT8W-PMXWJ-7M%f%648_ServerDatacenterCore +68531fb9-5511-4989-97be-d11a0f55633f_YC6KT-GKW9T-YTKYR-T4X34-R7%f%VHC_ServerStandardCore +620e2b3d-09e7-42fd-802a-17a13652fe7a_489J6-VHDMP-X63PK-3K798-CP%f%X3Y_ServerEnterpriseCore +8a26851c-1c7e-48d3-a687-fbca9b9ac16b_GT63C-RJFQ3-4GMB6-BRFB9-CB%f%83V_ServerEnterpriseIA64 +a78b8bd9-8017-4df5-b86a-09f756affa7c_6TPJF-RBVHG-WBW2R-86QPH-6R%f%TM4_ServerWeb +cda18cf3-c196-46ad-b289-60c072869994_TT8MH-CG224-D3D7Q-498W2-9Q%f%CTX_ServerHPC +a78b8bd9-8017-4df5-b86a-09f756affa7c_6TPJF-RBVHG-WBW2R-86QPH-6R%f%TM4_ServerWebCore +f772515c-0e87-48d5-a676-e6962c3e1195_736RG-XDKJK-V34PF-BHK87-J6%f%X3K_ServerEmbeddedSolution +:: Windows Vista +cfd8ff08-c0d7-452b-9f60-ef5c70c32094_VKK3X-68KWM-X2YGT-QR4M6-4B%f%WMV_Enterprise +4f3d1606-3fea-4c01-be3c-8d671c401e3b_YFKBB-PQJJV-G996G-VWGXY-2V%f%3X8_Business +2c682dc2-8b68-4f63-a165-ae291d4cf138_HMBQG-8H2RH-C77VX-27R82-VM%f%QBT_BusinessN +d4f54950-26f2-4fb4-ba21-ffab16afcade_VTC42-BM838-43QHV-84HX6-XJ%f%XKV_EnterpriseN +:: Windows Server 2008 +ad2542d4-9154-4c6d-8a44-30f11ee96989_TM24T-X9RMF-VWXK6-X8JC9-BF%f%GM2_ServerStandard +68b6e220-cf09-466b-92d3-45cd964b9509_7M67G-PC374-GR742-YH8V4-TC%f%BY3_ServerDatacenter +c1af4d90-d1bc-44ca-85d4-003ba33db3b9_YQGMW-MPWTJ-34KDK-48M3W-X4%f%Q6V_ServerEnterprise +01ef176b-3e0d-422a-b4f8-4ea880035e8f_4DWFP-JF3DJ-B7DTH-78FJB-PD%f%RHK_ServerEnterpriseIA64 +ddfa9f7c-f09e-40b9-8c1a-be877a9a7f4b_WYR28-R7TFJ-3X2YQ-YCY4H-M2%f%49D_ServerWeb +7afb1156-2c1d-40fc-b260-aab7442b62fe_RCTX3-KWVHP-BR6TB-RB6DM-6X%f%7HP_ServerComputeCluster +2401e3d0-c50a-4b58-87b2-7e794b7d2607_W7VD6-7JFBR-RX26B-YKQ3Y-6F%f%FFJ_ServerStandardV +fd09ef77-5647-4eff-809c-af2b64659a45_22XQ2-VRXRG-P8D42-K34TD-G3%f%QQC_ServerDatacenterV +8198490a-add0-47b2-b3ba-316b12d647b4_39BXF-X8Q23-P2WWT-38T2F-G3%f%FPG_ServerEnterpriseV +) do ( +for /f "tokens=1-3 delims=_" %%A in ("%%#") do if %tsedition%==%%C if not defined key ( +echo "%allapps%" | find /i "%%A" %nul1% && ( +set key=%%B +set tempid=%%A +) +) +) + +if not defined key ( +call :dk_color %Red% "Checking Activation ID [%tsedition% SKU-%osSKU% %KS% key is not available]" +call :dk_color %Blue% "Use ZeroCID activation method from the previous menu." +goto :ts_esu +) + +echo Checking Activation ID [%tempid%] [%tsedition%] + +set oldks=1 +set generickey=1 +call :dk_inskey "[%key%]" +set tsids=%tsids% %tempid% goto :ts_esu ::======================================================================================================================================== @@ -841,6 +1047,15 @@ call :dk_inskey "[%key%]" :ts_esu if not %_actesu%==1 goto :ts_off +if /i %tsmethod%==KMS4k ( +call :dk_color %Red% "Skipping Windows ESU [KMS4k method is not supported with Windows ESU]" +if /i %_actmethod%==Auto ( +call :dk_color %Blue% "Connect to the Internet and try again. Script will use the StaticCID activation method." +) else ( +call :dk_color %Blue% "Use non-KMS4K activation options from the previous menu." +) +goto :ts_off +) :: Process Windows ESU @@ -928,8 +1143,12 @@ goto :ts_off if defined esuexistbutnosup ( call :dk_color %Red% "Checking Activation ID [Commercial ESU is not supported for %tsedition%]" +echo %esueditionlist% | find /i "Professional" %nul1% && ( +call :dk_color %Blue% "Go back to Main Menu, select Change Windows Edition option, and change it to [Professional] or any non-Home edition." +) || ( call :dk_color %Blue% "Go back to Main Menu, select Change Windows Edition option and change to any of the below listed editions." echo [%esueditionlist%] +) goto :ts_off ) @@ -1204,6 +1423,24 @@ call :ts_process ::======================================================================================================================================== +:: mass grave[.]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" +if /i %tsmethod%==KMS4k ( +if %winbuild% GEQ 9200 ( +if not "%osarch%"=="x86" ( +reg delete "%kmskey%" /f /reg:32 %nul% +reg add "%kmskey%" /f /v KeyManagementServiceName /t REG_SZ /d "10.0.0.10" /reg:32 %nul% +) +reg delete "%kmskey%" /f %nul% +reg add "%kmskey%" /f /v KeyManagementServiceName /t REG_SZ /d "10.0.0.10" %nul% +echo Adding a Registry to Prevent Banner [Successful] +) +) + +::======================================================================================================================================== + :ts_startmsi if defined o15msi call :ts_processmsi 15 %o15msi_reg% @@ -1227,6 +1464,17 @@ goto :ts_act echo: echo Processing Windows %KS% Host... +if /i %tsmethod%==KMS4k ( +echo: +call :dk_color %Red% "Skipping Windows %KS% Host [KMS4k method is not supported with Windows %KS% Host]" +if /i %_actmethod%==Auto ( +call :dk_color %Blue% "Connect to the Internet and try again. Script will use the StaticCID activation method." +) else ( +call :dk_color %Blue% "Use non-KMS4K activation options from the previous menu." +) +goto :ts_act +) + echo: if %winbuild% GEQ 10586 ( call :dk_color %Gray% "With %KS% Host license, system may randomly change Windows Edition later. It is a Windows issue and can be safely ignored." @@ -1338,6 +1586,17 @@ call :dk_color %Blue% "Windows Vista and Server 2008 do not support the installa goto :ts_act ) +if /i %tsmethod%==KMS4k ( +echo: +call :dk_color %Red% "Skipping Office %KS% Host [KMS4k method is not supported with Office %KS% Host]" +if /i %_actmethod%==Auto ( +call :dk_color %Blue% "Connect to the Internet and try again. Script will use the StaticCID activation method." +) else ( +call :dk_color %Blue% "Use non-KMS4K activation options from the previous menu." +) +goto :ts_act +) + set ohostexist= call :dk_actids 0ff1ce15-a989-479d-af46-f275c6370663 set ohostids=%allapps% @@ -1390,6 +1649,17 @@ call :dk_color %Gray% "Checking Activation ID [APPX Sideloading goto :dk_done ) +if /i %tsmethod%==KMS4k ( +echo: +call :dk_color %Red% "Skipping Windows 8/8.1 APPX [KMS4k method is not supported with Windows 8/8.1 APPX]" +if /i %_actmethod%==Auto ( +call :dk_color %Blue% "Connect to the Internet and try again. Script will use the StaticCID activation method." +) else ( +call :dk_color %Blue% "Use non-KMS4K activation options from the previous menu." +) +goto :dk_done +) + set appxexist= if not defined allapps call :dk_actids 55c92734-d682-4d71-983e-d6ec3f16059f @@ -1448,6 +1718,17 @@ echo: echo Processing Manual Activation... echo: +if /i %tsmethod%==KMS4k ( +echo: +call :dk_color %Red% "Skipping Manual Activation [KMS4k method is not supported with it]" +if /i %_actmethod%==Auto ( +call :dk_color %Blue% "Connect to the Internet and try again. Script will use the StaticCID activation method." +) else ( +call :dk_color %Blue% "Use non-KMS4K activation options from the previous menu." +) +goto :dk_done +) + call :dk_color %Gray% "This option is for advanced users, those who already know what they are doing." call :dk_color %Blue% "Some activation IDs may cause system crash [MUI mismatch], or irreversible changes [CloudEdition etc]." @@ -1607,12 +1888,16 @@ call :dk_color2 %Blue% "Check this webpage for help - " %_Yellow% " %mas%trouble if defined tsids ( echo: -if not defined _vis echo Installing Forged Product Key Data... -echo Depositing Zero Confirmation ID... +if not defined _vis if not defined oldks echo Installing Forged Product Key Data... +if /i %tsmethod%==KMS4k ( +echo Writing TrustedStore data... +) else ( +if /i %tsmethod%==StaticCID (echo Depositing Static Confirmation ID...) else (echo Depositing Zero Confirmation ID...) +) echo: %psc% "$f=[io.file]::ReadAllText('!_batp!') -split ':tsforge\:.*';& ([ScriptBlock]::Create($f[1])) %tsids%" if !errorlevel!==3 ( -if %_actman%==0 call :dk_color %Blue% "%_fixmsg%" +if %_actman%==0 (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" ) else ( @@ -1788,6 +2073,19 @@ set _preview= set _License=%%# set skipprocess= + +set foundprod= +call :tsksdata chkprod %%# +if defined _oMSI if not defined foundprod if /i %tsmethod%==KMS4k ( +set skipprocess=1 +call :dk_color %Red% "Checking Product In Script [%%# MSI Retail is not supported with KMS4k]" +if /i %_actmethod%==Auto ( +call :dk_color %Blue% "Connect to the Internet and try again. Script will use the StaticCID activation method." +) else ( +call :dk_color %Blue% "Use non-KMS4K activation options from the previous menu." +) +) + if "%_actprojvis%"=="1" ( echo %%# | findstr /i "Project Visio" %nul% || ( set skipprocess=1 @@ -1795,8 +2093,17 @@ call :dk_color %Gray% "Skipping Because Project/Visio Mode [%%#]" ) ) +if "%_actprojvis%"=="0" if /i %tsmethod%==KMS4k echo %_oIds% | findstr /i "O365" %nul% && ( +echo %%# | findstr /i "Project Visio" %nul% && ( +set skipprocess=1 +echo Skipping Because Mondo Is Available [%%#] +) +) + + if not defined skipprocess ( +if /i not %tsmethod%==KMS4k ( set no365= if "%oVer%"=="15" (echo %%# | findstr /i "O365HomePremRetail" %nul% && set no365=1) if "%oVer%"=="16" (echo %%# | findstr /i "O365" %nul% && set no365=1) @@ -1818,8 +2125,30 @@ call :ks_osppready echo Converting Unsupported OEM-ARM Office [%%# To MondoRetail] ) ) +) +if not defined _oMSI if /i %tsmethod%==KMS4k if not defined foundprod ( +call :tsksdata getinfo %%# +if defined _altoffid ( +echo Converting Retail To Volume [%%# To !_altoffid!] +) else ( +set _License=MondoVolume +set _altoffid=MondoVolume +echo Converting Retail To Volume [%%# To !_altoffid!] [Using Mondo because %%# is not found in the script] +) +echo %%# | find /i "O365" %nul% && ( +if "%oVer%"=="15" (call :dk_color %Gray% "Mondo 2013 is equivalent to O365 [15.0 version] in terms of the latest features.") +if "%oVer%"=="16" (call :dk_color %Gray% "Mondo 2016 is equivalent to O365 in terms of the latest features.") +) +call :ks_osppready +) + +if /i %tsmethod%==KMS4k ( +echo !_License! | find /i "Retail" %nul% && (set keytype=zero) || (set keytype=ks) +) else ( set keytype=zero +) + for /f "delims=" %%a in ('%psc% "$f=[io.file]::ReadAllText('!_batp!') -split ':offtsid\:.*';iex ($f[1])" %nul6%') do ( echo "%%a" | findstr /r ".*-.*-.*-.*-.*" %nul1% && (set tsids=!tsids! %%a& set _actid=%%a) ) @@ -1848,7 +2177,7 @@ echo "!allapps!" | find /i "!_actid!" %nul1% || call :oh_installlic :: Add SharedComputerLicensing registry key if Retail Office C2R is installed on Windows Server :: https://learn.microsoft.com/en-us/office/troubleshoot/office-suite-issues/click-to-run-office-on-terminal-server -if defined winserver if defined _config if exist "%_oLPath%\Word2019VL_KMS_Client_AE*.xrm-ms" ( +if /i not %tsmethod%==KMS4k if defined winserver if defined _config if exist "%_oLPath%\Word2019VL_KMS_Client_AE*.xrm-ms" ( echo %_oIds% | find /i "Retail" %nul1% && ( set scaIsNeeded=1 reg add %_config% /v SharedComputerLicensing /t REG_SZ /d "1" /f %nul1% @@ -2153,6 +2482,59 @@ exit /b ::======================================================================================================================================== +:: Clean existing K-M-S cache from the registry + +:_taskclear-cache + +set w= +for %%# in (SppE%w%xtComObj.exe sppsvc.exe SLsvc.exe) do ( +reg delete "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Ima%w%ge File Execu%w%tion Options\%%#" /f %nul% +) + +set "OPPk=SOFTWARE\Microsoft\OfficeSoftwareProtectionPlatform" + +if %winbuild% LSS 7600 ( +reg query "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\SL" %nul% && ( +set "SPPk=SOFTWARE\Microsoft\Windows NT\CurrentVersion\SL" +) +) +if not defined SPPk ( +set "SPPk=SOFTWARE\Microsoft\Windows NT\CurrentVersion\SoftwareProtectionPlatform" +) + +set "slp=SoftwareLicensingProduct" +set "ospp=OfficeSoftwareProtectionProduct" + +set "_wApp=55c92734-d682-4d71-983e-d6ec3f16059f" +set "_oApp=0ff1ce15-a989-479d-af46-f275c6370663" +set "_oA14=59a52881-a989-479d-af46-f275c6370663" + +%nul% reg delete "HKLM\%SPPk%" /f /v KeyManagementServiceName +%nul% reg delete "HKLM\%SPPk%" /f /v KeyManagementServiceName /reg:32 +%nul% reg delete "HKLM\%SPPk%" /f /v KeyManagementServicePort +%nul% reg delete "HKLM\%SPPk%" /f /v KeyManagementServicePort /reg:32 +%nul% reg delete "HKLM\%SPPk%" /f /v DisableDnsPublishing +%nul% reg delete "HKLM\%SPPk%" /f /v DisableKeyManagementServiceHostCaching +%nul% reg delete "HKLM\%SPPk%\%_wApp%" /f +if %winbuild% GEQ 9200 ( +%nul% reg delete "HKLM\%SPPk%\%_oApp%" /f +%nul% reg delete "HKLM\%SPPk%\%_oApp%" /f /reg:32 +) +if %winbuild% GEQ 9600 ( +%nul% reg delete "HKU\S-1-5-20\%SPPk%\%_wApp%" /f +%nul% reg delete "HKU\S-1-5-20\%SPPk%\%_oApp%" /f +) +%nul% reg delete "HKLM\%OPPk%" /f /v KeyManagementServiceName +%nul% reg delete "HKLM\%OPPk%" /f /v KeyManagementServicePort +%nul% reg delete "HKLM\%OPPk%" /f /v DisableDnsPublishing +%nul% reg delete "HKLM\%OPPk%" /f /v DisableKeyManagementServiceHostCaching +%nul% reg delete "HKLM\%OPPk%\%_oA14%" /f +%nul% reg delete "HKLM\%OPPk%\%_oApp%" /f + +exit /b + +::======================================================================================================================================== + :: Set variables :dk_setvar @@ -3064,6 +3446,220 @@ exit /b :tsforge: $src = @' +#if !POWERSHELL2 +namespace ActivationWs +{ + +/* + +This code is adapted from ActivationWs. +Original Repository: https://github.com/dadorner-msft/activationws + +MIT License + +Copyright (c) Daniel Dorner + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +*/ + +using System; +using System.IO; +using System.Linq; +using System.Net; +using System.Security.Cryptography; +using System.Text; +using System.Xml.Linq; + + public static class ActivationHelper { + // Key for HMAC/SHA256 signature. + private static readonly byte[] MacKey = new byte[64] { + 254, 49, 152, 117, 251, 72, 132, 134, + 156, 243, 241, 206, 153, 168, 144, 100, + 171, 87, 31, 202, 71, 4, 80, 88, + 48, 36, 226, 20, 98, 135, 121, 160, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0 + }; + + private const string Action = "http://www.microsoft.com/BatchActivationService/BatchActivate"; + + private static readonly Uri Uri = new Uri("https://activation.sls.microsoft.com/BatchActivation/BatchActivation.asmx"); + + private static readonly XNamespace SoapSchemaNs = "http://schemas.xmlsoap.org/soap/envelope/"; + private static readonly XNamespace XmlSchemaInstanceNs = "http://www.w3.org/2001/XMLSchema-instance"; + private static readonly XNamespace XmlSchemaNs = "http://www.w3.org/2001/XMLSchema"; + private static readonly XNamespace BatchActivationServiceNs = "http://www.microsoft.com/BatchActivationService"; + private static readonly XNamespace BatchActivationRequestNs = "http://www.microsoft.com/DRM/SL/BatchActivationRequest/1.0"; + private static readonly XNamespace BatchActivationResponseNs = "http://www.microsoft.com/DRM/SL/BatchActivationResponse/1.0"; + + public static string CallWebService(int requestType, string installationId, string extendedProductId) { + XDocument soapRequest = CreateSoapRequest(requestType, installationId, extendedProductId); + HttpWebRequest webRequest = CreateWebRequest(soapRequest); + XDocument soapResponse = new XDocument(); + + try { + IAsyncResult asyncResult = webRequest.BeginGetResponse(null, null); + asyncResult.AsyncWaitHandle.WaitOne(); + + // Read data from the response stream. + using (WebResponse webResponse = webRequest.EndGetResponse(asyncResult)) + using (StreamReader streamReader = new StreamReader(webResponse.GetResponseStream())) { + soapResponse = XDocument.Parse(streamReader.ReadToEnd()); + } + + return ParseSoapResponse(soapResponse); + + } catch { + throw; + } + } + + private static XDocument CreateSoapRequest(int requestType, string installationId, string extendedProductId) { + // Create an activation request. + XElement activationRequest = new XElement(BatchActivationRequestNs + "ActivationRequest", + new XElement(BatchActivationRequestNs + "VersionNumber", "2.0"), + new XElement(BatchActivationRequestNs + "RequestType", requestType), + new XElement(BatchActivationRequestNs + "Requests", + new XElement(BatchActivationRequestNs + "Request", + new XElement(BatchActivationRequestNs + "PID", extendedProductId), + requestType == 1 ? new XElement(BatchActivationRequestNs + "IID", installationId) : null) + ) + ); + + // Get the unicode byte array of activationRequest and convert it to Base64. + byte[] bytes = Encoding.Unicode.GetBytes(activationRequest.ToString()); + string requestXml = Convert.ToBase64String(bytes); + + XDocument soapRequest = new XDocument(); + + using (HMACSHA256 hMACSHA = new HMACSHA256(MacKey)) { + // Convert the HMAC hashed data to Base64. + string digest = Convert.ToBase64String(hMACSHA.ComputeHash(bytes)); + + soapRequest = new XDocument( + new XDeclaration("1.0", "UTF-8", "no"), + new XElement(SoapSchemaNs + "Envelope", + new XAttribute(XNamespace.Xmlns + "soap", SoapSchemaNs), + new XAttribute(XNamespace.Xmlns + "xsi", XmlSchemaInstanceNs), + new XAttribute(XNamespace.Xmlns + "xsd", XmlSchemaNs), + new XElement(SoapSchemaNs + "Body", + new XElement(BatchActivationServiceNs + "BatchActivate", + new XElement(BatchActivationServiceNs + "request", + new XElement(BatchActivationServiceNs + "Digest", digest), + new XElement(BatchActivationServiceNs + "RequestXml", requestXml) + ) + ) + ) + )); + + } + + return soapRequest; + } + + private static HttpWebRequest CreateWebRequest(XDocument soapRequest) { + HttpWebRequest webRequest = (HttpWebRequest)WebRequest.Create(Uri); + webRequest.Accept = "text/xml"; + webRequest.ContentType = "text/xml; charset=\"utf-8\""; + webRequest.Headers.Add("SOAPAction", Action); + webRequest.Host = "activation.sls.microsoft.com"; + webRequest.Method = "POST"; + + try { + // Insert SOAP envelope + using (Stream stream = webRequest.GetRequestStream()) { + soapRequest.Save(stream); + } + + return webRequest; + + } catch { + throw; + } + } + + private static string ParseSoapResponse(XDocument soapResponse) { + if (soapResponse == null) { + throw new ArgumentNullException("soapResponse", "The remote server returned an unexpected response."); + } + + if (!soapResponse.Descendants(BatchActivationServiceNs + "ResponseXml").Any()) { + throw new Exception("The remote server returned an unexpected response"); + } + + try { + XDocument responseXml = XDocument.Parse(soapResponse.Descendants(BatchActivationServiceNs + "ResponseXml").First().Value); + + if (responseXml.Descendants(BatchActivationResponseNs + "ErrorCode").Any()) { + string errorCode = responseXml.Descendants(BatchActivationResponseNs + "ErrorCode").First().Value; + + switch (errorCode) { + case "0x7F": + throw new Exception("The Multiple Activation Key has exceeded its limit"); + + case "0x67": + throw new Exception("The product key has been blocked"); + + case "0x68": + throw new Exception("Invalid product key"); + + case "0x86": + throw new Exception("Invalid key type"); + + case "0x90": + throw new Exception("Please check the Installation ID and try again"); + + default: + throw new Exception(string.Format("The remote server reported an error ({0})", errorCode)); + } + + } else if (responseXml.Descendants(BatchActivationResponseNs + "ResponseType").Any()) { + string responseType = responseXml.Descendants(BatchActivationResponseNs + "ResponseType").First().Value; + + switch (responseType) { + case "1": + string confirmationId = responseXml.Descendants(BatchActivationResponseNs + "CID").First().Value; + return confirmationId; + + case "2": + string activationsRemaining = responseXml.Descendants(BatchActivationResponseNs + "ActivationRemaining").First().Value; + return activationsRemaining; + + default: + throw new Exception("The remote server returned an unrecognized response"); + } + + } else { + throw new Exception("The remote server returned an unrecognized response"); + } + + } catch { + throw; + } + } + } +} +#endif + // Common.cs namespace LibTSforge { @@ -5625,27 +6221,23 @@ namespace LibTSforge.Modifiers } -// Activators/AVMA4K.cs +// Activators/KMS4K.cs namespace LibTSforge.Activators { using System; + using System.IO; using PhysicalStore; using SPP; - public static class AVMA4k + public class KMS4k { public static void Activate(PSVersion version, bool production, Guid actId) { - if (version != PSVersion.WinModern && version != PSVersion.WinBlue) - { - throw new NotSupportedException("AVMA licenses are not available for this product."); - } - Guid appId; if (actId == Guid.Empty) { appId = SLApi.WINDOWS_APP_ID; - actId = SLApi.GetDefaultActivationID(appId, false); + actId = SLApi.GetDefaultActivationID(appId, true); if (actId == Guid.Empty) { @@ -5657,9 +6249,9 @@ namespace LibTSforge.Activators appId = SLApi.GetAppId(actId); } - if (SLApi.GetPKeyChannel(SLApi.GetInstalledPkeyID(actId)) != "VT:IA") + if (SLApi.GetPKeyChannel(SLApi.GetInstalledPkeyID(actId)) != "Volume:GVLK") { - throw new NotSupportedException("Non-VT:IA product key installed."); + throw new NotSupportedException("Non-Volume:GVLK product key installed."); } SPPUtils.KillSPP(version); @@ -5670,80 +6262,171 @@ namespace LibTSforge.Activators { string key = string.Format("SPPSVC\\{0}\\{1}", appId, actId); - long creationTime = BitConverter.ToInt64(store.GetBlock("__##USERSEP##\\$$_RESERVED_$$\\NAMESPACE__", "__##USERSEP-RESERVED##__$$GLOBAL-CREATION-TIME$$").Data, 0); - long tickCount = BitConverter.ToInt64(store.GetBlock("__##USERSEP##\\$$_RESERVED_$$\\NAMESPACE__", "__##USERSEP-RESERVED##__$$GLOBAL-TICKCOUNT-UPTIME$$").Data, 0); - long deltaTime = BitConverter.ToInt64(store.GetBlock(key, "__##USERSEP-RESERVED##__$$UP-TIME-DELTA$$").Data, 0); + ulong unknown = 0; + ulong time1; + ulong time2 = (ulong)DateTime.UtcNow.ToFileTime(); + ulong expiry = Constants.TimerMax; + + if (version == PSVersion.Vista || version == PSVersion.Win7) + { + unknown = 0x800000000; + time1 = 0; + } + else + { + long creationTime = BitConverter.ToInt64(store.GetBlock("__##USERSEP##\\$$_RESERVED_$$\\NAMESPACE__", "__##USERSEP-RESERVED##__$$GLOBAL-CREATION-TIME$$").Data, 0); + long tickCount = BitConverter.ToInt64(store.GetBlock("__##USERSEP##\\$$_RESERVED_$$\\NAMESPACE__", "__##USERSEP-RESERVED##__$$GLOBAL-TICKCOUNT-UPTIME$$").Data, 0); + long deltaTime = BitConverter.ToInt64(store.GetBlock(key, "__##USERSEP-RESERVED##__$$UP-TIME-DELTA$$").Data, 0); + + time1 = (ulong)(creationTime + tickCount + deltaTime); + time2 /= 10000; + expiry /= 10000; + } + + if (version == PSVersion.Vista) + { + VistaTimer vistaTimer = new VistaTimer + { + Time = time2, + Expiry = Constants.TimerMax + }; + + string vistaTimerName = string.Format("msft:sl/timer/VLExpiration/VOLUME/{0}/{1}", appId, actId); - const ulong unknown = 0; - ulong time1 = (ulong)(creationTime + tickCount + deltaTime); - ulong crcBindTime = (ulong)DateTime.UtcNow.ToFileTime(); - ulong timerTime = crcBindTime / 10000; - ulong expiry = Constants.TimerMax / 10000; + store.DeleteBlock(key, vistaTimerName); + store.DeleteBlock(key, actId.ToString()); - VariableBag avmaBinding = new VariableBag(version); + BinaryWriter writer = new BinaryWriter(new MemoryStream()); + writer.Write(Constants.KMSv4Response.Length); + writer.Write(Constants.KMSv4Response); + writer.Write(Constants.UniversalHWIDBlock); + byte[] kmsData = writer.GetBytes(); - avmaBinding.Blocks.AddRange(new[] + store.AddBlocks(new[] + { + new PSBlock + { + Type = BlockType.TIMER, + Flags = 0, + KeyAsStr = key, + ValueAsStr = vistaTimerName, + Data = vistaTimer.CastToArray() + }, + new PSBlock + { + Type = BlockType.NAMED, + Flags = 0, + KeyAsStr = key, + ValueAsStr = actId.ToString(), + Data = kmsData + } + }); + } + else { + byte[] hwidBlock = Constants.UniversalHWIDBlock; + byte[] kmsResp; + + switch (version) + { + case PSVersion.Win7: + kmsResp = Constants.KMSv4Response; + break; + case PSVersion.Win8: + kmsResp = Constants.KMSv5Response; + break; + case PSVersion.WinBlue: + case PSVersion.WinModern: + kmsResp = Constants.KMSv6Response; + break; + default: + throw new NotSupportedException("Unsupported PSVersion."); + } + + VariableBag kmsBinding = new VariableBag(version); + + kmsBinding.Blocks.AddRange(new[] + { new CRCBlockModern { DataType = CRCBlockType.BINARY, Key = new byte[] { }, - Value = BitConverter.GetBytes(crcBindTime), + Value = kmsResp }, new CRCBlockModern { DataType = CRCBlockType.STRING, Key = new byte[] { }, - ValueAsStr = "AVMA4K", + ValueAsStr = "msft:rm/algorithm/hwid/4.0" }, new CRCBlockModern { - DataType = CRCBlockType.STRING, - Key = new byte[] { }, - ValueAsStr = "00491-50000-00001-AA666", + DataType = CRCBlockType.BINARY, + KeyAsStr = "SppBindingLicenseData", + Value = hwidBlock } - }); + }); - byte[] avmaBindingData = avmaBinding.Serialize(); + if (version == PSVersion.WinModern) + { + kmsBinding.Blocks.AddRange(new[] + { + new CRCBlockModern + { + DataType = CRCBlockType.STRING, + Key = new byte[] { }, + ValueAsStr = "massgrave.dev" + }, + new CRCBlockModern + { + DataType = CRCBlockType.STRING, + Key = new byte[] { }, + ValueAsStr = "6969" + } + }); + } - Timer avmaTimer = new Timer - { - Unknown = unknown, - Time1 = time1, - Time2 = timerTime, - Expiry = expiry - }; + byte[] kmsBindingData = kmsBinding.Serialize(); - string storeVal = string.Format("msft:spp/ia/bind/1.0/store/{0}/{1}", appId, actId); - string timerVal = string.Format("msft:spp/ia/bind/1.0/timer/{0}/{1}", appId, actId); + Timer kmsTimer = new Timer + { + Unknown = unknown, + Time1 = time1, + Time2 = time2, + Expiry = expiry + }; - store.DeleteBlock(key, storeVal); - store.DeleteBlock(key, timerVal); + string storeVal = string.Format("msft:spp/kms/bind/2.0/store/{0}/{1}", appId, actId); + string timerVal = string.Format("msft:spp/kms/bind/2.0/timer/{0}/{1}", appId, actId); - store.AddBlocks(new[] - { + store.DeleteBlock(key, storeVal); + store.DeleteBlock(key, timerVal); + + store.AddBlocks(new[] + { new PSBlock { Type = BlockType.NAMED, - Flags = 0x400, + Flags = (version == PSVersion.WinModern) ? (uint)0x400 : 0, KeyAsStr = key, ValueAsStr = storeVal, - Data = avmaBindingData, + Data = kmsBindingData }, new PSBlock { Type = BlockType.TIMER, - Flags = 0x4, + Flags = (version == PSVersion.Win7) ? (uint)0 : 0x4, KeyAsStr = key, ValueAsStr = timerVal, - Data = avmaTimer.CastToArray() + Data = kmsTimer.CastToArray() } - }); + }); + } } - SLApi.RefreshLicenseStatus(); + SPPUtils.RestartSPP(version); SLApi.FireStateChangedEvent(appId); - Logger.WriteLine("Activated using AVMA4k successfully."); + Logger.WriteLine("Activated using KMS4k successfully."); } } } @@ -7850,15 +8533,16 @@ namespace LibTSforge.PhysicalStore '@ $ErrorActionPreference = 'Stop' $binPath = "$env:_work\BIN\LibTSforge.dll" +$psMajorVer = (Get-Host).Version.Major 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") - $cp.CompilerOptions = "/unsafe" - $lang = If ((Get-Host).Version.Major -gt 2) { "CSharp" } Else { "CSharpVersion3" } + $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 } @@ -7907,32 +8591,65 @@ function slGetSkuInfo($SkuId) { if (-not $env:resetstuff) { foreach ($tsactid in $tsactids) { try { + $activated = $null $prodDes = Get-WmiInfo -tsactid $tsactid -property "Description" $prodName = Get-WmiInfo -tsactid $tsactid -property "Name" if ($prodName) { $nameParts = $prodName -split ',', 2 $prodName = if ($nameParts.Count -gt 1) { ($nameParts[1].Trim() -split '[ ,]')[0] } else { $null } } - if (-not $env:_vis) { - [LibTSforge.Modifiers.GenPKeyInstall]::InstallGenPKey($ver, $prod, $tsactid) - } - if ($prodName -match 'Office' -and -not (slGetSkuInfo($tsactid))) { + if (-not $env:_vis -and -not $env:oldks) { + [LibTSforge.Modifiers.GenPKeyInstall]::InstallGenPKey($ver, $prod, $tsactid) + } + if ($prodName -match 'Office' -and $prodDes -notmatch 'KMS' -and -not (slGetSkuInfo($tsactid))) { $licenseStatus = Get-WmiInfo -tsactid $tsactid -property "LicenseStatus" if ($licenseStatus -eq 1) { Write-Host "[$prodName] is already permanently activated." -ForegroundColor White -BackgroundColor DarkGreen continue } } - [LibTSforge.Activators.ZeroCID]::Activate($ver, $prod, $tsactid) - $licenseStatus = Get-WmiInfo -tsactid $tsactid -property "LicenseStatus" - if ($licenseStatus -eq 1) { + if ($env:tsmethod -eq "StaticCID") { + [Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12 + $attempts = @( + @(100055, 1000043, 1338662172562478), + @(1345, 1003020, 6311608238084405) + ) + foreach ($params in $attempts) { + [LibTSforge.Modifiers.SetIIDParams]::SetParams($ver, $prod, $tsactid, [LibTSforge.SPP.PKeyAlgorithm]::PKEY2009, $params[0], $params[1], $params[2]) + $instId = [LibTSforge.SPP.SLApi]::GetInstallationID($tsactid) + $confId = [ActivationWs.ActivationHelper]::CallWebService(1, $instId, "31337-42069-123-456789-04-1337-2600.0000-2542001") + $result = [LibTSforge.SPP.SLApi]::DepositConfirmationID($tsactid, $instId, $confId) + if ($result -eq 0) { break } + } + [LibTSforge.SPP.SPPUtils]::RestartSPP($ver) + } + elseif ($env:tsmethod -eq "KMS4k") { + [LibTSforge.Activators.KMS4k]::Activate($ver, $prod, $tsactid) + } + else { + [LibTSforge.Activators.ZeroCID]::Activate($ver, $prod, $tsactid) + } + if ($env:tsmethod -eq "KMS4k") { + $GracePeriodStatus = Get-WmiInfo -tsactid $tsactid -property "GracePeriodRemaining" + if ($GracePeriodStatus -gt 259200) { $activated = 1 } + } + else { + $licenseStatus = Get-WmiInfo -tsactid $tsactid -property "LicenseStatus" + if ($licenseStatus -eq 1) { $activated = 1 } + } + if ($activated) { if ($prodDes -match 'KMS' -and $prodDes -notmatch 'CLIENT') { [LibTSforge.Modifiers.KMSHostCharge]::Charge($ver, $prod, $tsactid) - Write-Host "[$prodName] CSVLK is permanently activated with ZeroCID." -ForegroundColor White -BackgroundColor DarkGreen + Write-Host "[$prodName] CSVLK is permanently activated with $env:tsmethod." -ForegroundColor White -BackgroundColor DarkGreen Write-Host "[$prodName] CSVLK is charged with 25 clients for 30 days." -ForegroundColor White -BackgroundColor DarkGreen } else { - Write-Host "[$prodName] is permanently activated with ZeroCID." -ForegroundColor White -BackgroundColor DarkGreen + 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 + } + else { + Write-Host "[$prodName] is permanently activated with $env:tsmethod." -ForegroundColor White -BackgroundColor DarkGreen + } } } else { @@ -7950,11 +8667,11 @@ if (-not $env:resetstuff) { if ($env:resetstuff) { try { - if (-not $env:_vis) {[LibTSforge.Modifiers.TamperedFlagsDelete]::DeleteTamperFlags($ver, $prod)} + if (-not $env:_vis) { [LibTSforge.Modifiers.TamperedFlagsDelete]::DeleteTamperFlags($ver, $prod) } [LibTSforge.SPP.SLApi]::RefreshLicenseStatus() [LibTSforge.Modifiers.RearmReset]::Reset($ver, $prod) [LibTSforge.Modifiers.GracePeriodReset]::Reset($ver, $prod) - if (-not $env:_vis) {[LibTSforge.Modifiers.KeyChangeLockDelete]::Delete($ver, $prod)} + if (-not $env:_vis) { [LibTSforge.Modifiers.KeyChangeLockDelete]::Delete($ver, $prod) } } catch { $errcode = 3 @@ -8394,6 +9111,130 @@ exit /b ::======================================================================================================================================== +:: 1st column = Office version +:: 2nd column = Volume or free retail product +:: 3rd column = Retail product names that needs to be converted to the Volume product mentioned in 2nd column +:: Separator = "_" + +:tsksdata + +set f= +for %%# in ( +:: Office 2013 +15_AccessVolume_-AccessRetail- +15_AccessRuntimeRetail +15_ExcelVolume_-ExcelRetail- +15_GrooveVolume_-GrooveRetail- +15_InfoPathVolume_-InfoPathRetail- +15_LyncAcademicRetail +15_LyncEntryRetail +15_LyncVolume_-LyncRetail- +15_MondoRetail +15_MondoVolume_-O365BusinessRetail-O365HomePremRetail-O365ProPlusRetail-O365SmallBusPremRetail- +15_OneNoteFreeRetail +15_OneNoteVolume_-OneNoteRetail- +15_OutlookVolume_-OutlookRetail- +15_PowerPointVolume_-PowerPointRetail- +15_ProjectProVolume_-ProjectProRetail- +15_ProjectStdVolume_-ProjectStdRetail- +15_ProPlusVolume_-ProPlusRetail-ProfessionalPipcRetail-ProfessionalRetail- +15_PublisherVolume_-PublisherRetail- +15_SPDRetail +15_StandardVolume_-StandardRetail-HomeBusinessPipcRetail-HomeBusinessRetail-HomeStudentARMRetail-HomeStudentPlusARMRetail-HomeStudentRetail-PersonalPipcRetail-PersonalRetail- +15_VisioProVolume_-VisioProRetail- +15_VisioStdVolume_-VisioStdRetail- +15_WordVolume_-WordRetail- +:: Office 2016 +16_AccessRuntimeRetail +16_AccessVolume_-AccessRetail- +16_ExcelVolume_-ExcelRetail- +16_MondoRetail +16_MondoVolume_-O365AppsBasicRetail-O365BusinessRetail-O365EduCloudRetail-O365HomePremRetail-O365ProPlusRetail-O365SmallBusPremRetail- +16_OneNoteFreeRetail +16_OneNoteVolume_-OneNoteRetail-OneNote2021Retail- +16_OutlookVolume_-OutlookRetail- +16_PowerPointVolume_-PowerPointRetail- +16_ProjectProVolume_-ProjectProRetail- +16_ProjectProXVolume +16_ProjectStdVolume_-ProjectStdRetail- +16_ProjectStdXVolume +16_ProPlusVolume_-ProPlusRetail-ProfessionalPipcRetail-ProfessionalRetail- +16_PublisherVolume_-PublisherRetail- +16_SkypeServiceBypassRetail +16_SkypeforBusinessEntryRetail +16_SkypeforBusinessVolume_-SkypeforBusinessRetail- +16_StandardVolume_-StandardRetail-HomeBusinessPipcRetail-HomeBusinessRetail-HomeStudentARMRetail-HomeStudentPlusARMRetail-HomeStudentRetail-HomeStudentVNextRetail-PersonalPipcRetail-PersonalRetail- +16_VisioProVolume_-VisioProRetail- +16_VisioProXVolume +16_VisioStdVolume_-VisioStdRetail- +16_VisioStdXVolume +16_WordVolume_-WordRetail- +:: Office 2019 +16_AccessRuntime2019Retail +16_Access2019Volume_-Access2019Retail- +16_Excel2019Volume_-Excel2019Retail- +16_Outlook2019Volume_-Outlook2019Retail- +16_PowerPoint2019Volume_-PowerPoint2019Retail- +16_ProjectPro2019Volume_-ProjectPro2019Retail- +16_ProjectStd2019Volume_-ProjectStd2019Retail- +16_ProPlus2019Volume_-ProPlus2019Retail-Professional2019Retail- +16_Publisher2019Volume_-Publisher2019Retail- +16_SkypeforBusiness2019Volume_-SkypeforBusiness2019Retail- +16_SkypeforBusinessEntry2019Retail +16_Standard2019Volume_-Standard2019Retail-HomeBusiness2019Retail-HomeStudentARM2019Retail-HomeStudentPlusARM2019Retail-HomeStudent2019Retail-Personal2019Retail- +16_VisioPro2019Volume_-VisioPro2019Retail- +16_VisioStd2019Volume_-VisioStd2019Retail- +16_Word2019Volume_-Word2019Retail- +:: Office 2021 +:: OneNote2021Volume KMS license is not available +16_AccessRuntime2021Retail +16_Access2021Volume_-Access2021Retail- +16_Excel2021Volume_-Excel2021Retail- +16_Outlook2021Volume_-Outlook2021Retail- +16_OneNoteFree2021Retail +16_PowerPoint2021Volume_-PowerPoint2021Retail- +16_ProjectPro2021Volume_-ProjectPro2021Retail- +16_ProjectStd2021Volume_-ProjectStd2021Retail- +16_ProPlus2021Volume_-ProPlus2021Retail-Professional2021Retail- +16_Publisher2021Volume_-Publisher2021Retail- +16_SkypeforBusiness2021Volume_-SkypeforBusiness2021Retail- +16_Standard2021Volume_-Standard2021Retail-HomeBusiness2021Retail-HomeStudent2021Retail-Personal2021Retail- +16_VisioPro2021Volume_-VisioPro2021Retail- +16_VisioStd2021Volume_-VisioStd2021Retail- +16_Word2021Volume_-Word2021Retail- +:: Office 2024 +16_Access2024Volume_-Access2024Retail- +16_Excel2024Volume_-Excel2024Retail- +16_Outlook2024Volume_-Outlook2024Retail- +16_PowerPoint2024Volume_-PowerPoint2024Retail- +16_ProjectPro2024Volume_-ProjectPro2024Retail- +16_ProjectStd2024Volume_-ProjectStd2024Retail- +16_ProPlus2024Volume_-ProPlus2024Retail- +16_SkypeforBusiness2024Volume +16_Standard2024Volume_-Home2024Retail-HomeBusiness2024Retail- +16_VisioPro2024Volume_-VisioPro2024Retail- +16_VisioStd2024Volume_-VisioStd2024Retail- +16_Word2024Volume_-Word2024Retail- +) do ( +for /f "tokens=1-3 delims=_" %%A in ("%%#") do ( + +if %1==chkprod if "%oVer%"=="%%A" if not defined foundprod ( +if /i "%%B"=="%2" set foundprod=1 +) + +if %1==getinfo if "%oVer%"=="%%A" ( +echo: %%C | find /i "-%2-" %nul% && ( +set _License=%%B +set _altoffid=%%B +) +) + +) +) +exit /b + +::======================================================================================================================================== + :ts_getedition set tsedition= diff --git a/README.md b/README.md index 61accf5..3e776ee 100644 --- a/README.md +++ b/README.md @@ -1,118 +1,116 @@ -

MAS Logo

- -

Microsoft Activation Scripts (MAS)

- -

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

- -
- -## How to Activate Windows / Office? - -### Method 1 - PowerShell (Windows 8 and later) ❤️ - -1. **Open PowerShell** - To do that, press the Windows key + X, then select PowerShell or Terminal. - -2. **Copy and paste the code below, then press enter.** -``` -irm https://get.activated.win | iex -``` -Alternatively, you can use the following (this will be deprecated in the future): -``` -irm https://massgrave.dev/get | iex -``` - -3. You will see the activation options. - Press 1 HWID for Windows activation. - Press 2 Ohook for Office activation. - -4. That's all - ---- - -### Method 2 - Traditional (Windows Vista and later) - -
- Click here to view - -1. Download the file using one of the links below: -`https://github.com/massgravel/Microsoft-Activation-Scripts/archive/refs/heads/master.zip` -or -`https://git.activated.win/massgrave/Microsoft-Activation-Scripts/archive/master.zip` -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. - -
- ---- - -- **[Office for macOS](https://massgrave.dev/office_for_mac)** -- To run the scripts in unattended mode, check [here](https://massgrave.dev/command_line_switches). - ---- - -### Not working ❓ - -- If you are **unable to launch MAS** using the PowerShell method, please refer to **Method 2** listed above. -- If MAS is launched and the script shows any errors, check for any troubleshooting steps mentioned in blue color and try to follow those. -- If you have any issues, please feel free to reach out to us [here](https://massgrave.dev/troubleshoot). - ---- - -> [!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. - ---- - -``` -Latest Version: 3.2 -Release date: 6-May-2025 -``` - -### [Troubleshooting / Help](https://massgrave.dev/troubleshoot) -### [Download Original Windows & Office](https://massgrave.dev/genuine-installation-media) -### 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.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]: 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 -[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 - ---- - -

Made with Love ❤️

+

MAS Logo

+ +

Microsoft Activation Scripts (MAS)

+ +

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

+ +
+ +## How to Activate Windows / Office? + +### Method 1 - PowerShell (Windows 8 and later) ❤️ + +1. **Open PowerShell** + To do that, press the Windows key + X, then select PowerShell or Terminal. + +2. **Copy and paste the code below, then press enter.** +``` +irm https://get.activated.win | iex +``` +Alternatively, you can use the following (this will be deprecated in the future): +``` +irm https://massgrave.dev/get | iex +``` + +3. You will see the activation options. Choose the activation options highlighted in green. + +4. That's all + +--- + +### Method 2 - Traditional (Windows Vista and later) + +
+ Click here to view + +1. Download the file using one of the links below: +`https://github.com/massgravel/Microsoft-Activation-Scripts/archive/refs/heads/master.zip` +or +`https://git.activated.win/massgrave/Microsoft-Activation-Scripts/archive/master.zip` +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. + +
+ +--- + +- 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). + +--- + +### Not working ❓ + +- If you are **unable to launch MAS** using the PowerShell method, please refer to **Method 2** listed above. +- If MAS is launched and the script shows any errors, check for any troubleshooting steps mentioned in blue color and try to follow those. +- If you have any issues, please feel free to reach out to us [here](https://massgrave.dev/troubleshoot). + +--- + +> [!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. + +--- + +``` +Latest Version: 3.2 +Release date: 6-May-2025 +``` + +### [Troubleshooting / Help](https://massgrave.dev/troubleshoot) +### [Download Original Windows & Office](https://massgrave.dev/genuine-installation-media) +### 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.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]: 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 +[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 + +--- + +

Made with Love ❤️

-- cgit v1.2.3 From 2e44a4a77bc4564c6ad38fa09ff4e134765c6b31 Mon Sep 17 00:00:00 2001 From: WindowsAddict Date: Sun, 1 Jun 2025 20:30:48 +0530 Subject: 3.3 --- MAS/All-In-One-Version-KL/MAS_AIO.cmd | 2 +- MAS/Separate-Files-Version/Activators/HWID_Activation.cmd | 2 +- MAS/Separate-Files-Version/Activators/KMS38_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 +- 10 files changed, 10 insertions(+), 10 deletions(-) (limited to 'MAS/Separate-Files-Version/Activators/TSforge_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 9c90b53..7a8eaa9 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 @@ @::fh36d7f-random -@set masver=3.2 +@set masver=3.3 @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 34fe81d..3f46cb3 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.2 +@set masver=3.3 @echo off diff --git a/MAS/Separate-Files-Version/Activators/KMS38_Activation.cmd b/MAS/Separate-Files-Version/Activators/KMS38_Activation.cmd index c9aa57f..e2190ac 100644 --- a/MAS/Separate-Files-Version/Activators/KMS38_Activation.cmd +++ b/MAS/Separate-Files-Version/Activators/KMS38_Activation.cmd @@ -1,4 +1,4 @@ -@set masver=3.2 +@set masver=3.3 @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 ac11d16..60e7a5c 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.2 +@set masver=3.3 @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 200c69e..27e539a 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.2 +@set masver=3.3 @echo off diff --git a/MAS/Separate-Files-Version/Activators/TSforge_Activation.cmd b/MAS/Separate-Files-Version/Activators/TSforge_Activation.cmd index c80d70e..4c625e9 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.2 +@set masver=3.3 @echo off diff --git a/MAS/Separate-Files-Version/Change_Office_Edition.cmd b/MAS/Separate-Files-Version/Change_Office_Edition.cmd index eed5d70..6cf421e 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.2 +@set masver=3.3 @echo off diff --git a/MAS/Separate-Files-Version/Change_Windows_Edition.cmd b/MAS/Separate-Files-Version/Change_Windows_Edition.cmd index e93db0c..6020c87 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.2 +@set masver=3.3 @echo off diff --git a/MAS/Separate-Files-Version/Extract_OEM_Folder.cmd b/MAS/Separate-Files-Version/Extract_OEM_Folder.cmd index 9b43ac2..63a4ad9 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.2 +@set masver=3.3 @echo off diff --git a/MAS/Separate-Files-Version/Troubleshoot.cmd b/MAS/Separate-Files-Version/Troubleshoot.cmd index d35e046..c10657e 100644 --- a/MAS/Separate-Files-Version/Troubleshoot.cmd +++ b/MAS/Separate-Files-Version/Troubleshoot.cmd @@ -1,4 +1,4 @@ -@set masver=3.2 +@set masver=3.3 @echo off -- cgit v1.2.3