mirror of
https://github.com/massgravel/Microsoft-Activation-Scripts.git
synced 2025-12-05 03:34:54 +01:00
Compare commits
51 commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
54a1ec3d54 | ||
|
|
5f40fb4a79 | ||
|
|
541364642b | ||
|
|
2bc48bfd4d | ||
|
|
f69e4ff432 | ||
|
|
f8f37b38fe | ||
|
|
3c7178aaf6 | ||
|
|
41783f7a23 | ||
|
|
e7e73a8fbc | ||
|
|
7327f3b445 | ||
|
|
27f21a13d5 | ||
|
|
7f3372d778 | ||
|
|
4958ddf474 | ||
|
|
eeae1dd931 | ||
|
|
d16661cc87 | ||
|
|
1ee7cd1e60 | ||
|
|
55cc6d95d1 | ||
|
|
f4e08dac3d | ||
|
|
979dfb750b | ||
|
|
82f7cfe5f4 | ||
|
|
0a35a00266 | ||
|
|
4bf82f576c | ||
|
|
1e444671be | ||
|
|
0aee35e673 | ||
|
|
77c4bacde6 | ||
|
|
117ccae4ed | ||
|
|
470d3b900e | ||
|
|
b064fc628a | ||
|
|
c9789e9aa3 | ||
|
|
0d4ab4b435 | ||
|
|
8c440c5c48 | ||
|
|
233c9d1b29 | ||
|
|
4953ed82b5 | ||
|
|
b627d74f5a | ||
|
|
07fd04ea10 | ||
|
|
e5ed8c2487 | ||
|
|
c37609eabe | ||
|
|
4e06a401b5 | ||
|
|
b74d1155b9 | ||
|
|
d940db1e60 | ||
|
|
ab6b572af9 | ||
|
|
75a4d2e3a7 | ||
|
|
fd2cecb4ec | ||
|
|
a9c2f58741 | ||
|
|
79012c7db0 | ||
|
|
caffa62abe | ||
|
|
a8f6d051a6 | ||
|
|
6022b6de10 | ||
|
|
4ea26906cd | ||
|
|
564aad78b4 | ||
|
|
d5e382e763 |
14 changed files with 910 additions and 3496 deletions
8
.gitattributes
vendored
8
.gitattributes
vendored
|
|
@ -1,4 +1,4 @@
|
||||||
MAS export-ignore
|
# MAS export-ignore
|
||||||
LICENSE export-ignore
|
# LICENSE export-ignore
|
||||||
README.md export-ignore
|
# README.md export-ignore
|
||||||
.gitattributes export-ignore
|
# .gitattributes export-ignore
|
||||||
|
|
|
||||||
File diff suppressed because it is too large
Load diff
|
|
@ -1,12 +1,11 @@
|
||||||
@set masver=3.5
|
@set masver=3.9
|
||||||
@echo off
|
@echo off
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
::============================================================================
|
::============================================================================
|
||||||
::
|
::
|
||||||
:: Homepage: mass<>grave<.>dev
|
:: Homepage: mass{}grave{dot}dev
|
||||||
:: Email: mas.help@outlook.com
|
|
||||||
::
|
::
|
||||||
::============================================================================
|
::============================================================================
|
||||||
|
|
||||||
|
|
@ -428,8 +427,8 @@ if not defined results (
|
||||||
call :dk_color %Blue% "Go back to Main Menu, select Troubleshoot and run DISM Restore and SFC Scan options."
|
call :dk_color %Blue% "Go back to Main Menu, select Troubleshoot and run DISM Restore and SFC Scan options."
|
||||||
call :dk_color %Blue% "After that, restart system and try activation again."
|
call :dk_color %Blue% "After that, restart system and try activation again."
|
||||||
echo:
|
echo:
|
||||||
set fixes=%fixes% %mas%troubleshoot
|
set fixes=%fixes% %mas%in-place_repair_upgrade
|
||||||
call :dk_color2 %Blue% "Check this webpage for help - " %_Yellow% " %mas%troubleshoot"
|
call :dk_color2 %Blue% "If it still shows the same error, do this - " %_Yellow% " %mas%in-place_repair_upgrade"
|
||||||
)
|
)
|
||||||
goto dk_done
|
goto dk_done
|
||||||
)
|
)
|
||||||
|
|
@ -1158,6 +1157,11 @@ set spperror=%errorlevel%
|
||||||
if %spperror% NEQ 1056 if %spperror% NEQ 0 (
|
if %spperror% NEQ 1056 if %spperror% NEQ 0 (
|
||||||
%eline%
|
%eline%
|
||||||
echo sc start %_slser% [Error Code: %spperror%]
|
echo sc start %_slser% [Error Code: %spperror%]
|
||||||
|
if %spperror% EQU 1053 (
|
||||||
|
echo:
|
||||||
|
call :dk_color %Blue% "Reboot your machine using the restart option and try again."
|
||||||
|
call :dk_color %Blue% "If it still does not work, go back to Main Menu, select Troubleshoot and run Fix WPA Registry option."
|
||||||
|
)
|
||||||
)
|
)
|
||||||
|
|
||||||
echo:
|
echo:
|
||||||
|
|
@ -1469,6 +1473,13 @@ if %_wmic% EQU 1 wmic path Win32_ComputerSystem get CreationClassName /value %nu
|
||||||
if %_wmic% EQU 0 %psc% "Get-WmiObject -Class Win32_ComputerSystem | Select-Object -Property CreationClassName" %nul2% | find /i "computersystem" %nul1%
|
if %_wmic% EQU 0 %psc% "Get-WmiObject -Class Win32_ComputerSystem | Select-Object -Property CreationClassName" %nul2% | find /i "computersystem" %nul1%
|
||||||
|
|
||||||
if %errorlevel% NEQ 0 set wmifailed=1
|
if %errorlevel% NEQ 0 set wmifailed=1
|
||||||
|
|
||||||
|
if %_wmic% EQU 1 wmic path %sps% get Version %nul%
|
||||||
|
if %_wmic% EQU 0 %psc% "try { $null=([WMISEARCHER]'SELECT * FROM %sps%').Get().Version; exit 0 } catch { exit $_.Exception.InnerException.HResult }" %nul%
|
||||||
|
set error_code=%errorlevel%
|
||||||
|
cmd /c exit /b %error_code%
|
||||||
|
if %error_code% NEQ 0 set "error_code=0x%=ExitCode%"
|
||||||
|
|
||||||
echo "%error_code%" | findstr /i "0x800410 0x800440 0x80131501" %nul1% && set wmifailed=1& :: https://learn.microsoft.com/en-us/windows/win32/wmisdk/wmi-error-constants
|
echo "%error_code%" | findstr /i "0x800410 0x800440 0x80131501" %nul1% && set wmifailed=1& :: https://learn.microsoft.com/en-us/windows/win32/wmisdk/wmi-error-constants
|
||||||
|
|
||||||
if defined wmifailed (
|
if defined wmifailed (
|
||||||
|
|
@ -1662,12 +1673,6 @@ set showfix=1
|
||||||
|
|
||||||
:: Check SoftwareLicensingService
|
:: Check SoftwareLicensingService
|
||||||
|
|
||||||
if %_wmic% EQU 1 wmic path %sps% get Version %nul%
|
|
||||||
if %_wmic% EQU 0 %psc% "try { $null=([WMISEARCHER]'SELECT * FROM %sps%').Get().Version; exit 0 } catch { exit $_.Exception.InnerException.HResult }" %nul%
|
|
||||||
set error_code=%errorlevel%
|
|
||||||
cmd /c exit /b %error_code%
|
|
||||||
if %error_code% NEQ 0 set "error_code=0x%=ExitCode%"
|
|
||||||
|
|
||||||
if %error_code% NEQ 0 (
|
if %error_code% NEQ 0 (
|
||||||
call :dk_color %Red% "Checking SoftwareLicensingService [Not Working] [%error_code%]"
|
call :dk_color %Red% "Checking SoftwareLicensingService [Not Working] [%error_code%]"
|
||||||
if not defined showfix (
|
if not defined showfix (
|
||||||
|
|
@ -1814,7 +1819,9 @@ call :dk_color %Gray% "Checking SLC/WMI SKU [Difference Found
|
||||||
|
|
||||||
:: This "WLMS" service was included in previous Eval editions (which were activable) to automatically shut down the system every hour after the evaluation period expired and prevent SPPSVC from stopping.
|
:: This "WLMS" service was included in previous Eval editions (which were activable) to automatically shut down the system every hour after the evaluation period expired and prevent SPPSVC from stopping.
|
||||||
|
|
||||||
if exist "%SysPath%\wlms\wlms.exe" (
|
sc query wlms %nul%
|
||||||
|
|
||||||
|
if %errorlevel% NEQ 1060 (
|
||||||
echo Checking Eval WLMS Service [Found]
|
echo Checking Eval WLMS Service [Found]
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
@ -1855,19 +1862,22 @@ call :dk_color %Gray% "Checking SkipRearm [Default 0 Value
|
||||||
|
|
||||||
if %winbuild% GEQ 9200 if not exist "%SystemRoot%\Servicing\Packages\Microsoft-Windows-*EvalEdition~*.mum" (
|
if %winbuild% GEQ 9200 if not exist "%SystemRoot%\Servicing\Packages\Microsoft-Windows-*EvalEdition~*.mum" (
|
||||||
%psc% "Get-WmiObject -Query 'SELECT Description FROM SoftwareLicensingProduct WHERE PartialProductKey IS NOT NULL AND LicenseDependsOn IS NULL' | Select-Object -Property Description" %nul2% | findstr /i "KMS_" %nul1% || (
|
%psc% "Get-WmiObject -Query 'SELECT Description FROM SoftwareLicensingProduct WHERE PartialProductKey IS NOT NULL AND LicenseDependsOn IS NULL' | Select-Object -Property Description" %nul2% | findstr /i "KMS_" %nul1% || (
|
||||||
for /f "delims=" %%a in ('%psc% "(Get-ScheduledTask -TaskName 'SvcRestartTask' -TaskPath '\Microsoft\Windows\SoftwareProtectionPlatform\').State" %nul6%') do (set taskinfo=%%a)
|
for /f "delims=" %%a in ('%psc% "$s=New-Object -ComObject 'Schedule.Service'; $s.Connect(); $state=$s.GetFolder('\Microsoft\Windows\SoftwareProtectionPlatform').GetTask('SvcRestartTask').State; @{0='Unknown';1='Disabled';2='Queued';3='Ready';4='Running'}[$state]" %nul6%') do (set taskinfo=%%a)
|
||||||
|
|
||||||
echo !taskinfo! | find /i "Ready" %nul% || (
|
echo !taskinfo! | find /i "Ready" %nul% || (
|
||||||
reg delete "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\SoftwareProtectionPlatform" /v "actionlist" /f %nul%
|
reg delete "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\SoftwareProtectionPlatform" /v "actionlist" /f %nul%
|
||||||
reg query "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Schedule\TaskCache\Tree\Microsoft\Windows\SoftwareProtectionPlatform\SvcRestartTask" %nul% || set taskinfo=Removed
|
reg query "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Schedule\TaskCache\Tree\Microsoft\Windows\SoftwareProtectionPlatform\SvcRestartTask" %nul% || set taskinfo=Removed
|
||||||
if "!taskinfo!"=="" set "taskinfo=Not Found"
|
if "!taskinfo!"=="" set "taskinfo=Not Found"
|
||||||
|
|
||||||
call :dk_color %Red% "Checking SvcRestartTask Status [!taskinfo!, system might deactivate later]"
|
call :dk_color %Gray% "Checking SvcRestartTask Status [!taskinfo!. System might deactivate later.]"
|
||||||
if not defined showfix (
|
if not defined showfix (
|
||||||
echo:
|
echo:
|
||||||
|
echo "!taskinfo!" | findstr /i "Removed Not Found" %nul1% && (
|
||||||
|
set fixes=%fixes% %mas%in-place_repair_upgrade
|
||||||
|
call :dk_color2 %Blue% "Check this webpage for help - " %_Yellow% " %mas%in-place_repair_upgrade"
|
||||||
|
) || (
|
||||||
call :dk_color %Blue% "Reboot your machine using the restart option and run the script again."
|
call :dk_color %Blue% "Reboot your machine using the restart option and run the script again."
|
||||||
set fixes=%fixes% %mas%troubleshoot
|
)
|
||||||
call :dk_color2 %Blue% "Check this webpage for help - " %_Yellow% " %mas%troubleshoot"
|
|
||||||
echo:
|
echo:
|
||||||
)
|
)
|
||||||
)
|
)
|
||||||
|
|
@ -1985,11 +1995,10 @@ exit /b
|
||||||
:: 2nd column = Generic Retail/OEM/MAK Key
|
:: 2nd column = Generic Retail/OEM/MAK Key
|
||||||
:: 3rd column = SKU ID
|
:: 3rd column = SKU ID
|
||||||
:: 4th column = Key part number
|
:: 4th column = Key part number
|
||||||
:: 5th column = Ticket signature value. It's as it is, it's not encoded. (Check mass<>grave<.>dev/hwid#manual-activation to see how it's generated)
|
:: 5th column = 1 = activation is not working (at the time of writing this), 0 = activation is working
|
||||||
:: 6th column = 1 = activation is not working (at the time of writing this), 0 = activation is working
|
:: 6th column = Key Type
|
||||||
:: 7th column = Key Type
|
:: 7th column = WMI Edition ID (For reference only)
|
||||||
:: 8th column = WMI Edition ID (For reference only)
|
:: 8th column = Version name incase same Edition ID is used in different OS versions with different key
|
||||||
:: 9th column = Version name incase same Edition ID is used in different OS versions with different key
|
|
||||||
:: Separator = _
|
:: Separator = _
|
||||||
|
|
||||||
|
|
||||||
|
|
@ -1997,39 +2006,40 @@ exit /b
|
||||||
|
|
||||||
set f=
|
set f=
|
||||||
for %%# in (
|
for %%# in (
|
||||||
8b351c9c-f398-4515-9900-09df49427262_XGVPP-NMH47-7TTHJ-W3FW7-8H%f%V2C___4_X19-99683_HGNKjkKcKQHO6n8srMUrDh/MElffBZarLqCMD9rWtgFKf3YzYOLDPEMGhuO/auNMKCeiU7ebFbQALS/MyZ7TvidMQ2dvzXeXXKzPBjfwQx549WJUU7qAQ9Txg9cR9SAT8b12Pry2iBk+nZWD9VtHK3kOnEYkvp5WTCTsrSi6Re4_0_OEM:NONSLP_Enterprise
|
8b351c9c-f398-4515-9900-09df49427262_XGVPP-NMH47-7TTHJ-W3FW7-8H%f%V2C___4_X19-99683_0_OEM:NONSLP_Enterprise
|
||||||
c83cef07-6b72-4bbc-a28f-a00386872839_3V6Q6-NQXCX-V8YXR-9QCYV-QP%f%FCT__27_X19-98746_NHn2n0N1UfVf00CfaI5LCDMDsKdVAWpD/HAfUrcTAKsw9d2Sks4h5MhyH/WUx+B6dFi8ol7D3AHorR8y9dqVS1Bd2FdZNJl/tTR1PGwYn6KL88NS19aHmFNdX8s4438vaa+Ty8Qk8EDcwm/wscC8lQmi3/RgUKYdyGFvpbGSVlk_0_Volume:MAK_EnterpriseN
|
c83cef07-6b72-4bbc-a28f-a00386872839_3V6Q6-NQXCX-V8YXR-9QCYV-QP%f%FCT__27_X19-98746_0_Volume:MAK_EnterpriseN
|
||||||
4de7cb65-cdf1-4de9-8ae8-e3cce27b9f2c_VK7JG-NPHTM-C97JM-9MPGT-3V%f%66T__48_X19-98841_Yl/jNfxJ1SnaIZCIZ4m6Pf3ySNoQXifNeqfltNaNctx+onwiivOx7qcSn8dFtURzgMzSOFnsRQzb5IrvuqHoxWWl1S3JIQn56FvKsvSx7aFXIX3+2Q98G1amPV/WEQ0uHA5d7Ya6An+g0Z0zRP7evGoomTs4YuweaWiZQjQzSpA_0_____Retail_Professional
|
4de7cb65-cdf1-4de9-8ae8-e3cce27b9f2c_VK7JG-NPHTM-C97JM-9MPGT-3V%f%66T__48_X19-98841_0_____Retail_Professional
|
||||||
9fbaf5d6-4d83-4422-870d-fdda6e5858aa_2B87N-8KFHP-DKV6R-Y2C8J-PK%f%CKT__49_X19-98859_Ge0mRQbW8ALk7T09V+1k1yg66qoS0lhkgPIROOIOgxKmWPAvsiLAYPKDqM4+neFCA/qf1dHFmdh0VUrwFBPYsK251UeWuElj4bZFVISL6gUt1eZwbGfv5eurQ0i+qZiFv+CcQOEFsd5DD4Up6xPLLQS3nAXODL5rSrn2sHRoCVY_0_____Retail_ProfessionalN
|
9fbaf5d6-4d83-4422-870d-fdda6e5858aa_2B87N-8KFHP-DKV6R-Y2C8J-PK%f%CKT__49_X19-98859_0_____Retail_ProfessionalN
|
||||||
f742e4ff-909d-4fe9-aacb-3231d24a0c58_4CPRK-NM3K3-X6XXQ-RXX86-WX%f%CHW__98_X19-98877_vel4ytVtnE8FhvN87Cflz9sbh5QwHD1YGOeej9QP7hF3vlBR4EX2/S/09gRneeXVbQnjDOCd2KFMKRUWHLM7ZhFBk8AtlG+kvUawPZ+CIrwrD3mhi7NMv8UX/xkLK3HnBupMEuEwsMJgCUD8Pn6om1mEiQebHBAqu4cT7GN9Y0g_0_____Retail_CoreN
|
f742e4ff-909d-4fe9-aacb-3231d24a0c58_4CPRK-NM3K3-X6XXQ-RXX86-WX%f%CHW__98_X19-98877_0_____Retail_CoreN
|
||||||
1d1bac85-7365-4fea-949a-96978ec91ae0_N2434-X9D7W-8PF6X-8DV9T-8T%f%YMD__99_X19-99652_Nv17eUTrr1TmUX6frlI7V69VR6yWb7alppCFJPcdjfI+xX4/Cf2np3zm7jmC+zxFb9nELUs477/ydw2KCCXFfM53bKpBQZKHE5+MdGJGxebOCcOtJ3hrkDJtwlVxTQmUgk5xnlmpk8PHg82M2uM5B7UsGLxGKK4d3hi0voSyKeI_0_____Retail_CoreCountrySpecific
|
1d1bac85-7365-4fea-949a-96978ec91ae0_N2434-X9D7W-8PF6X-8DV9T-8T%f%YMD__99_X19-99652_0_____Retail_CoreCountrySpecific
|
||||||
3ae2cc14-ab2d-41f4-972f-5e20142771dc_BT79Q-G7N6G-PGBYW-4YWX6-6F%f%4BT_100_X19-99661_FV2Eao/R5v8sGrfQeOjQ4daokVlNOlqRCDZXuaC45bQd5PsNU3t1b4AwWeYM8TAwbHauzr4tPG0UlsUqUikCZHy0poROx35bBBMBym6Zbm9wDBVyi7nCzBtwS86eOonQ3cU6WfZxhZRze0POdR33G3QTNPrnVIM2gf6nZJYqDOA_0_____Retail_CoreSingleLanguage
|
3ae2cc14-ab2d-41f4-972f-5e20142771dc_BT79Q-G7N6G-PGBYW-4YWX6-6F%f%4BT_100_X19-99661_0_____Retail_CoreSingleLanguage
|
||||||
2b1f36bb-c1cd-4306-bf5c-a0367c2d97d8_YTMG3-N6DKC-DKB77-7M9GH-8H%f%VX7_101_X19-98868_GH/jwFxIcdQhNxJIlFka8c1H48PF0y7TgJwaryAUzqSKXynONLw7MVciDJFVXTkCjbXSdxLSWpPIC50/xyy1rAf8aC7WuN/9cRNAvtFPC1IVAJaMeq1vf4mCqRrrxJQP6ZEcuAeHFzLe/LLovGWCd8rrs6BbBwJXCvAqXImvycQ_0_____Retail_Core
|
2b1f36bb-c1cd-4306-bf5c-a0367c2d97d8_YTMG3-N6DKC-DKB77-7M9GH-8H%f%VX7_101_X19-98868_0_____Retail_Core
|
||||||
2a6137f3-75c0-4f26-8e3e-d83d802865a4_XKCNC-J26Q9-KFHD2-FKTHY-KD%f%72Y_119_X19-99606_hci78IRWDLBtdbnAIKLDgV9whYgtHc1uYyp9y6FszE9wZBD5Nc8CUD2pI2s2RRd3M04C4O7M3tisB3Ov/XVjpAbxlX3MWfUR5w4MH0AphbuQX0p5MuHEDYyfqlRgBBRzOKePF06qfYvPQMuEfDpKCKFwNojQxBV8O0Arf5zmrIw_0_OEM:NONSLP_PPIPro
|
2a6137f3-75c0-4f26-8e3e-d83d802865a4_XKCNC-J26Q9-KFHD2-FKTHY-KD%f%72Y_119_X19-99606_0_OEM:NONSLP_PPIPro
|
||||||
e558417a-5123-4f6f-91e7-385c1c7ca9d4_YNMGQ-8RYV3-4PGQ3-C8XTP-7C%f%FBY_121_X19-98886_x9tPFDZmjZMf29zFeHV5SHbXj8Wd8YAcCn/0hbpLcId4D7OWqkQKXxXHIegRlwcWjtII0sZ6WYB0HQV2KH3LvYRnWKpJ5SxeOgdzBIJ6fhegYGGyiXsBv9sEb3/zidPU6ZK9LugVGAcRZ6HQOiXyOw+Yf5H35iM+2oDZXSpjvJw_0_____Retail_Education
|
e558417a-5123-4f6f-91e7-385c1c7ca9d4_YNMGQ-8RYV3-4PGQ3-C8XTP-7C%f%FBY_121_X19-98886_0_____Retail_Education
|
||||||
c5198a66-e435-4432-89cf-ec777c9d0352_84NGF-MHBT6-FXBX8-QWJK7-DR%f%R8H_122_X19-98892_jkL4YZkmBCJtvL1fT30ZPBcjmzshBSxjwrE0Q00AZ1hYnhrH+npzo1MPCT6ZRHw19ZLTz7wzyBb0qqcBVbtEjZW0Xs2MYLxgriyoONkhnPE6KSUJBw7C0enFVLHEqnVu/nkaOFfockN3bc+Eouw6W2lmHjklPHc9c6Clo04jul0_0_____Retail_EducationN
|
c5198a66-e435-4432-89cf-ec777c9d0352_84NGF-MHBT6-FXBX8-QWJK7-DR%f%R8H_122_X19-98892_0_____Retail_EducationN
|
||||||
f6e29426-a256-4316-88bf-cc5b0f95ec0c_PJB47-8PN2T-MCGDY-JTY3D-CB%f%CPV_125_X23-50331_OPGhsyx+Ctw7w/KLMRNrY+fNBmKPjUG0R9RqkWk4e8ez+ExSJxSLLex5WhO5QSNgXLmEra+cCsN6C638aLjIdH2/L7D+8z/C6EDgRvbHMmidHg1lX3/O8lv0JudHkGtHJYewjorn/xXGY++vOCTQdZNk6qzEgmYSvPehKfdg8js_1_Volume:MAK_EnterpriseS_Ge
|
f6e29426-a256-4316-88bf-cc5b0f95ec0c_PJB47-8PN2T-MCGDY-JTY3D-CB%f%CPV_125_X23-50331_1_Volume:MAK_EnterpriseS_Ge
|
||||||
cce9d2de-98ee-4ce2-8113-222620c64a27_KCNVH-YKWX8-GJJB9-H9FDT-6F%f%7W2_125_X22-66075_GCqWmJOsTVun9z4QkE9n2XqBvt3ZWSPl9QmIh9Q2mXMG/QVt2IE7S+ES/NWlyTSNjLVySr1D2sGjxgEzy9kLwn7VENQVJ736h1iOdMj/3rdqLMSpTa813+nPSQgKpqJ3uMuvIvRP0FdB7Y4qt8qf9kNKK25A1QknioD/6YubL/4_1_Volume:MAK_EnterpriseS_VB
|
cce9d2de-98ee-4ce2-8113-222620c64a27_KCNVH-YKWX8-GJJB9-H9FDT-6F%f%7W2_125_X22-66075_1_Volume:MAK_EnterpriseS_VB
|
||||||
d06934ee-5448-4fd1-964a-cd077618aa06_43TBQ-NH92J-XKTM7-KT3KK-P3%f%9PB_125_X21-83233_EpB6qOCo8pRgO5kL4vxEHck2J1vxyd9OqvxUenDnYO9AkcGWat/D74ZcFg5SFlIya1U8l5zv+tsvZ4wAvQ1IaFW1PwOKJLOaGgejqZ41TIMdFGGw+G+s1RHsEnrWr3UOakTodby1aIMUMoqf3NdaM5aWFo8fOmqWC5/LnCoighs_0_OEM:NONSLP_EnterpriseS_RS5
|
d06934ee-5448-4fd1-964a-cd077618aa06_43TBQ-NH92J-XKTM7-KT3KK-P3%f%9PB_125_X21-83233_0_OEM:NONSLP_EnterpriseS_RS5
|
||||||
706e0cfd-23f4-43bb-a9af-1a492b9f1302_NK96Y-D9CD8-W44CQ-R8YTK-DY%f%JWX_125_X21-05035_ntcKmazIvLpZOryft28gWBHu1nHSbR+Gp143f/BiVe+BD2UjHBZfSR1q405xmQZsygz6VRK6+zm8FPR++71pkmArgCLhodCQJ5I4m7rAJNw/YX99pILphi1yCRcvHsOTGa825GUVXgf530tHT6hr0HQ1lGeGgG1hPekpqqBbTlg_0_OEM:NONSLP_EnterpriseS_RS1
|
706e0cfd-23f4-43bb-a9af-1a492b9f1302_NK96Y-D9CD8-W44CQ-R8YTK-DY%f%JWX_125_X21-05035_0_OEM:NONSLP_EnterpriseS_RS1
|
||||||
faa57748-75c8-40a2-b851-71ce92aa8b45_FWN7H-PF93Q-4GGP8-M8RF3-MD%f%WWW_125_X19-99617_Fe9CDClilrAmwwT7Yhfx67GafWRQEpwyj8R+a4eaTqbpPcAt7d1hv1rx8Sa9AzopEGxIrb7IhiPoDZs0XaT1HN0/olJJ/MnD73CfBP4sdQdLTsSJE3dKMWYTQHpnjqRaS/pNBYRr8l9Mv8yfcP8uS2MjIQ1cRTqRmC7WMpShyCg_0_OEM:NONSLP_EnterpriseS_TH
|
faa57748-75c8-40a2-b851-71ce92aa8b45_FWN7H-PF93Q-4GGP8-M8RF3-MD%f%WWW_125_X19-99617_0_OEM:NONSLP_EnterpriseS_TH
|
||||||
3d1022d8-969f-4222-b54b-327f5a5af4c9_2DBW3-N2PJG-MVHW3-G7TDK-9H%f%KR4_126_X21-04921_zLPNvcl1iqOefy0VLg+WZgNtRNhuGpn8+BFKjMqjaNOSKiuDcR6GNDS5FF1Aqk6/e6shJ+ohKzuwrnmYq3iNQ3I2MBlYjM5kuNfKs8Vl9dCjSpQr//GBGps6HtF2xrG/2g/yhtYC7FbtGDIE16uOeNKFcVg+XMb0qHE/5Etyfd8_0_Volume:MAK_EnterpriseSN_RS1
|
3d1022d8-969f-4222-b54b-327f5a5af4c9_2DBW3-N2PJG-MVHW3-G7TDK-9H%f%KR4_126_X21-04921_0_Volume:MAK_EnterpriseSN_RS1
|
||||||
60c243e1-f90b-4a1b-ba89-387294948fb6_NTX6B-BRYC2-K6786-F6MVQ-M7%f%V2X_126_X19-98770_kbXfe0z9Vi1S0yfxMWzI5+UtWsJKzxs7wLGUDLjrckFDn1bDQb4MvvuCK1w+Qrq33lemiGpNDspa+ehXiYEeSPFcCvUBpoMlGBFfzurNCHWiv3o1k3jBoawJr/VoDoVZfxhkps0fVoubf9oy6C6AgrkZ7PjCaS58edMcaUWvYYg_0_Volume:MAK_EnterpriseSN_TH
|
60c243e1-f90b-4a1b-ba89-387294948fb6_NTX6B-BRYC2-K6786-F6MVQ-M7%f%V2X_126_X19-98770_0_Volume:MAK_EnterpriseSN_TH
|
||||||
01eb852c-424d-4060-94b8-c10d799d7364_3XP6D-CRND4-DRYM2-GM84D-4G%f%G8Y_139_X23-37869_PVW0XnRJnsWYjTqxb6StCi2tge/uUwegjdiFaFUiZpwdJ620RK+MIAsSq5S+egXXzIWNntoy2fB6BO8F1wBFmxP/mm/3rn5C33jtF5QrbNqY7X9HMbqSiC7zhs4v4u2Xa4oZQx8JQkwr8Q2c/NgHrOJKKRASsSckhunxZ+WVEuM_1_____Retail_ProfessionalCountrySpecific_Zn
|
01eb852c-424d-4060-94b8-c10d799d7364_3XP6D-CRND4-DRYM2-GM84D-4G%f%G8Y_139_X23-37869_1_____Retail_ProfessionalCountrySpecific_Zn
|
||||||
eb6d346f-1c60-4643-b960-40ec31596c45_DXG7C-N36C4-C4HTG-X4T3X-2Y%f%V77_161_X21-43626_MaVqTkRrGnOqYizl15whCOKWzx01+BZTVAalvEuHXM+WV55jnIfhWmd/u1GqCd5OplqXdU959zmipK2Iwgu2nw/g91nW//sQiN/cUcvg1Lxo6pC3gAo1AjTpHmGIIf9XlZMYlD+Vl6gXsi/Auwh3yrSSFh5s7gOczZoDTqQwHXA_0_____Retail_ProfessionalWorkstation
|
eb6d346f-1c60-4643-b960-40ec31596c45_DXG7C-N36C4-C4HTG-X4T3X-2Y%f%V77_161_X21-43626_0_____Retail_ProfessionalWorkstation
|
||||||
89e87510-ba92-45f6-8329-3afa905e3e83_WYPNQ-8C467-V2W6J-TX4WX-WT%f%2RQ_162_X21-43644_JVGQowLiCcPtGY9ndbBDV+rTu/q5ljmQTwQWZgBIQsrAeQjLD8jLEk/qse7riZ7tMT6PKFVNXeWqF7PhLAmACbE8O3Lvp65XMd/Oml9Daynj5/4n7unsffFHIHH8TGyO5j7xb4dkFNqC5TX3P8/1gQEkTIdZEOTQQXFu0L2SP5c_0_____Retail_ProfessionalWorkstationN
|
89e87510-ba92-45f6-8329-3afa905e3e83_WYPNQ-8C467-V2W6J-TX4WX-WT%f%2RQ_162_X21-43644_0_____Retail_ProfessionalWorkstationN
|
||||||
62f0c100-9c53-4e02-b886-a3528ddfe7f6_8PTT6-RNW4C-6V7J2-C2D3X-MH%f%BPB_164_X21-04955_CEDgxI8f/fxMBiwmeXw5Of55DG32sbGALzHihXkdbYTDaE3pY37oAA4zwGHALzAFN/t254QImGPYR6hATgl+Cp804f7serJqiLeXY965Zy67I4CKIMBm49lzHLFJeDnVTjDB0wVyN29pvgO3+HLhZ22KYCpkRHFFMy2OKxS68Yc_0_____Retail_ProfessionalEducation
|
62f0c100-9c53-4e02-b886-a3528ddfe7f6_8PTT6-RNW4C-6V7J2-C2D3X-MH%f%BPB_164_X21-04955_0_____Retail_ProfessionalEducation
|
||||||
13a38698-4a49-4b9e-8e83-98fe51110953_GJTYN-HDMQY-FRR76-HVGC7-QP%f%F8P_165_X21-04956_r35zp9OfxKSBcTxKWon3zFtbOiCufAPo6xRGY5DJqCRFKdB0jgZalNQitvjmaZ/Rlez2vjRJnEart4LrvyW4d9rrukAjR3+c3UkeTKwoD3qBl9AdRJbXCa2BdsoXJs1WVS4w4LuVzpB/SZDuggZt0F2DlMB427F5aflook/n1pY_0_____Retail_ProfessionalEducationN
|
13a38698-4a49-4b9e-8e83-98fe51110953_GJTYN-HDMQY-FRR76-HVGC7-QP%f%F8P_165_X21-04956_0_____Retail_ProfessionalEducationN
|
||||||
df96023b-dcd9-4be2-afa0-c6c871159ebe_NJCF7-PW8QT-3324D-688JX-2Y%f%V66_175_X21-41295_rVpetYUmiRB48YJfCvJHiaZapJ0bO8gQDRoql+rq5IobiSRu//efV1VXqVpBkwILQRKgKIVONSTUF5y2TSxlDLbDSPKp7UHfbz17g6vRKLwOameYEz0ZcK3NTbApN/cMljHvvF/mBag1+sHjWu+eoFzk8H89k9nw8LMeVOPJRDc_0_____Retail_ServerRdsh
|
df96023b-dcd9-4be2-afa0-c6c871159ebe_NJCF7-PW8QT-3324D-688JX-2Y%f%V66_175_X21-41295_0_____Retail_ServerRdsh
|
||||||
d4ef7282-3d2c-4cf0-9976-8854e64a8d1e_V3WVW-N2PV2-CGWC3-34QGF-VM%f%J2C_178_X21-32983_Xzme9hDZR6H0Yx0deURVdE6LiTOkVqWng5W/OTbkxRc0rq+mSYpo/f/yqhtwYlrkBPWx16Yok5Bvcb34vbKHvEAtxfYp4te20uexLzVOtBcoeEozARv4W/6MhYfl+llZtR5efsktj4N4/G4sVbuGvZ9nzNfQO9TwV6NGgGEj2Ec_0_____Retail_Cloud
|
d4ef7282-3d2c-4cf0-9976-8854e64a8d1e_V3WVW-N2PV2-CGWC3-34QGF-VM%f%J2C_178_X21-32983_0_____Retail_Cloud
|
||||||
af5c9381-9240-417d-8d35-eb40cd03e484_NH9J3-68WK7-6FB93-4K3DF-DJ%f%4F6_179_X21-32987_QGRDZOU/VZhYLOSdp2xDnFs8HInNZctcQlWCIrORVnxTQr55IJwN4vK3PJHjkfRLQ/bgUrcEIhyFbANqZFUq8yD1YNubb2bjNORgI/m8u85O9V7nDGtxzO/viEBSWyEHnrzLKKWYqkRQKbbSW3ungaZR0Ti5O2mAUI4HzAFej50_0_____Retail_CloudN
|
af5c9381-9240-417d-8d35-eb40cd03e484_NH9J3-68WK7-6FB93-4K3DF-DJ%f%4F6_179_X21-32987_0_____Retail_CloudN
|
||||||
8ab9bdd1-1f67-4997-82d9-8878520837d9_XQQYW-NFFMW-XJPBH-K8732-CK%f%FFD_188_X21-99378_djy0od0uuKd2rrIl+V1/2+MeRltNgW7FEeTNQsPMkVSL75NBphgoso4uS0JPv2D7Y1iEEvmVq6G842Kyt52QOwXgFWmP/IQ6Sq1dr+fHK/4Et7bEPrrGBEZoCfWqk0kdcZRPBij2KN6qCRWhrk1hX2g+U40smx/EYCLGh9HCi24_0_____OEM:DM_IoTEnterprise
|
8ab9bdd1-1f67-4997-82d9-8878520837d9_XQQYW-NFFMW-XJPBH-K8732-CK%f%FFD_188_X21-99378_0_____OEM:DM_IoTEnterprise
|
||||||
ed655016-a9e8-4434-95d9-4345352c2552_QPM6N-7J2WJ-P88HH-P3YRH-YY%f%74H_191_X21-99682_qHs/PzfhYWdtSys2edzcz4h+Qs8aDqb8BIiQ/mJ/+0uyoJh1fitbRCIgiFh2WAGZXjdgB8hZeheNwHibd8ChXaXg4u+0XlOdFlaDTgTXblji8fjETzDBk9aGkeMCvyVXRuUYhTSdp83IqGHz7XuLwN2p/6AUArx9JZCoLGV8j3w_0_OEM:NONSLP_IoTEnterpriseS_VB
|
ed655016-a9e8-4434-95d9-4345352c2552_QPM6N-7J2WJ-P88HH-P3YRH-YY%f%74H_191_X21-99682_0_OEM:NONSLP_IoTEnterpriseS_VB
|
||||||
6c4de1b8-24bb-4c17-9a77-7b939414c298_CGK42-GYN6Y-VD22B-BX98W-J8%f%JXD_191_X23-12617_J/fpIRynsVQXbp4qZNKp6RvOgZ/P2klILUKQguMlcwrBZybwNkHg/kM5LNOF/aDzEktbPnLnX40GEvKkYT6/qP4cMhn/SOY0/hYOkIdR34ilzNlVNq5xP7CMjCjaUYJe+6ydHPK6FpOuEoWOYYP5BZENKNGyBy4w4shkMAw19mA_0_OEM:NONSLP_IoTEnterpriseS_Ge
|
6c4de1b8-24bb-4c17-9a77-7b939414c298_CGK42-GYN6Y-VD22B-BX98W-J8%f%JXD_191_X23-12617_0_OEM:NONSLP_IoTEnterpriseS_Ge
|
||||||
d4bdc678-0a4b-4a32-a5b3-aaa24c3b0f24_K9VKN-3BGWV-Y624W-MCRMQ-BH%f%DCD_202_X22-53884_kyoNx2s93U6OUSklB1xn+GXcwCJO1QTEtACYnChi8aXSoxGQ6H2xHfUdHVCwUA1OR0UeNcRrMmOzZBOEUBtdoGWSYPg9AMjvxlxq9JOzYAH+G6lT0UbCWgMSGGrqdcIfmshyEak3aUmsZK6l+uIAFCCZZ/HbbCRkkHC5rWKstMI_0_____Retail_CloudEditionN
|
d4bdc678-0a4b-4a32-a5b3-aaa24c3b0f24_K9VKN-3BGWV-Y624W-MCRMQ-BH%f%DCD_202_X22-53884_0_____Retail_CloudEditionN
|
||||||
92fb8726-92a8-4ffc-94ce-f82e07444653_KY7PN-VR6RX-83W6Y-6DDYQ-T6%f%R4W_203_X22-53847_gD6HnT4jP4rcNu9u83gvDiQq1xs7QSujcDbo60Di5iSVa9/ihZ7nlhnA0eDEZfnoDXriRiPPqc09T6AhSnFxLYitAkOuPJqL5UMobIrab9dwTKlowqFolxoHhLOO4V92Hsvn/9JLy7rEzoiAWHhX/0cpMr3FCzVYPeUW1OyLT1A_0_____Retail_CloudEdition
|
92fb8726-92a8-4ffc-94ce-f82e07444653_KY7PN-VR6RX-83W6Y-6DDYQ-T6%f%R4W_203_X22-53847_0_____Retail_CloudEdition
|
||||||
5a85300a-bfce-474f-ac07-a30983e3fb90_N979K-XWD77-YW3GB-HBGH6-D3%f%2MH_205_X23-15042_blZopkUuayCTgZKH4bOFiisH9GTAHG5/js6UX/qcMWWc3sWNxKSX1OLp1k3h8Xx1cFuvfG/fNAw/I83ssEtPY+A0Gx1JF4QpRqsGOqJ5ruQ2tGW56CJcCVHkB+i46nJAD759gYmy3pEYMQbmpWbhLx3MJ6kvwxKfU+0VCio8k50_0_____OEM:DM_IoTEnterpriseSK
|
5a85300a-bfce-474f-ac07-a30983e3fb90_N979K-XWD77-YW3GB-HBGH6-D3%f%2MH_205_X23-15042_0_____OEM:DM_IoTEnterpriseSK
|
||||||
80083eae-7031-4394-9e88-4901973d56fe_P8Q7T-WNK7X-PMFXY-VXHBG-RR%f%K69_206_X23-62084_habUJ0hhAG0P8iIKaRQ74/wZQHyAdFlwHmrejNjOSRG08JeqilJlTM6V8G9UERLJ92/uMDVHIVOPXfN8Zdh8JuYO8oflPnqymIRmff/pU+Gpb871jV2JDA4Cft5gmn+ictKoN4VoSfEZRR+R5hzF2FsoCExDNNw6gLdjtiX94uA_0_____OEM:DM_IoTEnterpriseK
|
80083eae-7031-4394-9e88-4901973d56fe_P8Q7T-WNK7X-PMFXY-VXHBG-RR%f%K69_206_X23-62084_0_____OEM:DM_IoTEnterpriseK
|
||||||
|
1bc2140b-285b-4351-b99c-26a126104b29_TMP2N-KGFHJ-PWM6F-68KCQ-3P%f%JBP_210_X23-60513_0_____Retail_WNC
|
||||||
) do (
|
) do (
|
||||||
for /f "tokens=1-9 delims=_" %%A in ("%%#") do (
|
for /f "tokens=1-9 delims=_" %%A in ("%%#") do (
|
||||||
|
|
||||||
|
|
@ -2037,7 +2047,7 @@ REM Detect key
|
||||||
|
|
||||||
if %1==key if %osSKU%==%%C if not defined key (
|
if %1==key if %osSKU%==%%C if not defined key (
|
||||||
echo "!allapps! !altapplist!" | find /i "%%A" %nul1% && (
|
echo "!allapps! !altapplist!" | find /i "%%A" %nul1% && (
|
||||||
if %%F==1 set notworking=1
|
if %%E==1 set notworking=1
|
||||||
set key=%%B
|
set key=%%B
|
||||||
)
|
)
|
||||||
)
|
)
|
||||||
|
|
@ -2045,11 +2055,8 @@ set key=%%B
|
||||||
REM Generate ticket
|
REM Generate ticket
|
||||||
|
|
||||||
if %1==ticket if "%key%"=="%%B" (
|
if %1==ticket if "%key%"=="%%B" (
|
||||||
set "string=OSMajorVersion=5;OSMinorVersion=1;OSPlatformId=2;PP=0;Pfn=Microsoft.Windows.%%C.%%D_8wekyb3d8bbwe;PKeyIID=465145217131314304264339481117862266242033457260311819664735280;$([char]0)"
|
set "SessionIdStr=OSMajorVersion=5;OSMinorVersion=1;OSPlatformId=2;PP=0;Pfn=Microsoft.Windows.%%C.%%D_8wekyb3d8bbwe;PKeyIID=465145217131314304264339481117862266242033457260311819664735280;"
|
||||||
for /f "tokens=* delims=" %%i in ('%psc% [conv%f%ert]::ToBas%f%e64String([Text.En%f%coding]::Uni%f%code.GetBytes("""!string!"""^)^)') do set "encoded=%%i"
|
%psc% "$f=[System.IO.File]::ReadAllText('!_batp!') -split ':sign\:.*';. ([scriptblock]::Create($f[1]))"
|
||||||
echo "!encoded!" | find "AAAA" %nul1% || exit /b
|
|
||||||
|
|
||||||
<nul set /p "=<?xml version="1.0" encoding="utf-8"?><genuineAuthorization xmlns="http://www.microsoft.com/DRM/SL/GenuineAuthorization/1.0"><version>1.0</version><genuineProperties origin="sppclient"><properties>OA3xOriginalProductId=;OA3xOriginalProductKey=;SessionId=!encoded!;TimeStampClient=2022-10-11T12:00:00Z</properties><signatures><signature name="clientLockboxKey" method="rsa-sha256">%%E=</signature></signatures></genuineProperties></genuineAuthorization>" >"%tdir%\GenuineTicket"
|
|
||||||
)
|
)
|
||||||
|
|
||||||
)
|
)
|
||||||
|
|
@ -2058,6 +2065,77 @@ exit /b
|
||||||
|
|
||||||
::========================================================================================================================================
|
::========================================================================================================================================
|
||||||
|
|
||||||
|
:sign:
|
||||||
|
$ErrorActionPreference = "Stop"
|
||||||
|
|
||||||
|
function SignProperties {
|
||||||
|
param (
|
||||||
|
$Properties,
|
||||||
|
$rsa
|
||||||
|
)
|
||||||
|
|
||||||
|
$sha256 = [Security.Cryptography.SHA256]::Create()
|
||||||
|
$bytes = [Text.Encoding]::UTF8.GetBytes($Properties)
|
||||||
|
$hash = $sha256.ComputeHash($bytes)
|
||||||
|
|
||||||
|
$signature = $rsa.SignHash($hash, [Security.Cryptography.HashAlgorithmName]::SHA256, [Security.Cryptography.RSASignaturePadding]::Pkcs1)
|
||||||
|
return [Convert]::ToBase64String($signature)
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
[byte[]] $key = 0x07,0x02,0x00,0x00,0x00,0xA4,0x00,0x00,0x52,0x53,0x41,0x32,0x00,0x04,0x00,0x00,
|
||||||
|
0x01,0x00,0x01,0x00,0x29,0x87,0xBA,0x3F,0x52,0x90,0x57,0xD8,0x12,0x26,0x6B,0x38,
|
||||||
|
0xB2,0x3B,0xF9,0x67,0x08,0x4F,0xDD,0x8B,0xF5,0xE3,0x11,0xB8,0x61,0x3A,0x33,0x42,
|
||||||
|
0x51,0x65,0x05,0x86,0x1E,0x00,0x41,0xDE,0xC5,0xDD,0x44,0x60,0x56,0x3D,0x14,0x39,
|
||||||
|
0xB7,0x43,0x65,0xE9,0xF7,0x2B,0xA5,0xF0,0xA3,0x65,0x68,0xE9,0xE4,0x8B,0x5C,0x03,
|
||||||
|
0x2D,0x36,0xFE,0x28,0x4C,0xD1,0x3C,0x3D,0xC1,0x90,0x75,0xF9,0x6E,0x02,0xE0,0x58,
|
||||||
|
0x97,0x6A,0xCA,0x80,0x02,0x42,0x3F,0x6C,0x15,0x85,0x4D,0x83,0x23,0x6A,0x95,0x9E,
|
||||||
|
0x38,0x52,0x59,0x38,0x6A,0x99,0xF0,0xB5,0xCD,0x53,0x7E,0x08,0x7C,0xB5,0x51,0xD3,
|
||||||
|
0x8F,0xA3,0x0D,0xA0,0xFA,0x8D,0x87,0x3C,0xFC,0x59,0x21,0xD8,0x2E,0xD9,0x97,0x8B,
|
||||||
|
0x40,0x60,0xB1,0xD7,0x2B,0x0A,0x6E,0x60,0xB5,0x50,0xCC,0x3C,0xB1,0x57,0xE4,0xB7,
|
||||||
|
0xDC,0x5A,0x4D,0xE1,0x5C,0xE0,0x94,0x4C,0x5E,0x28,0xFF,0xFA,0x80,0x6A,0x13,0x53,
|
||||||
|
0x52,0xDB,0xF3,0x04,0x92,0x43,0x38,0xB9,0x1B,0xD9,0x85,0x54,0x7B,0x14,0xC7,0x89,
|
||||||
|
0x16,0x8A,0x4B,0x82,0xA1,0x08,0x02,0x99,0x23,0x48,0xDD,0x75,0x9C,0xC8,0xC1,0xCE,
|
||||||
|
0xB0,0xD7,0x1B,0xD8,0xFB,0x2D,0xA7,0x2E,0x47,0xA7,0x18,0x4B,0xF6,0x29,0x69,0x44,
|
||||||
|
0x30,0x33,0xBA,0xA7,0x1F,0xCE,0x96,0x9E,0x40,0xE1,0x43,0xF0,0xE0,0x0D,0x0A,0x32,
|
||||||
|
0xB4,0xEE,0xA1,0xC3,0x5E,0x9B,0xC7,0x7F,0xF5,0x9D,0xD8,0xF2,0x0F,0xD9,0x8F,0xAD,
|
||||||
|
0x75,0x0A,0x00,0xD5,0x25,0x43,0xF7,0xAE,0x51,0x7F,0xB7,0xDE,0xB7,0xAD,0xFB,0xCE,
|
||||||
|
0x83,0xE1,0x81,0xFF,0xDD,0xA2,0x77,0xFE,0xEB,0x27,0x1F,0x10,0xFA,0x82,0x37,0xF4,
|
||||||
|
0x7E,0xCC,0xE2,0xA1,0x58,0xC8,0xAF,0x1D,0x1A,0x81,0x31,0x6E,0xF4,0x8B,0x63,0x34,
|
||||||
|
0xF3,0x05,0x0F,0xE1,0xCC,0x15,0xDC,0xA4,0x28,0x7A,0x9E,0xEB,0x62,0xD8,0xD8,0x8C,
|
||||||
|
0x85,0xD7,0x07,0x87,0x90,0x2F,0xF7,0x1C,0x56,0x85,0x2F,0xEF,0x32,0x37,0x07,0xAB,
|
||||||
|
0xB0,0xE6,0xB5,0x02,0x19,0x35,0xAF,0xDB,0xD4,0xA2,0x9C,0x36,0x80,0xC6,0xDC,0x82,
|
||||||
|
0x08,0xE0,0xC0,0x5F,0x3C,0x59,0xAA,0x4E,0x26,0x03,0x29,0xB3,0x62,0x58,0x41,0x59,
|
||||||
|
0x3A,0x37,0x43,0x35,0xE3,0x9F,0x34,0xE2,0xA1,0x04,0x97,0x12,0x9D,0x8C,0xAD,0xF7,
|
||||||
|
0xFB,0x8C,0xA1,0xA2,0xE9,0xE4,0xEF,0xD9,0xC5,0xE5,0xDF,0x0E,0xBF,0x4A,0xE0,0x7A,
|
||||||
|
0x1E,0x10,0x50,0x58,0x63,0x51,0xE1,0xD4,0xFE,0x57,0xB0,0x9E,0xD7,0xDA,0x8C,0xED,
|
||||||
|
0x7D,0x82,0xAC,0x2F,0x25,0x58,0x0A,0x58,0xE6,0xA4,0xF4,0x57,0x4B,0xA4,0x1B,0x65,
|
||||||
|
0xB9,0x4A,0x87,0x46,0xEB,0x8C,0x0F,0x9A,0x48,0x90,0xF9,0x9F,0x76,0x69,0x03,0x72,
|
||||||
|
0x77,0xEC,0xC1,0x42,0x4C,0x87,0xDB,0x0B,0x3C,0xD4,0x74,0xEF,0xE5,0x34,0xE0,0x32,
|
||||||
|
0x45,0xB0,0xF8,0xAB,0xD5,0x26,0x21,0xD7,0xD2,0x98,0x54,0x8F,0x64,0x88,0x20,0x2B,
|
||||||
|
0x14,0xE3,0x82,0xD5,0x2A,0x4B,0x8F,0x4E,0x35,0x20,0x82,0x7E,0x1B,0xFE,0xFA,0x2C,
|
||||||
|
0x79,0x6C,0x6E,0x66,0x94,0xBB,0x0A,0xEB,0xBA,0xD9,0x70,0x61,0xE9,0x47,0xB5,0x82,
|
||||||
|
0xFC,0x18,0x3C,0x66,0x3A,0x09,0x2E,0x1F,0x61,0x74,0xCA,0xCB,0xF6,0x7A,0x52,0x37,
|
||||||
|
0x1D,0xAC,0x8D,0x63,0x69,0x84,0x8E,0xC7,0x70,0x59,0xDD,0x2D,0x91,0x1E,0xF7,0xB1,
|
||||||
|
0x56,0xED,0x7A,0x06,0x9D,0x5B,0x33,0x15,0xDD,0x31,0xD0,0xE6,0x16,0x07,0x9B,0xA5,
|
||||||
|
0x94,0x06,0x7D,0xC1,0xE9,0xD6,0xC8,0xAF,0xB4,0x1E,0x2D,0x88,0x06,0xA7,0x63,0xB8,
|
||||||
|
0xCF,0xC8,0xA2,0x6E,0x84,0xB3,0x8D,0xE5,0x47,0xE6,0x13,0x63,0x8E,0xD1,0x7F,0xD4,
|
||||||
|
0x81,0x44,0x38,0xBF
|
||||||
|
|
||||||
|
$rsa = New-Object Security.Cryptography.RSACryptoServiceProvider
|
||||||
|
$rsa.ImportCspBlob($key)
|
||||||
|
$SessionId = [Convert]::ToBase64String([Text.Encoding]::Unicode.GetBytes($env:SessionIdStr + [char]0))
|
||||||
|
$PropertiesStr = "OA3xOriginalProductId=;OA3xOriginalProductKey=;SessionId=$SessionId;TimeStampClient=2022-10-11T12:00:00Z"
|
||||||
|
$SignatureStr = SignProperties $PropertiesStr $rsa
|
||||||
|
|
||||||
|
$xml = @"
|
||||||
|
<?xml version="1.0" encoding="utf-8"?><genuineAuthorization xmlns="http://www.microsoft.com/DRM/SL/GenuineAuthorization/1.0"><version>1.0</version><genuineProperties origin="sppclient"><properties>$PropertiesStr</properties><signatures><signature name="clientLockboxKey" method="rsa-sha256">$SignatureStr</signature></signatures></genuineProperties></genuineAuthorization>
|
||||||
|
"@
|
||||||
|
[System.IO.File]::WriteAllText("$env:ProgramData\Microsoft\Windows\ClipSVC\GenuineTicket\GenuineTicket", ($xml -join ""), [System.Text.Encoding]::ASCII)
|
||||||
|
:sign:
|
||||||
|
|
||||||
|
::========================================================================================================================================
|
||||||
|
|
||||||
:: Below code is used to get alternate edition name and key if current edition doesn't support HWID activation
|
:: Below code is used to get alternate edition name and key if current edition doesn't support HWID activation
|
||||||
|
|
||||||
:: 1st column = Current SKU ID
|
:: 1st column = Current SKU ID
|
||||||
|
|
|
||||||
File diff suppressed because it is too large
Load diff
|
|
@ -1,12 +1,11 @@
|
||||||
@set masver=3.5
|
@set masver=3.9
|
||||||
@echo off
|
@echo off
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
::============================================================================
|
::============================================================================
|
||||||
::
|
::
|
||||||
:: Homepage: mass<>grave<.>dev
|
:: Homepage: mass{}grave{dot}dev
|
||||||
:: Email: mas.help@outlook.com
|
|
||||||
::
|
::
|
||||||
::============================================================================
|
::============================================================================
|
||||||
|
|
||||||
|
|
@ -474,8 +473,8 @@ if not defined results (
|
||||||
call :dk_color %Blue% "Go back to Main Menu, select Troubleshoot and run DISM Restore and SFC Scan options."
|
call :dk_color %Blue% "Go back to Main Menu, select Troubleshoot and run DISM Restore and SFC Scan options."
|
||||||
call :dk_color %Blue% "After that, restart system and try activation again."
|
call :dk_color %Blue% "After that, restart system and try activation again."
|
||||||
echo:
|
echo:
|
||||||
set fixes=%fixes% %mas%troubleshoot
|
set fixes=%fixes% %mas%in-place_repair_upgrade
|
||||||
call :dk_color2 %Blue% "Check this webpage for help - " %_Yellow% " %mas%troubleshoot"
|
call :dk_color2 %Blue% "If it still shows the same error, do this - " %_Yellow% " %mas%in-place_repair_upgrade"
|
||||||
)
|
)
|
||||||
goto dk_done
|
goto dk_done
|
||||||
)
|
)
|
||||||
|
|
@ -728,7 +727,7 @@ call :dk_color %Gray% "Checking Old Office With Sub License [Found. Update Of
|
||||||
|
|
||||||
::========================================================================================================================================
|
::========================================================================================================================================
|
||||||
|
|
||||||
:: mass<>grave<.>dev/office-license-is-not-genuine
|
:: mass{}grave{dot}dev/office-license-is-not-genuine
|
||||||
:: Add registry keys for volume products so that 'non-genuine' banner won't appear
|
:: Add registry keys for volume products so that 'non-genuine' banner won't appear
|
||||||
:: Script already is using MAK instead of GVLK so it won't appear anyway, but registry keys are added incase Office installs default GVLK grace key for volume products
|
:: Script already is using MAK instead of GVLK so it won't appear anyway, but registry keys are added incase Office installs default GVLK grace key for volume products
|
||||||
|
|
||||||
|
|
@ -1513,10 +1512,10 @@ reg unload HKU\!defname! %nul%
|
||||||
|
|
||||||
if defined vnextexist (
|
if defined vnextexist (
|
||||||
echo:
|
echo:
|
||||||
call :dk_color %Gray% "Office vNext subscription detected:"
|
call :dk_color %Gray% "The logged-in Office account has a subscription license."
|
||||||
call :dk_color %Blue% "If active, this license overrides other activation methods."
|
call :dk_color %Blue% "If the subscription is active, it overrides other activation methods."
|
||||||
call :dk_color %Blue% "If expiring soon, rerun the script after expiration."
|
call :dk_color %Blue% "If it is expiring soon, rerun the activation script after it expires."
|
||||||
call :dk_color2 %Blue% "If expired and script activation fails, get help - " %_Yellow% " %mas%troubleshoot"
|
call :dk_color2 %Blue% "If it has already expired and activation fails, get help here - " %_Yellow% " %mas%troubleshoot"
|
||||||
echo:
|
echo:
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
@ -1859,6 +1858,11 @@ set spperror=%errorlevel%
|
||||||
if %spperror% NEQ 1056 if %spperror% NEQ 0 (
|
if %spperror% NEQ 1056 if %spperror% NEQ 0 (
|
||||||
%eline%
|
%eline%
|
||||||
echo sc start %_slser% [Error Code: %spperror%]
|
echo sc start %_slser% [Error Code: %spperror%]
|
||||||
|
if %spperror% EQU 1053 (
|
||||||
|
echo:
|
||||||
|
call :dk_color %Blue% "Reboot your machine using the restart option and try again."
|
||||||
|
call :dk_color %Blue% "If it still does not work, go back to Main Menu, select Troubleshoot and run Fix WPA Registry option."
|
||||||
|
)
|
||||||
)
|
)
|
||||||
|
|
||||||
echo:
|
echo:
|
||||||
|
|
@ -2155,6 +2159,13 @@ if %_wmic% EQU 1 wmic path Win32_ComputerSystem get CreationClassName /value %nu
|
||||||
if %_wmic% EQU 0 %psc% "Get-WmiObject -Class Win32_ComputerSystem | Select-Object -Property CreationClassName" %nul2% | find /i "computersystem" %nul1%
|
if %_wmic% EQU 0 %psc% "Get-WmiObject -Class Win32_ComputerSystem | Select-Object -Property CreationClassName" %nul2% | find /i "computersystem" %nul1%
|
||||||
|
|
||||||
if %errorlevel% NEQ 0 set wmifailed=1
|
if %errorlevel% NEQ 0 set wmifailed=1
|
||||||
|
|
||||||
|
if %_wmic% EQU 1 wmic path %sps% get Version %nul%
|
||||||
|
if %_wmic% EQU 0 %psc% "try { $null=([WMISEARCHER]'SELECT * FROM %sps%').Get().Version; exit 0 } catch { exit $_.Exception.InnerException.HResult }" %nul%
|
||||||
|
set error_code=%errorlevel%
|
||||||
|
cmd /c exit /b %error_code%
|
||||||
|
if %error_code% NEQ 0 set "error_code=0x%=ExitCode%"
|
||||||
|
|
||||||
echo "%error_code%" | findstr /i "0x800410 0x800440 0x80131501" %nul1% && set wmifailed=1& :: https://learn.microsoft.com/en-us/windows/win32/wmisdk/wmi-error-constants
|
echo "%error_code%" | findstr /i "0x800410 0x800440 0x80131501" %nul1% && set wmifailed=1& :: https://learn.microsoft.com/en-us/windows/win32/wmisdk/wmi-error-constants
|
||||||
|
|
||||||
if defined wmifailed (
|
if defined wmifailed (
|
||||||
|
|
@ -2348,12 +2359,6 @@ set showfix=1
|
||||||
|
|
||||||
:: Check SoftwareLicensingService
|
:: Check SoftwareLicensingService
|
||||||
|
|
||||||
if %_wmic% EQU 1 wmic path %sps% get Version %nul%
|
|
||||||
if %_wmic% EQU 0 %psc% "try { $null=([WMISEARCHER]'SELECT * FROM %sps%').Get().Version; exit 0 } catch { exit $_.Exception.InnerException.HResult }" %nul%
|
|
||||||
set error_code=%errorlevel%
|
|
||||||
cmd /c exit /b %error_code%
|
|
||||||
if %error_code% NEQ 0 set "error_code=0x%=ExitCode%"
|
|
||||||
|
|
||||||
if %error_code% NEQ 0 (
|
if %error_code% NEQ 0 (
|
||||||
call :dk_color %Red% "Checking SoftwareLicensingService [Not Working] [%error_code%]"
|
call :dk_color %Red% "Checking SoftwareLicensingService [Not Working] [%error_code%]"
|
||||||
if not defined showfix (
|
if not defined showfix (
|
||||||
|
|
@ -2500,7 +2505,9 @@ call :dk_color %Gray% "Checking SLC/WMI SKU [Difference Found
|
||||||
|
|
||||||
:: This "WLMS" service was included in previous Eval editions (which were activable) to automatically shut down the system every hour after the evaluation period expired and prevent SPPSVC from stopping.
|
:: This "WLMS" service was included in previous Eval editions (which were activable) to automatically shut down the system every hour after the evaluation period expired and prevent SPPSVC from stopping.
|
||||||
|
|
||||||
if exist "%SysPath%\wlms\wlms.exe" (
|
sc query wlms %nul%
|
||||||
|
|
||||||
|
if %errorlevel% NEQ 1060 (
|
||||||
echo Checking Eval WLMS Service [Found]
|
echo Checking Eval WLMS Service [Found]
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
@ -2541,19 +2548,22 @@ call :dk_color %Gray% "Checking SkipRearm [Default 0 Value
|
||||||
|
|
||||||
if %winbuild% GEQ 9200 if not exist "%SystemRoot%\Servicing\Packages\Microsoft-Windows-*EvalEdition~*.mum" (
|
if %winbuild% GEQ 9200 if not exist "%SystemRoot%\Servicing\Packages\Microsoft-Windows-*EvalEdition~*.mum" (
|
||||||
%psc% "Get-WmiObject -Query 'SELECT Description FROM SoftwareLicensingProduct WHERE PartialProductKey IS NOT NULL AND LicenseDependsOn IS NULL' | Select-Object -Property Description" %nul2% | findstr /i "KMS_" %nul1% || (
|
%psc% "Get-WmiObject -Query 'SELECT Description FROM SoftwareLicensingProduct WHERE PartialProductKey IS NOT NULL AND LicenseDependsOn IS NULL' | Select-Object -Property Description" %nul2% | findstr /i "KMS_" %nul1% || (
|
||||||
for /f "delims=" %%a in ('%psc% "(Get-ScheduledTask -TaskName 'SvcRestartTask' -TaskPath '\Microsoft\Windows\SoftwareProtectionPlatform\').State" %nul6%') do (set taskinfo=%%a)
|
for /f "delims=" %%a in ('%psc% "$s=New-Object -ComObject 'Schedule.Service'; $s.Connect(); $state=$s.GetFolder('\Microsoft\Windows\SoftwareProtectionPlatform').GetTask('SvcRestartTask').State; @{0='Unknown';1='Disabled';2='Queued';3='Ready';4='Running'}[$state]" %nul6%') do (set taskinfo=%%a)
|
||||||
|
|
||||||
echo !taskinfo! | find /i "Ready" %nul% || (
|
echo !taskinfo! | find /i "Ready" %nul% || (
|
||||||
reg delete "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\SoftwareProtectionPlatform" /v "actionlist" /f %nul%
|
reg delete "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\SoftwareProtectionPlatform" /v "actionlist" /f %nul%
|
||||||
reg query "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Schedule\TaskCache\Tree\Microsoft\Windows\SoftwareProtectionPlatform\SvcRestartTask" %nul% || set taskinfo=Removed
|
reg query "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Schedule\TaskCache\Tree\Microsoft\Windows\SoftwareProtectionPlatform\SvcRestartTask" %nul% || set taskinfo=Removed
|
||||||
if "!taskinfo!"=="" set "taskinfo=Not Found"
|
if "!taskinfo!"=="" set "taskinfo=Not Found"
|
||||||
|
|
||||||
call :dk_color %Red% "Checking SvcRestartTask Status [!taskinfo!, system might deactivate later]"
|
call :dk_color %Gray% "Checking SvcRestartTask Status [!taskinfo!. System might deactivate later.]"
|
||||||
if not defined showfix (
|
if not defined showfix (
|
||||||
echo:
|
echo:
|
||||||
|
echo "!taskinfo!" | findstr /i "Removed Not Found" %nul1% && (
|
||||||
|
set fixes=%fixes% %mas%in-place_repair_upgrade
|
||||||
|
call :dk_color2 %Blue% "Check this webpage for help - " %_Yellow% " %mas%in-place_repair_upgrade"
|
||||||
|
) || (
|
||||||
call :dk_color %Blue% "Reboot your machine using the restart option and run the script again."
|
call :dk_color %Blue% "Reboot your machine using the restart option and run the script again."
|
||||||
set fixes=%fixes% %mas%troubleshoot
|
)
|
||||||
call :dk_color2 %Blue% "Check this webpage for help - " %_Yellow% " %mas%troubleshoot"
|
|
||||||
echo:
|
echo:
|
||||||
)
|
)
|
||||||
)
|
)
|
||||||
|
|
@ -2683,7 +2693,6 @@ exit /b
|
||||||
|
|
||||||
14_4eaff0d0-c6cb-4187-94f3-c7656d49a0aa_Retail________ExcelR_[HSExcelR]
|
14_4eaff0d0-c6cb-4187-94f3-c7656d49a0aa_Retail________ExcelR_[HSExcelR]
|
||||||
14_7004b7f0-6407-4f45-8eac-966e5f868bde_Retail________GrooveR
|
14_7004b7f0-6407-4f45-8eac-966e5f868bde_Retail________GrooveR
|
||||||
14_fbf4ac36-31c8-4340-8666-79873129cf40_Retail________OutlookR
|
|
||||||
14_133c8359-4e93-4241-8118-30bb18737ea0_Retail________PowerPointR_[HSPowerPointR]
|
14_133c8359-4e93-4241-8118-30bb18737ea0_Retail________PowerPointR_[HSPowerPointR]
|
||||||
14_db3bbc9c-ce52-41d1-a46f-1a1d68059119_Retail________WordR_[HSWordR]
|
14_db3bbc9c-ce52-41d1-a46f-1a1d68059119_Retail________WordR_[HSWordR]
|
||||||
14_dbe3aee0-5183-4ff7-8142-66050173cb01_Retail________SmallBusBasicsR_[SmallBusBasicsMSDNR]
|
14_dbe3aee0-5183-4ff7-8142-66050173cb01_Retail________SmallBusBasicsR_[SmallBusBasicsMSDNR]
|
||||||
|
|
@ -2712,6 +2721,7 @@ for %%# in (
|
||||||
14_85e22450-b741-430c-a172-a37962c938af_6GKT2-KMJPK-4RRBF-8VQKB-JB%f%6G6_MAK___________InfoPathVL
|
14_85e22450-b741-430c-a172-a37962c938af_6GKT2-KMJPK-4RRBF-8VQKB-JB%f%6G6_MAK___________InfoPathVL
|
||||||
14_3f7aa693-9a7e-44fc-9309-bb3d8e604925_2TG3P-9DB76-4YT99-8RXGD-CW%f%XBP_Retail________OneNoteR_[HSOneNoteR]
|
14_3f7aa693-9a7e-44fc-9309-bb3d8e604925_2TG3P-9DB76-4YT99-8RXGD-CW%f%XBP_Retail________OneNoteR_[HSOneNoteR]
|
||||||
14_6860b31f-6a67-48b8-84b9-e312b3485c4b_CV64P-F4VRH-BJ33D-PH6MR-X6%f%9RY_MAK___________OneNoteVL
|
14_6860b31f-6a67-48b8-84b9-e312b3485c4b_CV64P-F4VRH-BJ33D-PH6MR-X6%f%9RY_MAK___________OneNoteVL
|
||||||
|
14_fbf4ac36-31c8-4340-8666-79873129cf40_9D8FR-7GYBW-4YG8M-V36JK-VD%f%7CM_Retail________OutlookR
|
||||||
14_a9aeabd8-63b8-4079-a28e-f531807fd6b8_J8C9M-YXMH2-9CX44-2C3YG-V7%f%692_MAK___________OutlookVL
|
14_a9aeabd8-63b8-4079-a28e-f531807fd6b8_J8C9M-YXMH2-9CX44-2C3YG-V7%f%692_MAK___________OutlookVL
|
||||||
14_acb51361-c0db-4895-9497-1831c41f31a6_GMBWM-WVX26-7WHV4-DB43D-WV%f%DY2_Retail________PersonalR_[PersonalDemoR,PersonalPrepaidR]
|
14_acb51361-c0db-4895-9497-1831c41f31a6_GMBWM-WVX26-7WHV4-DB43D-WV%f%DY2_Retail________PersonalR_[PersonalDemoR,PersonalPrepaidR]
|
||||||
14_38252940-718c-4aa6-81a4-135398e53851_HPBQP-RJHDR-Q3472-PT9Q6-PB%f%B72_MAK___________PowerPointVL
|
14_38252940-718c-4aa6-81a4-135398e53851_HPBQP-RJHDR-Q3472-PT9Q6-PB%f%B72_MAK___________PowerPointVL
|
||||||
|
|
@ -3230,13 +3240,13 @@ $MemoryStream.Close()
|
||||||
::
|
::
|
||||||
:: The files are encoded in base64 to make AIO version.
|
:: The files are encoded in base64 to make AIO version.
|
||||||
::
|
::
|
||||||
:: mass<>grave<.>dev/ohook
|
:: mass{}grave{dot}dev/ohook
|
||||||
:: Here you can find the files source code and info on how to rebuild the identical sppc.dll files
|
:: Here you can find the files source code and info on how to rebuild the identical sppc.dll files
|
||||||
::
|
::
|
||||||
:: stackoverflow.com/a/35335273
|
:: stackoverflow.com/a/35335273
|
||||||
:: Here you can check how to extract sppc.dll files from base64
|
:: Here you can check how to extract sppc.dll files from base64
|
||||||
::
|
::
|
||||||
:: For any further question, feel free to contact us on mass<>grave<.>dev/contactus
|
:: For any further question, feel free to contact us on mass{}grave{dot}dev/contactus
|
||||||
::
|
::
|
||||||
::========================================================================================================================================
|
::========================================================================================================================================
|
||||||
::
|
::
|
||||||
|
|
|
||||||
|
|
@ -1,12 +1,11 @@
|
||||||
@set masver=3.5
|
@set masver=3.9
|
||||||
@echo off
|
@echo off
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
::============================================================================
|
::============================================================================
|
||||||
::
|
::
|
||||||
:: Homepage: mass<>grave<.>dev
|
:: Homepage: mass{}grave{dot}dev
|
||||||
:: Email: mas.help@outlook.com
|
|
||||||
::
|
::
|
||||||
::============================================================================
|
::============================================================================
|
||||||
|
|
||||||
|
|
@ -536,8 +535,8 @@ if not defined results (
|
||||||
call :dk_color %Blue% "Go back to Main Menu, select Troubleshoot and run DISM Restore and SFC Scan options."
|
call :dk_color %Blue% "Go back to Main Menu, select Troubleshoot and run DISM Restore and SFC Scan options."
|
||||||
call :dk_color %Blue% "After that, restart system and try activation again."
|
call :dk_color %Blue% "After that, restart system and try activation again."
|
||||||
echo:
|
echo:
|
||||||
set fixes=%fixes% %mas%troubleshoot
|
set fixes=%fixes% %mas%in-place_repair_upgrade
|
||||||
call :dk_color2 %Blue% "Check this webpage for help - " %_Yellow% " %mas%troubleshoot"
|
call :dk_color2 %Blue% "If it still shows the same error, do this - " %_Yellow% " %mas%in-place_repair_upgrade"
|
||||||
)
|
)
|
||||||
goto dk_done
|
goto dk_done
|
||||||
)
|
)
|
||||||
|
|
@ -655,7 +654,7 @@ set altedition=
|
||||||
call :dk_actids 55c92734-d682-4d71-983e-d6ec3f16059f
|
call :dk_actids 55c92734-d682-4d71-983e-d6ec3f16059f
|
||||||
if defined allapps call :ksdata winkey
|
if defined allapps call :ksdata winkey
|
||||||
if not defined key call :k_gvlk %nul%
|
if not defined key call :k_gvlk %nul%
|
||||||
if defined allapps if not defined key call :kms38fallback
|
if defined allapps if not defined key call :kmsfallback
|
||||||
|
|
||||||
if defined altkey (set key=%altkey%&set changekey=1)
|
if defined altkey (set key=%altkey%&set changekey=1)
|
||||||
|
|
||||||
|
|
@ -1031,7 +1030,7 @@ if %winbuild% GEQ 9200 (
|
||||||
for /f "skip=2 tokens=2*" %%a in ('"reg query HKLM\SOFTWARE\Microsoft\Office\ClickToRun /v InstallPath" %nul6%') do if exist "%%b\root\Licenses16\ProPlus*.xrm-ms" set "_C16R=1"
|
for /f "skip=2 tokens=2*" %%a in ('"reg query HKLM\SOFTWARE\Microsoft\Office\ClickToRun /v InstallPath" %nul6%') do if exist "%%b\root\Licenses16\ProPlus*.xrm-ms" set "_C16R=1"
|
||||||
for /f "skip=2 tokens=2*" %%a in ('"reg query HKLM\SOFTWARE\Microsoft\Office\ClickToRun /v InstallPath /reg:32" %nul6%') do if exist "%%b\root\Licenses16\ProPlus*.xrm-ms" set "_C16R=1"
|
for /f "skip=2 tokens=2*" %%a in ('"reg query HKLM\SOFTWARE\Microsoft\Office\ClickToRun /v InstallPath /reg:32" %nul6%') do if exist "%%b\root\Licenses16\ProPlus*.xrm-ms" set "_C16R=1"
|
||||||
if defined _C16R (
|
if defined _C16R (
|
||||||
REM mass<>grave<.>dev/office-license-is-not-genuine
|
REM mass{}grave{dot}dev/office-license-is-not-genuine
|
||||||
set _server=10.0.0.10
|
set _server=10.0.0.10
|
||||||
call :_taskregserv
|
call :_taskregserv
|
||||||
echo Keeping the non-existent IP address 10.0.0.10 as %KS% Server.
|
echo Keeping the non-existent IP address 10.0.0.10 as %KS% Server.
|
||||||
|
|
@ -1491,10 +1490,10 @@ reg unload HKU\!defname! %nul%
|
||||||
|
|
||||||
if defined vnextexist (
|
if defined vnextexist (
|
||||||
echo:
|
echo:
|
||||||
call :dk_color %Gray% "Office vNext subscription detected:"
|
call :dk_color %Gray% "The logged-in Office account has a subscription license."
|
||||||
call :dk_color %Blue% "If active, this license overrides other activation methods."
|
call :dk_color %Blue% "If the subscription is active, it overrides other activation methods."
|
||||||
call :dk_color %Blue% "If expiring soon, rerun the script after expiration."
|
call :dk_color %Blue% "If it is expiring soon, rerun the activation script after it expires."
|
||||||
call :dk_color2 %Blue% "If expired and script activation fails, get help - " %_Yellow% " %mas%troubleshoot"
|
call :dk_color2 %Blue% "If it has already expired and activation fails, get help here - " %_Yellow% " %mas%troubleshoot"
|
||||||
echo:
|
echo:
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
@ -1727,8 +1726,7 @@ exit /b
|
||||||
|
|
||||||
::============================================================================
|
::============================================================================
|
||||||
::
|
::
|
||||||
:: Homepage: mass<>grave<.>dev
|
:: Homepage: mass{}grave{dot}dev
|
||||||
:: Email: mas.help@outlook.com
|
|
||||||
::
|
::
|
||||||
::============================================================================
|
::============================================================================
|
||||||
|
|
||||||
|
|
@ -2337,7 +2335,6 @@ echo:
|
||||||
echo This Script is a part of MAS project.
|
echo This Script is a part of MAS project.
|
||||||
echo:
|
echo:
|
||||||
echo Homepage: mass%w%grave%w%.dev
|
echo Homepage: mass%w%grave%w%.dev
|
||||||
echo Email: mas.help@outlook.com
|
|
||||||
)>"%_dest%\Info.txt"
|
)>"%_dest%\Info.txt"
|
||||||
exit /b
|
exit /b
|
||||||
|
|
||||||
|
|
@ -2862,6 +2859,11 @@ set spperror=%errorlevel%
|
||||||
if %spperror% NEQ 1056 if %spperror% NEQ 0 (
|
if %spperror% NEQ 1056 if %spperror% NEQ 0 (
|
||||||
%eline%
|
%eline%
|
||||||
echo sc start %_slser% [Error Code: %spperror%]
|
echo sc start %_slser% [Error Code: %spperror%]
|
||||||
|
if %spperror% EQU 1053 (
|
||||||
|
echo:
|
||||||
|
call :dk_color %Blue% "Reboot your machine using the restart option and try again."
|
||||||
|
call :dk_color %Blue% "If it still does not work, go back to Main Menu, select Troubleshoot and run Fix WPA Registry option."
|
||||||
|
)
|
||||||
)
|
)
|
||||||
|
|
||||||
echo:
|
echo:
|
||||||
|
|
@ -3218,6 +3220,13 @@ if %_wmic% EQU 1 wmic path Win32_ComputerSystem get CreationClassName /value %nu
|
||||||
if %_wmic% EQU 0 %psc% "Get-WmiObject -Class Win32_ComputerSystem | Select-Object -Property CreationClassName" %nul2% | find /i "computersystem" %nul1%
|
if %_wmic% EQU 0 %psc% "Get-WmiObject -Class Win32_ComputerSystem | Select-Object -Property CreationClassName" %nul2% | find /i "computersystem" %nul1%
|
||||||
|
|
||||||
if %errorlevel% NEQ 0 set wmifailed=1
|
if %errorlevel% NEQ 0 set wmifailed=1
|
||||||
|
|
||||||
|
if %_wmic% EQU 1 wmic path %sps% get Version %nul%
|
||||||
|
if %_wmic% EQU 0 %psc% "try { $null=([WMISEARCHER]'SELECT * FROM %sps%').Get().Version; exit 0 } catch { exit $_.Exception.InnerException.HResult }" %nul%
|
||||||
|
set error_code=%errorlevel%
|
||||||
|
cmd /c exit /b %error_code%
|
||||||
|
if %error_code% NEQ 0 set "error_code=0x%=ExitCode%"
|
||||||
|
|
||||||
echo "%error_code%" | findstr /i "0x800410 0x800440 0x80131501" %nul1% && set wmifailed=1& :: https://learn.microsoft.com/en-us/windows/win32/wmisdk/wmi-error-constants
|
echo "%error_code%" | findstr /i "0x800410 0x800440 0x80131501" %nul1% && set wmifailed=1& :: https://learn.microsoft.com/en-us/windows/win32/wmisdk/wmi-error-constants
|
||||||
|
|
||||||
if defined wmifailed (
|
if defined wmifailed (
|
||||||
|
|
@ -3411,12 +3420,6 @@ set showfix=1
|
||||||
|
|
||||||
:: Check SoftwareLicensingService
|
:: Check SoftwareLicensingService
|
||||||
|
|
||||||
if %_wmic% EQU 1 wmic path %sps% get Version %nul%
|
|
||||||
if %_wmic% EQU 0 %psc% "try { $null=([WMISEARCHER]'SELECT * FROM %sps%').Get().Version; exit 0 } catch { exit $_.Exception.InnerException.HResult }" %nul%
|
|
||||||
set error_code=%errorlevel%
|
|
||||||
cmd /c exit /b %error_code%
|
|
||||||
if %error_code% NEQ 0 set "error_code=0x%=ExitCode%"
|
|
||||||
|
|
||||||
if %error_code% NEQ 0 (
|
if %error_code% NEQ 0 (
|
||||||
call :dk_color %Red% "Checking SoftwareLicensingService [Not Working] [%error_code%]"
|
call :dk_color %Red% "Checking SoftwareLicensingService [Not Working] [%error_code%]"
|
||||||
if not defined showfix (
|
if not defined showfix (
|
||||||
|
|
@ -3563,7 +3566,9 @@ call :dk_color %Gray% "Checking SLC/WMI SKU [Difference Found
|
||||||
|
|
||||||
:: This "WLMS" service was included in previous Eval editions (which were activable) to automatically shut down the system every hour after the evaluation period expired and prevent SPPSVC from stopping.
|
:: This "WLMS" service was included in previous Eval editions (which were activable) to automatically shut down the system every hour after the evaluation period expired and prevent SPPSVC from stopping.
|
||||||
|
|
||||||
if exist "%SysPath%\wlms\wlms.exe" (
|
sc query wlms %nul%
|
||||||
|
|
||||||
|
if %errorlevel% NEQ 1060 (
|
||||||
echo Checking Eval WLMS Service [Found]
|
echo Checking Eval WLMS Service [Found]
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
@ -3604,19 +3609,22 @@ call :dk_color %Gray% "Checking SkipRearm [Default 0 Value
|
||||||
|
|
||||||
if %winbuild% GEQ 9200 if not exist "%SystemRoot%\Servicing\Packages\Microsoft-Windows-*EvalEdition~*.mum" (
|
if %winbuild% GEQ 9200 if not exist "%SystemRoot%\Servicing\Packages\Microsoft-Windows-*EvalEdition~*.mum" (
|
||||||
%psc% "Get-WmiObject -Query 'SELECT Description FROM SoftwareLicensingProduct WHERE PartialProductKey IS NOT NULL AND LicenseDependsOn IS NULL' | Select-Object -Property Description" %nul2% | findstr /i "KMS_" %nul1% || (
|
%psc% "Get-WmiObject -Query 'SELECT Description FROM SoftwareLicensingProduct WHERE PartialProductKey IS NOT NULL AND LicenseDependsOn IS NULL' | Select-Object -Property Description" %nul2% | findstr /i "KMS_" %nul1% || (
|
||||||
for /f "delims=" %%a in ('%psc% "(Get-ScheduledTask -TaskName 'SvcRestartTask' -TaskPath '\Microsoft\Windows\SoftwareProtectionPlatform\').State" %nul6%') do (set taskinfo=%%a)
|
for /f "delims=" %%a in ('%psc% "$s=New-Object -ComObject 'Schedule.Service'; $s.Connect(); $state=$s.GetFolder('\Microsoft\Windows\SoftwareProtectionPlatform').GetTask('SvcRestartTask').State; @{0='Unknown';1='Disabled';2='Queued';3='Ready';4='Running'}[$state]" %nul6%') do (set taskinfo=%%a)
|
||||||
|
|
||||||
echo !taskinfo! | find /i "Ready" %nul% || (
|
echo !taskinfo! | find /i "Ready" %nul% || (
|
||||||
reg delete "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\SoftwareProtectionPlatform" /v "actionlist" /f %nul%
|
reg delete "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\SoftwareProtectionPlatform" /v "actionlist" /f %nul%
|
||||||
reg query "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Schedule\TaskCache\Tree\Microsoft\Windows\SoftwareProtectionPlatform\SvcRestartTask" %nul% || set taskinfo=Removed
|
reg query "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Schedule\TaskCache\Tree\Microsoft\Windows\SoftwareProtectionPlatform\SvcRestartTask" %nul% || set taskinfo=Removed
|
||||||
if "!taskinfo!"=="" set "taskinfo=Not Found"
|
if "!taskinfo!"=="" set "taskinfo=Not Found"
|
||||||
|
|
||||||
call :dk_color %Red% "Checking SvcRestartTask Status [!taskinfo!, system might deactivate later]"
|
call :dk_color %Gray% "Checking SvcRestartTask Status [!taskinfo!. System might deactivate later.]"
|
||||||
if not defined showfix (
|
if not defined showfix (
|
||||||
echo:
|
echo:
|
||||||
|
echo "!taskinfo!" | findstr /i "Removed Not Found" %nul1% && (
|
||||||
|
set fixes=%fixes% %mas%in-place_repair_upgrade
|
||||||
|
call :dk_color2 %Blue% "Check this webpage for help - " %_Yellow% " %mas%in-place_repair_upgrade"
|
||||||
|
) || (
|
||||||
call :dk_color %Blue% "Reboot your machine using the restart option and run the script again."
|
call :dk_color %Blue% "Reboot your machine using the restart option and run the script again."
|
||||||
set fixes=%fixes% %mas%troubleshoot
|
)
|
||||||
call :dk_color2 %Blue% "Check this webpage for help - " %_Yellow% " %mas%troubleshoot"
|
|
||||||
echo:
|
echo:
|
||||||
)
|
)
|
||||||
)
|
)
|
||||||
|
|
@ -4217,15 +4225,12 @@ exit /b
|
||||||
:: Separator = _
|
:: Separator = _
|
||||||
|
|
||||||
|
|
||||||
:kms38fallback
|
:kmsfallback
|
||||||
|
|
||||||
set notfoundaltactID=
|
set notfoundaltactID=
|
||||||
if %_NoEditionChange%==1 exit /b
|
if %_NoEditionChange%==1 exit /b
|
||||||
|
|
||||||
for %%# in (
|
for %%# in (
|
||||||
188_IoTEnterprise__________________8ab9bdd1-1f67-4997-82d9-8878520837d9_73111121-5638-40f6-bc11-f1d7b0d64300_NPPR9-FWDCX-D2C8J-H872K-2Y%f%T43_Enterprise
|
|
||||||
206_IoTEnterpriseK_________________80083eae-7031-4394-9e88-4901973d56fe_73111121-5638-40f6-bc11-f1d7b0d64300_NPPR9-FWDCX-D2C8J-H872K-2Y%f%T43_Enterprise
|
|
||||||
191_IoTEnterpriseS-2021____________ed655016-a9e8-4434-95d9-4345352c2552_32d2fab3-e4a8-42c2-923b-4bf4fd13e6ee_M7XTQ-FN8P6-TTKYV-9D4CC-J4%f%62D_EnterpriseS-2021
|
|
||||||
205_IoTEnterpriseSK________________d4f9b41f-205c-405e-8e08-3d16e88e02be_59eb965c-9150-42b7-a0ec-22151b9897c5_KBN8V-HFGQ4-MGXVD-347P6-PD%f%QGT_IoTEnterpriseS
|
205_IoTEnterpriseSK________________d4f9b41f-205c-405e-8e08-3d16e88e02be_59eb965c-9150-42b7-a0ec-22151b9897c5_KBN8V-HFGQ4-MGXVD-347P6-PD%f%QGT_IoTEnterpriseS
|
||||||
138_ProfessionalSingleLanguage_____a48938aa-62fa-4966-9d44-9f04da3f72f2_2de67392-b7a7-462a-b1ca-108dd189f588_W269N-WFGWX-YVC9B-4J6C9-T8%f%3GX_Professional
|
138_ProfessionalSingleLanguage_____a48938aa-62fa-4966-9d44-9f04da3f72f2_2de67392-b7a7-462a-b1ca-108dd189f588_W269N-WFGWX-YVC9B-4J6C9-T8%f%3GX_Professional
|
||||||
139_ProfessionalCountrySpecific____f7af7d09-40e4-419c-a49b-eae366689ebd_2de67392-b7a7-462a-b1ca-108dd189f588_W269N-WFGWX-YVC9B-4J6C9-T8%f%3GX_Professional
|
139_ProfessionalCountrySpecific____f7af7d09-40e4-419c-a49b-eae366689ebd_2de67392-b7a7-462a-b1ca-108dd189f588_W269N-WFGWX-YVC9B-4J6C9-T8%f%3GX_Professional
|
||||||
|
|
|
||||||
|
|
@ -1,12 +1,11 @@
|
||||||
@set masver=3.5
|
@set masver=3.9
|
||||||
@echo off
|
@echo off
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
::============================================================================
|
::============================================================================
|
||||||
::
|
::
|
||||||
:: Homepage: mass<>grave<.>dev
|
:: Homepage: mass{}grave{dot}dev
|
||||||
:: Email: mas.help@outlook.com
|
|
||||||
::
|
::
|
||||||
::============================================================================
|
::============================================================================
|
||||||
|
|
||||||
|
|
@ -46,7 +45,7 @@ set tsids=
|
||||||
set _resall=0
|
set _resall=0
|
||||||
|
|
||||||
:: Choose activation method:
|
:: 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.
|
:: In builds 26100 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 26100, 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.
|
:: 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
|
set _actmethod=Auto
|
||||||
|
|
||||||
|
|
@ -545,8 +544,8 @@ echo:
|
||||||
echo ______________________________________________________________
|
echo ______________________________________________________________
|
||||||
echo:
|
echo:
|
||||||
call :dk_color2 %_White% " [1] " %_Green% "Auto"
|
call :dk_color2 %_White% " [1] " %_Green% "Auto"
|
||||||
echo Builds ^>= 19041 - StaticCID (KMS4k if offline)
|
echo Builds ^>= 26100 - StaticCID (KMS4k if offline)
|
||||||
echo Builds ^< 19041 - ZeroCID
|
echo Builds ^< 26100 - ZeroCID
|
||||||
echo __________________________________________________
|
echo __________________________________________________
|
||||||
echo:
|
echo:
|
||||||
echo [2] StaticCID
|
echo [2] StaticCID
|
||||||
|
|
@ -555,8 +554,7 @@ echo Not for Windows 7 or older
|
||||||
echo __________________________________________________
|
echo __________________________________________________
|
||||||
echo:
|
echo:
|
||||||
echo [3] ZeroCID
|
echo [3] ZeroCID
|
||||||
echo Works reliably on builds below 19041
|
echo Works reliably on builds below 26100
|
||||||
echo May break on builds between 19041-26100
|
|
||||||
echo Does not work on builds above 26100.4188
|
echo Does not work on builds above 26100.4188
|
||||||
echo __________________________________________________
|
echo __________________________________________________
|
||||||
echo:
|
echo:
|
||||||
|
|
@ -607,8 +605,8 @@ if not defined results (
|
||||||
call :dk_color %Blue% "Go back to Main Menu, select Troubleshoot and run DISM Restore and SFC Scan options."
|
call :dk_color %Blue% "Go back to Main Menu, select Troubleshoot and run DISM Restore and SFC Scan options."
|
||||||
call :dk_color %Blue% "After that, restart system and try activation again."
|
call :dk_color %Blue% "After that, restart system and try activation again."
|
||||||
echo:
|
echo:
|
||||||
set fixes=%fixes% %mas%troubleshoot
|
set fixes=%fixes% %mas%in-place_repair_upgrade
|
||||||
call :dk_color2 %Blue% "Check this webpage for help - " %_Yellow% " %mas%troubleshoot"
|
call :dk_color2 %Blue% "If it still shows the same error, do this - " %_Yellow% " %mas%in-place_repair_upgrade"
|
||||||
)
|
)
|
||||||
goto dk_done
|
goto dk_done
|
||||||
)
|
)
|
||||||
|
|
@ -668,7 +666,7 @@ if /i %_actmethod%==ZCID set tsmethod=ZeroCID
|
||||||
if /i %_actmethod%==KMS4k set tsmethod=KMS4k
|
if /i %_actmethod%==KMS4k set tsmethod=KMS4k
|
||||||
|
|
||||||
if /i %_actmethod%==Auto (
|
if /i %_actmethod%==Auto (
|
||||||
if %winbuild% GEQ 19041 (
|
if %winbuild% GEQ 26100 (
|
||||||
set tsmethod=StaticCID
|
set tsmethod=StaticCID
|
||||||
) else (
|
) else (
|
||||||
set tsmethod=ZeroCID
|
set tsmethod=ZeroCID
|
||||||
|
|
@ -1113,12 +1111,17 @@ if exist "%SystemRoot%\Servicing\Packages\WinEmb-Branding-Embedded-Standard-Pack
|
||||||
)
|
)
|
||||||
if not defined allapps call :dk_actids 55c92734-d682-4d71-983e-d6ec3f16059f
|
if not defined allapps call :dk_actids 55c92734-d682-4d71-983e-d6ec3f16059f
|
||||||
|
|
||||||
set w10EsuEditions=Education-EducationN-Enterprise-EnterpriseN-Professional-ProfessionalEducation-ProfessionalEducationN-ProfessionalN-ProfessionalWorkstation-ProfessionalWorkstationN-ServerRdsh
|
set w10EsuEditions=Education-EducationN-Enterprise-EnterpriseN-Professional-ProfessionalEducation-ProfessionalEducationN-ProfessionalN-ProfessionalWorkstation-ProfessionalWorkstationN
|
||||||
|
|
||||||
|
set minbuild=0
|
||||||
|
if /i %tsedition%==ServerRdsh set minbuild=5552
|
||||||
|
for %%# in (Core CoreN CoreCountrySpecific CoreSingleLanguage IoTEnterprise) do (if /i %tsedition%==%%# set minbuild=6156)
|
||||||
|
if /i %tsedition%==PPIPro set minbuild=6388
|
||||||
|
|
||||||
set /a UBR=0
|
set /a UBR=0
|
||||||
for /f "skip=2 tokens=2*" %%a in ('reg query "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion" /v UBR %nul6%') do if not errorlevel 1 set /a UBR=%%b
|
for /f "skip=2 tokens=2*" %%a in ('reg query "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion" /v UBR %nul6%') do if not errorlevel 1 set /a UBR=%%b
|
||||||
if %winbuild% EQU 19045 if %UBR% GEQ 6156 (
|
if %winbuild% EQU 19045 if %minbuild% GTR 0 if %UBR% GEQ %minbuild% (
|
||||||
set w10EsuEditionsLaterAdded=Core-CoreN-CoreCountrySpecific-CoreSingleLanguage-IoTEnterprise-
|
set w10EsuEditionsLaterAdded=%tsedition%-
|
||||||
)
|
)
|
||||||
|
|
||||||
if not defined isThinpc if not defined isltsc for %%# in (
|
if not defined isThinpc if not defined isltsc for %%# in (
|
||||||
|
|
@ -1141,10 +1144,6 @@ f520e45e-7413-4a34-a497-d2765967d094_Client-ESU-Year1_-%w10EsuEditions%-%w10EsuE
|
||||||
1043add5-23b1-4afb-9a0f-64343c8f3f8d_Client-ESU-Year2_-%w10EsuEditions%-%w10EsuEditionsLaterAdded%
|
1043add5-23b1-4afb-9a0f-64343c8f3f8d_Client-ESU-Year2_-%w10EsuEditions%-%w10EsuEditionsLaterAdded%
|
||||||
83d49986-add3-41d7-ba33-87c7bfb5c0fb_Client-ESU-Year3_-%w10EsuEditions%-%w10EsuEditionsLaterAdded%
|
83d49986-add3-41d7-ba33-87c7bfb5c0fb_Client-ESU-Year3_-%w10EsuEditions%-%w10EsuEditionsLaterAdded%
|
||||||
0b533b5e-08b6-44f9-b885-c2de291ba456_Client-ESU-Year6[4-6y]_-%w10EsuEditions%-%w10EsuEditionsLaterAdded%
|
0b533b5e-08b6-44f9-b885-c2de291ba456_Client-ESU-Year6[4-6y]_-%w10EsuEditions%-%w10EsuEditionsLaterAdded%
|
||||||
b8527af1-5389-447c-9a88-2d1691ea33d3_Client-IoT-ESU-Year1_-IoTEnterprise-
|
|
||||||
7b76ee02-0a75-4f08-85d5-bd0feadad0c0_Client-IoT-ESU-Year2_-IoTEnterprise-
|
|
||||||
4dac5a0c-5709-4595-a32c-14a56a4a6b31_Client-IoT-ESU-Year3_-IoTEnterprise-
|
|
||||||
f69e2d51-3bbd-4ddf-8da7-a145e9dca597_Client-IoT-ESU-Year6[4-6y]_-IoTEnterprise-
|
|
||||||
) do (
|
) do (
|
||||||
for /f "tokens=1-3 delims=_" %%A in ("%%#") do (
|
for /f "tokens=1-3 delims=_" %%A in ("%%#") do (
|
||||||
echo "%allapps%" | find /i "%%A" %nul1% && (
|
echo "%allapps%" | find /i "%%A" %nul1% && (
|
||||||
|
|
@ -1470,7 +1469,7 @@ call :ts_process
|
||||||
|
|
||||||
::========================================================================================================================================
|
::========================================================================================================================================
|
||||||
|
|
||||||
:: mass<>grave<.>dev/office-license-is-not-genuine
|
:: mass{}grave{dot}dev/office-license-is-not-genuine
|
||||||
:: Add registry keys for volume products so that 'non-genuine' banner won't appear
|
:: 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"
|
set "kmskey=HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\SoftwareProtectionPlatform\0ff1ce15-a989-479d-af46-f275c6370663"
|
||||||
|
|
@ -1868,14 +1867,14 @@ $filteredResults = $results | Where-Object {
|
||||||
$true
|
$true
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
$_.Name -notlike "*CountrySpecific*"
|
$_.Name -like "*ESU*" -or $_.Name -notlike "*CountrySpecific*"
|
||||||
}
|
}
|
||||||
} | Where-Object {
|
} | Where-Object {
|
||||||
if ($env:tsedition -like "*CloudEdition*") {
|
if ($env:tsedition -like "*CloudEdition*") {
|
||||||
$true
|
$true
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
$_.Name -notlike "*CloudEdition*"
|
$_.Name -like "*ESU*" -or $_.Name -notlike "*CloudEdition*"
|
||||||
}
|
}
|
||||||
} | Where-Object {
|
} | Where-Object {
|
||||||
$_.Name -like "*CountrySpecific*" -or (IsMuiNotLocked $_.ID)
|
$_.Name -like "*CountrySpecific*" -or (IsMuiNotLocked $_.ID)
|
||||||
|
|
@ -1949,22 +1948,26 @@ if %_actman%==0 (if not defined showfix call :dk_color %Blue% "%_fixmsg%")
|
||||||
set fixes=%fixes% %mas%troubleshoot
|
set fixes=%fixes% %mas%troubleshoot
|
||||||
call :dk_color2 %Blue% "Check this webpage for help - " %_Yellow% " %mas%troubleshoot"
|
call :dk_color2 %Blue% "Check this webpage for help - " %_Yellow% " %mas%troubleshoot"
|
||||||
) else (
|
) else (
|
||||||
if /i %tsmethod%==KMS4k if %winbuild% GEQ 26200 (
|
if /i %tsmethod%==KMS4k if %winbuild% GEQ 26100 (
|
||||||
echo:
|
echo:
|
||||||
call :dk_color %Gray% "In Windows settings, you may see a renewal notification for activation that can be ignored."
|
call :dk_color %Gray% "In Windows settings, you may see a renewal notification for activation that can be ignored."
|
||||||
if /i %_actmethod%==Auto call :dk_color %Gray% "To avoid this notification, run the script with an internet connection to use the StaticCID method."
|
if /i %_actmethod%==Auto call :dk_color %Gray% "To avoid this notification, run the script with an internet connection to use the StaticCID method."
|
||||||
)
|
)
|
||||||
echo "%tsids%" | find /i "7e94be23-b161-4956-a682-146ab291774c" %nul1% && (
|
echo "%tsids%" | find /i "7e94be23-b161-4956-a682-146ab291774c" %nul1% && (
|
||||||
call :dk_color %Gray% "Windows Update can receive 1-3 years of ESU. 4-6 years ESU is not officially supported, but you can manually install updates."
|
call :dk_color %Gray% "Windows Update gets 1-3 years of ESU; 4-6 are unofficial but let you install Server 2008 R2 updates manually."
|
||||||
)
|
)
|
||||||
echo "%tsids%" | findstr /i "4afc620f-12a4-48ad-8015-2aebfbd6e47c 11be7019-a309-4763-9a09-091d1722ffe3" %nul1% && (
|
echo "%tsids%" | findstr /i "4afc620f-12a4-48ad-8015-2aebfbd6e47c 11be7019-a309-4763-9a09-091d1722ffe3" %nul1% && (
|
||||||
call :dk_color %Gray% "ESU is not officially supported on Windows 8.1, but you can manually install updates until Jan-2024."
|
call :dk_color %Gray% "ESU is not officially supported on Windows 8.1, but updates can be installed manually until January 2024."
|
||||||
)
|
)
|
||||||
echo "%tsids%" | findstr /i "0b533b5e-08b6-44f9-b885-c2de291ba456 f69e2d51-3bbd-4ddf-8da7-a145e9dca597" %nul1% && (
|
echo "%tsids%" | findstr /i "83d49986-add3-41d7-ba33-87c7bfb5c0fb 0b533b5e-08b6-44f9-b885-c2de291ba456" %nul1% && (
|
||||||
call :dk_color %Gray% "Windows Update can receive 1-3 years of ESU. 4-6 years ESU is not officially supported, but it might be useful."
|
call :dk_color %Gray% "Windows Update gets 1-3 years of ESU; 4-6 are unofficial but may let you install LTSC updates manually."
|
||||||
|
if exist %SysPath%\ClipESUConsumer.exe (%SysPath%\ClipESUConsumer.exe -evaluateEligibility)
|
||||||
|
if exist %SysPath%\ClipESU.exe (%SysPath%\ClipESU.exe %nul%)
|
||||||
)
|
)
|
||||||
)
|
)
|
||||||
|
|
||||||
|
if defined esuexistsup echo Help: %mas%tsforge#windows-esu
|
||||||
|
|
||||||
if %_actwin%==1 for %%# in (407) do if %osSKU%==%%# (
|
if %_actwin%==1 for %%# in (407) do if %osSKU%==%%# (
|
||||||
call :dk_color %Red% "%winos% does not support activation on non-azure platforms."
|
call :dk_color %Red% "%winos% does not support activation on non-azure platforms."
|
||||||
)
|
)
|
||||||
|
|
@ -2450,10 +2453,10 @@ reg unload HKU\!defname! %nul%
|
||||||
|
|
||||||
if defined vnextexist (
|
if defined vnextexist (
|
||||||
echo:
|
echo:
|
||||||
call :dk_color %Gray% "Office vNext subscription detected:"
|
call :dk_color %Gray% "The logged-in Office account has a subscription license."
|
||||||
call :dk_color %Blue% "If active, this license overrides other activation methods."
|
call :dk_color %Blue% "If the subscription is active, it overrides other activation methods."
|
||||||
call :dk_color %Blue% "If expiring soon, rerun the script after expiration."
|
call :dk_color %Blue% "If it is expiring soon, rerun the activation script after it expires."
|
||||||
call :dk_color2 %Blue% "If expired and script activation fails, get help - " %_Yellow% " %mas%troubleshoot"
|
call :dk_color2 %Blue% "If it has already expired and activation fails, get help here - " %_Yellow% " %mas%troubleshoot"
|
||||||
echo:
|
echo:
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
@ -2913,6 +2916,11 @@ set spperror=%errorlevel%
|
||||||
if %spperror% NEQ 1056 if %spperror% NEQ 0 (
|
if %spperror% NEQ 1056 if %spperror% NEQ 0 (
|
||||||
%eline%
|
%eline%
|
||||||
echo sc start %_slser% [Error Code: %spperror%]
|
echo sc start %_slser% [Error Code: %spperror%]
|
||||||
|
if %spperror% EQU 1053 (
|
||||||
|
echo:
|
||||||
|
call :dk_color %Blue% "Reboot your machine using the restart option and try again."
|
||||||
|
call :dk_color %Blue% "If it still does not work, go back to Main Menu, select Troubleshoot and run Fix WPA Registry option."
|
||||||
|
)
|
||||||
)
|
)
|
||||||
|
|
||||||
echo:
|
echo:
|
||||||
|
|
@ -3224,6 +3232,13 @@ if %_wmic% EQU 1 wmic path Win32_ComputerSystem get CreationClassName /value %nu
|
||||||
if %_wmic% EQU 0 %psc% "Get-WmiObject -Class Win32_ComputerSystem | Select-Object -Property CreationClassName" %nul2% | find /i "computersystem" %nul1%
|
if %_wmic% EQU 0 %psc% "Get-WmiObject -Class Win32_ComputerSystem | Select-Object -Property CreationClassName" %nul2% | find /i "computersystem" %nul1%
|
||||||
|
|
||||||
if %errorlevel% NEQ 0 set wmifailed=1
|
if %errorlevel% NEQ 0 set wmifailed=1
|
||||||
|
|
||||||
|
if %_wmic% EQU 1 wmic path %sps% get Version %nul%
|
||||||
|
if %_wmic% EQU 0 %psc% "try { $null=([WMISEARCHER]'SELECT * FROM %sps%').Get().Version; exit 0 } catch { exit $_.Exception.InnerException.HResult }" %nul%
|
||||||
|
set error_code=%errorlevel%
|
||||||
|
cmd /c exit /b %error_code%
|
||||||
|
if %error_code% NEQ 0 set "error_code=0x%=ExitCode%"
|
||||||
|
|
||||||
echo "%error_code%" | findstr /i "0x800410 0x800440 0x80131501" %nul1% && set wmifailed=1& :: https://learn.microsoft.com/en-us/windows/win32/wmisdk/wmi-error-constants
|
echo "%error_code%" | findstr /i "0x800410 0x800440 0x80131501" %nul1% && set wmifailed=1& :: https://learn.microsoft.com/en-us/windows/win32/wmisdk/wmi-error-constants
|
||||||
|
|
||||||
if defined wmifailed (
|
if defined wmifailed (
|
||||||
|
|
@ -3417,12 +3432,6 @@ set showfix=1
|
||||||
|
|
||||||
:: Check SoftwareLicensingService
|
:: Check SoftwareLicensingService
|
||||||
|
|
||||||
if %_wmic% EQU 1 wmic path %sps% get Version %nul%
|
|
||||||
if %_wmic% EQU 0 %psc% "try { $null=([WMISEARCHER]'SELECT * FROM %sps%').Get().Version; exit 0 } catch { exit $_.Exception.InnerException.HResult }" %nul%
|
|
||||||
set error_code=%errorlevel%
|
|
||||||
cmd /c exit /b %error_code%
|
|
||||||
if %error_code% NEQ 0 set "error_code=0x%=ExitCode%"
|
|
||||||
|
|
||||||
if %error_code% NEQ 0 (
|
if %error_code% NEQ 0 (
|
||||||
call :dk_color %Red% "Checking SoftwareLicensingService [Not Working] [%error_code%]"
|
call :dk_color %Red% "Checking SoftwareLicensingService [Not Working] [%error_code%]"
|
||||||
if not defined showfix (
|
if not defined showfix (
|
||||||
|
|
@ -3569,7 +3578,9 @@ call :dk_color %Gray% "Checking SLC/WMI SKU [Difference Found
|
||||||
|
|
||||||
:: This "WLMS" service was included in previous Eval editions (which were activable) to automatically shut down the system every hour after the evaluation period expired and prevent SPPSVC from stopping.
|
:: This "WLMS" service was included in previous Eval editions (which were activable) to automatically shut down the system every hour after the evaluation period expired and prevent SPPSVC from stopping.
|
||||||
|
|
||||||
if exist "%SysPath%\wlms\wlms.exe" (
|
sc query wlms %nul%
|
||||||
|
|
||||||
|
if %errorlevel% NEQ 1060 (
|
||||||
echo Checking Eval WLMS Service [Found]
|
echo Checking Eval WLMS Service [Found]
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
@ -3610,19 +3621,22 @@ call :dk_color %Gray% "Checking SkipRearm [Default 0 Value
|
||||||
|
|
||||||
if %winbuild% GEQ 9200 if not exist "%SystemRoot%\Servicing\Packages\Microsoft-Windows-*EvalEdition~*.mum" (
|
if %winbuild% GEQ 9200 if not exist "%SystemRoot%\Servicing\Packages\Microsoft-Windows-*EvalEdition~*.mum" (
|
||||||
%psc% "Get-WmiObject -Query 'SELECT Description FROM SoftwareLicensingProduct WHERE PartialProductKey IS NOT NULL AND LicenseDependsOn IS NULL' | Select-Object -Property Description" %nul2% | findstr /i "KMS_" %nul1% || (
|
%psc% "Get-WmiObject -Query 'SELECT Description FROM SoftwareLicensingProduct WHERE PartialProductKey IS NOT NULL AND LicenseDependsOn IS NULL' | Select-Object -Property Description" %nul2% | findstr /i "KMS_" %nul1% || (
|
||||||
for /f "delims=" %%a in ('%psc% "(Get-ScheduledTask -TaskName 'SvcRestartTask' -TaskPath '\Microsoft\Windows\SoftwareProtectionPlatform\').State" %nul6%') do (set taskinfo=%%a)
|
for /f "delims=" %%a in ('%psc% "$s=New-Object -ComObject 'Schedule.Service'; $s.Connect(); $state=$s.GetFolder('\Microsoft\Windows\SoftwareProtectionPlatform').GetTask('SvcRestartTask').State; @{0='Unknown';1='Disabled';2='Queued';3='Ready';4='Running'}[$state]" %nul6%') do (set taskinfo=%%a)
|
||||||
|
|
||||||
echo !taskinfo! | find /i "Ready" %nul% || (
|
echo !taskinfo! | find /i "Ready" %nul% || (
|
||||||
reg delete "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\SoftwareProtectionPlatform" /v "actionlist" /f %nul%
|
reg delete "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\SoftwareProtectionPlatform" /v "actionlist" /f %nul%
|
||||||
reg query "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Schedule\TaskCache\Tree\Microsoft\Windows\SoftwareProtectionPlatform\SvcRestartTask" %nul% || set taskinfo=Removed
|
reg query "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Schedule\TaskCache\Tree\Microsoft\Windows\SoftwareProtectionPlatform\SvcRestartTask" %nul% || set taskinfo=Removed
|
||||||
if "!taskinfo!"=="" set "taskinfo=Not Found"
|
if "!taskinfo!"=="" set "taskinfo=Not Found"
|
||||||
|
|
||||||
call :dk_color %Red% "Checking SvcRestartTask Status [!taskinfo!, system might deactivate later]"
|
call :dk_color %Gray% "Checking SvcRestartTask Status [!taskinfo!. System might deactivate later.]"
|
||||||
if not defined showfix (
|
if not defined showfix (
|
||||||
echo:
|
echo:
|
||||||
|
echo "!taskinfo!" | findstr /i "Removed Not Found" %nul1% && (
|
||||||
|
set fixes=%fixes% %mas%in-place_repair_upgrade
|
||||||
|
call :dk_color2 %Blue% "Check this webpage for help - " %_Yellow% " %mas%in-place_repair_upgrade"
|
||||||
|
) || (
|
||||||
call :dk_color %Blue% "Reboot your machine using the restart option and run the script again."
|
call :dk_color %Blue% "Reboot your machine using the restart option and run the script again."
|
||||||
set fixes=%fixes% %mas%troubleshoot
|
)
|
||||||
call :dk_color2 %Blue% "Check this webpage for help - " %_Yellow% " %mas%troubleshoot"
|
|
||||||
echo:
|
echo:
|
||||||
)
|
)
|
||||||
)
|
)
|
||||||
|
|
@ -3952,7 +3966,7 @@ using System.Xml.Linq;
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
// Common.cs
|
// LibTSforge/Common.cs
|
||||||
namespace LibTSforge
|
namespace LibTSforge
|
||||||
{
|
{
|
||||||
using System;
|
using System;
|
||||||
|
|
@ -4194,7 +4208,7 @@ namespace LibTSforge
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
// SPP/PKeyConfig.cs
|
// LibTSforge/SPP/PKeyConfig.cs
|
||||||
namespace LibTSforge.SPP
|
namespace LibTSforge.SPP
|
||||||
{
|
{
|
||||||
using System;
|
using System;
|
||||||
|
|
@ -4220,7 +4234,7 @@ namespace LibTSforge.SPP
|
||||||
|
|
||||||
public bool Contains(int n)
|
public bool Contains(int n)
|
||||||
{
|
{
|
||||||
return Start <= n && End <= n;
|
return Start <= n && n <= End;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -4350,10 +4364,19 @@ namespace LibTSforge.SPP
|
||||||
string refActIdStr = configNode.SelectSingleNode("./p:ActConfigId", nsmgr).InnerText;
|
string refActIdStr = configNode.SelectSingleNode("./p:ActConfigId", nsmgr).InnerText;
|
||||||
Guid refActId = new Guid(refActIdStr);
|
Guid refActId = new Guid(refActIdStr);
|
||||||
int group = int.Parse(configNode.SelectSingleNode("./p:RefGroupId", nsmgr).InnerText);
|
int group = int.Parse(configNode.SelectSingleNode("./p:RefGroupId", nsmgr).InnerText);
|
||||||
List<KeyRange> keyRanges = ranges[refActIdStr];
|
List<KeyRange> keyRanges;
|
||||||
|
ranges.TryGetValue(refActIdStr, out keyRanges);
|
||||||
|
|
||||||
|
if (keyRanges == null)
|
||||||
|
{
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
if (keyRanges.Count > 0 && !Products.ContainsKey(refActId))
|
if (keyRanges.Count > 0 && !Products.ContainsKey(refActId))
|
||||||
{
|
{
|
||||||
|
PKeyAlgorithm algorithm;
|
||||||
|
algorithms.TryGetValue(group, out algorithm);
|
||||||
|
|
||||||
ProductConfig productConfig = new ProductConfig
|
ProductConfig productConfig = new ProductConfig
|
||||||
{
|
{
|
||||||
GroupId = group,
|
GroupId = group,
|
||||||
|
|
@ -4361,7 +4384,7 @@ namespace LibTSforge.SPP
|
||||||
Description = configNode.SelectSingleNode("./p:ProductDescription", nsmgr).InnerText,
|
Description = configNode.SelectSingleNode("./p:ProductDescription", nsmgr).InnerText,
|
||||||
Channel = configNode.SelectSingleNode("./p:ProductKeyType", nsmgr).InnerText,
|
Channel = configNode.SelectSingleNode("./p:ProductKeyType", nsmgr).InnerText,
|
||||||
Randomized = configNode.SelectSingleNode("./p:ProductKeyType", nsmgr).InnerText.ToLower() == "true",
|
Randomized = configNode.SelectSingleNode("./p:ProductKeyType", nsmgr).InnerText.ToLower() == "true",
|
||||||
Algorithm = algorithms[group],
|
Algorithm = algorithm,
|
||||||
Ranges = keyRanges,
|
Ranges = keyRanges,
|
||||||
ActivationId = refActId
|
ActivationId = refActId
|
||||||
};
|
};
|
||||||
|
|
@ -4411,7 +4434,7 @@ namespace LibTSforge.SPP
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
// SPP/ProductKey.cs
|
// LibTSforge/SPP/ProductKey.cs
|
||||||
namespace LibTSforge.SPP
|
namespace LibTSforge.SPP
|
||||||
{
|
{
|
||||||
using System;
|
using System;
|
||||||
|
|
@ -4727,7 +4750,7 @@ namespace LibTSforge.SPP
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
// SPP/SLAPI.cs
|
// LibTSforge/SPP/SLAPI.cs
|
||||||
namespace LibTSforge.SPP
|
namespace LibTSforge.SPP
|
||||||
{
|
{
|
||||||
using System;
|
using System;
|
||||||
|
|
@ -5140,7 +5163,7 @@ namespace LibTSforge.SPP
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
// SPP/SPPUtils.cs
|
// LibTSforge/SPP/SPPUtils.cs
|
||||||
namespace LibTSforge.SPP
|
namespace LibTSforge.SPP
|
||||||
{
|
{
|
||||||
using Microsoft.Win32;
|
using Microsoft.Win32;
|
||||||
|
|
@ -5477,7 +5500,7 @@ namespace LibTSforge.SPP
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
// SPP/SPSys.cs
|
// LibTSforge/SPP/SPSys.cs
|
||||||
namespace LibTSforge.SPP
|
namespace LibTSforge.SPP
|
||||||
{
|
{
|
||||||
using Microsoft.Win32.SafeHandles;
|
using Microsoft.Win32.SafeHandles;
|
||||||
|
|
@ -5524,7 +5547,7 @@ namespace LibTSforge.SPP
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
// Crypto/CryptoUtils.cs
|
// LibTSforge/Crypto/CryptoUtils.cs
|
||||||
namespace LibTSforge.Crypto
|
namespace LibTSforge.Crypto
|
||||||
{
|
{
|
||||||
using System;
|
using System;
|
||||||
|
|
@ -5659,7 +5682,7 @@ namespace LibTSforge.Crypto
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
// Crypto/Keys.cs
|
// LibTSforge/Crypto/Keys.cs
|
||||||
namespace LibTSforge.Crypto
|
namespace LibTSforge.Crypto
|
||||||
{
|
{
|
||||||
public static class Keys
|
public static class Keys
|
||||||
|
|
@ -5749,7 +5772,7 @@ namespace LibTSforge.Crypto
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
// Crypto/PhysStoreCrypto.cs
|
// LibTSforge/Crypto/PhysStoreCrypto.cs
|
||||||
namespace LibTSforge.Crypto
|
namespace LibTSforge.Crypto
|
||||||
{
|
{
|
||||||
using System;
|
using System;
|
||||||
|
|
@ -5834,7 +5857,7 @@ namespace LibTSforge.Crypto
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
// Modifiers/GenPKeyInstall.cs
|
// LibTSforge/Modifiers/GenPKeyInstall.cs
|
||||||
namespace LibTSforge.Modifiers
|
namespace LibTSforge.Modifiers
|
||||||
{
|
{
|
||||||
using System;
|
using System;
|
||||||
|
|
@ -6045,7 +6068,7 @@ namespace LibTSforge.Modifiers
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
// Modifiers/GracePeriodReset.cs
|
// LibTSforge/Modifiers/GracePeriodReset.cs
|
||||||
namespace LibTSforge.Modifiers
|
namespace LibTSforge.Modifiers
|
||||||
{
|
{
|
||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
|
|
@ -6078,7 +6101,7 @@ namespace LibTSforge.Modifiers
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
// Modifiers/KeyChangeLockDelete.cs
|
// LibTSforge/Modifiers/KeyChangeLockDelete.cs
|
||||||
namespace LibTSforge.Modifiers
|
namespace LibTSforge.Modifiers
|
||||||
{
|
{
|
||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
|
|
@ -6118,7 +6141,7 @@ namespace LibTSforge.Modifiers
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
// Modifiers/KMSHostCharge.cs
|
// LibTSforge/Modifiers/KMSHostCharge.cs
|
||||||
namespace LibTSforge.Modifiers
|
namespace LibTSforge.Modifiers
|
||||||
{
|
{
|
||||||
using System;
|
using System;
|
||||||
|
|
@ -6279,7 +6302,7 @@ namespace LibTSforge.Modifiers
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
// Modifiers/RearmReset.cs
|
// LibTSforge/Modifiers/RearmReset.cs
|
||||||
namespace LibTSforge.Modifiers
|
namespace LibTSforge.Modifiers
|
||||||
{
|
{
|
||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
|
|
@ -6335,7 +6358,7 @@ namespace LibTSforge.Modifiers
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
// Modifiers/SetIIDParams.cs
|
// LibTSforge/Modifiers/SetIIDParams.cs
|
||||||
namespace LibTSforge.Modifiers
|
namespace LibTSforge.Modifiers
|
||||||
{
|
{
|
||||||
using PhysicalStore;
|
using PhysicalStore;
|
||||||
|
|
@ -6404,7 +6427,7 @@ namespace LibTSforge.Modifiers
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
// Modifiers/TamperedFlagsDelete.cs
|
// LibTSforge/Modifiers/TamperedFlagsDelete.cs
|
||||||
namespace LibTSforge.Modifiers
|
namespace LibTSforge.Modifiers
|
||||||
{
|
{
|
||||||
using System.Linq;
|
using System.Linq;
|
||||||
|
|
@ -6454,7 +6477,7 @@ namespace LibTSforge.Modifiers
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
// Modifiers/UniqueIdDelete.cs
|
// LibTSforge/Modifiers/UniqueIdDelete.cs
|
||||||
namespace LibTSforge.Modifiers
|
namespace LibTSforge.Modifiers
|
||||||
{
|
{
|
||||||
using System;
|
using System;
|
||||||
|
|
@ -6513,7 +6536,7 @@ namespace LibTSforge.Modifiers
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
// Activators/KMS4K.cs
|
// LibTSforge/Activators/KMS4K.cs
|
||||||
namespace LibTSforge.Activators
|
namespace LibTSforge.Activators
|
||||||
{
|
{
|
||||||
using System;
|
using System;
|
||||||
|
|
@ -6724,7 +6747,7 @@ namespace LibTSforge.Activators
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
// Activators/ZeroCID.cs
|
// LibTSforge/Activators/ZeroCID.cs
|
||||||
namespace LibTSforge.Activators
|
namespace LibTSforge.Activators
|
||||||
{
|
{
|
||||||
using System;
|
using System;
|
||||||
|
|
@ -6913,7 +6936,7 @@ namespace LibTSforge.Activators
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
// TokenStore/Common.cs
|
// LibTSforge/TokenStore/Common.cs
|
||||||
namespace LibTSforge.TokenStore
|
namespace LibTSforge.TokenStore
|
||||||
{
|
{
|
||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
|
|
@ -6983,7 +7006,7 @@ namespace LibTSforge.TokenStore
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
// TokenStore/ITokenStore.cs
|
// LibTSforge/TokenStore/ITokenStore.cs
|
||||||
namespace LibTSforge.TokenStore
|
namespace LibTSforge.TokenStore
|
||||||
{
|
{
|
||||||
using System;
|
using System;
|
||||||
|
|
@ -7003,7 +7026,7 @@ namespace LibTSforge.TokenStore
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
// TokenStore/TokenStoreModern.cs
|
// LibTSforge/TokenStore/TokenStoreModern.cs
|
||||||
namespace LibTSforge.TokenStore
|
namespace LibTSforge.TokenStore
|
||||||
{
|
{
|
||||||
using System;
|
using System;
|
||||||
|
|
@ -7289,7 +7312,7 @@ namespace LibTSforge.TokenStore
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
// PhysicalStore/Common.cs
|
// LibTSforge/PhysicalStore/Common.cs
|
||||||
namespace LibTSforge.PhysicalStore
|
namespace LibTSforge.PhysicalStore
|
||||||
{
|
{
|
||||||
using System.Runtime.InteropServices;
|
using System.Runtime.InteropServices;
|
||||||
|
|
@ -7320,7 +7343,7 @@ namespace LibTSforge.PhysicalStore
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
// PhysicalStore/IPhysicalStore.cs
|
// LibTSforge/PhysicalStore/IPhysicalStore.cs
|
||||||
namespace LibTSforge.PhysicalStore
|
namespace LibTSforge.PhysicalStore
|
||||||
{
|
{
|
||||||
using System;
|
using System;
|
||||||
|
|
@ -7415,7 +7438,7 @@ namespace LibTSforge.PhysicalStore
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
// PhysicalStore/PhysicalStoreModern.cs
|
// LibTSforge/PhysicalStore/PhysicalStoreModern.cs
|
||||||
namespace LibTSforge.PhysicalStore
|
namespace LibTSforge.PhysicalStore
|
||||||
{
|
{
|
||||||
using System;
|
using System;
|
||||||
|
|
@ -7833,7 +7856,7 @@ namespace LibTSforge.PhysicalStore
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
// PhysicalStore/PhysicalStoreVista.cs
|
// LibTSforge/PhysicalStore/PhysicalStoreVista.cs
|
||||||
namespace LibTSforge.PhysicalStore
|
namespace LibTSforge.PhysicalStore
|
||||||
{
|
{
|
||||||
using System;
|
using System;
|
||||||
|
|
@ -8192,7 +8215,7 @@ namespace LibTSforge.PhysicalStore
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
// PhysicalStore/PhysicalStoreWin7.cs
|
// LibTSforge/PhysicalStore/PhysicalStoreWin7.cs
|
||||||
namespace LibTSforge.PhysicalStore
|
namespace LibTSforge.PhysicalStore
|
||||||
{
|
{
|
||||||
using System;
|
using System;
|
||||||
|
|
@ -8569,7 +8592,7 @@ namespace LibTSforge.PhysicalStore
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
// PhysicalStore/VariableBag.cs
|
// LibTSforge/PhysicalStore/VariableBag.cs
|
||||||
namespace LibTSforge.PhysicalStore
|
namespace LibTSforge.PhysicalStore
|
||||||
{
|
{
|
||||||
using System;
|
using System;
|
||||||
|
|
@ -8826,6 +8849,7 @@ namespace LibTSforge.PhysicalStore
|
||||||
$ErrorActionPreference = 'Stop'
|
$ErrorActionPreference = 'Stop'
|
||||||
$binPath = "$env:_work\BIN\LibTSforge.dll"
|
$binPath = "$env:_work\BIN\LibTSforge.dll"
|
||||||
$psMajorVer = (Get-Host).Version.Major
|
$psMajorVer = (Get-Host).Version.Major
|
||||||
|
$build = [System.Environment]::OSVersion.Version.Build
|
||||||
|
|
||||||
if (Test-Path -LiteralPath $binPath) {
|
if (Test-Path -LiteralPath $binPath) {
|
||||||
Write-Host "LibTSforge.dll found in BIN folder. Loading the DLL..."
|
Write-Host "LibTSforge.dll found in BIN folder. Loading the DLL..."
|
||||||
|
|
@ -8924,7 +8948,12 @@ if (-not $env:resetstuff) {
|
||||||
}
|
}
|
||||||
if ($env:tsmethod -eq "KMS4k") {
|
if ($env:tsmethod -eq "KMS4k") {
|
||||||
$GracePeriodStatus = Get-WmiInfo -tsactid $tsactid -property "GracePeriodRemaining"
|
$GracePeriodStatus = Get-WmiInfo -tsactid $tsactid -property "GracePeriodRemaining"
|
||||||
if ($GracePeriodStatus -gt 259200) { $activated = 1 }
|
if ($GracePeriodStatus -eq 259200 -or ([datetime]::Now.AddMinutes($GracePeriodStatus)).Year -gt 2038) {
|
||||||
|
if ((($build -ge 26100 -and $GracePeriodStatus -ge 259200) -or
|
||||||
|
($build -lt 26100 -and $GracePeriodStatus -gt 259200))) {
|
||||||
|
$activated = 1
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
$licenseStatus = Get-WmiInfo -tsactid $tsactid -property "LicenseStatus"
|
$licenseStatus = Get-WmiInfo -tsactid $tsactid -property "LicenseStatus"
|
||||||
|
|
@ -8938,7 +8967,13 @@ if (-not $env:resetstuff) {
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
if ($env:tsmethod -eq "KMS4k") {
|
if ($env:tsmethod -eq "KMS4k") {
|
||||||
Write-Host "[$prodName] is activated till $([DateTime]::Now.AddMinutes($GracePeriodStatus).ToString('yyyy-MM-dd HH:mm:ss')) with $env:tsmethod." -ForegroundColor White -BackgroundColor DarkGreen
|
if ($build -ge 26100) {
|
||||||
|
Write-Host "[$prodName] is activated with KMS4k for over 4,000 years." -ForegroundColor White -BackgroundColor DarkGreen
|
||||||
|
Write-Host "From build 26100.7019, Windows will always display and stay at 180 days remaining if the actual period is longer." -ForegroundColor White -BackgroundColor Darkgray
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
Write-Host "[$prodName] is activated till $([DateTime]::Now.AddMinutes($GracePeriodStatus).ToString('yyyy-MM-dd HH:mm:ss')) with $env:tsmethod." -ForegroundColor White -BackgroundColor DarkGreen
|
||||||
|
}
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
Write-Host "[$prodName] is permanently activated with $env:tsmethod." -ForegroundColor White -BackgroundColor DarkGreen
|
Write-Host "[$prodName] is permanently activated with $env:tsmethod." -ForegroundColor White -BackgroundColor DarkGreen
|
||||||
|
|
|
||||||
|
|
@ -5,7 +5,6 @@ Activation Type Supported Product Activation Period
|
||||||
HWID - Windows 10-11 - Permanent
|
HWID - Windows 10-11 - Permanent
|
||||||
Ohook - Office - Permanent
|
Ohook - Office - Permanent
|
||||||
TSforge - Windows / ESU / Office - Permanent
|
TSforge - Windows / ESU / Office - Permanent
|
||||||
KMS38 - Windows 10-11-Server - Till the Year 2038
|
|
||||||
Online KMS - Windows / Office - 180 Days. Lifetime With Renewal Task
|
Online KMS - Windows / Office - 180 Days. Lifetime With Renewal Task
|
||||||
|
|
||||||
--------------------------------------------------------------------------------------
|
--------------------------------------------------------------------------------------
|
||||||
|
|
|
||||||
|
|
@ -1,12 +1,11 @@
|
||||||
@set masver=3.5
|
@set masver=3.9
|
||||||
@echo off
|
@echo off
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
::============================================================================
|
::============================================================================
|
||||||
::
|
::
|
||||||
:: Homepage: mass<>grave<.>dev
|
:: Homepage: mass{}grave{dot}dev
|
||||||
:: Email: mas.help@outlook.com
|
|
||||||
::
|
::
|
||||||
::============================================================================
|
::============================================================================
|
||||||
|
|
||||||
|
|
@ -1071,20 +1070,19 @@ call :dk_color %Gray% "Installed Office editions: %_oIds%"
|
||||||
echo:
|
echo:
|
||||||
|
|
||||||
for %%# in (
|
for %%# in (
|
||||||
"5440fd1f-7ecb-4221-8110-145efaa6372f_Insider Fast [Beta] - Insiders::DevMain -"
|
"5440fd1f-7ecb-4221-8110-145efaa6372f_Beta / Insider Fast - Insiders::DevMain -"
|
||||||
"64256afe-f5d9-4f86-8936-8840a6a4f5be_Monthly Preview - Insiders::CC -"
|
"64256afe-f5d9-4f86-8936-8840a6a4f5be_Current / Monthly Preview - Insiders::CC -"
|
||||||
"492350f6-3a01-4f97-b9c0-c7c6ddf67d60_Monthly [Current] - Production::CC -"
|
"492350f6-3a01-4f97-b9c0-c7c6ddf67d60_Current / Monthly - Production::CC -"
|
||||||
"55336b82-a18d-4dd6-b5f6-9e5095c314a6_Monthly Enterprise - Production::MEC -"
|
"55336b82-a18d-4dd6-b5f6-9e5095c314a6_Monthly Enterprise - Production::MEC -"
|
||||||
"b8f9b850-328d-4355-9145-c59439a0c4cf_Semi Annual Preview - Insiders::FRDC -"
|
"7ffbc6bf-bc32-4f92-8982-f9dd17fd3114_Semi Annual Enterprise - Production::DC -"
|
||||||
"7ffbc6bf-bc32-4f92-8982-f9dd17fd3114_Semi Annual - Production::DC -"
|
"ea4a4090-de26-49d7-93c1-91bff9e53fc3_DevMain Channel - Dogfood::DevMain -"
|
||||||
"ea4a4090-de26-49d7-93c1-91bff9e53fc3_DevMain Channel - Dogfood::DevMain -"
|
"b61285dd-d9f7-41f2-9757-8f61cba4e9c8_Microsoft Elite - Microsoft::DevMain -"
|
||||||
"b61285dd-d9f7-41f2-9757-8f61cba4e9c8_Microsoft Elite - Microsoft::DevMain -"
|
"f2e724c1-748f-4b47-8fb8-8e0d210e9208_Perpetual2019 VL - Production::LTSC -"
|
||||||
"f2e724c1-748f-4b47-8fb8-8e0d210e9208_Perpetual2019 VL - Production::LTSC -"
|
"1d2d2ea6-1680-4c56-ac58-a441c8c24ff9_Microsoft2019 VL - Microsoft::LTSC -"
|
||||||
"1d2d2ea6-1680-4c56-ac58-a441c8c24ff9_Microsoft2019 VL - Microsoft::LTSC -"
|
"5030841d-c919-4594-8d2d-84ae4f96e58e_Perpetual2021 VL - Production::LTSC2021 -"
|
||||||
"5030841d-c919-4594-8d2d-84ae4f96e58e_Perpetual2021 VL - Production::LTSC2021 -"
|
"86752282-5841-4120-ac80-db03ae6b5fdb_Microsoft2021 VL - Microsoft::LTSC2021 -"
|
||||||
"86752282-5841-4120-ac80-db03ae6b5fdb_Microsoft2021 VL - Microsoft::LTSC2021 -"
|
"7983bac0-e531-40cf-be00-fd24fe66619c_Perpetual2024 VL - Production::LTSC2024 -"
|
||||||
"7983bac0-e531-40cf-be00-fd24fe66619c_Perpetual2024 VL - Production::LTSC2024 -"
|
"c02d8fe6-5242-4da8-972f-82ee55e00671_Microsoft2024 VL - Microsoft::LTSC2024 -"
|
||||||
"c02d8fe6-5242-4da8-972f-82ee55e00671_Microsoft2024 VL - Microsoft::LTSC2024 -"
|
|
||||||
) do (
|
) do (
|
||||||
for /f "tokens=1-2 delims=_" %%A in ("%%~#") do (
|
for /f "tokens=1-2 delims=_" %%A in ("%%~#") do (
|
||||||
set bypass=
|
set bypass=
|
||||||
|
|
@ -1618,6 +1616,11 @@ set spperror=%errorlevel%
|
||||||
if %spperror% NEQ 1056 if %spperror% NEQ 0 (
|
if %spperror% NEQ 1056 if %spperror% NEQ 0 (
|
||||||
%eline%
|
%eline%
|
||||||
echo sc start %_slser% [Error Code: %spperror%]
|
echo sc start %_slser% [Error Code: %spperror%]
|
||||||
|
if %spperror% EQU 1053 (
|
||||||
|
echo:
|
||||||
|
call :dk_color %Blue% "Reboot your machine using the restart option and try again."
|
||||||
|
call :dk_color %Blue% "If it still does not work, go back to Main Menu, select Troubleshoot and run Fix WPA Registry option."
|
||||||
|
)
|
||||||
)
|
)
|
||||||
|
|
||||||
echo:
|
echo:
|
||||||
|
|
|
||||||
|
|
@ -1,12 +1,11 @@
|
||||||
@set masver=3.5
|
@set masver=3.9
|
||||||
@echo off
|
@echo off
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
::============================================================================
|
::============================================================================
|
||||||
::
|
::
|
||||||
:: Homepage: mass<>grave<.>dev
|
:: Homepage: mass{}grave{dot}dev
|
||||||
:: Email: mas.help@outlook.com
|
|
||||||
::
|
::
|
||||||
::============================================================================
|
::============================================================================
|
||||||
|
|
||||||
|
|
@ -400,8 +399,8 @@ echo:
|
||||||
call :dk_color %Blue% "Go back to Main Menu, select Troubleshoot and run DISM Restore and SFC Scan options."
|
call :dk_color %Blue% "Go back to Main Menu, select Troubleshoot and run DISM Restore and SFC Scan options."
|
||||||
call :dk_color %Blue% "After that, restart system and try activation again."
|
call :dk_color %Blue% "After that, restart system and try activation again."
|
||||||
echo:
|
echo:
|
||||||
set fixes=%fixes% %mas%troubleshoot
|
set fixes=%fixes% %mas%in-place_repair_upgrade
|
||||||
call :dk_color2 %Blue% "Check this webpage for help - " %_Yellow% " %mas%troubleshoot"
|
call :dk_color2 %Blue% "If it still shows the same error, do this - " %_Yellow% " %mas%in-place_repair_upgrade"
|
||||||
goto dk_done
|
goto dk_done
|
||||||
)
|
)
|
||||||
)
|
)
|
||||||
|
|
@ -547,7 +546,11 @@ echo:
|
||||||
|
|
||||||
for %%A in (%_ntarget%) do (
|
for %%A in (%_ntarget%) do (
|
||||||
set /a counter+=1
|
set /a counter+=1
|
||||||
|
if /i %%A==IoTEnterprise (
|
||||||
|
echo [!counter!] %%A [GAC, not LTSC]
|
||||||
|
) else (
|
||||||
echo [!counter!] %%A
|
echo [!counter!] %%A
|
||||||
|
)
|
||||||
set targetedition!counter!=%%A
|
set targetedition!counter!=%%A
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
@ -600,7 +603,7 @@ set _dismapi=1
|
||||||
)
|
)
|
||||||
)
|
)
|
||||||
|
|
||||||
set "keyflow=Retail Volume:GVLK Volume:MAK OEM:NONSLP OEM:DM PGS:TB Retail:TB:Eval"
|
set "keyflow=Retail OEM:NONSLP OEM:DM Volume:MAK Volume:GVLK PGS:TB Retail:TB:Eval"
|
||||||
|
|
||||||
call :ced_targetSKU %targetedition%
|
call :ced_targetSKU %targetedition%
|
||||||
if defined targetSKU call :ced_windowskey
|
if defined targetSKU call :ced_windowskey
|
||||||
|
|
@ -968,6 +971,11 @@ set spperror=%errorlevel%
|
||||||
if %spperror% NEQ 1056 if %spperror% NEQ 0 (
|
if %spperror% NEQ 1056 if %spperror% NEQ 0 (
|
||||||
%eline%
|
%eline%
|
||||||
echo sc start %_slser% [Error Code: %spperror%]
|
echo sc start %_slser% [Error Code: %spperror%]
|
||||||
|
if %spperror% EQU 1053 (
|
||||||
|
echo:
|
||||||
|
call :dk_color %Blue% "Reboot your machine using the restart option and try again."
|
||||||
|
call :dk_color %Blue% "If it still does not work, go back to Main Menu, select Troubleshoot and run Fix WPA Registry option."
|
||||||
|
)
|
||||||
)
|
)
|
||||||
|
|
||||||
echo:
|
echo:
|
||||||
|
|
|
||||||
|
|
@ -518,6 +518,7 @@ function DetectSubscription {
|
||||||
function DetectAdbaClient
|
function DetectAdbaClient
|
||||||
{
|
{
|
||||||
$propADBA | foreach { set $_ (SlGetInfoSku $licID $_) }
|
$propADBA | foreach { set $_ (SlGetInfoSku $licID $_) }
|
||||||
|
DetectActType
|
||||||
CONOUT "`nAD Activation client information:"
|
CONOUT "`nAD Activation client information:"
|
||||||
CONOUT " Object Name: $ADActivationObjectName"
|
CONOUT " Object Name: $ADActivationObjectName"
|
||||||
CONOUT " Domain Name: $ADActivationObjectDN"
|
CONOUT " Domain Name: $ADActivationObjectDN"
|
||||||
|
|
@ -608,17 +609,18 @@ function DetectKmsHost
|
||||||
if ($null -NE $KeyManagementServiceNotificationRequests) {CONOUT " Notification: $KeyManagementServiceNotificationRequests"}
|
if ($null -NE $KeyManagementServiceNotificationRequests) {CONOUT " Notification: $KeyManagementServiceNotificationRequests"}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function DetectActType
|
||||||
|
{
|
||||||
|
$VLType = strGetRegistry ($SPKeyPath + '\' + $strApp + '\' + $licID) "VLActivationType"
|
||||||
|
if ($null -EQ $VLType) {$VLType = strGetRegistry ($SPKeyPath + '\' + $strApp) "VLActivationType"}
|
||||||
|
if ($null -EQ $VLType) {$VLType = strGetRegistry ($SPKeyPath) "VLActivationType"}
|
||||||
|
if ($null -EQ $VLType -Or $VLType -GT 3) {$VLType = 0}
|
||||||
|
if ($null -NE $VLType) {CONOUT "Configured Activation Type: $($VLActTypes[$VLType])"}
|
||||||
|
}
|
||||||
|
|
||||||
function DetectKmsClient
|
function DetectKmsClient
|
||||||
{
|
{
|
||||||
if ($win8)
|
if ($win8) {DetectActType}
|
||||||
{
|
|
||||||
$VLType = strGetRegistry ($SPKeyPath + '\' + $strApp + '\' + $licID) "VLActivationType"
|
|
||||||
if ($null -EQ $VLType) {$VLType = strGetRegistry ($SPKeyPath + '\' + $strApp) "VLActivationType"}
|
|
||||||
if ($null -EQ $VLType) {$VLType = strGetRegistry ($SPKeyPath) "VLActivationType"}
|
|
||||||
if ($null -EQ $VLType -Or $VLType -GT 3) {$VLType = 0}
|
|
||||||
}
|
|
||||||
if ($null -NE $VLType) {CONOUT "Configured Activation Type: $($VLActTypes[$VLType])"}
|
|
||||||
|
|
||||||
CONOUT "`r"
|
CONOUT "`r"
|
||||||
if ($LicenseStatus -NE 1) {
|
if ($LicenseStatus -NE 1) {
|
||||||
CONOUT "Please activate the product in order to update KMS client information values."
|
CONOUT "Please activate the product in order to update KMS client information values."
|
||||||
|
|
@ -866,6 +868,7 @@ function GetResult($strSLP, $strApp, $entry)
|
||||||
|
|
||||||
if ($win8 -And $VLActivationType -EQ 1) {
|
if ($win8 -And $VLActivationType -EQ 1) {
|
||||||
DetectAdbaClient
|
DetectAdbaClient
|
||||||
|
$cKmsClient = $null
|
||||||
}
|
}
|
||||||
|
|
||||||
if ($winID -And $null -NE $cAvmClient) {
|
if ($winID -And $null -NE $cAvmClient) {
|
||||||
|
|
|
||||||
|
|
@ -1,12 +1,11 @@
|
||||||
@set masver=3.5
|
@set masver=3.9
|
||||||
@echo off
|
@echo off
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
::============================================================================
|
::============================================================================
|
||||||
::
|
::
|
||||||
:: Homepage: mass<>grave<.>dev
|
:: Homepage: mass{}grave{dot}dev
|
||||||
:: Email: mas.help@outlook.com
|
|
||||||
::
|
::
|
||||||
::============================================================================
|
::============================================================================
|
||||||
|
|
||||||
|
|
@ -406,7 +405,6 @@ goto done2
|
||||||
)
|
)
|
||||||
|
|
||||||
set HWID_Activation.cmd=Activators\HWID_Activation.cmd
|
set HWID_Activation.cmd=Activators\HWID_Activation.cmd
|
||||||
set KMS38_Activation.cmd=Activators\KMS38_Activation.cmd
|
|
||||||
set Online_KMS_Activation.cmd=Activators\Online_KMS_Activation.cmd
|
set Online_KMS_Activation.cmd=Activators\Online_KMS_Activation.cmd
|
||||||
set Ohook_Activation_AIO.cmd=Activators\Ohook_Activation_AIO.cmd
|
set Ohook_Activation_AIO.cmd=Activators\Ohook_Activation_AIO.cmd
|
||||||
set TSforge_Activation.cmd=Activators\TSforge_Activation.cmd
|
set TSforge_Activation.cmd=Activators\TSforge_Activation.cmd
|
||||||
|
|
@ -415,7 +413,6 @@ pushd "!_work!"
|
||||||
set _nofile=
|
set _nofile=
|
||||||
for %%# in (
|
for %%# in (
|
||||||
%HWID_Activation.cmd%
|
%HWID_Activation.cmd%
|
||||||
%KMS38_Activation.cmd%
|
|
||||||
%Online_KMS_Activation.cmd%
|
%Online_KMS_Activation.cmd%
|
||||||
%Ohook_Activation_AIO.cmd%
|
%Ohook_Activation_AIO.cmd%
|
||||||
%TSforge_Activation.cmd%
|
%TSforge_Activation.cmd%
|
||||||
|
|
@ -446,31 +443,29 @@ echo:
|
||||||
echo: Extract $OEM$ folder on the desktop
|
echo: Extract $OEM$ folder on the desktop
|
||||||
echo: ____________________________________________________________
|
echo: ____________________________________________________________
|
||||||
echo:
|
echo:
|
||||||
echo: [1] HWID [Windows]
|
echo: [1] HWID [Windows]
|
||||||
echo: [2] Ohook [Office]
|
echo: [2] Ohook [Office]
|
||||||
echo: [3] TSforge [Windows / ESU / Office]
|
echo: [3] TSforge [Windows / ESU / Office]
|
||||||
echo: [4] KMS38 [Windows]
|
echo: [4] Online KMS [Windows / Office]
|
||||||
echo: [5] Online KMS [Windows / Office]
|
|
||||||
echo:
|
echo:
|
||||||
echo: [6] HWID [Windows] ^+ Ohook [Office]
|
echo: [5] HWID [Windows] ^+ Ohook [Office]
|
||||||
echo: [7] HWID [Windows] ^+ Ohook [Office] ^+ TSforge [ESU]
|
echo: [6] HWID [Windows] ^+ Ohook [Office] ^+ TSforge [ESU]
|
||||||
echo: [8] TSforge [Windows] ^+ Online KMS [Office]
|
echo: [7] TSforge [Windows / ESU] ^+ Ohook [Office]
|
||||||
echo:
|
echo:
|
||||||
call :dk_color2 %_White% " [R] " %_Green% "ReadMe"
|
call :dk_color2 %_White% " [R] " %_Green% "ReadMe"
|
||||||
echo: [0] Exit
|
echo: [0] Exit
|
||||||
echo: ____________________________________________________________
|
echo: ____________________________________________________________
|
||||||
echo:
|
echo:
|
||||||
call :dk_color2 %_White% " " %_Green% "Choose a menu option using your keyboard :"
|
call :dk_color2 %_White% " " %_Green% "Choose a menu option using your keyboard :"
|
||||||
choice /C:12345678R0 /N
|
choice /C:1234567R0 /N
|
||||||
set _erl=%errorlevel%
|
set _erl=%errorlevel%
|
||||||
|
|
||||||
if %_erl%==10 exit /b
|
if %_erl%==9 exit /b
|
||||||
if %_erl%==9 start %mas%oem-folder &goto :Menu
|
if %_erl%==8 start %mas%oem-folder &goto :Menu
|
||||||
if %_erl%==8 goto:tsforge_kms
|
if %_erl%==7 goto:tsforge_ohook
|
||||||
if %_erl%==7 goto:hwid_ohook_tsforge
|
if %_erl%==6 goto:hwid_ohook_tsforge
|
||||||
if %_erl%==6 goto:hwid_ohook
|
if %_erl%==5 goto:hwid_ohook
|
||||||
if %_erl%==5 goto:kms
|
if %_erl%==4 goto:kms
|
||||||
if %_erl%==4 goto:kms38
|
|
||||||
if %_erl%==3 goto:tsforge
|
if %_erl%==3 goto:tsforge
|
||||||
if %_erl%==2 goto:ohook
|
if %_erl%==2 goto:ohook
|
||||||
if %_erl%==1 goto:hwid
|
if %_erl%==1 goto:hwid
|
||||||
|
|
@ -568,36 +563,6 @@ cd \
|
||||||
|
|
||||||
::========================================================================================================================================
|
::========================================================================================================================================
|
||||||
|
|
||||||
:kms38
|
|
||||||
|
|
||||||
cls
|
|
||||||
md "!desktop!\$OEM$\$$\Setup\Scripts"
|
|
||||||
pushd "!_work!"
|
|
||||||
copy /y /b "%KMS38_Activation.cmd%" "!_dir!\KMS38_Activation.cmd" %nul%
|
|
||||||
popd
|
|
||||||
call :export kms38_setup
|
|
||||||
|
|
||||||
set _error=
|
|
||||||
if not exist "!_dir!\KMS38_Activation.cmd" set _error=1
|
|
||||||
if not exist "!_dir!\SetupComplete.cmd" set _error=1
|
|
||||||
if defined _error goto errorfound
|
|
||||||
|
|
||||||
set oem=KMS38
|
|
||||||
goto done
|
|
||||||
|
|
||||||
:kms38_setup:
|
|
||||||
@echo off
|
|
||||||
|
|
||||||
fltmc >nul || exit /b
|
|
||||||
|
|
||||||
call "%~dp0KMS38_Activation.cmd" /KMS38
|
|
||||||
|
|
||||||
cd \
|
|
||||||
(goto) 2>nul & (if "%~dp0"=="%SystemRoot%\Setup\Scripts\" rd /s /q "%~dp0")
|
|
||||||
:kms38_setup:
|
|
||||||
|
|
||||||
::========================================================================================================================================
|
|
||||||
|
|
||||||
:kms
|
:kms
|
||||||
|
|
||||||
cls
|
cls
|
||||||
|
|
@ -710,41 +675,41 @@ cd \
|
||||||
|
|
||||||
::========================================================================================================================================
|
::========================================================================================================================================
|
||||||
|
|
||||||
:tsforge_kms
|
:tsforge_ohook
|
||||||
|
|
||||||
cls
|
cls
|
||||||
md "!desktop!\$OEM$\$$\Setup\Scripts"
|
md "!desktop!\$OEM$\$$\Setup\Scripts"
|
||||||
pushd "!_work!"
|
pushd "!_work!"
|
||||||
copy /y /b "%TSforge_Activation.cmd%" "!_dir!\TSforge_Activation.cmd" %nul%
|
copy /y /b "%TSforge_Activation.cmd%" "!_dir!\TSforge_Activation.cmd" %nul%
|
||||||
copy /y /b "%Online_KMS_Activation.cmd%" "!_dir!\Online_KMS_Activation.cmd" %nul%
|
copy /y /b "%Ohook_Activation_AIO.cmd%" "!_dir!\Ohook_Activation_AIO.cmd" %nul%
|
||||||
popd
|
popd
|
||||||
call :export tsforge_kms_setup
|
call :export tsforge_ohook_setup
|
||||||
|
|
||||||
set _error=
|
set _error=
|
||||||
if not exist "!_dir!\TSforge_Activation.cmd" set _error=1
|
if not exist "!_dir!\TSforge_Activation.cmd" set _error=1
|
||||||
if not exist "!_dir!\Online_KMS_Activation.cmd" set _error=1
|
if not exist "!_dir!\Ohook_Activation_AIO.cmd" set _error=1
|
||||||
if not exist "!_dir!\SetupComplete.cmd" set _error=1
|
if not exist "!_dir!\SetupComplete.cmd" set _error=1
|
||||||
if defined _error goto errorfound
|
if defined _error goto errorfound
|
||||||
|
|
||||||
set oem=TSforge [Windows] + Online KMS [Office]
|
set oem=TSforge [Windows / ESU] + Ohook [Office]
|
||||||
goto done
|
goto done
|
||||||
|
|
||||||
:tsforge_kms_setup:
|
:tsforge_ohook_setup:
|
||||||
@echo off
|
@echo off
|
||||||
|
|
||||||
fltmc >nul || exit /b
|
fltmc >nul || exit /b
|
||||||
|
|
||||||
setlocal
|
setlocal
|
||||||
call "%~dp0TSforge_Activation.cmd" /Z-Windows
|
call "%~dp0TSforge_Activation.cmd" /Z-Windows /Z-ESU
|
||||||
endlocal
|
endlocal
|
||||||
|
|
||||||
setlocal
|
setlocal
|
||||||
call "%~dp0Online_KMS_Activation.cmd" /K-Office
|
call "%~dp0Ohook_Activation_AIO.cmd" /Ohook
|
||||||
endlocal
|
endlocal
|
||||||
|
|
||||||
cd \
|
cd \
|
||||||
(goto) 2>nul & (if "%~dp0"=="%SystemRoot%\Setup\Scripts\" rd /s /q "%~dp0")
|
(goto) 2>nul & (if "%~dp0"=="%SystemRoot%\Setup\Scripts\" rd /s /q "%~dp0")
|
||||||
:tsforge_kms_setup:
|
:tsforge_ohook_setup:
|
||||||
|
|
||||||
::========================================================================================================================================
|
::========================================================================================================================================
|
||||||
|
|
||||||
|
|
@ -760,11 +725,6 @@ echo ______________________________________________________________
|
||||||
echo:
|
echo:
|
||||||
call :dk_color %Blue% "%oem%"
|
call :dk_color %Blue% "%oem%"
|
||||||
call :dk_color %Green% "$OEM$ folder was successfully created on your Desktop."
|
call :dk_color %Green% "$OEM$ folder was successfully created on your Desktop."
|
||||||
echo "%oem%" | find /i "38" %nul% && (
|
|
||||||
echo:
|
|
||||||
echo To KMS38 activate Server Cor/Acor editions [No GUI Versions],
|
|
||||||
echo Check this page %mas%oem-folder
|
|
||||||
)
|
|
||||||
echo ______________________________________________________________
|
echo ______________________________________________________________
|
||||||
|
|
||||||
:done2
|
:done2
|
||||||
|
|
|
||||||
|
|
@ -1,12 +1,11 @@
|
||||||
@set masver=3.5
|
@set masver=3.9
|
||||||
@echo off
|
@echo off
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
::============================================================================
|
::============================================================================
|
||||||
::
|
::
|
||||||
:: Homepage: mass<>grave<.>dev
|
:: Homepage: mass{}grave{dot}dev
|
||||||
:: Email: mas.help@outlook.com
|
|
||||||
::
|
::
|
||||||
::============================================================================
|
::============================================================================
|
||||||
|
|
||||||
|
|
@ -619,7 +618,7 @@ call :dk_color %Blue% "Rebuilding ClipSVC Licenses..."
|
||||||
echo:
|
echo:
|
||||||
|
|
||||||
if %winbuild% LSS 10240 (
|
if %winbuild% LSS 10240 (
|
||||||
echo ClipSVC license rebuilding is supported only on Windows 10/11 and their Server equivalents.
|
echo ClipSVC license rebuilding is supported only on Windows 10/11.
|
||||||
echo Skipping...
|
echo Skipping...
|
||||||
goto :rebuildspptok
|
goto :rebuildspptok
|
||||||
)
|
)
|
||||||
|
|
@ -630,6 +629,40 @@ echo Skipping...
|
||||||
goto :rebuildspptok
|
goto :rebuildspptok
|
||||||
)
|
)
|
||||||
|
|
||||||
|
set _partial=
|
||||||
|
set _keymatch=
|
||||||
|
for /f "tokens=2 delims==" %%# in ('%psc% "(([WMISEARCHER]'SELECT PartialProductKey FROM SoftwareLicensingProduct WHERE ApplicationID=''55c92734-d682-4d71-983e-d6ec3f16059f'' AND PartialProductKey IS NOT NULL AND LicenseDependsOn is NULL').Get()).PartialProductKey | %% {echo ('PartialProductKey='+$_)}" %nul6%') do set "_partial=%%#"
|
||||||
|
for %%# in (8HV2C QPFCT 3V66T PKCKT WXCHW 8TYMD 6F4BT 8HVX7 KD72Y 7CFBY DRR8H P39PB DYJWX MDWWW 9HKR4 M7V2X 2YV77 WT2RQ MHBPB QPF8P 2YV66 VMJ2C DJ4F6 CKFFD YY74H J8JXD BHDCD T6R4W D32MH RRK69 3PJBP) do if /i "%_partial%"=="%%#" set _keymatch=1
|
||||||
|
|
||||||
|
if not defined _keymatch (
|
||||||
|
echo HWID activation key is not installed.
|
||||||
|
echo Skipping...
|
||||||
|
goto :rebuildspptok
|
||||||
|
)
|
||||||
|
|
||||||
|
%psc% "If([Activator]::CreateInstance([Type]::GetTypeFromCLSID([Guid]'{DCB00C01-570F-4A9B-8D69-199FDBA5723B}')).IsConnectedToInternet){Exit 0}Else{Exit 1}"
|
||||||
|
if errorlevel 1 (
|
||||||
|
echo Internet is not connected.
|
||||||
|
echo Skipping...
|
||||||
|
goto :rebuildspptok
|
||||||
|
)
|
||||||
|
|
||||||
|
set resfail=
|
||||||
|
for %%# in (
|
||||||
|
licensing.mp.microsoft.com/v7.0/licenses/content
|
||||||
|
login.live.com/ppsecure/deviceaddcredential.srf
|
||||||
|
purchase.mp.microsoft.com/v7.0/users/me/orders
|
||||||
|
) do if not defined resfail (
|
||||||
|
%psc% "try { [Net.ServicePointManager]::SecurityProtocol=[Net.SecurityProtocolType]::Tls12; irm https://%%# -Method POST } catch { if ($_.Exception.Response -eq $null) { Write-Host """"[%%#] $($_.Exception.Message)"""" -ForegroundColor Red -BackgroundColor Black; exit 3 } }"
|
||||||
|
if !errorlevel!==3 set resfail=1
|
||||||
|
)
|
||||||
|
|
||||||
|
if defined resfail (
|
||||||
|
echo Failed to connect to licensing servers.
|
||||||
|
echo Skipping...
|
||||||
|
goto :rebuildspptok
|
||||||
|
)
|
||||||
|
|
||||||
echo Stopping ClipSVC service...
|
echo Stopping ClipSVC service...
|
||||||
%psc% Stop-Service ClipSVC -force %nul%
|
%psc% Stop-Service ClipSVC -force %nul%
|
||||||
timeout /t 2 %nul%
|
timeout /t 2 %nul%
|
||||||
|
|
@ -945,8 +978,8 @@ for /f "skip=2 tokens=2*" %%a in ('"reg query %_68%\16.0\Common\InstallRoot /v P
|
||||||
|
|
||||||
for /f "skip=2 tokens=2*" %%a in ('"reg query %_86%\15.0\ClickToRun /v InstallPath" %nul6%') do if exist "%%b\root\Licenses\ProPlus*.xrm-ms" (set "c2r15_86=Office 15.0 C2R x86" & call :getc2rrepair c2r15repair86 integratedoffice.exe)
|
for /f "skip=2 tokens=2*" %%a in ('"reg query %_86%\15.0\ClickToRun /v InstallPath" %nul6%') do if exist "%%b\root\Licenses\ProPlus*.xrm-ms" (set "c2r15_86=Office 15.0 C2R x86" & call :getc2rrepair c2r15repair86 integratedoffice.exe)
|
||||||
for /f "skip=2 tokens=2*" %%a in ('"reg query %_68%\15.0\ClickToRun /v InstallPath" %nul6%') do if exist "%%b\root\Licenses\ProPlus*.xrm-ms" (set "c2r15_68=Office 15.0 C2R x86/x64" & call :getc2rrepair c2r15repair68 integratedoffice.exe)
|
for /f "skip=2 tokens=2*" %%a in ('"reg query %_68%\15.0\ClickToRun /v InstallPath" %nul6%') do if exist "%%b\root\Licenses\ProPlus*.xrm-ms" (set "c2r15_68=Office 15.0 C2R x86/x64" & call :getc2rrepair c2r15repair68 integratedoffice.exe)
|
||||||
for /f "skip=2 tokens=2*" %%a in ('"reg query %_86%\ClickToRun /v InstallPath" %nul6%') do if exist "%%b\root\Licenses16\ProPlus*.xrm-ms" (set "c2r16_86=Office 16.0 C2R x86" & call :getc2rrepair c2r16repair86 OfficeClickToRun.exe)
|
for /f "skip=2 tokens=2*" %%a in ('"reg query %_86%\ClickToRun /v InstallPath" %nul6%') do if exist "%%b\root\Licenses16\ProPlus*.xrm-ms" (set "c2r16_86=Office 16.0 C2R x86" & call :getc2r16repair c2r16repair86 OfficeClickToRun.exe)
|
||||||
for /f "skip=2 tokens=2*" %%a in ('"reg query %_68%\ClickToRun /v InstallPath" %nul6%') do if exist "%%b\root\Licenses16\ProPlus*.xrm-ms" (set "c2r16_68=Office 16.0 C2R x86/x64" & call :getc2rrepair c2r16repair68 OfficeClickToRun.exe)
|
for /f "skip=2 tokens=2*" %%a in ('"reg query %_68%\ClickToRun /v InstallPath" %nul6%') do if exist "%%b\root\Licenses16\ProPlus*.xrm-ms" (set "c2r16_68=Office 16.0 C2R x86/x64" & call :getc2r16repair c2r16repair68 OfficeClickToRun.exe)
|
||||||
|
|
||||||
set uwp16=
|
set uwp16=
|
||||||
if %winbuild% GEQ 10240 (
|
if %winbuild% GEQ 10240 (
|
||||||
|
|
@ -988,13 +1021,11 @@ echo ________________________________________________________________
|
||||||
echo:
|
echo:
|
||||||
)
|
)
|
||||||
|
|
||||||
if %counter% EQU 0 (
|
|
||||||
echo:
|
echo:
|
||||||
|
if %counter% EQU 0 (
|
||||||
echo Office ^(2010 and later^) is not installed.
|
echo Office ^(2010 and later^) is not installed.
|
||||||
goto :repairend
|
goto :repairend
|
||||||
echo:
|
) else if not defined c2r16_68 if not defined c2r16_86 (
|
||||||
) else (
|
|
||||||
echo:
|
|
||||||
call :dk_color %_Yellow% "A new window will appear, in that window you need to select [Quick Repair] option."
|
call :dk_color %_Yellow% "A new window will appear, in that window you need to select [Quick Repair] option."
|
||||||
if defined terminal (
|
if defined terminal (
|
||||||
call :dk_color %_Yellow% "Press [0] to continue..."
|
call :dk_color %_Yellow% "Press [0] to continue..."
|
||||||
|
|
@ -1021,16 +1052,16 @@ echo Skipping repair for Office 14.0 C2R...
|
||||||
echo:
|
echo:
|
||||||
)
|
)
|
||||||
|
|
||||||
if defined msi14_68 if exist "%msi14repair68%" echo Running - "%msi14repair68%" & "%msi14repair68%"
|
if defined msi14_68 if exist "%msi14repair68%" echo Running - "%msi14repair68%" & "%msi14repair68%"
|
||||||
if defined msi14_86 if exist "%msi14repair86%" echo Running - "%msi14repair86%" & "%msi14repair86%"
|
if defined msi14_86 if exist "%msi14repair86%" echo Running - "%msi14repair86%" & "%msi14repair86%"
|
||||||
if defined msi15_68 if exist "%msi15repair68%" echo Running - "%msi15repair68%" & "%msi15repair68%"
|
if defined msi15_68 if exist "%msi15repair68%" echo Running - "%msi15repair68%" & "%msi15repair68%"
|
||||||
if defined msi15_86 if exist "%msi15repair86%" echo Running - "%msi15repair86%" & "%msi15repair86%"
|
if defined msi15_86 if exist "%msi15repair86%" echo Running - "%msi15repair86%" & "%msi15repair86%"
|
||||||
if defined msi16_68 if exist "%msi16repair68%" echo Running - "%msi16repair68%" & "%msi16repair68%"
|
if defined msi16_68 if exist "%msi16repair68%" echo Running - "%msi16repair68%" & "%msi16repair68%"
|
||||||
if defined msi16_86 if exist "%msi16repair86%" echo Running - "%msi16repair86%" & "%msi16repair86%"
|
if defined msi16_86 if exist "%msi16repair86%" echo Running - "%msi16repair86%" & "%msi16repair86%"
|
||||||
if defined c2r15_68 if exist "%c2r15repair68%" echo Running - "%c2r15repair68%" REPAIRUI RERUNMODE & "%c2r15repair68%" REPAIRUI RERUNMODE
|
if defined c2r15_68 if exist "%c2r15repair68%" echo Running - "%c2r15repair68%" REPAIRUI RERUNMODE & "%c2r15repair68%" REPAIRUI RERUNMODE
|
||||||
if defined c2r15_86 if exist "%c2r15repair86%" echo Running - "%c2r15repair86%" REPAIRUI RERUNMODE & "%c2r15repair86%" REPAIRUI RERUNMODE
|
if defined c2r15_86 if exist "%c2r15repair86%" echo Running - "%c2r15repair86%" REPAIRUI RERUNMODE & "%c2r15repair86%" REPAIRUI RERUNMODE
|
||||||
if defined c2r16_68 if exist "%c2r16repair68%" echo Running - "%c2r16repair68%" scenario=Repair & "%c2r16repair68%" scenario=Repair
|
if defined c2r16_68 if exist "%c2r16repair68%" echo Running - "%c2r16repair68%" Scenario=Repair RepairType=QuickRepair & "%c2r16repair68%" Scenario=Repair RepairType=QuickRepair
|
||||||
if defined c2r16_86 if exist "%c2r16repair86%" echo Running - "%c2r16repair86%" scenario=Repair & "%c2r16repair86%" scenario=Repair
|
if defined c2r16_86 if exist "%c2r16repair86%" echo Running - "%c2r16repair86%" Scenario=Repair RepairType=QuickRepair & "%c2r16repair86%" Scenario=Repair RepairType=QuickRepair
|
||||||
|
|
||||||
:repairend
|
:repairend
|
||||||
|
|
||||||
|
|
@ -1050,6 +1081,13 @@ set "%1=%systemdrive%\Program Files\Microsoft Office 15\Client%%#\%2"
|
||||||
)
|
)
|
||||||
exit /b
|
exit /b
|
||||||
|
|
||||||
|
:getc2r16repair
|
||||||
|
|
||||||
|
for %%# in (%_68% %_86%) do (
|
||||||
|
for /f "skip=2 tokens=2*" %%a in ('"reg query %%#\ClickToRun\Configuration /v ClientFolder" %nul6%') do if exist "%%b\%2" (set "%1=%%b\%2")
|
||||||
|
)
|
||||||
|
exit /b
|
||||||
|
|
||||||
:getrepairsetup
|
:getrepairsetup
|
||||||
|
|
||||||
set "_common86=%systemdrive%\Program Files (x86)\Common Files\Microsoft Shared\OFFICE%2\Office Setup Controller\setup.exe"
|
set "_common86=%systemdrive%\Program Files (x86)\Common Files\Microsoft Shared\OFFICE%2\Office Setup Controller\setup.exe"
|
||||||
|
|
|
||||||
48
README.md
48
README.md
|
|
@ -2,7 +2,7 @@
|
||||||
|
|
||||||
<h1 align="center">Microsoft Activation Scripts (MAS)</h1>
|
<h1 align="center">Microsoft Activation Scripts (MAS)</h1>
|
||||||
|
|
||||||
<p align="center">Open-source Windows and Office activator featuring HWID, Ohook, TSforge, KMS38, and Online KMS activation methods, along with advanced troubleshooting.</p>
|
<p align="center">Open-source Windows and Office activator featuring HWID, Ohook, TSforge, and Online KMS activation methods, along with advanced troubleshooting.</p>
|
||||||
|
|
||||||
<hr>
|
<hr>
|
||||||
|
|
||||||
|
|
@ -18,26 +18,15 @@
|
||||||
```
|
```
|
||||||
irm https://get.activated.win | iex
|
irm https://get.activated.win | iex
|
||||||
```
|
```
|
||||||
|
If the above is blocked (by ISP/DNS), try this (needs updated Windows 10 or 11):
|
||||||
|
```
|
||||||
|
iex (curl.exe -s --doh-url https://1.1.1.1/dns-query https://get.activated.win | Out-String)
|
||||||
|
```
|
||||||
- For **Windows 7** and later:
|
- For **Windows 7** and later:
|
||||||
```
|
```
|
||||||
iex ((New-Object Net.WebClient).DownloadString('https://get.activated.win'))
|
iex ((New-Object Net.WebClient).DownloadString('https://get.activated.win'))
|
||||||
```
|
```
|
||||||
|
- **Script not launching❓Use the below-listed Method 2.**
|
||||||
<details>
|
|
||||||
|
|
||||||
<summary>Script not launching❓Click here for info.</summary>
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
- If the above is blocked (by ISP/DNS), try this (needs **updated Windows 10 or 11**):
|
|
||||||
```
|
|
||||||
iex (curl.exe -s --doh-url https://1.1.1.1/dns-query https://get.activated.win | Out-String)
|
|
||||||
```
|
|
||||||
- If that fails or you have an older Windows, use the below-listed Method 2.
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
</details>
|
|
||||||
|
|
||||||
3. The activation menu will appear. **Choose the green-highlighted options** to activate Windows or Office.
|
3. The activation menu will appear. **Choose the green-highlighted options** to activate Windows or Office.
|
||||||
|
|
||||||
|
|
@ -47,20 +36,10 @@
|
||||||
|
|
||||||
### Method 2 - Traditional (Windows Vista and later)
|
### Method 2 - Traditional (Windows Vista and later)
|
||||||
|
|
||||||
<details>
|
1. Download the script: [**MAS_AIO.cmd**](https://dev.azure.com/massgrave/Microsoft-Activation-Scripts/_apis/git/repositories/Microsoft-Activation-Scripts/items?path=/MAS/All-In-One-Version-KL/MAS_AIO.cmd&download=true) or the [full ZIP](https://dev.azure.com/massgrave/Microsoft-Activation-Scripts/_apis/git/repositories/Microsoft-Activation-Scripts/items?$format=zip).
|
||||||
<summary>Click here to view</summary>
|
2. Run the file named `MAS_AIO.cmd`.
|
||||||
|
3. You will see the activation options. Follow the on-screen instructions.
|
||||||
1. Download the file using one of the links below:
|
4. That's all.
|
||||||
`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.
|
|
||||||
|
|
||||||
</details>
|
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
|
|
@ -84,8 +63,8 @@ or
|
||||||
---
|
---
|
||||||
|
|
||||||
```
|
```
|
||||||
Latest Version: 3.5
|
Latest Version: 3.9
|
||||||
Release date: 10-Aug-2025
|
Release date: 19-Nov-2025
|
||||||
```
|
```
|
||||||
|
|
||||||
### [Troubleshooting / Help](https://massgrave.dev/troubleshoot)
|
### [Troubleshooting / Help](https://massgrave.dev/troubleshoot)
|
||||||
|
|
@ -120,7 +99,7 @@ Release date: 10-Aug-2025
|
||||||
|
|
||||||
[1]: https://github.com/massgravel/Microsoft-Activation-Scripts
|
[1]: https://github.com/massgravel/Microsoft-Activation-Scripts
|
||||||
[2]: https://dev.azure.com/massgrave/_git/Microsoft-Activation-Scripts
|
[2]: https://dev.azure.com/massgrave/_git/Microsoft-Activation-Scripts
|
||||||
[3]: https://git.activated.win/massgrave/Microsoft-Activation-Scripts
|
[3]: https://git.activated.win/Microsoft-Activation-Scripts
|
||||||
[4]: https://discord.gg/j2yFsV5ZVC
|
[4]: https://discord.gg/j2yFsV5ZVC
|
||||||
[5]: https://www.reddit.com/r/MAS_Activator
|
[5]: https://www.reddit.com/r/MAS_Activator
|
||||||
[6]: https://bsky.app/profile/massgrave.dev
|
[6]: https://bsky.app/profile/massgrave.dev
|
||||||
|
|
@ -129,3 +108,4 @@ Release date: 10-Aug-2025
|
||||||
---
|
---
|
||||||
|
|
||||||
<p align="center">Made with Love ❤️</p>
|
<p align="center">Made with Love ❤️</p>
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue