summaryrefslogtreecommitdiff
path: root/MAS_1.3/Separate-Files-Version
diff options
context:
space:
mode:
authorWindowsAddict2022-01-11 02:59:10 +0000
committerWindowsAddict2022-01-11 02:59:10 +0000
commit35473624e21ff8e1e2787b646d0dad0dd863f008 (patch)
treecf43d8093f62e0f9154e99bd53e20e8d6c68e037 /MAS_1.3/Separate-Files-Version
parent86bd13a2d885b9f3190d0b9389bb2a2444db2e8a (diff)
downloadMicrosoft-Activation-Scripts-35473624e21ff8e1e2787b646d0dad0dd863f008.zip
1.5
Diffstat (limited to 'MAS_1.3/Separate-Files-Version')
-rw-r--r--MAS_1.3/Separate-Files-Version/Activators/Check_Activation_Status.cmd239
-rw-r--r--MAS_1.3/Separate-Files-Version/Activators/HWID-KMS38_Activation/BIN/ARM64_gatherosstate.exebin1047960 -> 0 bytes
-rw-r--r--MAS_1.3/Separate-Files-Version/Activators/HWID-KMS38_Activation/BIN/ARM64_slc.dllbin3072 -> 0 bytes
-rw-r--r--MAS_1.3/Separate-Files-Version/Activators/HWID-KMS38_Activation/BIN/ClipUp.exebin1354304 -> 0 bytes
-rw-r--r--MAS_1.3/Separate-Files-Version/Activators/HWID-KMS38_Activation/BIN/_Info.txt45
-rw-r--r--MAS_1.3/Separate-Files-Version/Activators/HWID-KMS38_Activation/BIN/gatherosstate.exebin337920 -> 0 bytes
-rw-r--r--MAS_1.3/Separate-Files-Version/Activators/HWID-KMS38_Activation/BIN/slc.dllbin7168 -> 0 bytes
-rw-r--r--MAS_1.3/Separate-Files-Version/Activators/HWID-KMS38_Activation/HWID_Activation.cmd763
-rw-r--r--MAS_1.3/Separate-Files-Version/Activators/HWID-KMS38_Activation/KMS38_Activation.cmd885
-rw-r--r--MAS_1.3/Separate-Files-Version/Activators/HWID-KMS38_Activation/ReadMe_HWID.txt345
-rw-r--r--MAS_1.3/Separate-Files-Version/Activators/HWID-KMS38_Activation/ReadMe_KMS38.txt358
-rw-r--r--MAS_1.3/Separate-Files-Version/Activators/Online_KMS_Activation/Activate.cmd2387
-rw-r--r--MAS_1.3/Separate-Files-Version/Activators/Online_KMS_Activation/BIN/_Info.txt16
-rw-r--r--MAS_1.3/Separate-Files-Version/Activators/Online_KMS_Activation/BIN/cleanosppx64.exebin19968 -> 0 bytes
-rw-r--r--MAS_1.3/Separate-Files-Version/Activators/Online_KMS_Activation/BIN/cleanosppx86.exebin17408 -> 0 bytes
-rw-r--r--MAS_1.3/Separate-Files-Version/Activators/Online_KMS_Activation/Renewal_Setup.cmd657
-rw-r--r--MAS_1.3/Separate-Files-Version/Activators/Online_KMS_Activation/Uninstall.cmd264
-rw-r--r--MAS_1.3/Separate-Files-Version/Activators/Online_KMS_Activation/_ReadMe.txt657
-rw-r--r--MAS_1.3/Separate-Files-Version/Activators/ReadMe.txt12
-rw-r--r--MAS_1.3/Separate-Files-Version/Credits.txt120
-rw-r--r--MAS_1.3/Separate-Files-Version/Extras/Download_Genuine_Installation_Media.url6
-rw-r--r--MAS_1.3/Separate-Files-Version/Extras/Extract_OEM_Folder/Extract_OEM_Folder.cmd621
-rw-r--r--MAS_1.3/Separate-Files-Version/Extras/Extract_OEM_Folder/ReadMe.txt123
-rw-r--r--MAS_1.3/Separate-Files-Version/Extras/KMS38_Protection/Protect_Unprotect-KMS38.cmd412
-rw-r--r--MAS_1.3/Separate-Files-Version/Extras/KMS38_Protection/ReadMe.txt48
-rw-r--r--MAS_1.3/Separate-Files-Version/Extras/OEMRET-Change_W10_Edition.cmd291
-rw-r--r--MAS_1.3/Separate-Files-Version/Extras/OEMRET-Install_W10_Key.cmd322
-rw-r--r--MAS_1.3/Separate-Files-Version/Homepages.cmd4
-rw-r--r--MAS_1.3/Separate-Files-Version/checksums.sha131
29 files changed, 0 insertions, 8606 deletions
diff --git a/MAS_1.3/Separate-Files-Version/Activators/Check_Activation_Status.cmd b/MAS_1.3/Separate-Files-Version/Activators/Check_Activation_Status.cmd
deleted file mode 100644
index 742557a..0000000
--- a/MAS_1.3/Separate-Files-Version/Activators/Check_Activation_Status.cmd
+++ /dev/null
@@ -1,239 +0,0 @@
-@setlocal DisableDelayedExpansion
-@echo off
-@cls
-
-
-:: ==================================================
-:: Check-Activation-Status-Alternative.cmd
-:: Written by @abbodi1406 (MDL)
-:: https://forums.mydigitallife.net/posts/838808
-:: ==================================================
-
-
-
-
-
-
-color 07
-title Check Activation Status [wmic]
-set wspp=SoftwareLicensingProduct
-set wsps=SoftwareLicensingService
-set ospp=OfficeSoftwareProtectionProduct
-set osps=OfficeSoftwareProtectionService
-set winApp=55c92734-d682-4d71-983e-d6ec3f16059f
-set o14App=59a52881-a989-479d-af46-f275c6370663
-set o15App=0ff1ce15-a989-479d-af46-f275c6370663
-for %%# in (spp_get,ospp_get,cW1nd0ws,sppw,c0ff1ce15,sppo,osppsvc,ospp14,ospp15) do set "%%#="
-for /f "tokens=6 delims=[]. " %%# in ('ver') do set winbuild=%%#
-set "spp_get=Description, DiscoveredKeyManagementServiceMachineName, DiscoveredKeyManagementServiceMachinePort, EvaluationEndDate, GracePeriodRemaining, ID, KeyManagementServiceMachine, KeyManagementServicePort, KeyManagementServiceProductKeyID, LicenseStatus, LicenseStatusReason, Name, PartialProductKey, ProductKeyID, VLActivationInterval, VLRenewalInterval"
-set "ospp_get=%spp_get%"
-if %winbuild% geq 9200 set "spp_get=%spp_get%, DiscoveredKeyManagementServiceMachineIpAddress, KeyManagementServiceLookupDomain, ProductKeyChannel, VLActivationTypeEnabled"
-
-set "SysPath=%Windir%\System32"
-if exist "%Windir%\Sysnative\reg.exe" (set "SysPath=%Windir%\Sysnative")
-set "Path=%SysPath%;%Windir%;%SysPath%\Wbem;%SysPath%\WindowsPowerShell\v1.0\"
-set "line2=************************************************************"
-set "line3=____________________________________________________________"
-
-call :casWpkey %wspp% %winApp% cW1nd0ws sppw
-if %winbuild% geq 9200 call :casWpkey %wspp% %o15App% c0ff1ce15 sppo
-wmic path %osps% get Version 1>nul 2>nul && (
-call :casWpkey %ospp% %o14App% osppsvc ospp14
-if %winbuild% lss 9200 call :casWpkey %ospp% %o15App% osppsvc ospp15
-)
-
-echo %line2%
-echo *** Windows Status ***
-echo %line2%
-if not defined cW1nd0ws (
-echo:
-echo Error: product key not found.
-goto :casWcon
-)
-set winID=1
-for /f "tokens=2 delims==" %%# in ('"wmic path %wspp% where (ApplicationID='%winApp%' and PartialProductKey is not null) get ID /value"') do (
- set "chkID=%%#"
- call :casWdet "%wspp%" "%wsps%" "%spp_get%"
- call :casWout
- echo %line3%
- echo:
-)
-
-:casWcon
-set winID=0
-set verbose=1
-if not defined c0ff1ce15 (
-if defined osppsvc goto :casWospp
-goto :casWend
-)
-echo %line2%
-echo *** Office Status ***
-echo %line2%
-for /f "tokens=2 delims==" %%# in ('"wmic path %wspp% where (ApplicationID='%o15App%' and PartialProductKey is not null) get ID /value"') do (
- set "chkID=%%#"
- call :casWdet "%wspp%" "%wsps%" "%spp_get%"
- call :casWout
- echo %line3%
- echo:
-)
-set verbose=0
-if defined osppsvc goto :casWospp
-goto :casWend
-
-:casWospp
-if %verbose%==1 (
-echo %line2%
-echo *** Office Status ***
-echo %line2%
-)
-if defined ospp15 for /f "tokens=2 delims==" %%# in ('"wmic path %ospp% where (ApplicationID='%o15App%' and PartialProductKey is not null) get ID /value"') do (
- set "chkID=%%#"
- call :casWdet "%ospp%" "%osps%" "%ospp_get%"
- call :casWout
- echo %line3%
- echo:
-)
-if defined ospp14 for /f "tokens=2 delims==" %%# in ('"wmic path %ospp% where (ApplicationID='%o14App%' and PartialProductKey is not null) get ID /value"') do (
- set "chkID=%%#"
- call :casWdet "%ospp%" "%osps%" "%ospp_get%"
- call :casWout
- echo %line3%
- echo:
-)
-goto :casWend
-
-:casWpkey
-wmic path %1 where (ApplicationID='%2' and PartialProductKey is not null) get ID /value 2>nul | findstr /i ID 1>nul && (set %3=1&set %4=1)
-exit /b
-
-:casWdet
-for %%# in (%~3) do set "%%#="
-if %~1 equ %ospp% for %%# in (DiscoveredKeyManagementServiceMachineIpAddress, KeyManagementServiceLookupDomain, ProductKeyChannel, VLActivationTypeEnabled) do set "%%#="
-set "cKmsClient="
-set "cTblClient="
-set "cAvmClient="
-set "ExpireMsg="
-set "_xpr="
-for /f "tokens=* delims=" %%# in ('"wmic path %~1 where ID='%chkID%' get %~3 /value" ^| findstr ^=') do set "%%#"
-
-set /a _gpr=(GracePeriodRemaining+1440-1)/1440
-echo %Description%| findstr /i VOLUME_KMSCLIENT 1>nul && (set cKmsClient=1&set _mTag=Volume)
-echo %Description%| findstr /i TIMEBASED_ 1>nul && (set cTblClient=1&set _mTag=Timebased)
-echo %Description%| findstr /i VIRTUAL_MACHINE_ACTIVATION 1>nul && (set cAvmClient=1&set _mTag=Automatic VM)
-cmd /c exit /b %LicenseStatusReason%
-set "LicenseReason=%=ExitCode%"
-set "LicenseMsg=Time remaining: %GracePeriodRemaining% minute(s) (%_gpr% day(s))"
-if %_gpr% GEQ 1 for /f "tokens=* delims=" %%# in ('powershell -nop -ep bypass -c "$([DateTime]::Now.addMinutes(%GracePeriodRemaining%)).ToString('yyyy-MM-dd HH:mm:ss')" 2^>nul') do set "_xpr=%%#"
-
-if %LicenseStatus% EQU 0 (
-set "License=Unlicensed"
-set "LicenseMsg="
-)
-if %LicenseStatus% EQU 1 (
-set "License=Licensed"
-set "LicenseMsg="
-if %GracePeriodRemaining% EQU 0 (
- if %winID% EQU 1 (set "ExpireMsg=The machine is permanently activated.") else (set "ExpireMsg=The product is permanently activated.")
- ) else (
- set "LicenseMsg=%_mTag% activation expiration: %GracePeriodRemaining% minute(s) (%_gpr% day(s))"
- if defined _xpr set "ExpireMsg=%_mTag% activation will expire %_xpr%"
- )
-)
-if %LicenseStatus% EQU 2 (
-set "License=Initial grace period"
-if defined _xpr set "ExpireMsg=Initial grace period ends %_xpr%"
-)
-if %LicenseStatus% EQU 3 (
-set "License=Additional grace period (KMS license expired or hardware out of tolerance)"
-if defined _xpr set "ExpireMsg=Additional grace period ends %_xpr%"
-)
-if %LicenseStatus% EQU 4 (
-set "License=Non-genuine grace period."
-if defined _xpr set "ExpireMsg=Non-genuine grace period ends %_xpr%"
-)
-if %LicenseStatus% EQU 6 (
-set "License=Extended grace period"
-if defined _xpr set "ExpireMsg=Extended grace period ends %_xpr%"
-)
-if %LicenseStatus% EQU 5 (
-set "License=Notification"
- if "%LicenseReason%"=="C004F200" (set "LicenseMsg=Notification Reason: 0xC004F200 (non-genuine)."
- ) else if "%LicenseReason%"=="C004F009" (set "LicenseMsg=Notification Reason: 0xC004F009 (grace time expired)."
- ) else (set "LicenseMsg=Notification Reason: 0x%LicenseReason%"
- )
-)
-if %LicenseStatus% GTR 6 (
-set "License=Unknown"
-set "LicenseMsg="
-)
-if not defined cKmsClient exit /b
-
-if %KeyManagementServicePort%==0 set KeyManagementServicePort=1688
-set "KmsReg=Registered KMS machine name: %KeyManagementServiceMachine%:%KeyManagementServicePort%"
-if "%KeyManagementServiceMachine%"=="" set "KmsReg=Registered KMS machine name: KMS name not available"
-
-if %DiscoveredKeyManagementServiceMachinePort%==0 set DiscoveredKeyManagementServiceMachinePort=1688
-set "KmsDns=KMS machine name from DNS: %DiscoveredKeyManagementServiceMachineName%:%DiscoveredKeyManagementServiceMachinePort%"
-if "%DiscoveredKeyManagementServiceMachineName%"=="" set "KmsDns=DNS auto-discovery: KMS name not available"
-
-for /f "tokens=* delims=" %%# in ('"wmic path %~2 get ClientMachineID, KeyManagementServiceHostCaching /value" ^| findstr ^=') do set "%%#"
-if /i %KeyManagementServiceHostCaching%==True (set KeyManagementServiceHostCaching=Enabled) else (set KeyManagementServiceHostCaching=Disabled)
-
-if %winbuild% lss 9200 exit /b
-if %~1 equ %ospp% exit /b
-
-if "%DiscoveredKeyManagementServiceMachineIpAddress%"=="" set "DiscoveredKeyManagementServiceMachineIpAddress=not available"
-
-if "%KeyManagementServiceLookupDomain%"=="" set "KeyManagementServiceLookupDomain="
-
-if %VLActivationTypeEnabled% EQU 3 (
-set VLActivationType=Token
-) else if %VLActivationTypeEnabled% EQU 2 (
-set VLActivationType=KMS
-) else if %VLActivationTypeEnabled% EQU 1 (
-set VLActivationType=AD
-) else (
-set VLActivationType=All
-)
-exit /b
-
-:casWout
-echo:
-echo Name: %Name%
-echo Description: %Description%
-echo Activation ID: %ID%
-echo Extended PID: %ProductKeyID%
-if defined ProductKeyChannel echo Product Key Channel: %ProductKeyChannel%
-echo Partial Product Key: %PartialProductKey%
-echo License Status: %License%
-if defined LicenseMsg echo %LicenseMsg%
-if not %LicenseStatus%==0 if not %EvaluationEndDate:~0,8%==16010101 echo Evaluation End Date: %EvaluationEndDate:~0,4%-%EvaluationEndDate:~4,2%-%EvaluationEndDate:~6,2% %EvaluationEndDate:~8,2%:%EvaluationEndDate:~10,2% UTC
-if not defined cKmsClient (
-if defined ExpireMsg echo:&echo: %ExpireMsg%
-exit /b
-)
-if defined VLActivationTypeEnabled echo Configured Activation Type: %VLActivationType%
-echo:
-if not %LicenseStatus%==1 (
-echo Please activate the product in order to update KMS client information values.
-exit /b
-)
-echo Most recent activation information:
-echo Key Management Service client information
-echo: Client Machine ID (CMID): %ClientMachineID%
-echo: %KmsDns%
-echo: %KmsReg%
-if defined DiscoveredKeyManagementServiceMachineIpAddress echo: KMS machine IP address: %DiscoveredKeyManagementServiceMachineIpAddress%
-echo: KMS machine extended PID: %KeyManagementServiceProductKeyID%
-echo: Activation interval: %VLActivationInterval% minutes
-echo: Renewal interval: %VLRenewalInterval% minutes
-echo: KMS host caching: %KeyManagementServiceHostCaching%
-if defined KeyManagementServiceLookupDomain echo: KMS SRV record lookup domain: %KeyManagementServiceLookupDomain%
-if defined ExpireMsg echo:&echo: %ExpireMsg%
-exit /b
-
-:casWend
-echo:
-echo Press any key to exit.
-pause >nul
-exit /b \ No newline at end of file
diff --git a/MAS_1.3/Separate-Files-Version/Activators/HWID-KMS38_Activation/BIN/ARM64_gatherosstate.exe b/MAS_1.3/Separate-Files-Version/Activators/HWID-KMS38_Activation/BIN/ARM64_gatherosstate.exe
deleted file mode 100644
index 7f338bf..0000000
--- a/MAS_1.3/Separate-Files-Version/Activators/HWID-KMS38_Activation/BIN/ARM64_gatherosstate.exe
+++ /dev/null
Binary files differ
diff --git a/MAS_1.3/Separate-Files-Version/Activators/HWID-KMS38_Activation/BIN/ARM64_slc.dll b/MAS_1.3/Separate-Files-Version/Activators/HWID-KMS38_Activation/BIN/ARM64_slc.dll
deleted file mode 100644
index 63ec4e9..0000000
--- a/MAS_1.3/Separate-Files-Version/Activators/HWID-KMS38_Activation/BIN/ARM64_slc.dll
+++ /dev/null
Binary files differ
diff --git a/MAS_1.3/Separate-Files-Version/Activators/HWID-KMS38_Activation/BIN/ClipUp.exe b/MAS_1.3/Separate-Files-Version/Activators/HWID-KMS38_Activation/BIN/ClipUp.exe
deleted file mode 100644
index b3b2cff..0000000
--- a/MAS_1.3/Separate-Files-Version/Activators/HWID-KMS38_Activation/BIN/ClipUp.exe
+++ /dev/null
Binary files differ
diff --git a/MAS_1.3/Separate-Files-Version/Activators/HWID-KMS38_Activation/BIN/_Info.txt b/MAS_1.3/Separate-Files-Version/Activators/HWID-KMS38_Activation/BIN/_Info.txt
deleted file mode 100644
index afeaf3b..0000000
--- a/MAS_1.3/Separate-Files-Version/Activators/HWID-KMS38_Activation/BIN/_Info.txt
+++ /dev/null
@@ -1,45 +0,0 @@
-====================================================================================================
- File Details:
-====================================================================================================
-
- fabb5a0fc1e6a372219711152291339af36ed0b5 *gatherosstate.exe Virus Total = 0/71
- ca3a51fdfc8749b8be85f7904b1c238a6dfba135 *slc.dll Virus Total = 0/68
- 578364cb2319da7999acd8c015b4ce8da8f1b282 *ARM64_gatherosstate.exe Virus Total = 0/69
- 5dbea3a580cf60391453a04a5c910a3ceca2b810 *ARM64_slc.dll Virus Total = 0/67
- 48d928b1bec25a56fe896c430c2c034b7866aa7a *ClipUp.exe Virus Total = 0/68
-
- Virus Total Report Date: 2020-01-21
-
- - File Sources:
-
- - ClipUp.exe (Original):
- From Windows server 2016 x64 ISO
-
- - gatherosstate.exe (Original):
- From Windows 10 x86 14393 ADK
-
- - ARM64_gatherosstate.exe (Original):
- From Windows 10 ARM64 18362 ISO
-
- - ARM64_slc.dll and slc.dll:
-
- Original slshim
- https://github.com/vyvojar/slshim
-
- Improved by @mspaintmsi
- https://www.nsaneforums.com/topic/316668--/?do=findComment&comment=1497887
- https://github.com/massgravel/MASSGRAVE
- https://gitlab.com/massgrave/massgrave
-
- Source code is included.
- slc.dll is based on Integrated_Patcher_2 method.
- It is currently in use in HWID/KMS38 Activation script.
-
-____________________________________________________________________________________________________
-
- You can safely delete the following files if it's not required for you.
-
- ClipUp.exe - Required to KMS38 activate Server Cor and Acor editions.
- ARM64_gatherosstate.exe and ARM64_slc.dll - Required to activate ARM64 Arch Windows 10.
-
-==================================================================================================== \ No newline at end of file
diff --git a/MAS_1.3/Separate-Files-Version/Activators/HWID-KMS38_Activation/BIN/gatherosstate.exe b/MAS_1.3/Separate-Files-Version/Activators/HWID-KMS38_Activation/BIN/gatherosstate.exe
deleted file mode 100644
index 4dba73a..0000000
--- a/MAS_1.3/Separate-Files-Version/Activators/HWID-KMS38_Activation/BIN/gatherosstate.exe
+++ /dev/null
Binary files differ
diff --git a/MAS_1.3/Separate-Files-Version/Activators/HWID-KMS38_Activation/BIN/slc.dll b/MAS_1.3/Separate-Files-Version/Activators/HWID-KMS38_Activation/BIN/slc.dll
deleted file mode 100644
index 73da9ec..0000000
--- a/MAS_1.3/Separate-Files-Version/Activators/HWID-KMS38_Activation/BIN/slc.dll
+++ /dev/null
Binary files differ
diff --git a/MAS_1.3/Separate-Files-Version/Activators/HWID-KMS38_Activation/HWID_Activation.cmd b/MAS_1.3/Separate-Files-Version/Activators/HWID-KMS38_Activation/HWID_Activation.cmd
deleted file mode 100644
index 4446e00..0000000
--- a/MAS_1.3/Separate-Files-Version/Activators/HWID-KMS38_Activation/HWID_Activation.cmd
+++ /dev/null
@@ -1,763 +0,0 @@
-@setlocal DisableDelayedExpansion
-@echo off
-
-
-:: For unattended mode, run the script with /u parameter.
-
-
-
-::=========================================================================================================
-: Credits:
-::=========================================================================================================
-::
-:: @mspaintmsi Original co-authors of HWID/KMS38 Activation without KMS or predecessor install/upgrade.
-:: and Created various methods for HWID/KMS38 Activation
-:: *Anonymous https://www.nsaneforums.com/topic/316668--/?do=findComment&comment=1497887
-:: https://github.com/massgravel/MASSGRAVE
-:: https://gitlab.com/massgrave/massgrave
-::
-:: @vyvojar Original slshim (slc.dll)
-:: https://github.com/vyvojar/slshim/releases
-::
-::---------------------------------------------------------------------------------------------------------
-::
-:: HWID/KMS38 methods Suggestions and improvements:-
-::
-:: @sponpa New ideas for the HWID/KM38 Generation
-:: https://www.nsaneforums.com/topic/316668--/page/21/?tab=comments#comment-1431257
-::
-:: @leitek8 Improvements for the slc.dll
-:: https://www.nsaneforums.com/topic/316668--/page/22/?tab=comments#comment-1438005
-::
-::---------------------------------------------------------------------------------------------------------
-::
-:: Kind Help:-
-::
-:: Thanks for having my back and answering all of my queries. (In no particular order)
-::
-:: @AveYo aka @BAU, @sponpa, @mspaintmsi @RPO, @leitek8, @mxman2k, @Yen, @abbodi1406
-::
-:: @BorrowedWifi for providing support in fixing English grammar errors in the Read Me.
-:: @Chibi ANUBIS and @smashed for testing scripts for ARM64 system.
-::
-:: Special thanks to @abbodi1406 for providing the great help.
-::
-::---------------------------------------------------------------------------------------------------------
-::
-:: This script is a part of 'Microsoft Activation Scripts' project.
-::
-:: Homepages-
-:: NsaneForums: (Login Required) https://www.nsaneforums.com/topic/316668-microsoft-activation-scripts/
-:: GitHub: https://github.com/massgravel/Microsoft-Activation-Scripts
-:: GitLab: https://gitlab.com/massgrave/microsoft-activation-scripts
-::
-:: Maintained by @WindowsAddict
-::
-:: P.S. I (@WindowsAddict) did not help in the development of HWID/KMS38 Activation in any way, I only
-:: manage batch script tool which is based on the above mentioned original co-authors activation methods.
-::
-::=========================================================================================================
-
-
-
-
-
-
-
-
-
-::========================================================================================================================================
-
-cls
-title [HWID] Digital License Activation
-set Unattended=
-set _args=
-set _elev=
-set "_arg1=%~1"
-if not defined _arg1 goto :DL_NoProgArgs
-set "_args=%~1"
-set "_arg2=%~2"
-if defined _arg2 set "_args=%~1 %~2"
-for %%A in (%_args%) do (
-if /i "%%A"=="-el" set _elev=1
-if /i "%%A"=="/u" set Unattended=1)
-:DL_NoProgArgs
-for /f "tokens=6 delims=[]. " %%G in ('ver') do set winbuild=%%G
-set "_psc=powershell -nop -ep bypass -c"
-set "nul=1>nul 2>nul"
-set "Red="white" "DarkRed""
-set "Green="white" "DarkGreen""
-set "Magenta="white" "darkmagenta""
-set "Gray="white" "darkgray""
-set "Black="white" "Black""
-set "ELine=echo: &call :DL_color "==== ERROR ====" %Red% &echo:"
-set slp=SoftwareLicensingProduct
-set sls=SoftwareLicensingService
-set wApp=55c92734-d682-4d71-983e-d6ec3f16059f
-
-::========================================================================================================================================
-
-for %%i in (powershell.exe) do if "%%~$path:i"=="" (
-echo: &echo ==== ERROR ==== &echo:
-echo Powershell is not installed in the system.
-echo Aborting...
-goto DL_Done
-)
-
-::========================================================================================================================================
-
-if %winbuild% LSS 10240 (
-%ELine%
-echo Unsupported OS version Detected.
-echo Project is supported only for Windows 10.
-goto DL_Done
-)
-
-::========================================================================================================================================
-
-:: Elevate script as admin and pass arguments and preventing loop
-:: Thanks to @hearywarlot [ https://forums.mydigitallife.net/threads/.74332/ ] for the VBS method.
-:: Thanks to @abbodi1406 for the powershell method and solving special characters issue in file path name.
-
-%nul% reg query HKU\S-1-5-19 && (
- goto :DL_Passed
- ) || (
- if defined _elev goto :DL_E_Admin
-)
-
-set "_batf=%~f0"
-set "_vbsf=%temp%\admin.vbs"
-set _PSarg="""%~f0""" -el
-if defined _args set _PSarg="""%~f0""" -el """%_args%"""
-
-setlocal EnableDelayedExpansion
-
-(
-echo Set strArg=WScript.Arguments.Named
-echo Set strRdlproc = CreateObject^("WScript.Shell"^).Exec^("rundll32 kernel32,Sleep"^)
-echo With GetObject^("winmgmts:\\.\root\CIMV2:Win32_Process.Handle='" ^& strRdlproc.ProcessId ^& "'"^)
-echo With GetObject^("winmgmts:\\.\root\CIMV2:Win32_Process.Handle='" ^& .ParentProcessId ^& "'"^)
-echo If InStr ^(.CommandLine, WScript.ScriptName^) ^<^> 0 Then
-echo strLine = Mid^(.CommandLine, InStr^(.CommandLine , "/File:"^) + Len^(strArg^("File"^)^) + 8^)
-echo End If
-echo End With
-echo .Terminate
-echo End With
-echo CreateObject^("Shell.Application"^).ShellExecute "cmd.exe", "/c " ^& chr^(34^) ^& chr^(34^) ^& strArg^("File"^) ^& chr^(34^) ^& strLine ^& chr^(34^), "", "runas", 1
-)>"!_vbsf!"
-
-(%nul% cscript //NoLogo "!_vbsf!" /File:"!_batf!" -el "!_args!") && (
-del /f /q "!_vbsf!"
-exit /b
-) || (
-del /f /q "!_vbsf!"
-%nul% %_psc% "start cmd.exe -arg '/c \"!_PSarg:'=''!\"' -verb runas" && (
-exit /b
-) || (
-goto :DL_E_Admin
-)
-)
-exit /b
-
-:DL_E_Admin
-%ELine%
-echo This script require administrator privileges.
-echo To do so, right click on this script and select 'Run as administrator'.
-goto DL_Done
-
-:DL_Passed
-
-::========================================================================================================================================
-
-:: Fix for the special characters limitation in path name
-:: Written by @abbodi1406
-
-set "_work=%~dp0"
-if "%_work:~-1%"=="\" set "_work=%_work:~0,-1%"
-
-set "_batf=%~f0"
-set "_batp=%_batf:'=''%"
-
-setlocal EnableDelayedExpansion
-
-::========================================================================================================================================
-
-mode con: cols=102 lines=31
-
-:: Check Windows OS name
-
-set winos=
-for /f "skip=2 tokens=2*" %%a in ('reg query "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion" /v ProductName 2^>nul') do if not errorlevel 1 set "winos=%%b"
-if not defined winos for /f "tokens=2* delims== " %%a in ('"wmic os get caption /value" 2^>nul') do if not errorlevel 1 set "winos=%%b"
-
-call :DL_CheckPermAct
-if defined PermAct (
-
-echo ___________________________________________________________________________________________
-echo:
-call :DL_color1 " " %Black% &call :DL_color "Checking: %winos% is Permanently Activated." %Green%
-call :DL_color1 " " %Black% &call :DL_color "Activation is not required." %Gray%
-echo ___________________________________________________________________________________________
-echo:
-if defined Unattended goto DL_Done
-
-echo Press [1] or [2] button in Keyboard :
-echo ___________________________________________
-echo:
-choice /C:12 /N /M "> [1] Activate [2] Exit : "
-
-if errorlevel 2 exit /b
-if errorlevel 1 Goto DL_Continue
-)
-
-:DL_Continue
-cls
-
-::========================================================================================================================================
-
-cd /d "!_work!"
-pushd "!_work!"
-
-if not exist "!_work!\BIN\" (
-%ELine%
-echo 'BIN' Folder does not exist in current directory.
-echo It's supposed to have files required for the Activation.
-goto DL_Done
-)
-
-::========================================================================================================================================
-
-echo %winos%| findstr /I Evaluation >nul && set Eval=1||set Eval=
-if defined Eval (
-%ELine%
-echo [%winos% ^| %winbuild%] HWID Activation is Not Supported.
-echo %winos%| findstr /I Server >nul && (
-echo Server Evaluation cannot be activated. Convert it to full Server OS.
-) || (
-echo Evaluation Editions cannot be activated. Install full Windows OS.
-)
-goto DL_Done
-)
-
-::========================================================================================================================================
-
-:: Check SKU value
-
-set SKU=
-for /f "tokens=2 delims==" %%a IN ('"wmic Path Win32_OperatingSystem Get OperatingSystemSKU /format:LIST" 2^>nul') do if not errorlevel 1 (set osSKU=%%a)
-if not defined SKU for /f "tokens=3 delims=." %%a in ('reg query "HKLM\SYSTEM\CurrentControlSet\Control\ProductOptions" /v OSProductPfn 2^>nul') do if not errorlevel 1 (set osSKU=%%a)
-
-if "%osSKU%"=="" (
-%ELine%
-echo SKU value was not detected properly. Aborting...
-goto DL_Done
-)
-
-:: Check Windows Edition with SKU value for better accuracy
-
-set osedition=
-call :_CheckEdition %nul%
-
-if "%osedition%"=="" (
-%ELine%
-echo [%winos% ^| %winbuild% ^| SKU:%osSKU%] HWID Activation is Not Supported.
-goto DL_Done
-)
-
-:: Check Windows Architecture
-
-set arch=
-reg Query "HKLM\Hardware\Description\System\CentralProcessor\0" | find /i "x86" > nul && set arch=x86|| set arch=x64
-wmic os get osarchitecture | find /i "ARM" > nul && set arch=ARM64|| echo %PROCESSOR_ARCHITECTURE% | find /i "ARM" > nul && set arch=ARM64
-
-if "%arch%"=="ARM64" call :DL_check ARM64_gatherosstate.exe ARM64_slc.dll
-if not "%arch%"=="ARM64" call :DL_check gatherosstate.exe slc.dll
-if defined _miss goto DL_Done
-
-::========================================================================================================================================
-
-cls
-set key=
-call :%osedition% %nul%
-
-if "%key%"=="" (
-%ELine%
-echo [%winos% ^| %winbuild%] HWID Activation is Not Supported.
-goto DL_Done
-)
-
-::========================================================================================================================================
-
-cls
-echo Checking OS Info [%winos% ^| %winbuild% ^| %arch%]
-
-set "Chkint=Checking Internet Connection "
-set IntCon=
-ping -n 1 www.microsoft.com %nul% && (
-set IntCon=1
-echo %Chkint% [Connected]
-) || (
-call :DL_color "%Chkint% [Not connected] [Ping www.microsoft.com - Failed]" %Red%
-)
-
-::========================================================================================================================================
-
-echo:
-set _1=ClipSVC
-set _2=wlidsvc
-set _3=sppsvc
-set _4=wuauserv
-
-for %%# in (%_1% %_2% %_3% %_4%) do call :DL_ServiceCheck %%#
-
-set "CLecho=Checking %_1% [Service Status -%Cl_state%] [Startup Type -%Cl_start_type%]"
-set "wlecho=Checking %_2% [Service Status -%wl_state%] [Startup Type -%wl_start_type%]"
-set "specho=Checking %_3% [Service Status -%sp_state%] [Startup Type -%sp_start_type%]"
-set "wuecho=Checking %_4% [Service Status -%wu_state%] [Startup Type -%wu_start_type%]"
-
-if not "%Cl_start_type%"=="Demand" (call :DL_color "%CLecho%" %Red% & set Clst_e=1) else (echo %CLecho%)
-if not "%wl_start_type%"=="Demand" (call :DL_color "%wlecho%" %Red% & set wlst_e=1) else (echo %wlecho%)
-if not "%sp_start_type%"=="Delayed-Auto" (call :DL_color "%specho%" %Red% & set spst_e=1) else (echo %specho%)
-
-if "%wu_start_type%"=="Disabled" (set "_C=%Red%") else (set "_C=%Gray%")
-if not "%wu_start_type%"=="Auto" (call :DL_color "%wuecho%" %_C% & set wust_e=1) else (echo %wuecho%)
-
-echo:
-if defined Clst_e (sc config %_1% start= Demand %nul% && set Clst_s=%_1%-Demand || set Clst_u=%_1%-Demand )
-if defined wlst_e (sc config %_2% start= Demand %nul% && set wlst_s=%_2%-Demand || set wlst_u=%_2%-Demand )
-if defined spst_e (sc config %_3% start= Delayed-Auto %nul% && set spst_s=%_3%-Delayed-Auto || set spst_u=%_3%-Delayed-Auto )
-if defined wust_e (sc config %_4% start= Auto %nul% && set wust_s=%_4%-Auto || set wust_u=%_4%-Auto )
-
-for %%# in (Clst_s,wlst_s,spst_s,wust_s) do if defined %%# set st_s=1
-if defined st_s (echo Changing services Startup Type to [ %Clst_s%%wlst_s%%spst_s%%wust_s%] [Successful])
-
-for %%# in (Clst_u,wlst_u,spst_u,wust_u) do if defined %%# set st_u=1
-if defined st_u (call :DL_color "Error in changing Startup Type to [ %Clst_u%%wlst_u%%spst_u%%wust_u%]" %Red%)
-
-if not "%Cl_state%"=="Running" (%_psc% start-service %_1% %nul% && set Cl_s=%_1% || set Cl_u=%_1% )
-if not "%wl_state%"=="Running" (%_psc% start-service %_2% %nul% && set wl_s=%_2% || set wl_u=%_2% )
-if not "%sp_state%"=="Running" (%_psc% start-service %_3% %nul% && set sp_s=%_3% || set sp_u=%_3% )
-if not "%wu_state%"=="Running" (%_psc% start-service %_4% %nul% && set wu_s=%_4% || set wu_u=%_4% )
-
-for %%# in (Cl_s,wl_s,sp_s,wu_s) do if defined %%# set s_s=1
-if defined s_s (echo Starting services [ %Cl_s%%wl_s%%sp_s%%wu_s%] [Successful])
-
-for %%# in (Cl_u,wl_u,sp_u,wu_u) do if defined %%# set s_u=1
-if defined s_u (call :DL_color "Error in starting services [ %Cl_u%%wl_u%%sp_u%%wu_u%]" %Red%)
-
-if defined wust_u (
-call :DL_color "Most likely the Windows Update Service was blocked with a tool, identify and unblock it." %Magenta%
-)
-
-::========================================================================================================================================
-
-:: Thanks to @abbodi1406 for the WMI methods
-
-echo:
-set _channel=
-set _Keyexist=
-set _partial=
-
-for /f "tokens=2 delims==" %%# in ('wmic path %slp% where "ApplicationID='%wApp%' and PartialProductKey<>null" Get ProductKeyChannel /value 2^>nul') do set "_channel=%%#"
-for %%A in (MAK, OEM, Retail) do echo %_channel%| findstr /i %%A >nul && set _Keyexist=1
-
-if defined _Keyexist (
-for /f "tokens=2 delims==" %%# in ('wmic path %slp% where "ApplicationID='%wApp%' and PartialProductKey<>null" Get PartialProductKey /value 2^>nul') do set "_partial=%%#"
-call echo Checking Installed Product Key [%_channel%] [Partial Key -%%_partial%%]
-)
-
-if not defined _Keyexist (
-set "InsKey=Installing Generic Product Key "
-wmic path %sls% where __CLASS='%sls%' call InstallProductKey ProductKey="%key%" %nul% && (
-for /f "tokens=2 delims==" %%# in ('wmic path %slp% where "ApplicationID='%wApp%' and PartialProductKey<>null" Get ProductKeyChannel /value 2^>nul') do set "_channel=%%#"
-call echo %%InsKey%% [%key%] [%%_channel%%] [Successful]
-) || (
-call :DL_color "%%InsKey%% [%key%] [Unsuccessful]" %Red%
-)
-)
-
-wmic path %sls% where __CLASS='%sls%' call RefreshLicenseStatus %nul%
-
-::========================================================================================================================================
-
-:: Files are copied to temp to generate ticket to avoid possible issues in case the path contains special character or non English names.
-
-echo:
-set "temp_=%SystemRoot%\Temp\_Ticket_Work"
-if exist "%temp_%\" @RD /S /Q "%temp_%\" %nul%
-md "%temp_%\" %nul%
-
-cd /d "!_work!\BIN\"
-
-set ARM64_file=
-if "%arch%"=="ARM64" set ARM64_file=ARM64_
-
-copy /y /b "%ARM64_file%gatherosstate.exe" "%temp_%\gatherosstate.exe" %nul%
-copy /y /b "%ARM64_file%slc.dll" "%temp_%\slc.dll" %nul%
-
-set cfailed=
-if not exist "%temp_%\gatherosstate.exe" set cfailed=1
-if not exist "%temp_%\slc.dll" set cfailed=1
-
-set "copyfiles=Copying Required Files to Temp "
-if defined cfailed (
-call :DL_color "%copyfiles% [%SystemRoot%\Temp\_Ticket_Work\] [Unsuccessful] Aborting..." %Red%
-goto :DL_Act_Cont
-) else (
-echo %copyfiles% [%SystemRoot%\Temp\_Ticket_Work\] [Successful]
-)
-
-cd /d "%temp_%\"
-attrib -R -A -S -H *.*
-
-::========================================================================================================================================
-
-set "GatherMod=Creating modified gatherosstate "
-
-if not "%arch%"=="ARM64" (
-rundll32 "%temp_%\slc.dll",PatchGatherosstate %nul%
-if not exist "%temp_%\gatherosstatemodified.exe" (
-call :DL_color "%GatherMod% [Unsuccessful] Aborting" %Red%
-call :DL_color "Most likely Antivirus program blocked the process, disable it and-or create proper exclsuions." %Magenta%
-goto :DL_Act_Cont
-) else (
-echo %GatherMod% [Successful]
-)
-)
-
-::========================================================================================================================================
-
-set _gather=
-if "%arch%"=="ARM64" (
-set _gather=gatherosstate.exe
-) else (
-set _gather=gatherosstatemodified.exe
-)
-
-:: Multiple attempts to generate the ticket because in some cases, one attempt is not enough.
-
-set "_noxml=if not exist "%temp_%\GenuineTicket.xml""
-
-start /wait "" "%temp_%/%_gather%" %nul%
-%_noxml% timeout /t 3 %nul%
-%_noxml% call "%temp_%/%_gather%" %nul%
-%_noxml% timeout /t 3 %nul%
-%_noxml% "%temp_%/%_gather%" %nul%
-%_noxml% timeout /t 3 %nul%
-
-set "GenTicket=Generating GenuineTicket.xml "
-%_noxml% (
-call :DL_color "%GenTicket% [Unsuccessful] Aborting..." %Red%
-goto :DL_Act_Cont
-) else (
-echo %GenTicket% [Successful]
-)
-
-:: clipup -v -o -altto <Ticket path> method to apply ticket was not used to avoid the certain issues in case the username have spaces or non English names.
-
-set "InsTicket=Installing GenuineTicket.xml "
-set "TDir=%ProgramData%\Microsoft\Windows\ClipSVC\GenuineTicket"
-if exist "%TDir%\*.xml" del /f /q "%TDir%\*.xml" %nul%
-copy /y /b "%temp_%\GenuineTicket.xml" "%TDir%\GenuineTicket.xml" %nul%
-
-if not exist "%TDir%\GenuineTicket.xml" (
-call :DL_color "Failed to copy Ticket to [%ProgramData%\Microsoft\Windows\ClipSVC\GenuineTicket\] Aborting..." %Red%
-goto :DL_Act_Cont
-)
-
-set "_xmlexist=if exist "%TDir%\GenuineTicket.xml""
-
-%_psc% Restart-Service ClipSVC %nul%
-%_xmlexist% timeout /t 2 %nul%
-%_xmlexist% timeout /t 2 %nul%
-
-%_xmlexist% (
-%_psc% stop-Service ClipSVC %nul%
-%_psc% start-Service ClipSVC %nul%
-%_xmlexist% timeout /t 2 %nul%
-%_xmlexist% timeout /t 2 %nul%
-)
-
-set fallback_=
-%_xmlexist% (
-set fallback_=1
-%nul% clipup -v -o
-%_xmlexist% timeout /t 2 %nul%
-)
-
-%_xmlexist% (
-call :DL_color "%InsTicket% [Unsuccessful] Aborting..." %Red%
-if exist "%TDir%\*.xml" del /f /q "%TDir%\*.xml" %nul%
-goto :DL_Act_Cont
-) else (
-if not defined fallback_ echo %InsTicket% [Successful]
-if defined fallback_ call :DL_color "%InsTicket% [Successful] [Fallback method: clipup -v -o]" %Red%
-)
-
-::========================================================================================================================================
-
-echo:
-echo Activating...
-echo:
-
-wmic path %slp% where "ApplicationID='%wApp%' and PartialProductKey<>null" call Activate %nul%
-call :DL_CheckPermAct
-if defined PermAct goto DL_Act_successful
-
-call :DL_ReTry
-if not "%ErrCode%"=="" set "Error_Code_=[Error Code %ErrCode%]"
-call :DL_CheckPermAct
-
-:DL_Act_successful
-
-if defined PermAct (
-call :DL_color "%winos% is permanently activated." %Green%
-goto :DL_Act_Cont
-)
-
-call :DL_color "Activation Failed %Error_Code_%" %Red%
-call :DL_color "Try the Troubleshoot Guide listed in the ReadMe." %Magenta%
-
-::========================================================================================================================================
-
-:DL_Act_Cont
-
-echo:
-set "changing_wust_back=Changing wu Startup Type back to [%wu_start_type%]"
-if defined wust_s (
-sc config %_4% start= %wu_start_type% %nul% && echo %changing_wust_back% [Successful]
-) || (
-call :DL_color "%changing_wust_back% [Unsuccessful]" %Red%
-)
-
-cd /d "!_work!\"
-if exist "%temp_%\" @RD /S /Q "%temp_%\" %nul%
-set "delFiles=Cleaning Temp Files "
-if exist "%temp_%\" (
-call :DL_color "%delFiles% [Unsuccessful]" %Red%
-) else (
-echo %delFiles% [Successful]
-)
-
-goto DL_Done
-
-::========================================================================================================================================
-
-:: Echo all the missing files.
-:: Written by @abbodi1406 (MDL)
-
-:DL_check
-
-for %%# in (%1 %2) do (if not exist "!_work!\BIN\%%#" (if defined _miss (set "_miss=!_miss! %%#") else (set "_miss=%%#")))
-if defined _miss (
-%ELine%
-echo Following required file^(s^) is missing in 'BIN' folder. Aborting...
-echo:
-echo !_miss!
-)
-exit /b
-
-::========================================================================================================================================
-
-:DL_ServiceCheck
-
-:: Detect Service status and start type
-:: Written by @RPO
-
-for /f "tokens=1,3 delims=: " %%a in ('sc query %1') do (if /i %%a==state set "state=%%b")
-for /f "tokens=1-4 delims=: " %%a in ('sc qc %1') do (if /i %%a==start_type set "start_type=%%c %%d")
-
-if /i "%state%"=="STOPPED" set state=Stopped
-if /i "%state%"=="RUNNING" set state=Running
-
-if /i "%start_type%"=="auto_start (delayed)" set start_type=Delayed-Auto
-if /i "%start_type%"=="auto_start " set start_type=Auto
-if /i "%start_type%"=="demand_start " set start_type=Demand
-if /i "%start_type%"=="disabled " set start_type=Disabled
-
-for %%i in (%*) do (
-if /i "%%i"=="%_4%" set "wu_start_type=%start_type%" & set "wu_state=%state%"
-if /i "%%i"=="%_3%" set "sp_start_type=%start_type%" & set "sp_state=%state%"
-if /i "%%i"=="%_1%" set "Cl_start_type=%start_type%" & set "Cl_state=%state%"
-if /i "%%i"=="%_2%" set "wl_start_type=%start_type%" & set "wl_state=%state%"
-)
-exit /b
-
-::========================================================================================================================================
-
-:DL_CheckPermAct
-
-:: Check Windows Permanent Activation status
-:: Written by @abbodi1406
-
-wmic path %slp% where (LicenseStatus='1' and GracePeriodRemaining='0' and PartialProductKey is not NULL) get Name 2>nul | findstr /i "Windows" 1>nul && set PermAct=1||set PermAct=
-exit /b
-
-::========================================================================================================================================
-
-:DL_ReTry
-
-if defined IntCon if not defined wust_u if not defined wu_u call :DL_ReTry_2
-
-:: Detect Error Code in the Activation
-:: Written by @abbodi1406
-
-wmic path %slp% where "ApplicationID='%wApp%' and PartialProductKey<>null" call Activate %nul%
-set errorcode=%errorlevel%
-cmd /c exit /b %errorcode%
-if %errorcode% NEQ 0 set "ErrCode=0x%=ExitCode%"
-exit /b
-
-:DL_ReTry_2
-
-set app=
-%_psc% Restart-Service sppsvc %nul%
-
-:: Specific rearm - reset the licensing status of the Windows SKU and app, without the need to restart the system.
-:: wmic method by @abbodi1406
-
-for /f "tokens=2 delims==" %%G in ('"wmic path %slp% where (ApplicationID='%wApp%' AND ProductKeyID like '%%-%%') get ID /value" 2^>nul') do (set app=%%G)
-wmic path %sls% where __CLASS='%sls%' call ReArmApp ApplicationId="%wApp%" %nul%
-wmic path %slp% where ID='%app%' call ReArmsku %nul%
-
-wmic path %sls% where __CLASS='%sls%' call RefreshLicenseStatus %nul%
-cscript /nologo %windir%\system32\slmgr.vbs -ato %nul%
-exit /b
-
-::========================================================================================================================================
-
-:DL_color
-
-%_psc% write-host '%1' -fore '%2' -back '%3'
-exit /b
-
-:DL_color1
-
-%_psc% write-host '%1' -fore '%2' -back '%3' -NoNewline
-exit /b
-
-::========================================================================================================================================
-
-:DL_Done
-
-echo:
-if defined Unattended (
-echo Exiting in 3 seconds...
-if %winbuild% LSS 7600 (ping -n 3 127.0.0.1 > nul) else (timeout /t 3)
-:: set a value to use in certain conditions of setupcomplete.cmd file.
-if defined key if not defined PermAct (endlocal & endlocal & set HWIDAct=1)
-exit /b
-)
-echo Press any key to exit...
-pause >nul
-exit /b
-
-::========================================================================================================================================
-
-:: Check Windows Edition with SKU value for better accuracy
-
-:_CheckEdition
-
-for %%# in (
-4-Enterprise
-27-EnterpriseN
-48-Professional
-49-ProfessionalN
-98-CoreN
-99-CoreCountrySpecific
-100-CoreSingleLanguage
-101-Core
-121-Education
-122-EducationN
-125-EnterpriseS
-126-EnterpriseSN
-161-ProfessionalWorkstation
-162-ProfessionalWorkstationN
-164-ProfessionalEducation
-165-ProfessionalEducationN
-175-ServerRdsh
-188-IoTEnterprise
-) do for /f "tokens=1,2 delims=-" %%A in ("%%#") do (
-if %osSKU%==%%A set "osedition=%%B"
-)
-exit /b
-
-::========================================================================================================================================
-
-:: Retail_OEM Key List
-
-:Core
-set "key=YTMG3-N6DKC-DKB77-7M9GH-8HVX7"
-exit /b
-
-:CoreCountrySpecific
-set "key=N2434-X9D7W-8PF6X-8DV9T-8TYMD"
-exit /b
-
-:CoreN
-set "key=4CPRK-NM3K3-X6XXQ-RXX86-WXCHW"
-exit /b
-
-:CoreSingleLanguage
-set "key=BT79Q-G7N6G-PGBYW-4YWX6-6F4BT"
-exit /b
-
-:Education
-set "key=YNMGQ-8RYV3-4PGQ3-C8XTP-7CFBY"
-exit /b
-
-:EducationN
-set "key=84NGF-MHBT6-FXBX8-QWJK7-DRR8H"
-exit /b
-
-:Enterprise
-set "key=XGVPP-NMH47-7TTHJ-W3FW7-8HV2C"
-exit /b
-
-:EnterpriseN
-set "key=3V6Q6-NQXCX-V8YXR-9QCYV-QPFCT"
-exit /b
-
-:EnterpriseS
-if "%winbuild%" EQU "10240" set "key=FWN7H-PF93Q-4GGP8-M8RF3-MDWWW"
-if "%winbuild%" EQU "14393" set "key=NK96Y-D9CD8-W44CQ-R8YTK-DYJWX"
-exit /b
-
-:EnterpriseSN
-if "%winbuild%" EQU "10240" set "key=8V8WN-3GXBH-2TCMG-XHRX3-9766K"
-if "%winbuild%" EQU "14393" set "key=2DBW3-N2PJG-MVHW3-G7TDK-9HKR4"
-exit /b
-
-:Professional
-set "key=VK7JG-NPHTM-C97JM-9MPGT-3V66T"
-exit /b
-
-:ProfessionalEducation
-set "key=8PTT6-RNW4C-6V7J2-C2D3X-MHBPB"
-exit /b
-
-:ProfessionalEducationN
-set "key=GJTYN-HDMQY-FRR76-HVGC7-QPF8P"
-exit /b
-
-:ProfessionalN
-set "key=2B87N-8KFHP-DKV6R-Y2C8J-PKCKT"
-exit /b
-
-:ProfessionalWorkstation
-set "key=DXG7C-N36C4-C4HTG-X4T3X-2YV77"
-exit /b
-
-:ProfessionalWorkstationN
-set "key=WYPNQ-8C467-V2W6J-TX4WX-WT2RQ"
-exit /b
-
-:ServerRdsh
-set "key=NJCF7-PW8QT-3324D-688JX-2YV66"
-exit /b
-
-:IoTEnterprise
-set "key=XQQYW-NFFMW-XJPBH-K8732-CKFFD"
-exit /b
-
-::======================================================================================================================================== \ No newline at end of file
diff --git a/MAS_1.3/Separate-Files-Version/Activators/HWID-KMS38_Activation/KMS38_Activation.cmd b/MAS_1.3/Separate-Files-Version/Activators/HWID-KMS38_Activation/KMS38_Activation.cmd
deleted file mode 100644
index 69a8174..0000000
--- a/MAS_1.3/Separate-Files-Version/Activators/HWID-KMS38_Activation/KMS38_Activation.cmd
+++ /dev/null
@@ -1,885 +0,0 @@
-@setlocal DisableDelayedExpansion
-@echo off
-
-
-:: For unattended mode, run the script with /u parameter.
-
-
-
-::=========================================================================================================
-: Credits:
-::=========================================================================================================
-::
-:: @mspaintmsi Original co-authors of HWID/KMS38 Activation without KMS or predecessor install/upgrade.
-:: and Created various methods for HWID/KMS38 Activation
-:: *Anonymous https://www.nsaneforums.com/topic/316668--/?do=findComment&comment=1497887
-:: https://github.com/massgravel/MASSGRAVE
-:: https://gitlab.com/massgrave/massgrave
-::
-:: @vyvojar Original slshim (slc.dll)
-:: https://github.com/vyvojar/slshim/releases
-::
-::---------------------------------------------------------------------------------------------------------
-::
-:: HWID/KMS38 methods Suggestions and improvements:-
-::
-:: @sponpa New ideas for the HWID/KM38 Generation
-:: https://www.nsaneforums.com/topic/316668--/page/21/?tab=comments#comment-1431257
-::
-:: @leitek8 Improvements for the slc.dll
-:: https://www.nsaneforums.com/topic/316668--/page/22/?tab=comments#comment-1438005
-::
-::---------------------------------------------------------------------------------------------------------
-::
-:: Kind Help:-
-::
-:: Thanks for having my back and answering all of my queries. (In no particular order)
-::
-:: @AveYo aka @BAU, @sponpa, @mspaintmsi @RPO, @leitek8, @mxman2k, @Yen, @abbodi1406
-::
-:: @BorrowedWifi for providing support in fixing English grammar errors in the Read Me.
-:: @Chibi ANUBIS and @smashed for testing scripts for ARM64 system.
-::
-:: Special thanks to @abbodi1406 for providing the great help.
-::
-::---------------------------------------------------------------------------------------------------------
-::
-:: This script is a part of 'Microsoft Activation Scripts' project.
-::
-:: Homepages-
-:: NsaneForums: (Login Required) https://www.nsaneforums.com/topic/316668-microsoft-activation-scripts/
-:: GitHub: https://github.com/massgravel/Microsoft-Activation-Scripts
-:: GitLab: https://gitlab.com/massgrave/microsoft-activation-scripts
-::
-:: Maintained by @WindowsAddict
-::
-:: P.S. I (@WindowsAddict) did not help in the development of HWID/KMS38 Activation in any way, I only
-:: manage batch script tool which is based on the above mentioned original co-authors activation methods.
-::
-::=========================================================================================================
-
-
-
-
-
-
-
-
-
-::========================================================================================================================================
-
-cls
-title KMS38 Activation
-set Unattended=
-set _args=
-set _elev=
-set "_arg1=%~1"
-if not defined _arg1 goto :K38_NoProgArgs
-set "_args=%~1"
-set "_arg2=%~2"
-if defined _arg2 set "_args=%~1 %~2"
-for %%A in (%_args%) do (
-if /i "%%A"=="-el" set _elev=1
-if /i "%%A"=="/u" set Unattended=1)
-:K38_NoProgArgs
-for /f "tokens=6 delims=[]. " %%G in ('ver') do set winbuild=%%G
-set "_psc=powershell -nop -ep bypass -c"
-set "nul=1>nul 2>nul"
-set "Red="white" "DarkRed""
-set "Green="white" "DarkGreen""
-set "Magenta="white" "darkmagenta""
-set "Gray="white" "darkgray""
-set "Black="white" "Black""
-set "ELine=echo: &call :K38_color "==== ERROR ====" %Red% &echo:"
-set slp=SoftwareLicensingProduct
-set sls=SoftwareLicensingService
-set wApp=55c92734-d682-4d71-983e-d6ec3f16059f
-
-::========================================================================================================================================
-
-for %%i in (powershell.exe) do if "%%~$path:i"=="" (
-echo: &echo ==== ERROR ==== &echo:
-echo Powershell is not installed in the system.
-echo Aborting...
-goto K38_Done
-)
-
-::========================================================================================================================================
-
-if %winbuild% LSS 14393 (
-%ELine%
-echo Unsupported OS version Detected.
-echo Project is supported only for Windows 10 / Server - 1607 [14393] and later builds.
-goto K38_Done
-)
-
-::========================================================================================================================================
-
-:: Elevate script as admin and pass arguments and preventing loop
-:: Thanks to @hearywarlot [ https://forums.mydigitallife.net/threads/.74332/ ] for the VBS method.
-:: Thanks to @abbodi1406 for the powershell method and solving special characters issue in file path name.
-
-%nul% reg query HKU\S-1-5-19 && (
- goto :K38_Passed
- ) || (
- if defined _elev goto :K38_E_Admin
-)
-
-set "_batf=%~f0"
-set "_vbsf=%temp%\admin.vbs"
-set _PSarg="""%~f0""" -el
-if defined _args set _PSarg="""%~f0""" -el """%_args%"""
-
-setlocal EnableDelayedExpansion
-
-(
-echo Set strArg=WScript.Arguments.Named
-echo Set strRdlproc = CreateObject^("WScript.Shell"^).Exec^("rundll32 kernel32,Sleep"^)
-echo With GetObject^("winmgmts:\\.\root\CIMV2:Win32_Process.Handle='" ^& strRdlproc.ProcessId ^& "'"^)
-echo With GetObject^("winmgmts:\\.\root\CIMV2:Win32_Process.Handle='" ^& .ParentProcessId ^& "'"^)
-echo If InStr ^(.CommandLine, WScript.ScriptName^) ^<^> 0 Then
-echo strLine = Mid^(.CommandLine, InStr^(.CommandLine , "/File:"^) + Len^(strArg^("File"^)^) + 8^)
-echo End If
-echo End With
-echo .Terminate
-echo End With
-echo CreateObject^("Shell.Application"^).ShellExecute "cmd.exe", "/c " ^& chr^(34^) ^& chr^(34^) ^& strArg^("File"^) ^& chr^(34^) ^& strLine ^& chr^(34^), "", "runas", 1
-)>"!_vbsf!"
-
-(%nul% cscript //NoLogo "!_vbsf!" /File:"!_batf!" -el "!_args!") && (
-del /f /q "!_vbsf!"
-exit /b
-) || (
-del /f /q "!_vbsf!"
-%nul% %_psc% "start cmd.exe -arg '/c \"!_PSarg:'=''!\"' -verb runas" && (
-exit /b
-) || (
-goto :K38_E_Admin
-)
-)
-exit /b
-
-:K38_E_Admin
-%ELine%
-echo This script require administrator privileges.
-echo To do so, right click on this script and select 'Run as administrator'.
-goto K38_Done
-
-:K38_Passed
-
-::========================================================================================================================================
-
-:: Fix for the special characters limitation in path name
-:: Written by @abbodi1406
-
-set "_work=%~dp0"
-if "%_work:~-1%"=="\" set "_work=%_work:~0,-1%"
-
-set "_batf=%~f0"
-set "_batp=%_batf:'=''%"
-
-setlocal EnableDelayedExpansion
-
-::========================================================================================================================================
-
-mode con: cols=102 lines=30
-
-:: Check Windows OS name
-
-set winos=
-for /f "skip=2 tokens=2*" %%a in ('reg query "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion" /v ProductName 2^>nul') do if not errorlevel 1 set "winos=%%b"
-if not defined winos for /f "tokens=2* delims== " %%a in ('"wmic os get caption /value" 2^>nul') do if not errorlevel 1 set "winos=%%b"
-
-call :K38_CheckPermAct
-if defined PermAct (
-
-echo ___________________________________________________________________________________________
-echo:
-call :K38_color1 " " %Black% &call :K38_color "Checking: %winos% is Permanently Activated." %Green%
-call :K38_color1 " " %Black% &call :K38_color "Activation is not required." %Gray%
-echo ___________________________________________________________________________________________
-echo:
-if defined Unattended goto K38_Done
-
-echo Press [1] or [2] button in Keyboard :
-echo ___________________________________________
-echo:
-choice /C:12 /N /M "> [1] Activate [2] Exit : "
-
-if errorlevel 2 exit /b
-if errorlevel 1 Goto K38_Continue
-)
-
-:K38_Continue
-cls
-
-::========================================================================================================================================
-
-cd /d "!_work!"
-pushd "!_work!"
-
-if not exist "!_work!\BIN\" (
-%ELine%
-echo 'BIN' Folder does not exist in current directory.
-echo It's supposed to have files required for the Activation.
-goto K38_Done
-)
-
-::========================================================================================================================================
-
-echo %winos%| findstr /I Evaluation >nul && set Eval=1||set Eval=
-if defined Eval (
-%ELine%
-echo [%winos% ^| %winbuild%] KMS38 Activation is Not Supported.
-echo %winos%| findstr /I Server >nul && (
-echo Server Evaluation cannot be activated. Convert it to full Server OS.
-) || (
-echo Evaluation Editions cannot be activated. Install full Windows OS.
-)
-goto K38_Done
-)
-
-::========================================================================================================================================
-
-:: Check SKU value
-
-set SKU=
-for /f "tokens=2 delims==" %%a IN ('"wmic Path Win32_OperatingSystem Get OperatingSystemSKU /format:LIST" 2^>nul') do if not errorlevel 1 (set osSKU=%%a)
-if not defined SKU for /f "tokens=3 delims=." %%a in ('reg query "HKLM\SYSTEM\CurrentControlSet\Control\ProductOptions" /v OSProductPfn 2^>nul') do if not errorlevel 1 (set osSKU=%%a)
-
-if "%osSKU%"=="" (
-%ELine%
-echo SKU value was not detected properly. Aborting...
-goto K38_Done
-)
-
-:: Check Windows Edition with SKU value for better accuracy
-
-set osedition=
-call :K38_CheckEdition %nul%
-
-if "%osedition%"=="" (
-%ELine%
-echo [%winos% ^| %winbuild% ^| SKU:%osSKU%] KMS38 Activation is Not Supported.
-goto K38_Done
-)
-
-:: Check Activation ID
-
-set app=
-for /f "tokens=2 delims==" %%a in ('"wmic path %slp% where (ApplicationID='%wApp%' and LicenseFamily='%osedition%' and Description like '%%KMSCLIENT%%') get ID /VALUE" 2^>nul') do set "app=%%a"
-
-:: Check Windows Architecture
-
-set arch=
-reg Query "HKLM\Hardware\Description\System\CentralProcessor\0" | find /i "x86" > nul && set arch=x86|| set arch=x64
-wmic os get osarchitecture | find /i "ARM" > nul && set arch=ARM64|| echo %PROCESSOR_ARCHITECTURE% | find /i "ARM" > nul && set arch=ARM64
-
-if "%arch%"=="ARM64" call :K38_check ARM64_gatherosstate.exe ARM64_slc.dll
-if not "%arch%"=="ARM64" call :K38_check gatherosstate.exe slc.dll
-if defined _miss goto K38_Done
-
-::========================================================================================================================================
-
-cls
-if "%app%"=="" (
-%ELine%
-echo [%winos% ^| %winbuild%] KMS38 Activation is Not Supported.
-goto K38_Done
-)
-
-set key=
-call :%app% %nul%
-
-if "%key%"=="" (
-%ELine%
-echo [%winos% ^| %winbuild% ^| %app%] KMS38 Activation is Not Supported.
-goto K38_Done
-)
-
-:: clipup.exe does not exist in server cor and acor editions.
-
-set A_Cor=
-echo %osedition%| findstr /I /B Server >nul && if not exist "%systemroot%\System32\clipup.exe" set A_Cor=1
-
-if defined A_Cor (
-call :K38_check clipup.exe
-if defined _miss goto K38_Done
-)
-
-::========================================================================================================================================
-
-cls
-echo Checking OS Info [%winos% ^| %winbuild% ^| %arch%]
-
-echo:
-set _1=ClipSVC
-set _3=sppsvc
-
-for %%# in (%_1% %_3%) do call :K38_ServiceCheck %%#
-
-set "CLecho=Checking %_1% [Service Status -%Cl_state%] [Startup Type -%Cl_start_type%]"
-set "specho=Checking %_3% [Service Status -%sp_state%] [Startup Type -%sp_start_type%]"
-
-if not "%Cl_start_type%"=="Demand" (call :K38_color "%CLecho%" %Red% & set Clst_e=1) else (echo %CLecho%)
-if not "%sp_start_type%"=="Delayed-Auto" (call :K38_color "%specho%" %Red% & set spst_e=1) else (echo %specho%)
-
-echo:
-if defined Clst_e (sc config %_1% start= Demand %nul% && set Clst_s=%_1%-Demand || set Clst_u=%_1%-Demand )
-if defined spst_e (sc config %_3% start= Delayed-Auto %nul% && set spst_s=%_3%-Delayed-Auto || set spst_u=%_3%-Delayed-Auto )
-
-for %%# in (Clst_s,spst_s) do if defined %%# set st_s=1
-if defined st_s (echo Changing services Startup Type to [ %Clst_s%%spst_s%] [Successful])
-
-for %%# in (Clst_u,spst_u) do if defined %%# set st_u=1
-if defined st_u (call :K38_color "Error in changing Startup Type to [ %Clst_u%%spst_u%]" %Red%)
-
-if not "%Cl_state%"=="Running" (%_psc% start-service %_1% %nul% && set Cl_s=%_1% || set Cl_u=%_1% )
-if not "%sp_state%"=="Running" (%_psc% start-service %_3% %nul% && set sp_s=%_3% || set sp_u=%_3% )
-
-for %%# in (Cl_s,sp_s) do if defined %%# set s_s=1
-if defined s_s (echo Starting services [ %Cl_s%%sp_s%] [Successful])
-
-for %%# in (Cl_u,sp_u) do if defined %%# set s_u=1
-if defined s_u (call :K38_color "Error in starting services [ %Cl_u%%sp_u%]" %Red%)
-
-::========================================================================================================================================
-
-:: Thanks to @abbodi1406 for the WMI methods
-
-echo:
-set _channel=
-set _Keyexist=
-set _partial=
-
-wmic path %slp% where "ApplicationID='%wApp%' and PartialProductKey<>null" Get ProductKeyChannel 2>nul | findstr /i GVLK 1>nul && (set _Keyexist=1)
-
-if defined _Keyexist (
-for /f "tokens=2 delims==" %%# in ('wmic path %slp% where "ApplicationID='%wApp%' and PartialProductKey<>null" Get PartialProductKey /value 2^>nul') do set "_partial=%%#"
-call echo Checking Installed Product Key [Volume:GVLK] [Partial Key -%%_partial%%]
-)
-
-if not defined _Keyexist (
-set "InsKey=Installing KMS Client Setup Key "
-wmic path %sls% where __CLASS='%sls%' call InstallProductKey ProductKey="%key%" %nul% && (
-call echo %%InsKey%% [%key%] [Successful]
-) || (
-call :K38_color "%%InsKey%% [%key%] [Unsuccessful]" %Red%
-)
-)
-
-wmic path %sls% where __CLASS='%sls%' call RefreshLicenseStatus %nul%
-
-::========================================================================================================================================
-
-:: Set specific KMS host to Local Host
-:: Thanks to @abbodi1406
-
-:: By doing this, global KMS IP can not replace KMS38 activation but can be used with Office and other Windows Editions.
-
-echo:
-set "SPPk=SOFTWARE\Microsoft\Windows NT\CurrentVersion\SoftwareProtectionPlatform"
-reg delete "HKLM\%SPPk%\%wApp%" /f %nul%
-reg delete "HKU\S-1-5-20\%SPPk%\%wApp%" /f %nul%
-
-set setkms_error=
-set "setkms_=Setting Specific KMS Host to "
-
-wmic path %slp% where ID='%app%' call ClearKeyManagementServiceMachine %nul% || (set setkms_error=1)
-wmic path %slp% where ID='%app%' call ClearKeyManagementServicePort %nul% || (set setkms_error=1)
-wmic path %slp% where ID='%app%' call SetKeyManagementServiceMachine MachineName="127.0.0.2" %nul% || (set setkms_error=1)
-wmic path %slp% where ID='%app%' call SetKeyManagementServicePort 1688 %nul% || (set setkms_error=1)
-
-if not defined setkms_error (
-echo %setkms_% [LocalHost 127.0.0.2] [Successful]
-) else (
-call :K38_color "%setkms_% [LocalHost 127.0.0.2] [Unsuccessful]" %Red%
-)
-
-::========================================================================================================================================
-
-:: Files are copied to temp to generate ticket to avoid possible issues in case the path contains special character or non English names.
-
-echo:
-set "temp_=%SystemRoot%\Temp\_Ticket_Work"
-if exist "%temp_%\" @RD /S /Q "%temp_%\" %nul%
-md "%temp_%\" %nul%
-
-cd /d "!_work!\BIN\"
-
-set ARM64_file=
-if "%arch%"=="ARM64" set ARM64_file=ARM64_
-
-set "A_Cor_cl=%systemroot%\System32\clipup.exe"
-copy /y /b "%ARM64_file%gatherosstate.exe" "%temp_%\gatherosstate.exe" %nul%
-copy /y /b "%ARM64_file%slc.dll" "%temp_%\slc.dll" %nul%
-if defined A_Cor (copy /y /b "ClipUp.exe" "%A_Cor_cl%" %nul%)
-
-set cfailed=
-if not exist "%temp_%\gatherosstate.exe" set cfailed=1
-if not exist "%temp_%\slc.dll" set cfailed=1
-
-set "copyfiles=Copying Required Files to Temp "
-set "copyclipup=Copying clipup.exe File to "
-
-if defined cfailed (
-call :K38_color "%copyfiles% [%SystemRoot%\Temp\_Ticket_Work\] [Unsuccessful] Aborting..." %Red%
-goto K38_Act_Cont
-) else (
-echo %copyfiles% [%SystemRoot%\Temp\_Ticket_Work\] [Successful]
-)
-
-if defined A_Cor (
-if not exist "%A_Cor_cl%" call :K38_color "%copyclipup% [%systemroot%\System32\] [Unsuccessful] Aborting..." %Red% & goto K38_Act_Cont
-if exist "%A_Cor_cl%" echo %copyclipup% [%systemroot%\System32\] [Successful]
-)
-
-cd /d "%temp_%\"
-attrib -R -A -S -H *.*
-
-::========================================================================================================================================
-
-:: Multiple attempts to generate the ticket because in some cases, one attempt is not enough.
-
-set "_noxml=if not exist "%temp_%\GenuineTicket.xml""
-
-start /wait "" "%temp_%/gatherosstate.exe" %nul%
-%_noxml% timeout /t 3 %nul%
-%_noxml% call "%temp_%/gatherosstate.exe" %nul%
-%_noxml% timeout /t 3 %nul%
-%_noxml% "%temp_%/gatherosstate.exe" %nul%
-%_noxml% timeout /t 3 %nul%
-
-set "GenTicket=Generating GenuineTicket.xml "
-%_noxml% (
-call :K38_color "%GenTicket% [Unsuccessful] Aborting..." %Red%
-goto K38_Act_Cont
-) else (
-echo %GenTicket% [Successful]
-)
-
-:: clipup -v -o -altto <Ticket path> method to apply ticket was not used to avoid the certain issues in case the username have spaces or non English names.
-
-set "InsTicket=Installing GenuineTicket.xml "
-set "TDir=%ProgramData%\Microsoft\Windows\ClipSVC\GenuineTicket"
-if exist "%TDir%\*.xml" del /f /q "%TDir%\*.xml" %nul%
-copy /y /b "%temp_%\GenuineTicket.xml" "%TDir%\GenuineTicket.xml" %nul%
-
-if not exist "%TDir%\GenuineTicket.xml" (
-call :K38_color "Failed to copy Ticket to [%ProgramData%\Microsoft\Windows\ClipSVC\GenuineTicket\] Aborting..." %Red%
-goto K38_Act_Cont
-)
-
-set "_xmlexist=if exist "%TDir%\GenuineTicket.xml""
-
-%_psc% Restart-Service ClipSVC %nul%
-%_xmlexist% timeout /t 2 %nul%
-%_xmlexist% timeout /t 2 %nul%
-
-%_xmlexist% (
-%_psc% stop-Service ClipSVC %nul%
-%_psc% start-Service ClipSVC %nul%
-%_xmlexist% timeout /t 2 %nul%
-%_xmlexist% timeout /t 2 %nul%
-)
-
-set fallback_=
-%_xmlexist% (
-set fallback_=1
-%nul% clipup -v -o
-%_xmlexist% timeout /t 2 %nul%
-)
-
-%_xmlexist% (
-call :K38_color "%InsTicket% [Unsuccessful] Aborting..." %Red%
-if exist "%TDir%\*.xml" del /f /q "%TDir%\*.xml" %nul%
-goto K38_Act_Cont
-) else (
-if not defined fallback_ echo %InsTicket% [Successful]
-if defined fallback_ call :K38_color "%InsTicket% [Successful] [Fallback method: clipup -v -o]" %Red%
-)
-
-::========================================================================================================================================
-
-echo:
-echo Activating...
-echo:
-
-call :K38_CheckEXPtime
-if %gpr% GTR 259200 (
-call :K38_Actinfo
-goto K38_Act_Cont
-)
-
-::========================================================================================================================================
-
-:: Clear 180 Days KMS Activation lock without full Rearm and Restart
-
-set RearmF=
-set "Rearm=Applying SKU-APP ID Rearm "
-wmic path %sls% where __CLASS='%sls%' call ReArmApp ApplicationId="%wApp%" %nul% || (set RearmF=1)
-wmic path %slp% where ID='%app%' call ReArmsku %nul% || (set RearmF=1)
-
-if defined RearmF (
-call :K38_color "%Rearm% [Unsuccessful]" %Red%
-) else (
-echo %Rearm% [Successful]
-)
-
-::========================================================================================================================================
-
-echo:
-call :K38_CheckEXPtime
-if %gpr% GTR 259200 (
-call :K38_Actinfo
-goto K38_Act_Cont
-)
-
-%_psc% Restart-Service sppsvc %nul%
-wmic path %sls% where __CLASS='%sls%' call RefreshLicenseStatus %nul%
-
-call :K38_CheckEXPtime
-if %gpr% GTR 259200 (
-call :K38_Actinfo
-goto K38_Act_Cont
-)
-
-call :K38_color "Activation Failed." %Red%
-call :K38_color "Try the Troubleshoot Guide listed in the ReadMe." %Magenta%
-
-:K38_Act_Cont
-
-:: clipup.exe does not exist in server cor and acor editions by default, it was copied there with this script.
-
-echo:
-cd /d "!_work!\"
-if exist "%temp_%\" @RD /S /Q "%temp_%\" %nul%
-if defined A_Cor (if exist "%A_Cor_cl%" del /f /q "%A_Cor_cl%" %nul%)
-
-set "delFiles=Cleaning Temp Files "
-set "delclipup=Deleting copied clipup.exe file "
-
-if exist "%temp_%\" (
-call :K38_color "%delFiles% [Unsuccessful]" %Red%
-) else (
-echo %delFiles% [Successful]
-)
-
-if defined A_Cor (
-if exist "%A_Cor_cl%" call :K38_color "%delclipup% [Unsuccessful]" %Red%
-if not exist "%A_Cor_cl%" echo %delclipup% [Successful]
-)
-
-goto K38_Done
-
-::========================================================================================================================================
-
-:: Echo all the missing files.
-:: Written by @abbodi1406 (MDL)
-
-:K38_check
-
-for %%# in (%1 %2) do (if not exist "!_work!\BIN\%%#" (if defined _miss (set "_miss=!_miss! %%#") else (set "_miss=%%#")))
-if defined _miss (
-%ELine%
-echo Following required file^(s^) is missing in 'BIN' folder. Aborting...
-echo:
-echo !_miss!
-)
-exit /b
-
-::========================================================================================================================================
-
-:K38_ServiceCheck
-
-:: Detect Service status and start type
-:: Written by @RPO
-
-for /f "tokens=1,3 delims=: " %%a in ('sc query %1') do (if /i %%a==state set "state=%%b")
-for /f "tokens=1-4 delims=: " %%a in ('sc qc %1') do (if /i %%a==start_type set "start_type=%%c %%d")
-
-if /i "%state%"=="STOPPED" set state=Stopped
-if /i "%state%"=="RUNNING" set state=Running
-
-if /i "%start_type%"=="auto_start (delayed)" set start_type=Delayed-Auto
-if /i "%start_type%"=="auto_start " set start_type=Auto
-if /i "%start_type%"=="demand_start " set start_type=Demand
-if /i "%start_type%"=="disabled " set start_type=Disabled
-
-for %%i in (%*) do (
-if /i "%%i"=="%_3%" set "sp_start_type=%start_type%" & set "sp_state=%state%"
-if /i "%%i"=="%_1%" set "Cl_start_type=%start_type%" & set "Cl_state=%state%"
-)
-exit /b
-
-::========================================================================================================================================
-
-:K38_CheckPermAct
-
-:: Check Windows Permanent Activation status
-:: Written by @abbodi1406
-
-wmic path %slp% where (LicenseStatus='1' and GracePeriodRemaining='0' and PartialProductKey is not NULL) get Name 2>nul | findstr /i "Windows" 1>nul && set PermAct=1||set PermAct=
-exit /b
-
-::========================================================================================================================================
-
-:: Check Expiration date with powershell
-:: Written by @abbodi1406
-
-:K38_Actinfo
-
-for /f "tokens=* delims=" %%# in ('%_psc% "$([DateTime]::Now.addMinutes(%gpr%)).ToString('yyyy-MM-dd HH:mm:ss')" 2^>nul') do set "_xpr=%%#"
-call :K38_color "%winos% is activated till %_xpr%" %Green%
-exit /b
-
-::========================================================================================================================================
-
-:K38_CheckEXPtime
-
-:: Check Activation remaining time
-:: Written by @abbodi1406
-
-for /f "tokens=2 delims==" %%# in ('"wmic path %slp% where (ApplicationID='%wApp%' and Description like '%%KMSCLIENT%%' and PartialProductKey is not NULL) get GracePeriodRemaining /VALUE" ') do set "gpr=%%#"
-exit /b
-
-::========================================================================================================================================
-
-:K38_color
-
-%_psc% write-host '%1' -fore '%2' -back '%3'
-exit /b
-
-:K38_color1
-
-%_psc% write-host '%1' -fore '%2' -back '%3' -NoNewline
-exit /b
-
-::========================================================================================================================================
-
-:K38_Done
-
-echo:
-if defined Unattended (
-echo Exiting in 3 seconds...
-if %winbuild% LSS 7600 (ping -n 3 127.0.0.1 > nul) else (timeout /t 3)
-exit /b
-)
-echo Press any key to exit...
-pause >nul
-exit /b
-
-::========================================================================================================================================
-
-:: Check Windows Edition with SKU value for better accuracy
-
-:K38_CheckEdition
-
-for %%# in (
-4-Enterprise
-7-ServerStandard
-8-ServerDatacenter
-27-EnterpriseN
-48-Professional
-49-ProfessionalN
-50-ServerSolution
-98-CoreN
-99-CoreCountrySpecific
-100-CoreSingleLanguage
-101-Core
-110-ServerCloudStorage
-120-ServerARM64
-121-Education
-122-EducationN
-125-EnterpriseS
-126-EnterpriseSN
-145-ServerDatacenterACor
-146-ServerStandardACor
-161-ProfessionalWorkstation
-162-ProfessionalWorkstationN
-164-ProfessionalEducation
-165-ProfessionalEducationN
-168-ServerAzureCor
-171-EnterpriseG
-172-EnterpriseGN
-175-ServerRdsh
-183-CloudE
-) do for /f "tokens=1,2 delims=-" %%A in ("%%#") do (
-if %osSKU%==%%A set "osedition=%%B"
-)
-exit /b
-
-::========================================================================================================================================
-
-:: Generic Volume License Key (GVLK) List
-
-:: Windows 10 [RS5]
-:32d2fab3-e4a8-42c2-923b-4bf4fd13e6ee
-set "key=M7XTQ-FN8P6-TTKYV-9D4CC-J462D" &:: Enterprise LTSC 2019
-exit /b
-
-:7103a333-b8c8-49cc-93ce-d37c09687f92
-set "key=92NFX-8DJQP-P6BBQ-THF9C-7CG2H" &:: Enterprise LTSC 2019 N
-exit /b
-
-:ec868e65-fadf-4759-b23e-93fe37f2cc29
-set "key=CPWHC-NT2C7-VYW78-DHDB2-PG3GK" &:: Enterprise for Virtual Desktops
-exit /b
-
-:0df4f814-3f57-4b8b-9a9d-fddadcd69fac
-set "key=NBTWJ-3DR69-3C4V8-C26MC-GQ9M6" &:: Lean
-exit /b
-
-:: Windows 10 [RS3]
-:82bbc092-bc50-4e16-8e18-b74fc486aec3
-set "key=NRG8B-VKK3Q-CXVCJ-9G2XF-6Q84J" &:: Pro Workstation
-exit /b
-
-:4b1571d3-bafb-4b40-8087-a961be2caf65
-set "key=9FNHH-K3HBT-3W4TD-6383H-6XYWF" &:: Pro Workstation N
-exit /b
-
-:e4db50ea-bda1-4566-b047-0ca50abc6f07
-set "key=7NBT4-WGBQX-MP4H7-QXFF8-YP3KX" &:: Enterprise Remote Server
-exit /b
-
-:: Windows 10 [RS2]
-:e0b2d383-d112-413f-8a80-97f373a5820c
-set "key=YYVX9-NTFWV-6MDM3-9PT4T-4M68B" &:: Enterprise G
-exit /b
-
-:e38454fb-41a4-4f59-a5dc-25080e354730
-set "key=44RPN-FTY23-9VTTB-MP9BX-T84FV" &:: Enterprise G N
-exit /b
-
-:: Windows 10 [RS1]
-:2d5a5a60-3040-48bf-beb0-fcd770c20ce0
-set "key=DCPHK-NFMTC-H88MJ-PFHPY-QJ4BJ" &:: Enterprise 2016 LTSB
-exit /b
-
-:9f776d83-7156-45b2-8a5c-359b9c9f22a3
-set "key=QFFDN-GRT3P-VKWWX-X7T3R-8B639" &:: Enterprise 2016 LTSB N
-exit /b
-
-:3f1afc82-f8ac-4f6c-8005-1d233e606eee
-set "key=6TP4R-GNPTD-KYYHQ-7B7DP-J447Y" &:: Pro Education
-exit /b
-
-:5300b18c-2e33-4dc2-8291-47ffcec746dd
-set "key=YVWGF-BXNMC-HTQYQ-CPQ99-66QFC" &:: Pro Education N
-exit /b
-
-:: Windows 10 [TH]
-:58e97c99-f377-4ef1-81d5-4ad5522b5fd8
-set "key=TX9XD-98N7V-6WMQ6-BX7FG-H8Q99" &:: Home
-exit /b
-
-:7b9e1751-a8da-4f75-9560-5fadfe3d8e38
-set "key=3KHY7-WNT83-DGQKR-F7HPR-844BM" &:: Home N
-exit /b
-
-:cd918a57-a41b-4c82-8dce-1a538e221a83
-set "key=7HNRX-D7KGG-3K4RQ-4WPJ4-YTDFH" &:: Home Single Language
-exit /b
-
-:a9107544-f4a0-4053-a96a-1479abdef912
-set "key=PVMJN-6DFY6-9CCP6-7BKTT-D3WVR" &:: Home China
-exit /b
-
-:2de67392-b7a7-462a-b1ca-108dd189f588
-set "key=W269N-WFGWX-YVC9B-4J6C9-T83GX" &:: Pro
-exit /b
-
-:a80b5abf-76ad-428b-b05d-a47d2dffeebf
-set "key=MH37W-N47XK-V7XM9-C7227-GCQG9" &:: Pro N
-exit /b
-
-:e0c42288-980c-4788-a014-c080d2e1926e
-set "key=NW6C2-QMPVW-D7KKK-3GKT6-VCFB2" &:: Education
-exit /b
-
-:3c102355-d027-42c6-ad23-2e7ef8a02585
-set "key=2WH4N-8QGBV-H22JP-CT43Q-MDWWJ" &:: Education N
-exit /b
-
-:73111121-5638-40f6-bc11-f1d7b0d64300
-set "key=NPPR9-FWDCX-D2C8J-H872K-2YT43" &:: Enterprise
-exit /b
-
-:e272e3e2-732f-4c65-a8f0-484747d0d947
-set "key=DPH2V-TTNVB-4X9Q3-TJR4H-KHJW4" &:: Enterprise N
-exit /b
-
-:7b51a46c-0c04-4e8f-9af4-8496cca90d5e
-set "key=WNMTR-4C88C-JK8YV-HQ7T2-76DF9" &:: Enterprise 2015 LTSB
-exit /b
-
-:87b838b7-41b6-4590-8318-5797951d8529
-set "key=2F77B-TNFGY-69QQF-B8YKP-D69TJ" &:: Enterprise 2015 LTSB N
-exit /b
-
-:: Windows Server 2019 [RS5]
-:de32eafd-aaee-4662-9444-c1befb41bde2
-set "key=N69G4-B89J2-4G8F4-WWYCC-J464C" &:: Standard
-exit /b
-
-:34e1ae55-27f8-4950-8877-7a03be5fb181
-set "key=WMDGN-G9PQG-XVVXX-R3X43-63DFG" &:: Datacenter
-exit /b
-
-:034d3cbb-5d4b-4245-b3f8-f84571314078
-set "key=WVDHN-86M7X-466P6-VHXV7-YY726" &:: Essentials
-exit /b
-
-:a99cc1f0-7719-4306-9645-294102fbff95
-set "key=FDNH6-VW9RW-BXPJ7-4XTYG-239TB" &:: Azure Core
-exit /b
-
-:73e3957c-fc0c-400d-9184-5f7b6f2eb409
-set "key=N2KJX-J94YW-TQVFB-DG9YT-724CC" &:: Standard ACor
-exit /b
-
-:90c362e5-0da1-4bfd-b53b-b87d309ade43
-set "key=6NMRW-2C8FM-D24W7-TQWMY-CWH2D" &:: Datacenter ACor
-exit /b
-
-:8de8eb62-bbe0-40ac-ac17-f75595071ea3
-set "key=GRFBW-QNDC4-6QBHG-CCK3B-2PR88" &:: ServerARM64
-exit /b
-
-:: Windows Server 2016 [RS4]
-:43d9af6e-5e86-4be8-a797-d072a046896c
-set "key=K9FYF-G6NCK-73M32-XMVPY-F9DRR" &:: ServerARM64
-exit /b
-
-:: Windows Server 2016 [RS3]
-:61c5ef22-f14f-4553-a824-c4b31e84b100
-set "key=PTXN8-JFHJM-4WC78-MPCBR-9W4KR" &:: Standard ACor
-exit /b
-
-:e49c08e7-da82-42f8-bde2-b570fbcae76c
-set "key=2HXDN-KRXHB-GPYC7-YCKFJ-7FVDG" &:: Datacenter ACor
-exit /b
-
-:: Windows Server 2016 [RS1]
-:8c1c5410-9f39-4805-8c9d-63a07706358f
-set "key=WC2BQ-8NRM3-FDDYY-2BFGV-KHKQY" &:: Standard
-exit /b
-
-:21c56779-b449-4d20-adfc-eece0e1ad74b
-set "key=CB7KF-BWN84-R7R2Y-793K2-8XDDG" &:: Datacenter
-exit /b
-
-:2b5a1b0f-a5ab-4c54-ac2f-a6d94824a283
-set "key=JCKRF-N37P4-C2D82-9YXRT-4M63B" &:: Essentials
-exit /b
-
-:7b4433f4-b1e7-4788-895a-c45378d38253
-set "key=QN4C6-GBJD2-FB422-GHWJK-GJG2R" &:: Cloud Storage
-exit /b
-
-:3dbf341b-5f6c-4fa7-b936-699dce9e263f
-set "key=VP34G-4NPPG-79JTQ-864T4-R3MQX" &:: Azure Core
-exit /b
-
-::======================================================================================================================================== \ No newline at end of file
diff --git a/MAS_1.3/Separate-Files-Version/Activators/HWID-KMS38_Activation/ReadMe_HWID.txt b/MAS_1.3/Separate-Files-Version/Activators/HWID-KMS38_Activation/ReadMe_HWID.txt
deleted file mode 100644
index 74b23b0..0000000
--- a/MAS_1.3/Separate-Files-Version/Activators/HWID-KMS38_Activation/ReadMe_HWID.txt
+++ /dev/null
@@ -1,345 +0,0 @@
-====================================================================================================
- [HWID] Digital License Activation:
-====================================================================================================
-
- - This activation is supported for Windows 10 ONLY.
- - This activation does not store any files in your system.
- - This activation is a permanent activation for your system Hardware.
-
- - On a system, this activation can be created for all the supported editions, and all can be
- linked to Microsoft account without any issues.
-
- - Once a system is activated, this activation cannot be removed. (Because the license is stored in
- the Microsoft servers and not in the user's system.)
-
- - Any significant changes in the Hardware (such as a motherboard) may deactivate the system.
- It is possible to reactivate a system that was deactivated because of significant hardware
- changes, IF your activation, was linked to an online Microsoft account.
-
- - For activation to succeed, the Windows Update Service and internet connectivity must be enabled.
- If you are trying to activate without these conditions being met, then the system will auto-
- activate later when the conditions are met.
-
- - Auto activation scenario after the Windows reinstall:
- - The Internet is required. (Only at the time of activation)
- - The system will auto-activate if Retail (Consumer) media was used for the installation.
- - The system will NOT auto-activate if VL (Business) media was used for the installation.
- In this case, the user will have to insert that windows edition Retail/OEM key (find keys below
- in this page) to activate, if the user doesn't wish to activate again using this script.
-
- - Possible reasons for activation failure:
- - The Internet is not connected.
- - Windows update service is disabled.
- - Use of a VPN, and/or a privacy-based hosts file, firewall rules.
- - Corrupt system files.
- - Microsoft servers block the activation request from some countries such as Iran.
- - Rarely, Microsoft's activation servers are the problem.
- - Some machines are not able to generate GenuineTicket.xml file using gatherosstate.exe
- The reason is unknown (to me). Please contact me if it happens to you.
-
- * Troubleshoot guide is listed below.
-
-====================================================================================================
-
- Documentation by @mspaintmsi
-
- Included topics-
-
- How does it work?
- Is it possible that Microsoft can block these Digital Licenses (HWID)?
-
- https://pastebin.com/raw/7Xyaf15Z
- Mirror Link-
- https://textuploader.com/1dg8d/raw
-
- And
-
- https://github.com/massgravel/MASSGRAVE
- https://gitlab.com/massgrave/massgrave
-
-====================================================================================================
- Supported Products:
-====================================================================================================
-
- Windows 10 Versions that can be activated:
-
- Core
- CoreCountrySpecific
- CoreN
- CoreSingleLanguage
- Education
- EducationN
- Enterprise
- EnterpriseN
- EnterpriseS [LTSB 2015 & 2016]
- EnterpriseSN [LTSB 2015 & 2016]
- Professional
- ProfessionalEducation
- ProfessionalEducationN
- ProfessionalN
- ProfessionalWorkstation
- ProfessionalWorkstationN
- ServerRdsh
- IoTEnterprise
-
-
- Note - X86-X64 and ARM64 architecture systems are supported.
- - Any Evaluation version of Windows (i.e. 'EVAL' LTSB/C) cannot be activated.
- - LTSC 2019 is not supported.
-
-====================================================================================================
- Switches for the Script:
-====================================================================================================
-
- - To run the script in unattended mode, use /u parameter.
-"HWID_Activation.cmd" /u
-
-====================================================================================================
- File Details:
-====================================================================================================
-
- fabb5a0fc1e6a372219711152291339af36ed0b5 *gatherosstate.exe Virus Total = 0/71
- ca3a51fdfc8749b8be85f7904b1c238a6dfba135 *slc.dll Virus Total = 0/68
- 578364cb2319da7999acd8c015b4ce8da8f1b282 *ARM64_gatherosstate.exe Virus Total = 0/69
- 5dbea3a580cf60391453a04a5c910a3ceca2b810 *ARM64_slc.dll Virus Total = 0/67
- 48d928b1bec25a56fe896c430c2c034b7866aa7a *ClipUp.exe Virus Total = 0/68
-
- Virus Total Report Date: 2020-01-21
-
- - File Sources:
-
- - ClipUp.exe (Original):
- From Windows server 2016 x64 ISO
-
- - gatherosstate.exe (Original):
- From Windows 10 x86 14393 ADK
-
- - ARM64_gatherosstate.exe (Original):
- From Windows 10 ARM64 18362 ISO
-
- - ARM64_slc.dll and slc.dll:
-
- Original slshim
- https://github.com/vyvojar/slshim
-
- Improved by @mspaintmsi
- https://www.nsaneforums.com/topic/316668--/?do=findComment&comment=1497887
- https://github.com/massgravel/MASSGRAVE
- https://gitlab.com/massgrave/massgrave
-
- Source code is included.
- slc.dll is based on Integrated_Patcher_2 method.
- It is currently in use in HWID/KMS38 Activation script.
-
-____________________________________________________________________________________________________
-
- You can safely delete the following files if it's not required for you.
-
- ClipUp.exe - Required to KMS38 activate Server Cor and Acor editions.
- ARM64_gatherosstate.exe and ARM64_slc.dll - Required to activate ARM64 Arch Windows 10.
-
-====================================================================================================
- Manual Activation Process:
-====================================================================================================
-
- - Prerequisite:
-
- For Windows 10 x86-x64 system, you need following files,
- fabb5a0fc1e6a372219711152291339af36ed0b5 *gatherosstate.exe
- ca3a51fdfc8749b8be85f7904b1c238a6dfba135 *slc.dll
-
- For Windows 10 ARM64 system, you need following files,
- 578364cb2319da7999acd8c015b4ce8da8f1b282 *ARM64_gatherosstate.exe
- 5dbea3a580cf60391453a04a5c910a3ceca2b810 *ARM64_slc.dll
- * Rename the ARM64 files to gatherosstate.exe and slc.dll respectively.
-
-
- Make a folder named 'Files' in C drive, [C:\Files] and copy the required files in that folder.
-
- -------------------------------------------------------------------------------------------------
-
- Retail/OEM Keys Windows 10 Editions
-
- YTMG3-N6DKC-DKB77-7M9GH-8HVX7 Core
- 4CPRK-NM3K3-X6XXQ-RXX86-WXCHW CoreN
- N2434-X9D7W-8PF6X-8DV9T-8TYMD CoreCountrySpecific
- BT79Q-G7N6G-PGBYW-4YWX6-6F4BT CoreSingleLanguage
- YNMGQ-8RYV3-4PGQ3-C8XTP-7CFBY Education
- 84NGF-MHBT6-FXBX8-QWJK7-DRR8H EducationN
- XGVPP-NMH47-7TTHJ-W3FW7-8HV2C Enterprise
- 3V6Q6-NQXCX-V8YXR-9QCYV-QPFCT EnterpriseN
- FWN7H-PF93Q-4GGP8-M8RF3-MDWWW EnterpriseS [LTSB 2015]
- 8V8WN-3GXBH-2TCMG-XHRX3-9766K EnterpriseSN [LTSB 2015]
- NK96Y-D9CD8-W44CQ-R8YTK-DYJWX EnterpriseS [LTSB 2016]
- 2DBW3-N2PJG-MVHW3-G7TDK-9HKR4 EnterpriseSN [LTSB 2016]
- VK7JG-NPHTM-C97JM-9MPGT-3V66T Professional
- 2B87N-8KFHP-DKV6R-Y2C8J-PKCKT ProfessionalN
- 8PTT6-RNW4C-6V7J2-C2D3X-MHBPB ProfessionalEducation
- GJTYN-HDMQY-FRR76-HVGC7-QPF8P ProfessionalEducationN
- DXG7C-N36C4-C4HTG-X4T3X-2YV77 ProfessionalWorkstation
- WYPNQ-8C467-V2W6J-TX4WX-WT2RQ ProfessionalWorkstationN
- NJCF7-PW8QT-3324D-688JX-2YV66 ServerRdsh
- XQQYW-NFFMW-XJPBH-K8732-CKFFD IoTEnterprise
-
- -------------------------------------------------------------------------------------------------
-
- - Make sure the Windows Update Service and internet are both enabled.
- - Open a command prompt (run cmd.exe) as administrator, and enter following listed commands in the
- the sequence in which they are given.
- - Enter Retail/OEM Key, (Replace '%key%' with the key from the above list) with the following command:
-
-cscript /nologo %windir%\system32\slmgr.vbs /ipk %key%
-
- - Make sure slc.dll and gatherosstate.exe files are located in the folder, "C:\Files" and enter
- the following commands to generate GenuineTicket.xml file.
-
- For x86-x64 systems,
-
-pushd "C:\Files"
-rundll32 "C:\Files\slc.dll",PatchGatherosstate
-call "C:\Files\gatherosstatemodified.exe"
-
- For ARM64 systems,
-
-call "C:\Files\gatherosstate.exe"
-
- - Now a GenuineTicket.xml file should be created in the folder "C:\Files\", copy and paste this file in the
- folder named, "C:\ProgramData\Microsoft\Windows\ClipSVC\GenuineTicket\"
-
- - Now apply this ticket using the following commands in this sequence:
-
-net stop ClipSVC
-net start ClipSVC
-
- - Activate Windows with the following command:
-
-cscript /nologo %windir%\system32\slmgr.vbs /ato
-
- - Check Activation Status with the following command:
-
-cscript /nologo %windir%\system32\slmgr.vbs /xpr
-
- - Done.
-
- * Note - [clipup -v -o -altto <ticket_path>] method to apply the ticket was not suggested because
- of the issues in case the username have spaces or non English characters.
-
-====================================================================================================
- Troubleshoot activation issues:
-====================================================================================================
-
- - Make sure the internet is connected.
-
- - Open CMD and type services.msc and hit Enter, When Services opens up, look for 'Windows Update'
- and Make sure its startup type is set to Automatic. Some update blocking tools and scripts
- usually permanently block the update service, you need to make sure it's not the case.
-
- - VPN, privacy-based hosts and/or firewall rules may cause problems with the activation. Disable
- them if you are facing problems in activation.
-
- - Reboot the system.
-
- - Now run the script to activate Windows 10, and if unsuccessful,
- Try the troubleshoot button in the settings activation page.
- If still unsuccessful then read additional troubleshoot options listed below.
-
---------------------------------------------
-
- - Open CMD as administrator, and enter the following command:
-
-Dism /online /Cleanup-Image /RestoreHealth
-
- - After it's done, reboot the system and open CMD as administrator again, and enter the
- following command:
-
-sfc.exe /scannow
-
- - After it's done, reboot the system and run the activation script, and if unsuccessful,
- open CMD as administrator again, and enter the following command:
-
-slmgr.vbs /rearm
-
- - Reboot the system and run the activation script, and if unsuccessful,
- You may try to rebuild licensing Tokens.dat as suggested in https://support.microsoft.com/en-us/help/2736303
- (this will require to repair Office afterwards.)
-
- - Reboot the system and run the activation script, and if unsuccessful,
- try cleaning the clipup using the following commands, it will reset all the HWID/KMS38 installed
- licences in the current system installation. open CMD as administrator again, and enter the
- following commands one by one:
-
-net stop ClipSVC
-rundll32 clipc.dll,ClipCleanUpState
-
- - Reboot the system (important) and run the activation script, and if unsuccessful,
- Make sure hardware component proper drivers are installed, check manufacturer site/Windows-
- update for drivers.
-
- - After it's done, reboot the system and run the activation script, and if unsuccessful,
- it may be time to start over from the very beginning and do a clean install of windows :D
-
--------------------------------------------
- Activation is blocked in some countries -
--------------------------------------------
-
- - Microsoft servers block the activation request from some countries such as Iran,
- To activate the system in those countries, follow the below steps,
- - In the settings app, Change Region and Timezone to the USA location and use a VPN, choose the
- the location of the USA. Now run the script, it should activate now.
-
-----------------------------------------------------------------------------------------------------
-
- - Some machines are not able to generate GenuineTicket.xml file using gatherosstate.exe
- The reason is unknown (to me). Please contact me if it happens to you.
-
-=========================================================================================================
- Credits:
-=========================================================================================================
-
- @mspaintmsi Original co-authors of HWID/KMS38 Activation without KMS or predecessor install/upgrade.
- and Created various methods for HWID/KMS38 Activation
- *Anonymous https://www.nsaneforums.com/topic/316668--/?do=findComment&comment=1497887
- https://github.com/massgravel/MASSGRAVE
- https://gitlab.com/massgrave/massgrave
-
- @vyvojar Original slshim (slc.dll)
- https://github.com/vyvojar/slshim/releases
-
----------------------------------------------------------------------------------------------------------
-
- HWID/KMS38 methods Suggestions and improvements:-
-
- @sponpa New ideas for the HWID/KM38 Generation
- https://www.nsaneforums.com/topic/316668--/page/21/?tab=comments#comment-1431257
-
- @leitek8 Improvements for the slc.dll
- https://www.nsaneforums.com/topic/316668--/page/22/?tab=comments#comment-1438005
-
----------------------------------------------------------------------------------------------------------
-
- Kind Help:-
-
- Thanks for having my back and answering all of my queries. (In no particular order)
-
- @AveYo aka @BAU, @sponpa, @mspaintmsi @RPO, @leitek8, @mxman2k, @Yen, @abbodi1406
-
- @BorrowedWifi for providing support in fixing English grammar errors in the Read Me.
- @Chibi ANUBIS and @smashed for testing scripts for ARM64 system.
-
- Special thanks to @abbodi1406 for providing the great help.
-
----------------------------------------------------------------------------------------------------------
-
- This script is a part of 'Microsoft Activation Scripts' project.
-
- Homepages-
- NsaneForums: (Login Required) https://www.nsaneforums.com/topic/316668-microsoft-activation-scripts/
- GitHub: https://github.com/massgravel/Microsoft-Activation-Scripts
- GitLab: https://gitlab.com/massgrave/microsoft-activation-scripts
-
- Maintained by @WindowsAddict
-
- P.S. I (@WindowsAddict) did not help in the development of HWID/KMS38 Activation in any way, I only
- manage batch script tool which is based on the above mentioned original co-authors activation methods.
-
-========================================================================================================= \ No newline at end of file
diff --git a/MAS_1.3/Separate-Files-Version/Activators/HWID-KMS38_Activation/ReadMe_KMS38.txt b/MAS_1.3/Separate-Files-Version/Activators/HWID-KMS38_Activation/ReadMe_KMS38.txt
deleted file mode 100644
index 1864d7e..0000000
--- a/MAS_1.3/Separate-Files-Version/Activators/HWID-KMS38_Activation/ReadMe_KMS38.txt
+++ /dev/null
@@ -1,358 +0,0 @@
-====================================================================================================
- KMS38 Activation:
-====================================================================================================
-
- - This activation method activates Windows 10 and Windows Server (14393 and later builds),
- until the year 2038.
- - This activation method does not store any files on the system.
-
- - Make sure the following things have been accounted for, before applying KMS38 Activation:
- - Before the activation, if any KMS activator is installed, then make sure to uninstall it
- completely.
- - After KMS38 activation for the Windows Operating System has been achieved, if you want to
- additionally, use the 180 Days KMS Activator for MS Office, then you must make sure that
- it (the 180 Days KMS Activator for MS Office) is compatible with Windows KMS38 activation.
- FYI, the following activators are compatible and can activate Office
- without disrupting the Windows KMS38 activation.
-
- KMS_VL_ALL by @abbodi1406 https://forums.mydigitallife.net/posts/838808
- Online KMS Activation Script https://www.nsaneforums.com/topic/316668-microsoft-activation-scripts/
-
- - Any KMS Activator which is not compatible with KMS38, may overwrite the KMS38 activation for
- Windows with its own 180 days activation, thereby destroying the KMS38 activation for Windows.
- To prevent this accidental overwriting, you can apply KMS38 protection for Windows, check
- the Extras folder for more details.
-
- - Why is the script setting the specific KMS host to 127.0.0.2 (localhost)?
- - By doing this, global KMS IP can not replace KMS38 activation but can be used with Office and
- other Windows Editions.
- - In case you don't like it, you can remove it with following codes, open CMD as admin and enter,
-
-set "SPPk=SOFTWARE\Microsoft\Windows NT\CurrentVersion\SoftwareProtectionPlatform"
-reg delete "HKLM\%SPPk%\55c92734-d682-4d71-983e-d6ec3f16059f" /f
-reg delete "HKU\S-1-5-20\%SPPk%\55c92734-d682-4d71-983e-d6ec3f16059f" /f
-
-====================================================================================================
-
- Documentation by @mspaintmsi
-
- Included topics-
-
- How does it work?
-
- https://pastebin.com/raw/7Xyaf15Z
- Mirror Link-
- https://textuploader.com/1dg8d/raw
-
- And
-
- https://github.com/massgravel/MASSGRAVE
- https://gitlab.com/massgrave/massgrave
-
-====================================================================================================
- Supported Products:
-====================================================================================================
-
- Windows 10:
-
- Core
- CoreCountrySpecific
- CoreN
- CoreSingleLanguage
- Education
- EducationN
- Enterprise
- EnterpriseG
- EnterpriseGN
- EnterpriseN
- EnterpriseS [LTSB 2016 & LTSC 2019]
- EnterpriseSN [LTSB 2016 & LTSC 2019]
- Professional
- ProfessionalEducation
- ProfessionalEducationN
- ProfessionalN
- ProfessionalWorkstation
- ProfessionalWorkstationN
- ServerRdsh
-
- ------------------------
-
- Windows Server:
-
- ServerCloudStorage [Server 2016]
- ServerDatacenter [Server 2016 & 2019]
- ServerDatacenterCor [Server 2016 & 2019]
- ServerSolution [Server 2016 & 2019]
- ServerSolutionCor [Server 2016 & 2019]
- ServerStandard [Server 2016 & 2019]
- ServerStandardCor [Server 2016 & 2019]
- ServerAzureCor [Server 2016 & 2019]
- ServerDatacenterACor [All versions]
- ServerStandardACor [All versions]
-
-
- Note - X86-X64 and ARM64 architecture systems are supported.
- - Any Evaluation version of Windows and Server (i.e. 'EVAL' LTSB/C) cannot be activated.
- - KMS38 only supports Windows/server version 14393 (1607) and newer versions.
-
-====================================================================================================
- Switches in the Script:
-====================================================================================================
-
- - For unattended mode, run the script with /u parameter.
-
-"KMS38_Activation.cmd" /u
-
-====================================================================================================
- File Details:
-====================================================================================================
-
- fabb5a0fc1e6a372219711152291339af36ed0b5 *gatherosstate.exe Virus Total = 0/71
- ca3a51fdfc8749b8be85f7904b1c238a6dfba135 *slc.dll Virus Total = 0/68
- 578364cb2319da7999acd8c015b4ce8da8f1b282 *ARM64_gatherosstate.exe Virus Total = 0/69
- 5dbea3a580cf60391453a04a5c910a3ceca2b810 *ARM64_slc.dll Virus Total = 0/67
- 48d928b1bec25a56fe896c430c2c034b7866aa7a *ClipUp.exe Virus Total = 0/68
-
- Virus Total Report Date: 2020-01-21
-
- - File Sources:
-
- - ClipUp.exe (Original):
- From Windows server 2016 x64 ISO
-
- - gatherosstate.exe (Original):
- From Windows 10 x86 14393 ADK
-
- - ARM64_gatherosstate.exe (Original):
- From Windows 10 ARM64 18362 ISO
-
- - ARM64_slc.dll and slc.dll:
-
- Original slshim
- https://github.com/vyvojar/slshim
-
- Improved by @mspaintmsi
- https://www.nsaneforums.com/topic/316668--/?do=findComment&comment=1497887
- https://github.com/massgravel/MASSGRAVE
- https://gitlab.com/massgrave/massgrave
-
- Source code is included.
- slc.dll is based on Integrated_Patcher_2 method.
- It is currently in use in HWID/KMS38 Activation script.
-
-____________________________________________________________________________________________________
-
- You can safely delete the following files if it's not required for you.
-
- ClipUp.exe - Required to KMS38 activate Server Cor and Acor editions.
- ARM64_gatherosstate.exe and ARM64_slc.dll - Required to activate ARM64 Arch Windows 10.
-
-====================================================================================================
- Manual Activation Process:
-====================================================================================================
-
- - Prerequisite:
-
- For Windows 10 / Server x86-x64 system, you need following files,
- 48d928b1bec25a56fe896c430c2c034b7866aa7a *ClipUp.exe
- fabb5a0fc1e6a372219711152291339af36ed0b5 *gatherosstate.exe
- ca3a51fdfc8749b8be85f7904b1c238a6dfba135 *slc.dll
- * ClipUp.exe is only required to activate Server Cor and Acor editions.
-
- For Windows 10 ARM64 system, you need following files,
- 578364cb2319da7999acd8c015b4ce8da8f1b282 *ARM64_gatherosstate.exe
- 5dbea3a580cf60391453a04a5c910a3ceca2b810 *ARM64_slc.dll
- * Rename the ARM64 files to gatherosstate.exe and slc.dll respectively.
-
- Make a folder named 'Files' in C drive, [C:\Files] and copy the required files in that folder.
-
- -------------------------------------------------------------------------------------------------
-
- GVLK Windows 10 Editions
-
- TX9XD-98N7V-6WMQ6-BX7FG-H8Q99 Core
- PVMJN-6DFY6-9CCP6-7BKTT-D3WVR CoreCountrySpecific
- 3KHY7-WNT83-DGQKR-F7HPR-844BM CoreN
- 7HNRX-D7KGG-3K4RQ-4WPJ4-YTDFH CoreSingleLanguage
- NW6C2-QMPVW-D7KKK-3GKT6-VCFB2 Education
- 2WH4N-8QGBV-H22JP-CT43Q-MDWWJ EducationN
- NPPR9-FWDCX-D2C8J-H872K-2YT43 Enterprise
- YYVX9-NTFWV-6MDM3-9PT4T-4M68B EnterpriseG
- 44RPN-FTY23-9VTTB-MP9BX-T84FV EnterpriseGN
- DPH2V-TTNVB-4X9Q3-TJR4H-KHJW4 EnterpriseN
- DCPHK-NFMTC-H88MJ-PFHPY-QJ4BJ EnterpriseS [LTSB 2016]
- M7XTQ-FN8P6-TTKYV-9D4CC-J462D EnterpriseS [LTSC 2019]
- QFFDN-GRT3P-VKWWX-X7T3R-8B639 EnterpriseSN [LTSB 2016]
- 92NFX-8DJQP-P6BBQ-THF9C-7CG2H EnterpriseSN [LTSC 2019]
- W269N-WFGWX-YVC9B-4J6C9-T83GX Professional
- 6TP4R-GNPTD-KYYHQ-7B7DP-J447Y ProfessionalEducation
- YVWGF-BXNMC-HTQYQ-CPQ99-66QFC ProfessionalEducationN
- MH37W-N47XK-V7XM9-C7227-GCQG9 ProfessionalN
- NRG8B-VKK3Q-CXVCJ-9G2XF-6Q84J ProfessionalWorkstation
- 9FNHH-K3HBT-3W4TD-6383H-6XYWF ProfessionalWorkstationN
- 7NBT4-WGBQX-MP4H7-QXFF8-YP3KX ServerRdsh [Less than 1809]
- CPWHC-NT2C7-VYW78-DHDB2-PG3GK ServerRdsh [Greater or Equal 1809]
-
- GVLK Windows Server Editions
-
- QN4C6-GBJD2-FB422-GHWJK-GJG2R ServerCloudStorage [Server 2016]
- CB7KF-BWN84-R7R2Y-793K2-8XDDG ServerDatacenter, ServerDatacenterCor [Server 2016]
- WMDGN-G9PQG-XVVXX-R3X43-63DFG ServerDatacenter, ServerDatacenterCor [Server 2019]
- JCKRF-N37P4-C2D82-9YXRT-4M63B ServerSolution, ServerSolutionCor [Server 2016]
- WVDHN-86M7X-466P6-VHXV7-YY726 ServerSolution, ServerSolutionCor [Server 2019]
- WC2BQ-8NRM3-FDDYY-2BFGV-KHKQY ServerStandard, ServerStandardCor [Server 2016]
- N69G4-B89J2-4G8F4-WWYCC-J464C ServerStandard, ServerStandardCor [Server 2019]
- VP34G-4NPPG-79JTQ-864T4-R3MQX ServerAzureCor [Server 2016]
- FDNH6-VW9RW-BXPJ7-4XTYG-239TB ServerAzureCor [Server 2019]
- 6Y6KB-N82V8-D8CQV-23MJW-BWTG6 ServerDatacenterACor [Server 1709 and later]
- DPCNP-XQFKJ-BJF7R-FRC8D-GF6G4 ServerStandardACor [Server 1709 and later]
-
- -------------------------------------------------------------------------------------------------
-
- - Make sure to properly and completely remove any previously-installed KMS activator if one already exists.
- - Open CMD as Admin, and enter the following listed commands in the sequence in which they are given.
- - Enter Generic Volume License Key (GVLK) (Replace '%key%' with the key from the above list)
- with the following command:
-
-cscript /nologo %windir%\system32\slmgr.vbs /ipk %key%
-
- - Set specific KMS host to 127.0.0.2 [Localhost] with the following command: (Run one by one)
- - By doing this, the global KMS IP can not replace the KMS38 activation, and can then safely be used with MS Office
- and other Windows Editions.
- - It's optional.
-
-set spp=SoftwareLicensingProduct
-for /f "tokens=2 delims==" %G in ('"wmic path %spp% where (Description like '%%KMSCLIENT%%' and Name like 'Windows%%' and PartialProductKey is not NULL) get ID /VALUE"') do (set app=%G)
-wmic path %spp% where ID='%app%' call ClearKeyManagementServiceMachine
-wmic path %spp% where ID='%app%' call ClearKeyManagementServicePort
-wmic path %spp% where ID='%app%' call SetKeyManagementServiceMachine MachineName="127.0.0.2"
-wmic path %spp% where ID='%app%' call SetKeyManagementServicePort 1688
-
- - Make sure slc.dll and gatherosstate.exe files are located in the folder, "C:\Files" and enter
- following command to generate GenuineTicket.xml file.
-
-call "C:\Files\gatherosstate.exe"
-
- - Now a GenuineTicket.xml file should be created in the folder "C:\Files\", copy and paste this file in the
- folder named, "C:\ProgramData\Microsoft\Windows\ClipSVC\GenuineTicket\"
-
- - Now apply this ticket using the following commands in this sequence:
- (In case of server cor and acor editions, copy the clipup.exe file to the folder "C:\Windows\System32\")
-
-net stop ClipSVC
-net start ClipSVC
-
- - Check the expiry date of the activation with the following command:
-
-cscript /nologo %windir%\system32\slmgr.vbs /xpr
-
- - If the expiry date is not in the year 2038, then enter the following command:
-
-cscript /nologo %windir%\system32\slmgr.vbs /rearm-app 55c92734-d682-4d71-983e-d6ec3f16059f
-set spp=SoftwareLicensingProduct
-for /f "tokens=2 delims==" %G in ('"wmic path %spp% where (Description like '%%KMSCLIENT%%' and Name like 'Windows%%' and PartialProductKey is not NULL) get ID /VALUE"') do (set app=%G)
-cscript /nologo %windir%\system32\slmgr.vbs /rearm-sku %app%
-
- - check expiry date again, now it should show activation until the year 2038.
-
- - Done.
-
-====================================================================================================
- Troubleshoot activation issues:
-====================================================================================================
-
- - Make sure to completely remove any previously-installed KMS activators if any exist, before
- installing KMS38 activation.
-
- - Reboot the system.
-
- - Now run the script to activate Windows 10, and if unsuccessful,
- Try the troubleshoot button in settings activation page.
- If still unsuccessful then read additional troubleshoot options listed below.
-
---------------------------------------------
-
- - Open CMD as Admin, and enter the following command:
-
-Dism /online /Cleanup-Image /RestoreHealth
-
- - After its done, reboot the system and Open CMD as Admin, and enter the following command:
-
-sfc.exe /scannow
-
- - After it's done, reboot the system and run the activation script, and if unsuccessful,
- open CMD as administrator again, and enter the following command:
-
-slmgr.vbs /rearm
-
- - Reboot the system (important) and run the activation script, and if unsuccessful,
- You may try to rebuild licensing Tokens.dat as suggested in https://support.microsoft.com/en-us/help/2736303
- (this will require to repair Office afterwards.)
-
- - Reboot the system and run the activation script, and if unsuccessful,
- try cleaning the clipup using the following commands, it will reset all the HWID/KMS38 installed
- licences in the current system installation. open CMD as administrator again, and enter the
- following commands one by one:
-
-net stop ClipSVC
-rundll32 clipc.dll,ClipCleanUpState
-
- - Reboot the system (important) and run the activation script, and if unsuccessful, it may be
- time to start over from the very beginning and do a clean install of windows :D
-
-----------------------------------------------------------------------------------------------------
-
- - Some machines are not able to generate GenuineTicket.xml file using gatherosstate.exe
- The reason is unknown (to me). Please contact me if it happens to you.
-
-=========================================================================================================
- Credits:
-=========================================================================================================
-
- @mspaintmsi Original co-authors of HWID/KMS38 Activation without KMS or predecessor install/upgrade.
- and Created various methods for HWID/KMS38 Activation
- *Anonymous https://www.nsaneforums.com/topic/316668--/?do=findComment&comment=1497887
- https://github.com/massgravel/MASSGRAVE
- https://gitlab.com/massgrave/massgrave
-
- @vyvojar Original slshim (slc.dll)
- https://github.com/vyvojar/slshim/releases
-
----------------------------------------------------------------------------------------------------------
-
- HWID/KMS38 methods Suggestions and improvements:-
-
- @sponpa New ideas for the HWID/KM38 Generation
- https://www.nsaneforums.com/topic/316668--/page/21/?tab=comments#comment-1431257
-
- @leitek8 Improvements for the slc.dll
- https://www.nsaneforums.com/topic/316668--/page/22/?tab=comments#comment-1438005
-
----------------------------------------------------------------------------------------------------------
-
- Kind Help:-
-
- Thanks for having my back and answering all of my queries. (In no particular order)
-
- @AveYo aka @BAU, @sponpa, @mspaintmsi @RPO, @leitek8, @mxman2k, @Yen, @abbodi1406
-
- @BorrowedWifi for providing support in fixing English grammar errors in the Read Me.
- @Chibi ANUBIS and @smashed for testing scripts for ARM64 system.
-
- Special thanks to @abbodi1406 for providing the great help.
-
----------------------------------------------------------------------------------------------------------
-
- This script is a part of 'Microsoft Activation Scripts' project.
-
- Homepages-
- NsaneForums: (Login Required) https://www.nsaneforums.com/topic/316668-microsoft-activation-scripts/
- GitHub: https://github.com/massgravel/Microsoft-Activation-Scripts
- GitLab: https://gitlab.com/massgrave/microsoft-activation-scripts
-
- Maintained by @WindowsAddict
-
- P.S. I (@WindowsAddict) did not help in the development of HWID/KMS38 Activation in any way, I only
- manage batch script tool which is based on the above mentioned original co-authors activation methods.
-
-========================================================================================================= \ No newline at end of file
diff --git a/MAS_1.3/Separate-Files-Version/Activators/Online_KMS_Activation/Activate.cmd b/MAS_1.3/Separate-Files-Version/Activators/Online_KMS_Activation/Activate.cmd
deleted file mode 100644
index dccf733..0000000
--- a/MAS_1.3/Separate-Files-Version/Activators/Online_KMS_Activation/Activate.cmd
+++ /dev/null
@@ -1,2387 +0,0 @@
-@setlocal DisableDelayedExpansion
-@echo off
-
-
-
-::========================================================================================================================================
-
-:: change to 1 to enable debug mode
-set _Debug=0
-
-:: change to 0 to turn OFF Windows or Office activation via the script
-:: note: this is not effective if Windows and/or Office installation is already Volume (GVLK installed)
-set ActWindows=1
-set ActOffice=1
-
-:: change to 0 to revert Windows 10 KMS38 to normal KMS
-set SkipKMS38=1
-
-:: change to 0 to turn OFF auto conversion for Office C2R Retail to Volume
-set AutoR2V=1
-
-:: set the script to use only one specific KMS server address.
-:: paste the server address after the = sign in below line.
-set KMS_Server=
-
-:: Change to 1 to clear KMS cache after the activation.
-:: - Registered KMS server address (cache) enables the system to automatically renew the license (for every next 180 days) every 7 days, as long as the server is online.
-:: - This process is same as how the legal KMS suppose to work, so no security program will flag this behaviour.
-:: - Changing this option here won't have any effect if manual (Desktop Context menu) and/or auto, renewal activation script is installed. [default (0)].
-:: - I recommend to leave this option as default (0).
-set Clear-KMS-Cache=0
-
-:: ### Advanced KMS Options ###
-
-:: change KMS auto renewal schedule, range in minutes: from 15 to 43200
-:: example: 10080 = weekly, 1440 = daily, 43200 = monthly
-set KMS_RenewalInterval=10080
-
-:: change KMS reattempt schedule for failed activation or unactivated, range in minutes: from 15 to 43200
-set KMS_ActivationInterval=120
-
-:: change Hardware Hash for KMS emulator server (only affect Windows 8.1 and 10)
-set KMS_HWID=0x3A1C049600B60076
-
-:: change KMS TCP port
-set KMS_Port=1688
-
-: ##################################################################
-: # NORMALY THERE IS NO NEED TO CHANGE ANYTHING BELOW THIS COMMENT #
-: ##################################################################
-
-
-::========================================================================================================================================
-
-: Credits:
-
-:: This script is a fork of 'KMS_VL_ALL - Smart Activation Script' Project
-:: The main project is maintained by @abbodi1406
-:: https://forums.mydigitallife.net/posts/838808
-
-:: This fork was made to avoid having any KMS binary files and system can be activated using
-:: some manual commands or transparent batch script files.
-:: Thanks to @RPO (MDL), for providing great help in making of this fork.
-
-::--------------------------------------------------------------------------------------------------------
-
-:: This script is a part of 'Microsoft Activation Scripts' project.
-::
-:: Homepages-
-:: NsaneForums: (Login Required) https://www.nsaneforums.com/topic/316668-microsoft-activation-scripts/
-:: GitHub: https://github.com/massgravel/Microsoft-Activation-Scripts
-:: GitLab: https://gitlab.com/massgrave/microsoft-activation-scripts
-::
-:: Maintained by @WindowsAddict
-
-::========================================================================================================================================
-
-cls
-title Online KMS Activation
-set Unattended=
-set _args=
-set _elev=
-set Task=
-set "_arg1=%~1"
-if not defined _arg1 goto :NoProgArgs
-set "_args=%~1"
-set "_arg2=%~2"
-if defined _arg2 set "_args=%~1 %~2"
-for %%A in (%_args%) do (
-if /i "%%A"=="-el" set _elev=1
-if /i "%%A"=="/u" set Unattended=1
-if /i "%%A"=="Task" set Task=1&set Unattended=1)
-:NoProgArgs
-for /f "tokens=6 delims=[]. " %%G in ('ver') do set winbuild=%%G
-set "_psc=powershell -nop -ep bypass -c"
-set "nul=1>nul 2>nul"
-set "EchoRed=%_psc% write-host -back Black -fore Red"
-set "EchoGreen=%_psc% write-host -back Black -fore Green"
-set "ELine=echo: & %EchoRed% ==== ERROR ==== &echo:"
-
-::========================================================================================================================================
-
-for %%i in (powershell.exe) do if "%%~$path:i"=="" (
-echo: &echo ==== ERROR ==== &echo:
-echo Powershell is not installed in the system.
-echo Aborting...
-goto Done
-)
-
-::========================================================================================================================================
-
-if %winbuild% LSS 7600 (
-%ELine%
-echo Unsupported OS version Detected.
-echo Project is supported only for Windows 7/8/8.1/10 and their Server equivalent.
-goto Done
-)
-
-::========================================================================================================================================
-
-:: Fix for the special characters limitation in path name
-:: Written by @abbodi1406
-
-set "_batf=%~f0"
-set "_vbsf=%temp%\admin.vbs"
-set _PSarg="""%~f0""" -el
-if defined _args set _PSarg="""%~f0""" -el """%_args%"""
-
-setlocal EnableDelayedExpansion
-
-:: Elevate script as admin and pass arguments and preventing loop
-:: Thanks to @hearywarlot [ https://forums.mydigitallife.net/threads/.74332/ ] for the VBS method.
-:: Thanks to @abbodi1406 for the powershell method and solving special characters issue in file path name.
-
-%nul% reg query HKU\S-1-5-19 && (
- goto :Passed
- ) || (
- if defined _elev goto :E_Admin
-)
-
-(
-echo Set strArg=WScript.Arguments.Named
-echo Set strRdlproc = CreateObject^("WScript.Shell"^).Exec^("rundll32 kernel32,Sleep"^)
-echo With GetObject^("winmgmts:\\.\root\CIMV2:Win32_Process.Handle='" ^& strRdlproc.ProcessId ^& "'"^)
-echo With GetObject^("winmgmts:\\.\root\CIMV2:Win32_Process.Handle='" ^& .ParentProcessId ^& "'"^)
-echo If InStr ^(.CommandLine, WScript.ScriptName^) ^<^> 0 Then
-echo strLine = Mid^(.CommandLine, InStr^(.CommandLine , "/File:"^) + Len^(strArg^("File"^)^) + 8^)
-echo End If
-echo End With
-echo .Terminate
-echo End With
-echo CreateObject^("Shell.Application"^).ShellExecute "cmd.exe", "/c " ^& chr^(34^) ^& chr^(34^) ^& strArg^("File"^) ^& chr^(34^) ^& strLine ^& chr^(34^), "", "runas", 1
-)>"!_vbsf!"
-
-(%nul% cscript //NoLogo "!_vbsf!" /File:"!_batf!" -el "!_args!") && (
-del /f /q "!_vbsf!"
-exit /b
-) || (
-del /f /q "!_vbsf!"
-%nul% %_psc% "start cmd.exe -arg '/c \"!_PSarg:'=''!\"' -verb runas" && (
-exit /b
-) || (
-goto :E_Admin
-)
-)
-exit /b
-
-:E_Admin
-%ELine%
-if "!_batf!"=="%ProgramData%\Online_KMS_Activation\Activate.cmd" (
-echo Unable to elevate the script as admin.
-echo Try to manually run the file as admin - "%ProgramData%\Online_KMS_Activation\Activate.cmd"
-) else (
-echo This script require administrator privileges.
-echo To do so, right click on this script and select 'Run as administrator'.
-)
-goto Done
-
-:Passed
-
-::========================================================================================================================================
-
-if defined Task (
-set DateTime=1
-set Renewal_Task=1
-reg query "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Schedule\taskcache\tasks" /f Path /s | find /i "\Online_KMS_Activation_Script-Run_Once" >nul && (
-set Renewal_Task=
-set Run_Once=1
-)
-)
-
-If defined Task call :_Start_>>"%ProgramData%\Online_KMS_Activation\Logs.txt" & exit
-:_Start_
-If defined Task call :Activation_Start & echo Exiting... & echo: & exit /b
-
-::========================================================================================================================================
-
-:: Set buffer height independently of window height
-:: https://stackoverflow.com/a/13351373
-:: Written by @dbenham (stackoverflow)
-
-mode con: cols=98 lines=30
-if "!_batf!"=="%ProgramData%\Online_KMS_Activation\Activate.cmd" title Online KMS Activation [%ProgramData%\Online_KMS_Activation\]
-%nul% %_psc% "&{$H=get-host;$W=$H.ui.rawui;$B=$W.buffersize;$B.height=150;$W.buffersize=$B;}"
-
-::========================================================================================================================================
-
-cls
-setlocal
-call :Activation_Start
-@echo off
-endlocal
-
-setlocal
-call :Clear-KMS-Cache
-endlocal
-
-::========================================================================================================================================
-
-:Done
-
-echo:
-if %_Debug% EQU 1 exit /b
-if defined Unattended (
-echo Exiting in 3 seconds...
-if %winbuild% LSS 7600 (ping -n 3 127.0.0.1 > nul) else (timeout /t 3)
-exit /b
-)
-echo Press any key to exit...
-pause >nul
-exit /b
-
-::========================================================================================================================================
-
-:Clear-KMS-Cache
-
-if exist "%ProgramData%\Online_KMS_Activation\Activate.cmd" exit /b
-if %Clear-KMS-Cache% NEQ 1 exit /b
-
-:: Clear-KMS-Cache.cmd
-:: https://forums.mydigitallife.net/posts/1511883
-:: Written by @abbodi1406 (MDL)
-
-set "SysPath=%Windir%\System32"
-if exist "%Windir%\Sysnative\reg.exe" (set "SysPath=%Windir%\Sysnative")
-set "Path=%SysPath%;%Windir%;%SysPath%\Wbem;%SysPath%\WindowsPowerShell\v1.0\"
-set "OSPP=SOFTWARE\Microsoft\OfficeSoftwareProtectionPlatform"
-set "SPPk=SOFTWARE\Microsoft\Windows NT\CurrentVersion\SoftwareProtectionPlatform"
-wmic path SoftwareLicensingProduct where (Description like '%%KMSCLIENT%%') get Name 2>nul | findstr /i Windows 1>nul && (set SppHook=1) || (set SppHook=0)
-wmic path SoftwareLicensingProduct where (Description like '%%KMSCLIENT%%') get Name 2>nul | findstr /i Office 1>nul && (set SppHook=1)
-wmic path OfficeSoftwareProtectionService get Version >nul 2>&1 && (set OsppHook=1) || (set OsppHook=0)
-if %SppHook% NEQ 0 call :cKMS SoftwareLicensingProduct SoftwareLicensingService SPP
-if %OsppHook% NEQ 0 call :cKMS OfficeSoftwareProtectionProduct OfficeSoftwareProtectionService OSPP
-call :cREG >nul 2>&1
-%EchoGreen% Cleared KMS Cache successfully.
-exit /b
-
-:cKMS
-set spp=%1
-set sps=%2
-for /f "tokens=2 delims==" %%G in ('"wmic path %spp% where (Description like '%%KMSCLIENT%%') get ID /VALUE" 2^>nul') do (set app=%%G&call :cAPP)
-for /f "tokens=2 delims==" %%A in ('"wmic path %sps% get Version /VALUE"') do set ver=%%A
-wmic path %sps% where version='%ver%' call ClearKeyManagementServiceMachine >nul 2>&1
-wmic path %sps% where version='%ver%' call ClearKeyManagementServicePort >nul 2>&1
-wmic path %sps% where version='%ver%' call DisableKeyManagementServiceDnsPublishing 1 >nul 2>&1
-wmic path %sps% where version='%ver%' call DisableKeyManagementServiceHostCaching 1 >nul 2>&1
-goto :eof
-
-:cAPP
-wmic path %spp% where ID='%app%' call ClearKeyManagementServiceMachine >nul 2>&1
-wmic path %spp% where ID='%app%' call ClearKeyManagementServicePort >nul 2>&1
-goto :eof
-
-:cREG
-reg delete "HKLM\%SPPk%\55c92734-d682-4d71-983e-d6ec3f16059f" /f
-reg delete "HKLM\%SPPk%\0ff1ce15-a989-479d-af46-f275c6370663" /f
-reg delete "HKLM\%SPPk%" /f /v KeyManagementServiceName
-reg delete "HKLM\%SPPk%" /f /v KeyManagementServicePort
-reg delete "HKU\S-1-5-20\%SPPk%\55c92734-d682-4d71-983e-d6ec3f16059f" /f
-reg delete "HKU\S-1-5-20\%SPPk%\0ff1ce15-a989-479d-af46-f275c6370663" /f
-reg delete "HKLM\%OSPP%\59a52881-a989-479d-af46-f275c6370663" /f
-reg delete "HKLM\%OSPP%\0ff1ce15-a989-479d-af46-f275c6370663" /f
-reg delete "HKLM\%OSPP%" /f /v KeyManagementServiceName
-reg delete "HKLM\%OSPP%" /f /v KeyManagementServicePort
-if %OsppHook% NEQ 1 (
-reg delete "HKLM\%OSPP%" /f
-reg delete "HKU\S-1-5-20\%OSPP%" /f
-)
-goto :eof
-
-::========================================================================================================================================
-
-:=========================================================================================================================================
-:=========================================================================================================================================
-:=========================================================================================================================================
-:=========================================================================================================================================
-
-
-
-
-
-
-
-
-
-
-:Activation_Start
-
-@setlocal DisableDelayedExpansion
-
-set Silent=0
-set Logger=0
-set Unattend=1
-
-if %Silent% EQU 1 set Unattend=1
-set "_run=nul"
-if %Logger% EQU 1 set _run="%~dpn0_Silent.log"
-
-set "SysPath=%SystemRoot%\System32"
-if exist "%SystemRoot%\Sysnative\reg.exe" (set "SysPath=%SystemRoot%\Sysnative")
-set "Path=%SysPath%;%SystemRoot%;%SysPath%\Wbem;%SysPath%\WindowsPowerShell\v1.0\"
-set "_err===== ERROR ===="
-set "xOS=x64"
-set "xBit=x64"
-if /i %PROCESSOR_ARCHITECTURE%==x86 (if not defined PROCESSOR_ARCHITEW6432 (
- set "xOS=x86"
- set "xBit=x86"
- )
-)
-
-set "_temp=%SystemRoot%\Temp"
-set "_log=%~dpn0"
-set "_work=%~dp0"
-if "%_work:~-1%"=="\" set "_work=%_work:~0,-1%"
-for /f "skip=2 tokens=2*" %%a in ('reg query "HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\User Shell Folders" /v Desktop') do call set "_dsk=%%b"
-if exist "%SystemDrive%\Users\Public\Desktop\desktop.ini" set "_dsk=%SystemDrive%\Users\Public\Desktop"
-setlocal EnableDelayedExpansion
-
-if %_Debug% EQU 0 (
- set "_Nul1=1>nul"
- set "_Nul2=2>nul"
- set "_Nul6=2^>nul"
- set "_Nul3=1>nul 2>nul"
- set "_Pause=pause >nul"
- if %Unattend% EQU 1 set "_Pause="
- if %Silent% EQU 0 (call :Begin) else (call :Begin >!_run! 2>&1)
-) else (
- set "_Nul1="
- set "_Nul2="
- set "_Nul6="
- set "_Nul3="
- set "_Pause="
- copy /y nul "!_work!\#.rw" 1>nul 2>nul && (if exist "!_work!\#.rw" del /f /q "!_work!\#.rw") || (set "_log=!_dsk!\%~n0")
- if %Silent% EQU 0 (
- echo:
- echo Running in Debug Mode...
- if not defined _args (echo The window will be closed when finished) else (echo please wait...)
- echo:
- echo writing debug log to:
- echo "!_log!_Debug.log"
- )
- @echo on
- @prompt $G
- @call :Begin >"!_log!_tmp.log" 2>&1 &cmd /u /c type "!_log!_tmp.log">"!_log!_Debug.log"&del "!_log!_tmp.log"
-)
-@echo off
-@exit /b
-
-:Begin
-
-::========================================================================================================================================
-
-:: Multi KMS servers integration
-:: 1688 Port Test, Internet Test with Powershell
-:: Thanks @RPO
-
-If defined Renewal_Task set T_Name=Renewal_Task
-If defined Run_Once set T_Name=Run_Once_[Activation_Task]
-
-if defined DateTime (
-echo ========================================================================================================
-echo ----------------------------
-Echo %T_Name%
-echo ----------------------------
-echo ----------------------------------------------
-echo Date : %date% Time : %time%
-echo ----------------------------------------------
-)
-
-set /a loop=1
-set /a max_loop=1
-if defined Renewal_Task set /a max_loop=3
-if defined Run_Once set /a max_loop=5
-
-:repeat
-powershell -NoProfile -nologo "If([Activator]::CreateInstance([Type]::GetTypeFromCLSID([Guid]'{DCB00C01-570F-4A9B-8D69-199FDBA5723B}')).IsConnectedToInternet){Exit 0}Else{Exit 1}"
-if %errorlevel%==0 (goto IntConnected)
-
-if %loop%== %max_loop% (
-%ELine%
-echo Internet is not connected.
-echo: &exit /b 1
-)
-echo Checking: Internet is not connected.
-echo Waiting 30 s
-timeout /t 30 >nul
-set /a loop=%loop%+1
-goto repeat
-
-:IntConnected
-
-if defined KMS_Server (
-echo:
-set "KMS_IP=%KMS_Server%"
-set /a online_server_count=1
-set /a activation_ok=1
-goto gotserv
-)
-
-:: Primary servers randomization
-:: Thanks to @abbodi1406
-
-set "srvpri="
-set "srvsec="
-set "srvpri=%srvpri%kms.srv.cr"
-set "srvpri=%srvpri%soo.com"
-set "srvpri=%srvpri% kms.lol"
-set "srvpri=%srvpri%i.beer"
-set "srvpri=%srvpri% kms8.MSGu"
-set "srvpri=%srvpri%ides.com"
-
-set "srvsec=%srvsec% kms9.MSGui"
-set "srvsec=%srvsec%des.com"
-set "srvsec=%srvsec% kms.zhuxi"
-set "srvsec=%srvsec%aole.org"
-set "srvsec=%srvsec% kms.lol"
-set "srvsec=%srvsec%ico.moe"
-set "srvsec=%srvsec% kms.moec"
-set "srvsec=%srvsec%lub.org"
-
-set n=1
-for %%a in (%srvpri%) do (set server!n!=%%a&set /a n+=1)
-for %%a in (%srvsec%) do (set server!n!=%%a&set /a n+=1)
-set /a max_servers=n-1
-set /a srvpri_num=1
-set /a server_num=1
-set /a online_server_count=0
-echo:
-
-:server
-if %online_server_count% equ 2 (
-%EchoRed% Error: Activation was not successful.
-echo Restart the system and try again.
-echo Read the troubleshoot guide in ReadMe.
-echo:
-echo ------------------------------------------------------------------
-echo:
-exit /b 1
-)
-
-if %server_num% gtr !max_servers! (
-echo ------------------------------------------------------------------
-echo:
-%EchoRed% Error: Internet is not connected.
-echo:
-echo ------------------------------------------------------------------
-echo:
-exit /b 1
-)
-
-set /a activation_ok=1
-if %srvpri_num% gtr 3 goto :srvsec
-
-:srvpri
-if %srvpri_num% gtr 3 goto :srvsec
-set /a rand=%Random%%%(3+1-1)+1
-if defined !server%rand%! goto :srvpri
-set KMS_IP=!server%rand%!
-set !server%rand%!=1
-set /a srvpri_num+=1
-goto :testserv
-
-:srvsec
-set KMS_IP=!server%server_num%!
-goto :testserv
-
-:testserv
-set /a server_num+=1
-%_psc% "$t = New-Object Net.Sockets.TcpClient;try{$t.Connect("""%KMS_IP%""", 1688)}catch{};$t.Connected" | findstr /i true 1>nul
-if %errorlevel% NEQ 0 (
-goto :server
-) else (
-goto :gotserv
-)
-
-:gotserv
-set /a online_server_count+=1
-echo KMS Server: ^(%KMS_IP%^)
-
-::========================================================================================================================================
-
-if %_Debug% EQU 1 if defined _args echo %_args%
-set "_wApp=55c92734-d682-4d71-983e-d6ec3f16059f"
-set "_oApp=0ff1ce15-a989-479d-af46-f275c6370663"
-set "_oA14=59a52881-a989-479d-af46-f275c6370663"
-set "IFEO=HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File Execution Options"
-set "OPPk=SOFTWARE\Microsoft\OfficeSoftwareProtectionPlatform"
-set "SPPk=SOFTWARE\Microsoft\Windows NT\CurrentVersion\SoftwareProtectionPlatform"
-for /f "tokens=6 delims=[]. " %%G in ('ver') do set winbuild=%%G
-set SSppHook=0
-for /f %%A in ('dir /b /ad %SysPath%\spp\tokens\skus') do (
- if %winbuild% GEQ 9200 if exist "%SysPath%\spp\tokens\skus\%%A\*GVLK*.xrm-ms" set SSppHook=1
- if %winbuild% LSS 9200 if exist "%SysPath%\spp\tokens\skus\%%A\*VLKMS*.xrm-ms" set SSppHook=1
- if %winbuild% LSS 9200 if exist "%SysPath%\spp\tokens\skus\%%A\*VL-BYPASS*.xrm-ms" set SSppHook=1
-)
-set OsppHook=1
-sc query osppsvc %_Nul3%
-if %errorlevel% EQU 1060 set OsppHook=0
-
-if %winbuild% GEQ 9200 (
- set OSType=Win8
- set SppVer=SppExtComObj.exe
-) else if %winbuild% GEQ 7600 (
- set OSType=Win7
- set SppVer=sppsvc.exe
-) else (
- goto :UnsupportedVersion
-)
-if %OSType% EQU Win8 reg query "%IFEO%\sppsvc.exe" %_Nul3% && (
-reg delete "%IFEO%\sppsvc.exe" /f %_Nul3%
-call :StopService sppsvc
-)
-if %ActWindows% EQU 0 if %ActOffice% EQU 0 set "ActWindows=1"
-
-set AUR=1
-
-if %winbuild% GEQ 9600 (
- reg add "HKLM\SOFTWARE\Policies\Microsoft\Windows NT\CurrentVersion\Software Protection Platform" /f /v NoGenTicket /t REG_DWORD /d 1 %_Nul3%
-)
-call :StopService sppsvc
-if %OsppHook% NEQ 0 call :StopService osppsvc
-
-:ReturnHook
-call :UpdateOSPPEntry osppsvc.exe
-
-SET Win10Gov=0
-IF %winbuild% LSS 14393 if %SSppHook% NEQ 0 GOTO :Main
-SET "EditionWMI="
-SET "EditionID="
-SET "RegKey=HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Component Based Servicing\Packages"
-SET "Pattern=Microsoft-Windows-*Edition~31bf3856ad364e35"
-SET "EditionPKG=NUL"
-FOR /F "TOKENS=8 DELIMS=\" %%A IN ('REG QUERY "%RegKey%" /f "%Pattern%" /k %_Nul6% ^| FIND /I "CurrentVersion"') DO (
- REG QUERY "%RegKey%\%%A" /v "CurrentState" %_Nul2% | FIND /I "0x70" %_Nul1% && (
- FOR /F "TOKENS=3 DELIMS=-~" %%B IN ('ECHO %%A') DO SET "EditionPKG=%%B"
- )
-)
-IF /I "%EditionPKG:~-7%"=="Edition" (
-SET "EditionID=%EditionPKG:~0,-7%"
-) ELSE (
-FOR /F "TOKENS=3 DELIMS=: " %%A IN ('DISM /English /Online /Get-CurrentEdition %_Nul6% ^| FIND /I "Current Edition :"') DO SET "EditionID=%%A"
-)
-FOR /F "TOKENS=2 DELIMS==" %%A IN ('"WMIC PATH SoftwareLicensingProduct WHERE (ApplicationID='%_wApp%' AND PartialProductKey is not NULL) GET LicenseFamily /VALUE" %_Nul6%') DO IF NOT ERRORLEVEL 1 SET "EditionWMI=%%A"
-IF NOT DEFINED EditionWMI (
-IF %winbuild% GEQ 17063 FOR /F "SKIP=2 TOKENS=2*" %%A IN ('REG QUERY "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion" /v EditionId') DO SET "EditionID=%%B"
-IF %winbuild% LSS 14393 FOR /F "SKIP=2 TOKENS=2*" %%A IN ('REG QUERY "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion" /v EditionId') DO SET "EditionID=%%B"
-GOTO :Main
-)
-FOR %%A IN (Cloud,CloudN,IoTEnterprise,IoTEnterpriseS,ProfessionalSingleLanguage,ProfessionalCountrySpecific) DO (IF /I "%EditionWMI%"=="%%A" GOTO :Main)
-SET "EditionID=%EditionWMI%"
-
-:Main
-IF DEFINED EditionID FOR %%A IN (EnterpriseG,EnterpriseGN) DO (IF /I "%EditionID%"=="%%A" SET Win10Gov=1)
-if defined EditionID (set "_winos=Windows %EditionID% edition") else (set "_winos=Detected Windows")
-for /f "skip=2 tokens=2*" %%a in ('reg query "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion" /v ProductName %_Nul6%') do if not errorlevel 1 set "_winos=%%b"
-set "nKMS=does not support KMS activation..."
-set "nEval=Evaluation Editions cannot be activated. Please install full Windows OS."
-if defined EditionID echo %EditionID%| findstr /I /E Eval %_Nul1% && (
-set _eval=1
-echo %EditionID%| findstr /I /B Server %_Nul1% && (set "nEval=Server Evaluation cannot be activated. Please convert to full Server OS.")
-)
-set "_C16R="
-reg query HKLM\SOFTWARE\Microsoft\Office\ClickToRun /v InstallPath %_Nul3% && (
-reg query HKLM\SOFTWARE\Microsoft\Office\ClickToRun\Configuration /v ProductReleaseIds %_Nul3% && set "_C16R=HKLM\SOFTWARE\Microsoft\Office\ClickToRun\Configuration"
-)
-set "_C15R="
-reg query HKLM\SOFTWARE\Microsoft\Office\15.0\ClickToRun /v InstallPath %_Nul3% && (
-reg query HKLM\SOFTWARE\Microsoft\Office\15.0\ClickToRun\Configuration /v ProductReleaseIds %_Nul3% && set "_C15R=HKLM\SOFTWARE\Microsoft\Office\15.0\ClickToRun\Configuration"
-if not defined _C15R reg query HKLM\SOFTWARE\Microsoft\Office\15.0\ClickToRun\propertyBag /v productreleaseid %_Nul3% && set "_C15R=HKLM\SOFTWARE\Microsoft\Office\15.0\ClickToRun\propertyBag"
-)
-set _V16Ids=Mondo,ProPlus,ProjectPro,VisioPro,Standard,ProjectStd,VisioStd,Access,SkypeforBusiness,OneNote,Excel,Outlook,PowerPoint,Publisher,Word
-set _R16Ids=%_V16Ids%,Professional,HomeBusiness,HomeStudent,O365Business,O365SmallBusPrem,O365HomePrem,O365EduCloud
-set _O16MSI=0
-set _O15MSI=0
-for %%A in (14,15,16,19) do call :officeLoc %%A
-
-call :RunSPP
-if %ActOffice% NEQ 0 call :RunOSPP
-if %ActOffice% EQU 0 (echo:&echo Office activation is OFF...)
-
-if exist "!_temp!\crv*.txt" del /f /q "!_temp!\crv*.txt"
-if exist "!_temp!\*chk.txt" del /f /q "!_temp!\*chk.txt"
-if exist "!_temp!\slmgr.vbs" del /f /q "!_temp!\slmgr.vbs"
-call :StopService sppsvc
-if %OsppHook% NEQ 0 call :StopService osppsvc
-
-sc start sppsvc trigger=timer;sessionid=0 %_Nul3%
-echo:
-if %activation_ok%==0 (
-echo ------------------------------------------------------------------ &echo:
-if not %online_server_count%==2 (
-echo Activation wasn't successful. Trying another server...&echo:
-echo ------------------------------------------------------------------ &echo:
-)
-goto :server
-)
-
-if defined Run_Once (
-echo Deleting Scheduled Task Online_KMS_Activation_Script-Run_Once
-schtasks /delete /tn Online_KMS_Activation_Script-Run_Once /f 1>nul 2>nul
-)
-
-goto :TheEnd
-
-:RunSPP
-set spp=SoftwareLicensingProduct
-set sps=SoftwareLicensingService
-set W1nd0ws=1
-set WinPerm=0
-set WinVL=0
-set Off1ce=0
-set RunR2V=0
-if %winbuild% GEQ 9200 if %ActOffice% NEQ 0 call :sppoff
-wmic path %spp% where (Description like '%%KMSCLIENT%%') get Name %_Nul2% | findstr /i Windows %_Nul1% && (
-set WinVL=1
-) || (
-if %ActWindows% EQU 0 (
- echo:&echo Windows activation is OFF...
- ) else (
- echo:&echo %_winos% %nKMS%
- if defined _eval echo %nEval%
- )
-)
-if %Off1ce% EQU 0 if %WinVL% EQU 0 exit /b
-wmic path %spp% where (ApplicationID='%_wApp%' and Description like '%%KMSCLIENT%%' and PartialProductKey is not NULL) get Name %_Nul2% | findstr /i Windows %_Nul1% && (set _gvlk=1) || (set _gvlk=0)
-set gpr=0
-if %winbuild% GEQ 10240 if %SkipKMS38% NEQ 0 if %_gvlk% EQU 1 for /f "tokens=2 delims==" %%A in ('"wmic path %spp% where (ApplicationID='%_wApp%' and Description like '%%KMSCLIENT%%' and PartialProductKey is not NULL) get GracePeriodRemaining /VALUE" %_Nul6%') do set "gpr=%%A"
-if %gpr% NEQ 0 if %gpr% GTR 259200 (
-set W1nd0ws=0
-wmic path %spp% where "ApplicationID='%_wApp%' and Description like '%%KMSCLIENT%%' and PartialProductKey is not NULL" get LicenseFamily %_Nul2% | findstr /i EnterpriseG %_Nul1% && (call set W1nd0ws=1)
-)
-for /f "tokens=2 delims==" %%A in ('"wmic path %sps% get Version /VALUE"') do set ver=%%A
-wmic path %sps% where version='%ver%' call SetKeyManagementServiceMachine MachineName="%KMS_IP%" %_Nul3%
-wmic path %sps% where version='%ver%' call SetKeyManagementServicePort %KMS_Port% %_Nul3%
-if %W1nd0ws% EQU 0 for /f "tokens=2 delims==" %%G in ('"wmic path %spp% where (ApplicationID='%_wApp%' and Description like '%%KMSCLIENT%%') get ID /VALUE"') do (set app=%%G&call :sppchkwin)
-if %W1nd0ws% EQU 1 if %ActWindows% NEQ 0 for /f "tokens=2 delims==" %%G in ('"wmic path %spp% where (ApplicationID='%_wApp%' and Description like '%%KMSCLIENT%%') get ID /VALUE"') do (set app=%%G&call :sppchkwin)
-if %W1nd0ws% EQU 1 if %ActWindows% EQU 0 (echo:&echo Windows activation is OFF...)
-if %Off1ce% EQU 1 if %ActOffice% NEQ 0 for /f "tokens=2 delims==" %%G in ('"wmic path %spp% where (ApplicationID='%_oApp%' and Description like '%%KMSCLIENT%%') get ID /VALUE"') do (set app=%%G&call :sppchkoff)
-wmic path %sps% where version='%ver%' call DisableKeyManagementServiceDnsPublishing 0 %_Nul3%
-wmic path %sps% where version='%ver%' call DisableKeyManagementServiceHostCaching 0 %_Nul3%
-exit /b
-
-:sppoff
-set _sC2R=sppoff
-set _fC2R=ReturnSPP
-set vol_off15=0&set vol_off16=0&set vol_off19=0
-wmic path %spp% where (Description like '%%KMSCLIENT%%' AND NOT Name like '%%MondoR_KMS_Automation%%') get Name > "!_temp!\sppchk.txt" 2>&1
-find /i "Office 19" "!_temp!\sppchk.txt" %_Nul1% && (set vol_off19=1)
-find /i "Office 16" "!_temp!\sppchk.txt" %_Nul1% && (set vol_off16=1)
-find /i "Office 15" "!_temp!\sppchk.txt" %_Nul1% && (set vol_off15=1)
-for %%A in (15,16,19) do if !loc_off%%A! EQU 0 set vol_off%%A=0
-if %vol_off16% EQU 1 find /i "Office16MondoVL_KMS_Client" "!_temp!\sppchk.txt" %_Nul1% && (
-wmic path %spp% where 'ApplicationID="%_oApp%" AND LicenseFamily like "Office16O365%%"' get LicenseFamily %_Nul2% | find /i "O365" %_Nul1% || (set vol_off16=0)
-)
-if %vol_off15% EQU 1 find /i "OfficeMondoVL_KMS_Client" "!_temp!\sppchk.txt" %_Nul1% && (
-wmic path %spp% where 'ApplicationID="%_oApp%" AND LicenseFamily like "OfficeO365%%"' get LicenseFamily %_Nul2% | find /i "O365" %_Nul1% || (set vol_off15=0)
-)
-set ret_off15=0&set ret_off16=0&set ret_off19=0
-wmic path %spp% where (ApplicationID='%_oApp%' AND NOT Name like '%%O365%%') get Name > "!_temp!\sppchk.txt" 2>&1
-find /i "R_Retail" "!_temp!\sppchk.txt" %_Nul2% | find /i "Office 19" %_Nul1% && (set ret_off19=1)
-find /i "R_Retail" "!_temp!\sppchk.txt" %_Nul2% | find /i "Office 16" %_Nul1% && (set ret_off16=1)
-find /i "R_Retail" "!_temp!\sppchk.txt" %_Nul2% | find /i "Office 15" %_Nul1% && (set ret_off15=1)
-if %ret_off19% EQU 1 if %_O16MSI% EQU 0 set vol_off19=0
-if %ret_off16% EQU 1 if %_O16MSI% EQU 0 set vol_off16=0
-if %ret_off15% EQU 1 if %_O15MSI% EQU 0 set vol_off15=0
-set loc_offgl=1
-if %loc_off19% EQU 0 if %loc_off16% EQU 0 if %loc_off15% EQU 0 set loc_offgl=0
-if %loc_offgl% EQU 1 set Off1ce=1
-set vol_offgl=1
-if %vol_off19% EQU 0 if %vol_off16% EQU 0 if %vol_off15% EQU 0 set vol_offgl=0
-:: mixed Volume + Retail scenario
-if %loc_off19% EQU 1 if %vol_off19% EQU 0 if %RunR2V% EQU 0 if %AutoR2V% EQU 1 goto :C2RR2V
-if %loc_off16% EQU 1 if %vol_off16% EQU 0 if %vol_off19% EQU 0 if %RunR2V% EQU 0 if %AutoR2V% EQU 1 goto :C2RR2V
-if %loc_off15% EQU 1 if %vol_off15% EQU 0 if %RunR2V% EQU 0 if %AutoR2V% EQU 1 goto :C2RR2V
-:: all Volume scenario
-if %vol_offgl% EQU 1 exit /b
-set Off1ce=0
-:: nothing installed scenario
-if %loc_offgl% EQU 0 (echo:&echo No Installed Office 2013/2016/2019 Product Detected...&exit /b)
-:: Retail C2R scenario
-if %RunR2V% EQU 0 if %AutoR2V% EQU 1 goto :C2RR2V
-:ReturnSPP
-:: Retail MSI scenario or failed C2R-R2V scenario
-echo:
-if %loc_off15% EQU 1 if %vol_off15% EQU 0 echo Detected Office 2013 %nKMS%
-if %loc_off16% EQU 1 if %vol_off16% EQU 0 echo Detected Office 2016 %nKMS%
-if %loc_off19% EQU 1 if %vol_off19% EQU 0 echo Detected Office 2019 %nKMS%
-echo Retail Products need to be converted to Volume first.
-exit /b
-
-:sppchkoff
-wmic path %spp% where ID='%app%' get Name > "!_temp!\sppchk.txt"
-find /i "Office 15" "!_temp!\sppchk.txt" %_Nul1% && (if %loc_off15% EQU 0 exit /b)
-find /i "Office 16" "!_temp!\sppchk.txt" %_Nul1% && (if %loc_off16% EQU 0 exit /b)
-find /i "Office 19" "!_temp!\sppchk.txt" %_Nul1% && (if %loc_off19% EQU 0 exit /b)
-set _office=1
-wmic path %spp% where (PartialProductKey is not NULL) get ID %_Nul2% | findstr /i "%app%" %_Nul1% && (echo:&call :activate&exit /b)
-for /f "tokens=3 delims==, " %%G in ('"wmic path %spp% where ID='%app%' get Name /value"') do set OffVer=%%G
-call :offchk%OffVer%
-exit /b
-
-:sppchkwin
-set _office=0
-if %winbuild% GEQ 14393 if %_gvlk% EQU 0 wmic path %spp% where (ApplicationID='%_wApp%' and Description like '%%KMSCLIENT%%' and PartialProductKey is not NULL) get Name %_Nul2% | findstr /i Windows %_Nul1% && (set _gvlk=1)
-wmic path %spp% where ID='%app%' get LicenseStatus %_Nul2% | findstr "1" %_Nul1% && (echo:&call :activate&exit /b)
-wmic path %spp% where (PartialProductKey is not NULL) get ID %_Nul2% | findstr /i "%app%" %_Nul1% && (echo:&call :activate&exit /b)
-if %_gvlk% EQU 1 exit /b
-if %WinPerm% EQU 1 exit /b
-if %winbuild% LSS 10240 (call :winchk&exit /b)
-for %%A in (
-b71515d9-89a2-4c60-88c8-656fbcca7f3a,af43f7f0-3b1e-4266-a123-1fdb53f4323b,075aca1f-05d7-42e5-a3ce-e349e7be7078
-11a37f09-fb7f-4002-bd84-f3ae71d11e90,43f2ab05-7c87-4d56-b27c-44d0f9a3dabd,2cf5af84-abab-4ff0-83f8-f040fb2576eb
-6ae51eeb-c268-4a21-9aae-df74c38b586d,ff808201-fec6-4fd4-ae16-abbddade5706,34260150-69ac-49a3-8a0d-4a403ab55763
-4dfd543d-caa6-4f69-a95f-5ddfe2b89567,5fe40dd6-cf1f-4cf2-8729-92121ac2e997,903663f7-d2ab-49c9-8942-14aa9e0a9c72
-2cc171ef-db48-4adc-af09-7c574b37f139,5b2add49-b8f4-42e0-a77c-adad4efeeeb1
-) do (
-if /i '%app%' EQU '%%A' exit /b
-)
-if not defined EditionID (call :winchk&exit /b)
-if %winbuild% LSS 14393 (call :winchk&exit /b)
-if /i '%app%' EQU '0df4f814-3f57-4b8b-9a9d-fddadcd69fac' if /i %EditionID% NEQ CloudE exit /b
-if /i '%app%' EQU 'e0c42288-980c-4788-a014-c080d2e1926e' if /i %EditionID% NEQ Education exit /b
-if /i '%app%' EQU '73111121-5638-40f6-bc11-f1d7b0d64300' if /i %EditionID% NEQ Enterprise exit /b
-if /i '%app%' EQU '2de67392-b7a7-462a-b1ca-108dd189f588' if /i %EditionID% NEQ Professional exit /b
-if /i '%app%' EQU '3f1afc82-f8ac-4f6c-8005-1d233e606eee' if /i %EditionID% NEQ ProfessionalEducation exit /b
-if /i '%app%' EQU '82bbc092-bc50-4e16-8e18-b74fc486aec3' if /i %EditionID% NEQ ProfessionalWorkstation exit /b
-if /i '%app%' EQU '3c102355-d027-42c6-ad23-2e7ef8a02585' if /i %EditionID% NEQ EducationN exit /b
-if /i '%app%' EQU 'e272e3e2-732f-4c65-a8f0-484747d0d947' if /i %EditionID% NEQ EnterpriseN exit /b
-if /i '%app%' EQU 'a80b5abf-76ad-428b-b05d-a47d2dffeebf' if /i %EditionID% NEQ ProfessionalN exit /b
-if /i '%app%' EQU '5300b18c-2e33-4dc2-8291-47ffcec746dd' if /i %EditionID% NEQ ProfessionalEducationN exit /b
-if /i '%app%' EQU '4b1571d3-bafb-4b40-8087-a961be2caf65' if /i %EditionID% NEQ ProfessionalWorkstationN exit /b
-if /i '%app%' EQU '58e97c99-f377-4ef1-81d5-4ad5522b5fd8' if /i %EditionID% NEQ Core exit /b
-if /i '%app%' EQU 'cd918a57-a41b-4c82-8dce-1a538e221a83' if /i %EditionID% NEQ CoreSingleLanguage exit /b
-if /i '%app%' EQU 'ec868e65-fadf-4759-b23e-93fe37f2cc29' if /i %EditionID% NEQ ServerRdsh exit /b
-if /i '%app%' EQU 'e4db50ea-bda1-4566-b047-0ca50abc6f07' if /i %EditionID% NEQ ServerRdsh exit /b
-if /i '%app%' EQU 'e4db50ea-bda1-4566-b047-0ca50abc6f07' (
-wmic path %spp% where 'Description like "%%KMSCLIENT%%"' get ID | findstr /i "ec868e65-fadf-4759-b23e-93fe37f2cc29" %_Nul3% && (exit /b)
-)
-call :winchk
-exit /b
-
-:winchk
-if not defined tok (if %winbuild% GEQ 9200 (set "tok=4") else (set "tok=7"))
-wmic path %spp% where (LicenseStatus='1' and Description like '%%KMSCLIENT%%') get Name %_Nul2% | findstr /i "Windows" %_Nul3% && (exit /b)
-echo:
-wmic path %spp% where (LicenseStatus='1' and GracePeriodRemaining='0' and PartialProductKey is not NULL) get Name %_Nul2% | findstr /i "Windows" %_Nul3% && (
-set WinPerm=1
-)
-if %WinPerm% EQU 0 (
-wmic path %spp% where "ApplicationID='%_wApp%' and LicenseStatus='1'" get Name %_Nul2% | findstr /i "Windows" %_Nul3% && (
-for /f "tokens=%tok% delims=, " %%G in ('"wmic path %spp% where (ApplicationID='%_wApp%' and LicenseStatus='1') get Description /VALUE"') do set "channel=%%G"
- for %%A in (VOLUME_MAK, RETAIL, OEM_DM, OEM_SLP, OEM_COA, OEM_COA_SLP, OEM_COA_NSLP, OEM_NONSLP, OEM) do if /i "%%A"=="!channel!" set WinPerm=1
- )
-)
-if %WinPerm% EQU 0 (
-copy /y %SysPath%\slmgr.vbs "!_temp!\slmgr.vbs" %_Nul3%
-cscript //nologo "!_temp!\slmgr.vbs" /xpr %_Nul2% | findstr /i "permanently" %_Nul3% && set WinPerm=1
-)
-if %WinPerm% EQU 1 (
-for /f "tokens=2 delims==" %%x in ('"wmic path %spp% where (ApplicationID='%_wApp%' and LicenseStatus='1') get Name /VALUE"') do echo Checking: %%x
-echo Product is Permanently Activated.
-exit /b
-)
-call :insKey
-exit /b
-
-:RunOSPP
-set spp=OfficeSoftwareProtectionProduct
-set sps=OfficeSoftwareProtectionService
-set Off1ce=0
-set RunR2V=0
-if %winbuild% LSS 9200 (set "aword=2010/2013/2016/2019") else (set "aword=2010")
-if %OsppHook% EQU 0 (echo:&echo No Installed Office %aword% Product Detected...&exit /b)
-if %winbuild% GEQ 9200 if %loc_off14% EQU 0 (echo:&echo No Installed Office %aword% Product Detected...&exit /b)
-if %winbuild% GEQ 9200 wmic path %spp% get Description %_Nul2% | findstr /i KMSCLIENT %_Nul1% || (echo:&echo Detected Office %aword% %nKMS%&echo Retail Products need to be converted to Volume first.&exit /b)
-if %winbuild% GEQ 9200 set Off1ce=1
-if %winbuild% LSS 9200 call :win7off
-if %Off1ce% EQU 0 exit /b
-set "vPrem="&set "vProf="
-if %loc_off14% EQU 1 (
-for /f "tokens=2 delims==" %%A in ('"wmic path %spp% where (LicenseFamily='OfficeVisioPrem-MAK') get LicenseStatus /VALUE" %_Nul6%') do set vPrem=%%A
-for /f "tokens=2 delims==" %%A in ('"wmic path %spp% where (LicenseFamily='OfficeVisioPro-MAK') get LicenseStatus /VALUE" %_Nul6%') do set vProf=%%A
-)
-for /f "tokens=2 delims==" %%A in ('"wmic path %sps% get Version /VALUE" %_Nul6%') do set ver=%%A
-wmic path %sps% where version='%ver%' call SetKeyManagementServiceMachine MachineName="%KMS_IP%" %_Nul3%
-wmic path %sps% where version='%ver%' call SetKeyManagementServicePort %KMS_Port% %_Nul3%
-for /f "tokens=2 delims==" %%G in ('"wmic path %spp% where (Description like '%%KMSCLIENT%%') get ID /VALUE"') do (set app=%%G&call :osppchk)
-wmic path %sps% where version='%ver%' call DisableKeyManagementServiceDnsPublishing 0 %_Nul3%
-wmic path %sps% where version='%ver%' call DisableKeyManagementServiceHostCaching 0 %_Nul3%
-exit /b
-
-:win7off
-set _sC2R=win7off
-set _fC2R=ReturnOSPP
-set vol_off14=0&set vol_off15=0&set vol_off16=0&set vol_off19=0
-wmic path %spp% where (Description like '%%KMSCLIENT%%' AND NOT Name like '%%MondoR_KMS_Automation%%') get Name > "!_temp!\sppchk.txt" 2>&1
-find /i "Office 19" "!_temp!\sppchk.txt" %_Nul1% && (set vol_off19=1)
-find /i "Office 16" "!_temp!\sppchk.txt" %_Nul1% && (set vol_off16=1)
-find /i "Office 15" "!_temp!\sppchk.txt" %_Nul1% && (set vol_off15=1)
-find /i "Office 14" "!_temp!\sppchk.txt" %_Nul1% && (set vol_off14=1)
-for %%A in (14,15,16,19) do if !loc_off%%A! EQU 0 set vol_off%%A=0
-if %vol_off16% EQU 1 find /i "Office16MondoVL_KMS_Client" "!_temp!\sppchk.txt" %_Nul1% && (
-wmic path %spp% where 'ApplicationID="%_oApp%" AND LicenseFamily like "Office16O365%%"' get LicenseFamily %_Nul2% | find /i "O365" %_Nul1% || (set vol_off16=0)
-)
-if %vol_off15% EQU 1 find /i "OfficeMondoVL_KMS_Client" "!_temp!\sppchk.txt" %_Nul1% && (
-wmic path %spp% where 'ApplicationID="%_oApp%" AND LicenseFamily like "OfficeO365%%"' get LicenseFamily %_Nul2% | find /i "O365" %_Nul1% || (set vol_off15=0)
-)
-set ret_off15=0&set ret_off16=0&set ret_off19=0
-wmic path %spp% where (ApplicationID='%_oApp%' AND NOT Name like '%%O365%%') get Name > "!_temp!\sppchk.txt" 2>&1
-find /i "R_Retail" "!_temp!\sppchk.txt" %_Nul2% | find /i "Office 19" %_Nul1% && (set ret_off19=1)
-find /i "R_Retail" "!_temp!\sppchk.txt" %_Nul2% | find /i "Office 16" %_Nul1% && (set ret_off16=1)
-find /i "R_Retail" "!_temp!\sppchk.txt" %_Nul2% | find /i "Office 15" %_Nul1% && (set ret_off15=1)
-if %ret_off19% EQU 1 if %_O16MSI% EQU 0 set vol_off19=0
-if %ret_off16% EQU 1 if %_O16MSI% EQU 0 set vol_off16=0
-if %ret_off15% EQU 1 if %_O15MSI% EQU 0 set vol_off15=0
-set loc_offgl=1
-if %loc_off19% EQU 0 if %loc_off16% EQU 0 if %loc_off15% EQU 0 if %loc_off14% EQU 0 set loc_offgl=0
-if %loc_offgl% EQU 1 set Off1ce=1
-set vol_offgl=1
-:: mixed Volume + Retail scenario
-if %vol_off19% EQU 0 if %vol_off16% EQU 0 if %vol_off15% EQU 0 if %vol_off14% EQU 0 set vol_offgl=0
-if %loc_off19% EQU 1 if %vol_off19% EQU 0 if %RunR2V% EQU 0 if %AutoR2V% EQU 1 goto :C2RR2V
-if %loc_off16% EQU 1 if %vol_off16% EQU 0 if %vol_off19% EQU 0 if %RunR2V% EQU 0 if %AutoR2V% EQU 1 goto :C2RR2V
-if %loc_off15% EQU 1 if %vol_off15% EQU 0 if %RunR2V% EQU 0 if %AutoR2V% EQU 1 goto :C2RR2V
-:: all Volume scenario
-if %vol_offgl% EQU 1 exit /b
-set Off1ce=0
-:: nothing installed scenario
-if %loc_offgl% EQU 0 (echo:&echo No Installed Office %aword% Product Detected...&exit /b)
-:: Retail C2R scenario
-if %RunR2V% EQU 0 if %AutoR2V% EQU 1 goto :C2RR2V
-:ReturnOSPP
-:: Retail MSI scenario or failed C2R-R2V scenario
-echo:
-if %loc_off14% EQU 1 if %vol_off14% EQU 0 echo Detected Office 2010 %nKMS%
-if %loc_off15% EQU 1 if %vol_off15% EQU 0 echo Detected Office 2013 %nKMS%
-if %loc_off16% EQU 1 if %vol_off16% EQU 0 echo Detected Office 2016 %nKMS%
-if %loc_off19% EQU 1 if %vol_off19% EQU 0 echo Detected Office 2019 %nKMS%
-echo Retail Products need to be converted to Volume first.
-exit /b
-
-:osppchk
-wmic path %spp% where ID='%app%' get Name > "!_temp!\sppchk.txt"
-find /i "Office 14" "!_temp!\sppchk.txt" %_Nul1% && (if %loc_off14% EQU 0 exit /b)
-find /i "Office 15" "!_temp!\sppchk.txt" %_Nul1% && (if %loc_off15% EQU 0 exit /b)
-find /i "Office 16" "!_temp!\sppchk.txt" %_Nul1% && (if %loc_off16% EQU 0 exit /b)
-find /i "Office 19" "!_temp!\sppchk.txt" %_Nul1% && (if %loc_off19% EQU 0 exit /b)
-set _office=0
-wmic path %spp% where (PartialProductKey is not NULL) get ID %_Nul2% | findstr /i "%app%" %_Nul1% && (echo:&call :activate&exit /b)
-for /f "tokens=3 delims==, " %%G in ('"wmic path %spp% where ID='%app%' get Name /value"') do set OffVer=%%G
-call :offchk%OffVer%
-exit /b
-
-:offchk
-set ls=0
-set ls2=0
-for /f "tokens=2 delims==" %%A in ('"wmic path %spp% where (LicenseFamily='Office%~1') get LicenseStatus /VALUE" %_Nul6%') do set /a ls=%%A
-if "%~3" NEQ "" (
-for /f "tokens=2 delims==" %%A in ('"wmic path %spp% where (LicenseFamily='Office%~3') get LicenseStatus /VALUE" %_Nul6%') do set /a ls2=%%A
-)
-if "%ls2%" EQU "1" (
-echo Checking: %~4
-echo Product is Permanently Activated.
-exit /b
-)
-if "%ls%" EQU "1" (
-echo Checking: %~2
-echo Product is Permanently Activated.
-exit /b
-)
-call :insKey
-exit /b
-
-:offchk19
-if /i '%app%' EQU '0bc88885-718c-491d-921f-6f214349e79c' exit /b
-if /i '%app%' EQU 'fc7c4d0c-2e85-4bb9-afd4-01ed1476b5e9' exit /b
-if /i '%app%' EQU '500f6619-ef93-4b75-bcb4-82819998a3ca' exit /b
-if /i '%app%' EQU '85dd8b5f-eaa4-4af3-a628-cce9e77c9a03' (
-call :offchk "19ProPlus2019VL_MAK_AE" "Office ProPlus 2019"
-exit /b
-)
-if /i '%app%' EQU '6912a74b-a5fb-401a-bfdb-2e3ab46f4b02' (
-call :offchk "19Standard2019VL_MAK_AE" "Office Standard 2019"
-exit /b
-)
-if /i '%app%' EQU '2ca2bf3f-949e-446a-82c7-e25a15ec78c4' (
-call :offchk "19ProjectPro2019VL_MAK_AE" "Project Pro 2019"
-exit /b
-)
-if /i '%app%' EQU '1777f0e3-7392-4198-97ea-8ae4de6f6381' (
-call :offchk "19ProjectStd2019VL_MAK_AE" "Project Standard 2019"
-exit /b
-)
-if /i '%app%' EQU '5b5cf08f-b81a-431d-b080-3450d8620565' (
-call :offchk "19VisioPro2019VL_MAK_AE" "Visio Pro 2019"
-exit /b
-)
-if /i '%app%' EQU 'e06d7df3-aad0-419d-8dfb-0ac37e2bdf39' (
-call :offchk "19VisioStd2019VL_MAK_AE" "Visio Standard 2019"
-exit /b
-)
-call :insKey
-exit /b
-
-:offchk16
-if /i '%app%' EQU 'd450596f-894d-49e0-966a-fd39ed4c4c64' (
-call :offchk "16ProPlusVL_MAK" "Office ProPlus 2016"
-exit /b
-)
-if /i '%app%' EQU 'dedfa23d-6ed1-45a6-85dc-63cae0546de6' (
-call :offchk "16StandardVL_MAK" "Office Standard 2016"
-exit /b
-)
-if /i '%app%' EQU '4f414197-0fc2-4c01-b68a-86cbb9ac254c' (
-call :offchk "16ProjectProVL_MAK" "Project Pro 2016"
-exit /b
-)
-if /i '%app%' EQU 'da7ddabc-3fbe-4447-9e01-6ab7440b4cd4' (
-call :offchk "16ProjectStdVL_MAK" "Project Standard 2016"
-exit /b
-)
-if /i '%app%' EQU '6bf301c1-b94a-43e9-ba31-d494598c47fb' (
-call :offchk "16VisioProVL_MAK" "Visio Pro 2016"
-exit /b
-)
-if /i '%app%' EQU 'aa2a7821-1827-4c2c-8f1d-4513a34dda97' (
-call :offchk "16VisioStdVL_MAK" "Visio Standard 2016"
-exit /b
-)
-if /i '%app%' EQU '829b8110-0e6f-4349-bca4-42803577788d' (
-call :offchk "16ProjectProXC2RVL_MAKC2R" "Project Pro 2016 C2R"
-exit /b
-)
-if /i '%app%' EQU 'cbbaca45-556a-4416-ad03-bda598eaa7c8' (
-call :offchk "16ProjectStdXC2RVL_MAKC2R" "Project Standard 2016 C2R"
-exit /b
-)
-if /i '%app%' EQU 'b234abe3-0857-4f9c-b05a-4dc314f85557' (
-call :offchk "16VisioProXC2RVL_MAKC2R" "Visio Pro 2016 C2R"
-exit /b
-)
-if /i '%app%' EQU '361fe620-64f4-41b5-ba77-84f8e079b1f7' (
-call :offchk "16VisioStdXC2RVL_MAKC2R" "Visio Standard 2016 C2R"
-exit /b
-)
-call :insKey
-exit /b
-
-:offchk15
-if /i '%app%' EQU 'b322da9c-a2e2-4058-9e4e-f59a6970bd69' (
-call :offchk "ProPlusVL_MAK" "Office ProPlus 2013"
-exit /b
-)
-if /i '%app%' EQU 'b13afb38-cd79-4ae5-9f7f-eed058d750ca' (
-call :offchk "StandardVL_MAK" "Office Standard 2013"
-exit /b
-)
-if /i '%app%' EQU '4a5d124a-e620-44ba-b6ff-658961b33b9a' (
-call :offchk "ProjectProVL_MAK" "Project Pro 2013"
-exit /b
-)
-if /i '%app%' EQU '427a28d1-d17c-4abf-b717-32c780ba6f07' (
-call :offchk "ProjectStdVL_MAK" "Project Standard 2013"
-exit /b
-)
-if /i '%app%' EQU 'e13ac10e-75d0-4aff-a0cd-764982cf541c' (
-call :offchk "VisioProVL_MAK" "Visio Pro 2013"
-exit /b
-)
-if /i '%app%' EQU 'ac4efaf0-f81f-4f61-bdf7-ea32b02ab117' (
-call :offchk "VisioStdVL_MAK" "Visio Standard 2013"
-exit /b
-)
-call :insKey
-exit /b
-
-:offchk14
-if /i '%app%' EQU '6f327760-8c5c-417c-9b61-836a98287e0c' (
-call :offchk "ProPlus-MAK" "Office ProPlus 2010" "ProPlusAcad-MAK" "Office Professional Academic 2010"
-exit /b
-)
-if /i '%app%' EQU '9da2a678-fb6b-4e67-ab84-60dd6a9c819a' (
-call :offchk "Standard-MAK" "Office Standard 2010" "StandardAcad-MAK" "Office Standard Academic 2010"
-exit /b
-)
-if /i '%app%' EQU 'ea509e87-07a1-4a45-9edc-eba5a39f36af' (
-call :offchk "SmallBusBasics-MAK" "Office Small Business Basics 2010"
-exit /b
-)
-if /i '%app%' EQU 'df133ff7-bf14-4f95-afe3-7b48e7e331ef' (
-call :offchk "ProjectPro-MAK" "Project Pro 2010"
-exit /b
-)
-if /i '%app%' EQU '5dc7bf61-5ec9-4996-9ccb-df806a2d0efe' (
-call :offchk "ProjectStd-MAK" "Project Standard 2010" "ProjectStd-MAK2" "Project Standard 2010"
-exit /b
-)
-if /i '%app%' EQU '92236105-bb67-494f-94c7-7f7a607929bd' (
-call :offchk "VisioPrem-MAK" "Visio Premium 2010" "VisioPro-MAK" "Visio Pro 2010"
-exit /b
-)
-if defined vPrem exit /b
-if /i '%app%' EQU 'e558389c-83c3-4b29-adfe-5e4d7f46c358' (
-call :offchk "VisioPro-MAK" "Visio Pro 2010" "VisioStd-MAK" "Visio Standard 2010"
-exit /b
-)
-if defined vProf exit /b
-if /i '%app%' EQU '9ed833ff-4f92-4f36-b370-8683a4f13275' (
-call :offchk "VisioStd-MAK" "Visio Standard 2010"
-exit /b
-)
-call :insKey
-exit /b
-
-:officeLoc
-set loc_off%1=0
-if %1 EQU 19 (
-if defined _C16R reg query %_C16R% /v ProductReleaseIds %_Nul2% | findstr 2019 %_Nul1% && set loc_off%1=1
-exit /b
-)
-
-for /f "skip=2 tokens=2*" %%a in ('"reg query HKLM\SOFTWARE\Microsoft\Office\%1.0\Common\InstallRoot /v Path" %_Nul6%') do if exist "%%b\OSPP.VBS" (
-set loc_off%1=1
-if %1 EQU 16 set _O16MSI=1
-if %1 EQU 15 set _O15MSI=1
-)
-for /f "skip=2 tokens=2*" %%a in ('"reg query HKLM\SOFTWARE\Wow6432Node\Microsoft\Office\%1.0\Common\InstallRoot /v Path" %_Nul6%') do if exist "%%b\OSPP.VBS" (
-set loc_off%1=1
-if %1 EQU 16 set _O16MSI=1
-if %1 EQU 15 set _O15MSI=1
-)
-
-if %1 EQU 16 if defined _C16R (
-for /f "skip=2 tokens=2*" %%a in ('reg query %_C16R% /v ProductReleaseIds') do echo %%b> "!_temp!\c2rchk.txt"
-for %%a in (%_V16Ids%,ProjectProX,ProjectStdX,VisioProX,VisioStdX) do (
- findstr /I /C:"%%aVolume" "!_temp!\c2rchk.txt" %_Nul1% && set loc_off%1=1
- )
-for %%a in (%_R16Ids%) do (
- findstr /I /C:"%%aRetail" "!_temp!\c2rchk.txt" %_Nul1% && set loc_off%1=1
- )
-exit /b
-)
-
-if %1 EQU 15 if defined _C15R (
-set loc_off%1=1
-exit /b
-)
-
-if exist "%ProgramFiles%\Microsoft Office\Office%1\OSPP.VBS" set loc_off%1=1
-if %xOS%==x64 if exist "%ProgramW6432%\Microsoft Office\Office%1\OSPP.VBS" set loc_off%1=1
-if %xOS%==x64 if exist "%ProgramFiles(x86)%\Microsoft Office\Office%1\OSPP.VBS" set loc_off%1=1
-exit /b
-
-:insKey
-echo:
-set "_key="
-for /f "tokens=2 delims==" %%A in ('"wmic path %spp% where ID='%app%' get Name /VALUE"') do echo Installing Key for: %%A
-call :keys %app%
-if "%_key%"=="" (echo Could not find matching KMS Client key&exit /b)
-wmic path %sps% where version='%ver%' call InstallProductKey ProductKey="%_key%" %_Nul3%
-set ERRORCODE=%ERRORLEVEL%
-if %ERRORCODE% NEQ 0 (
-cmd /c exit /b %ERRORCODE%
-echo Failed: 0x!=ExitCode!
-exit /b
-)
-if %sps% EQU SoftwareLicensingService wmic path %sps% where version='%ver%' call RefreshLicenseStatus %_Nul3%
-
-:activate
-wmic path %spp% where ID='%app%' call ClearKeyManagementServiceMachine %_Nul3%
-wmic path %spp% where ID='%app%' call ClearKeyManagementServicePort %_Nul3%
-if %W1nd0ws% EQU 0 if %_office% EQU 0 if %sps% EQU SoftwareLicensingService (
-wmic path %spp% where ID='%app%' call SetKeyManagementServiceMachine MachineName="127.0.0.2" %_Nul3%
-wmic path %spp% where ID='%app%' call SetKeyManagementServicePort %KMS_Port% %_Nul3%
-for /f "tokens=2 delims==" %%x in ('"wmic path %spp% where ID='%app%' get Name /VALUE"') do echo Checking: %%x
-echo Product is KMS 2038 Activated.
-exit /b
-)
-for /f "tokens=2 delims==" %%x in ('"wmic path %spp% where ID='%app%' get Name /VALUE"') do echo Activating: %%x
-wmic path %spp% where ID='%app%' call Activate %_Nul3%
-call set ERRORCODE=%ERRORLEVEL%
-if %ERRORCODE% NEQ 0 (
-if %sps% EQU SoftwareLicensingService (call :StopService sppsvc) else (call :StopService osppsvc)
-wmic path %spp% where ID='%app%' call Activate %_Nul3%
-call set ERRORCODE=!ERRORLEVEL!
-)
-if %sps% EQU SoftwareLicensingService wmic path %sps% where version='%ver%' call RefreshLicenseStatus %_Nul3%
-set gpr=0
-set gpr2=0
-for /f "tokens=2 delims==" %%x in ('"wmic path %spp% where ID='%app%' get GracePeriodRemaining /VALUE"') do (set gpr=%%x&set /a "gpr2=(%%x+1440-1)/1440")
-if %gpr% EQU 43200 if %_office% EQU 0 if %winbuild% GEQ 9200 (
-%EchoGreen% Product Activation Successful
-echo Remaining Period: %gpr2% days ^(%gpr% minutes^)
-exit /b
-)
-if %gpr% EQU 64800 (
-%EchoGreen% Product Activation Successful
-echo Remaining Period: %gpr2% days ^(%gpr% minutes^)
-exit /b
-)
-if %gpr% GTR 259200 if %Win10Gov% EQU 1 (
-%EchoGreen% Product Activation Successful
-echo Remaining Period: %gpr2% days ^(%gpr% minutes^)
-exit /b
-)
-if %gpr% EQU 259200 (
-%EchoGreen% Product Activation Successful
-echo Remaining Period: %gpr2% days ^(%gpr% minutes^)
-exit /b
-)
-cmd /c exit /b %ERRORCODE%
-if %ERRORCODE% NEQ 0 (%EchoRed% Product Activation Failed: 0x!=ExitCode!) else (%EchoRed% Product Activation Failed)
-echo Remaining Period: %gpr2% days ^(%gpr% minutes^)
-set activation_ok=0
-exit /b
-
-:StopService
-sc query %1 | find /i "STOPPED" %_Nul1% || net stop %1 /y %_Nul3%
-sc query %1 | find /i "STOPPED" %_Nul1% || sc stop %1 %_Nul3%
-goto :eof
-
-:UpdateOSPPEntry
-if /i %1 EQU osppsvc.exe (
-reg add "HKLM\%OPPk%" /f /v KeyManagementServiceName /t REG_SZ /d %KMS_IP% %_Nul3%
-reg add "HKLM\%OPPk%" /f /v KeyManagementServicePort /t REG_SZ /d %KMS_Port% %_Nul3%
-)
-goto :eof
-
-:C2RR2V
-set RunR2V=1
-set "_SLMGR=%SysPath%\slmgr.vbs"
-if %_Debug% EQU 0 (
-set "_cscript=cscript //Nologo //B"
-) else (
-set "_cscript=cscript //Nologo"
-)
-sc query ClickToRunSvc %_Nul3%
-set error1=%errorlevel%
-sc query OfficeSvc %_Nul3%
-set error2=%errorlevel%
-if %error1% EQU 1060 if %error2% EQU 1060 (
-goto :%_fC2R%
-)
-set _Office16=0
-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 _Office16=1
-)
-set _Office15=0
-for /f "skip=2 tokens=2*" %%a in ('"reg query HKLM\SOFTWARE\Microsoft\Office\15.0\ClickToRun /v InstallPath" %_Nul6%') do if exist "%%b\root\Licenses\ProPlus*.xrm-ms" (
- set _Office15=1
-)
-if %_Office16% EQU 0 if %_Office15% EQU 0 (
-goto :%_fC2R%
-)
-
-:Reg16istry
-if %_Office16% EQU 0 goto :Reg15istry
-set "_InstallRoot="
-set "_ProductIds="
-set "_GUID="
-set "_Config="
-set "_PRIDs="
-set "_LicensesPath="
-set "_Integrator="
-for /f "skip=2 tokens=2*" %%a in ('"reg query HKLM\SOFTWARE\Microsoft\Office\ClickToRun /v InstallPath" %_Nul6%') do if not errorlevel 1 (set "_InstallRoot=%%b\root")
-if not "%_InstallRoot%"=="" (
- for /f "skip=2 tokens=2*" %%a in ('"reg query HKLM\SOFTWARE\Microsoft\Office\ClickToRun /v PackageGUID" %_Nul6%') do if not errorlevel 1 (set "_GUID=%%b")
- for /f "skip=2 tokens=2*" %%a in ('"reg query HKLM\SOFTWARE\Microsoft\Office\ClickToRun\Configuration /v ProductReleaseIds" %_Nul6%') do if not errorlevel 1 (set "_ProductIds=%%b")
- set "_Config=HKLM\SOFTWARE\Microsoft\Office\ClickToRun\Configuration"
- set "_PRIDs=HKLM\SOFTWARE\Microsoft\Office\ClickToRun\ProductReleaseIDs"
-)
-set "_LicensesPath=%_InstallRoot%\Licenses16"
-set "_Integrator=%_InstallRoot%\integration\integrator.exe"
-for /f "skip=2 tokens=2*" %%a in ('"reg query %_PRIDs% /v ActiveConfiguration" %_Nul6%') do set "_PRIDs=%_PRIDs%\%%b"
-if "%_ProductIds%"=="" (
-if %_Office15% EQU 0 (goto :%_fC2R%) else (goto :Reg15istry)
-)
-if not exist "%_LicensesPath%\ProPlus*.xrm-ms" (
-if %_Office15% EQU 0 (goto :%_fC2R%) else (goto :Reg15istry)
-)
-if not exist "%_Integrator%" (
-if %_Office15% EQU 0 (goto :%_fC2R%) else (goto :Reg15istry)
-)
-if exist "%_LicensesPath%\Word2019VL_KMS_Client_AE*.xrm-ms" (set "_tag=2019"&set "_ons= 2019") else (set "_tag="&set "_ons= 2016")
-if %_Office15% EQU 0 goto :CheckC2R
-
-:Reg15istry
-set "_Install15Root="
-set "_Product15Ids="
-set "_Con15fig="
-set "_PR15IDs="
-set "_OSPP15Ready="
-set "_Licenses15Path="
-for /f "skip=2 tokens=2*" %%a in ('"reg query HKLM\SOFTWARE\Microsoft\Office\15.0\ClickToRun /v InstallPath" %_Nul6%') do if not errorlevel 1 (set "_Install15Root=%%b\root")
-if not "%_Install15Root%"=="" (
- for /f "skip=2 tokens=2*" %%a in ('"reg query HKLM\SOFTWARE\Microsoft\Office\15.0\ClickToRun\Configuration /v ProductReleaseIds" %_Nul6%') do if not errorlevel 1 (set "_Product15Ids=%%b")
- set "_Con15fig=HKLM\SOFTWARE\Microsoft\Office\15.0\ClickToRun\Configuration /v ProductReleaseIds"
- set "_PR15IDs=HKLM\SOFTWARE\Microsoft\Office\15.0\ClickToRun\ProductReleaseIDs"
- set "_OSPP15Ready=HKLM\SOFTWARE\Microsoft\Office\15.0\ClickToRun\Configuration"
-)
-set "_OSPP15ReadT=REG_SZ"
-if "%_Product15Ids%"=="" (
- for /f "skip=2 tokens=2*" %%a in ('"reg query HKLM\SOFTWARE\Microsoft\Office\15.0\ClickToRun\propertyBag /v productreleaseid" %_Nul6%') do if not errorlevel 1 (set "_Product15Ids=%%b")
- set "_Con15fig=HKLM\SOFTWARE\Microsoft\Office\15.0\ClickToRun\propertyBag /v productreleaseid"
- set "_OSPP15Ready=HKLM\SOFTWARE\Microsoft\Office\15.0\ClickToRun"
- set "_OSPP15ReadT=REG_DWORD"
-)
-set "_Licenses15Path=%_Install15Root%\Licenses"
-if exist "%ProgramFiles%\Microsoft Office\Office15\OSPP.VBS" (
- set "_OSPP15VBS=%ProgramFiles%\Microsoft Office\Office15\OSPP.VBS"
-) else if exist "%ProgramW6432%\Microsoft Office\Office15\OSPP.VBS" (
- set "_OSPP15VBS=%ProgramW6432%\Microsoft Office\Office15\OSPP.VBS"
-) else if exist "%ProgramFiles(x86)%\Microsoft Office\Office15\OSPP.VBS" (
- set "_OSPP15VBS=%ProgramFiles(x86)%\Microsoft Office\Office15\OSPP.VBS"
-)
-if "%_Product15Ids%"=="" (
-if %_Office16% EQU 0 (goto :%_fC2R%) else (goto :CheckC2R)
-)
-if not exist "%_Licenses15Path%\ProPlus*.xrm-ms" (
-if %_Office16% EQU 0 (goto :%_fC2R%) else (goto :CheckC2R)
-)
-if %winbuild% LSS 9200 if not exist "%_OSPP15VBS%" (
-if %_Office16% EQU 0 (goto :%_fC2R%) else (goto :CheckC2R)
-)
-
-:CheckC2R
-set _OMSI=0
-if %_Office16% EQU 0 (
-for /f "skip=2 tokens=2*" %%a in ('"reg query HKLM\SOFTWARE\Microsoft\Office\16.0\Common\InstallRoot /v Path" %_Nul6%') do if exist "%%b\OSPP.VBS" set _OMSI=1
-for /f "skip=2 tokens=2*" %%a in ('"reg query HKLM\SOFTWARE\Wow6432Node\Microsoft\Office\16.0\Common\InstallRoot /v Path" %_Nul6%') do if exist "%%b\OSPP.VBS" set _OMSI=1
-)
-if %_Office15% EQU 0 (
-for /f "skip=2 tokens=2*" %%a in ('"reg query HKLM\SOFTWARE\Microsoft\Office\15.0\Common\InstallRoot /v Path" %_Nul6%') do if exist "%%b\OSPP.VBS" set _OMSI=1
-for /f "skip=2 tokens=2*" %%a in ('"reg query HKLM\SOFTWARE\Wow6432Node\Microsoft\Office\15.0\Common\InstallRoot /v Path" %_Nul6%') do if exist "%%b\OSPP.VBS" set _OMSI=1
-)
-if %winbuild% GEQ 9200 (
-set _spp=SoftwareLicensingProduct
-set _sps=SoftwareLicensingService
-set "_vbsi=%_SLMGR% /ilc "
-) else (
-set _spp=OfficeSoftwareProtectionProduct
-set _sps=OfficeSoftwareProtectionService
-set _vbsi="!_OSPP15VBS!" /inslic:
-)
-set "_wmi="
-for /f "tokens=2 delims==" %%# in ('"wmic path %_sps% get version /value" %_Nul6%') do if not errorlevel 1 set "_wmi=%%#"
-if not defined _wmi (
-goto :%_fC2R%
-)
-set _Retail=0
-wmic path %_spp% where "ApplicationID='%_oApp%' AND LicenseStatus='1' AND PartialProductKey<>NULL" get Description %_Nul2% |findstr /V /R "^$" >"!_temp!\crvRetail.txt"
-find /i "RETAIL channel" "!_temp!\crvRetail.txt" %_Nul1% && set _Retail=1
-find /i "RETAIL(MAK) channel" "!_temp!\crvRetail.txt" %_Nul1% && set _Retail=1
-find /i "TIMEBASED_SUB channel" "!_temp!\crvRetail.txt" %_Nul1% && set _Retail=1
-set "_copp="
-if exist "%SysPath%\msvcr100.dll" (
-set _copp=1
-) else if exist "!_InstallRoot!\vfs\System\msvcr100.dll" (
-set _copp="!_InstallRoot!\vfs\System"
-) else if exist "!_Install15Root!\vfs\System\msvcr100.dll" (
-set _copp="!_Install15Root!\vfs\System"
-) else if exist "%SystemRoot%\SysWOW64\msvcr100.dll" (
-set _copp=1
-set xBit=x86
-) else if exist "!_InstallRoot!\vfs\SystemX86\msvcr100.dll" (
-set _copp="!_InstallRoot!\vfs\SystemX86"
-set xBit=x86
-) else if exist "!_Install15Root!\vfs\SystemX86\msvcr100.dll" (
-set _copp="!_Install15Root!\vfs\SystemX86"
-set xBit=x86
-)
-if not exist "!_work!\bin\cleanospp%xBit%.exe" (
-set "_copp="
-)
-if %_Retail% EQU 0 if %_OMSI% EQU 0 if defined _copp (
-if "!_copp!"=="1" (
-%_Nul3% "!_work!\bin\cleanospp%xBit%.exe" -Licenses
-) else (
-pushd %_copp%
-%_Nul3% copy /y "!_work!\bin\cleanospp%xBit%.exe" cleanospp.exe
-%_Nul3% cleanospp.exe -Licenses
-%_Nul3% del /f /q cleanospp.exe
-popd
- )
-)
-set _O16O365=0
-if %_Retail% EQU 1 wmic path %_spp% where "ApplicationID='%_oApp%' AND LicenseStatus='1' AND PartialProductKey<>NULL" get LicenseFamily %_Nul2% |findstr /V /R "^$" >"!_temp!\crvRetail.txt"
-wmic path %_spp% where "ApplicationID='%_oApp%'" get LicenseFamily %_Nul2% |findstr /V /R "^$" >"!_temp!\crvVolume.txt" 2>&1
-
-if %_Office16% EQU 0 goto :R15V
-
-set _O19Ids=ProPlus2019,ProjectPro2019,VisioPro2019,Standard2019,ProjectStd2019,VisioStd2019,Access2019,SkypeforBusiness2019
-set _O16Ids=ProjectPro,VisioPro,Standard,ProjectStd,VisioStd,Access,SkypeforBusiness
-set _A19Ids=Excel2019,Outlook2019,PowerPoint2019,Publisher2019,Word2019
-set _A16Ids=Excel,Outlook,PowerPoint,Publisher,Word
-set _V19Ids=%_O19Ids%,%_A19Ids%
-set _V16Ids=Mondo,%_O16Ids%,%_A16Ids%,OneNote
-set _R16Ids=%_V16Ids%,Professional,HomeBusiness,HomeStudent,O365ProPlus,O365Business,O365SmallBusPrem,O365HomePrem,O365EduCloud
-set _RetIds=%_V19Ids%,Professional2019,HomeBusiness2019,HomeStudent2019,%_R16Ids%
-
-echo %_ProductIds%>"!_temp!\crvProductIds.txt"
-for %%a in (%_RetIds%,ProPlus) do (
-set _%%a=0
-)
-for %%a in (%_RetIds%) do (
-findstr /I /C:"%%aRetail" "!_temp!\crvProductIds.txt" %_Nul1% && set _%%a=1
-)
-for %%a in (%_V19Ids%) do (
-findstr /I /C:"%%aVolume" "!_temp!\crvProductIds.txt" %_Nul1% && (
- find /i "Office19%%aVL_KMS_Client" "!_temp!\crvVolume.txt" %_Nul1% && (set _%%a=0) || (set _%%a=1)
- )
-)
-for %%a in (%_V16Ids%) do (
-findstr /I /C:"%%aVolume" "!_temp!\crvProductIds.txt" %_Nul1% && (
- find /i "Office16%%aVL_KMS_Client" "!_temp!\crvVolume.txt" %_Nul1% && (set _%%a=0) || (set _%%a=1)
- )
-)
-reg query %_PRIDs%\ProPlusRetail.16 %_Nul3% && (
- find /i "Office16ProPlusVL_KMS_Client" "!_temp!\crvVolume.txt" %_Nul1% && (set _ProPlus=0) || (set _ProPlus=1)
-)
-reg query %_PRIDs%\ProPlusVolume.16 %_Nul3% && (
- find /i "Office16ProPlusVL_KMS_Client" "!_temp!\crvVolume.txt" %_Nul1% && (set _ProPlus=0) || (set _ProPlus=1)
-)
-if %_Retail% EQU 1 for %%a in (%_RetIds%) do (
-findstr /I /C:"%%aRetail" "!_temp!\crvProductIds.txt" %_Nul1% && (
- find /i "Office16%%aR_Retail" "!_temp!\crvRetail.txt" %_Nul1% && set _%%a=0
- find /i "Office16%%aR_OEM" "!_temp!\crvRetail.txt" %_Nul1% && set _%%a=0
- find /i "Office16%%aR_Sub" "!_temp!\crvRetail.txt" %_Nul1% && set _%%a=0
- find /i "Office16%%aR_PIN" "!_temp!\crvRetail.txt" %_Nul1% && set _%%a=0
- find /i "Office16%%aE5R_" "!_temp!\crvRetail.txt" %_Nul1% && set _%%a=0
- find /i "Office16%%aEDUR_" "!_temp!\crvRetail.txt" %_Nul1% && set _%%a=0
- find /i "Office16%%aMSDNR_" "!_temp!\crvRetail.txt" %_Nul1% && set _%%a=0
- find /i "Office16%%aO365R_" "!_temp!\crvRetail.txt" %_Nul1% && set _%%a=0
- find /i "Office16%%aCO365R_" "!_temp!\crvRetail.txt" %_Nul1% && set _%%a=0
- find /i "Office16%%aVL_MAK" "!_temp!\crvRetail.txt" %_Nul1% && set _%%a=0
- find /i "Office16%%aXC2RVL_MAKC2R" "!_temp!\crvRetail.txt" %_Nul1% && set _%%a=0
- find /i "Office19%%aR_Retail" "!_temp!\crvRetail.txt" %_Nul1% && set _%%a=0
- find /i "Office19%%aR_OEM" "!_temp!\crvRetail.txt" %_Nul1% && set _%%a=0
- find /i "Office19%%aMSDNR_" "!_temp!\crvRetail.txt" %_Nul1% && set _%%a=0
- find /i "Office19%%aVL_MAK" "!_temp!\crvRetail.txt" %_Nul1% && set _%%a=0
- )
-)
-if %_Retail% EQU 1 reg query %_PRIDs%\ProPlusRetail.16 %_Nul3% && (
- find /i "Office16ProPlusR_Retail" "!_temp!\crvRetail.txt" %_Nul1% && set _ProPlus=0
- find /i "Office16ProPlusR_OEM" "!_temp!\crvRetail.txt" %_Nul1% && set _ProPlus=0
- find /i "Office16ProPlusMSDNR_" "!_temp!\crvRetail.txt" %_Nul1% && set _ProPlus=0
- find /i "Office16ProPlusVL_MAK" "!_temp!\crvRetail.txt" %_Nul1% && set _ProPlus=0
-)
-
-set _C16Msg=0
-for %%a in (%_RetIds%,ProPlus) do if !_%%a! EQU 1 (
-set _C16Msg=1
-)
-if %_C16Msg% EQU 1 (
-echo:
-echo Converting Office C2R Retail-to-Volume:
-)
-if %_C16Msg% EQU 0 (if %_Office15% EQU 1 (goto :R15V) else (goto :GVLKC2R))
-
-if !_Mondo! EQU 1 (
-call :InsLic Mondo
-)
-if !_O365ProPlus! EQU 1 (
-echo O365ProPlus 2016 Suite ^<-^> Mondo 2016 Licenses
-call :InsLic O365ProPlus DRNV7-VGMM2-B3G9T-4BF84-VMFTK
-if !_Mondo! EQU 0 call :InsLic Mondo
-)
-if !_O365Business! EQU 1 if !_O365ProPlus! EQU 0 (
-set _O365ProPlus=1
-echo O365Business 2016 Suite ^<-^> Mondo 2016 Licenses
-call :InsLic O365Business NCHRJ-3VPGW-X73DM-6B36K-3RQ6B
-if !_Mondo! EQU 0 call :InsLic Mondo
-)
-if !_O365SmallBusPrem! EQU 1 if !_O365Business! EQU 0 if !_O365ProPlus! EQU 0 (
-set _O365ProPlus=1
-echo O365SmallBusPrem 2016 Suite ^<-^> Mondo 2016 Licenses
-call :InsLic O365SmallBusPrem 3FBRX-NFP7C-6JWVK-F2YGK-H499R
-if !_Mondo! EQU 0 call :InsLic Mondo
-)
-if !_O365HomePrem! EQU 1 if !_O365SmallBusPrem! EQU 0 if !_O365Business! EQU 0 if !_O365ProPlus! EQU 0 (
-set _O365ProPlus=1
-echo O365HomePrem 2016 Suite ^<-^> Mondo 2016 Licenses
-call :InsLic O365HomePrem 9FNY8-PWWTY-8RY4F-GJMTV-KHGM9
-if !_Mondo! EQU 0 call :InsLic Mondo
-)
-if !_O365EduCloud! EQU 1 if !_O365HomePrem! EQU 0 if !_O365SmallBusPrem! EQU 0 if !_O365Business! EQU 0 if !_O365ProPlus! EQU 0 (
-set _O365ProPlus=1
-echo O365EduCloud 2016 Suite ^<-^> Mondo 2016 Licenses
-call :InsLic O365EduCloud 8843N-BCXXD-Q84H8-R4Q37-T3CPT
-if !_Mondo! EQU 0 call :InsLic Mondo
-)
-if !_O365ProPlus! EQU 1 set _O16O365=1
-if !_Mondo! EQU 1 if !_O365ProPlus! EQU 0 (
-echo Mondo 2016 Suite
-call :InsLic O365ProPlus DRNV7-VGMM2-B3G9T-4BF84-VMFTK
-if %_Office15% EQU 1 (goto :R15V) else (goto :GVLKC2R)
-)
-if !_ProPlus2019! EQU 1 if !_O365ProPlus! EQU 0 (
-echo ProPlus 2019 Suite
-call :InsLic ProPlus%_tag%
-)
-if !_ProPlus! EQU 1 if !_O365ProPlus! EQU 0 if !_ProPlus2019! EQU 0 (
-echo ProPlus 2016 Suite -^> ProPlus%_ons% Licenses
-call :InsLic ProPlus%_tag%
-)
-if !_Professional2019! EQU 1 if !_O365ProPlus! EQU 0 if !_ProPlus2019! EQU 0 if !_ProPlus! EQU 0 (
-echo Professional 2019 Suite -^> ProPlus%_ons% Licenses
-call :InsLic ProPlus%_tag%
-)
-if !_Professional! EQU 1 if !_O365ProPlus! EQU 0 if !_ProPlus2019! EQU 0 if !_ProPlus! EQU 0 if !_Professional2019! EQU 0 (
-echo Professional 2016 Suite -^> ProPlus%_ons% Licenses
-call :InsLic ProPlus%_tag%
-)
-if !_Standard2019! EQU 1 if !_O365ProPlus! EQU 0 if !_ProPlus2019! EQU 0 if !_ProPlus! EQU 0 if !_Professional2019! EQU 0 if !_Professional! EQU 0 (
-echo Standard 2019 Suite
-call :InsLic Standard2019
-)
-if !_Standard! EQU 1 if !_O365ProPlus! EQU 0 if !_ProPlus2019! EQU 0 if !_ProPlus! EQU 0 if !_Professional2019! EQU 0 if !_Professional! EQU 0 if !_Standard2019! EQU 0 (
-echo Standard 2016 Suite -^> Standard%_ons% Licenses
-call :InsLic Standard%_tag%
-)
-for %%a in (ProjectPro,VisioPro,ProjectStd,VisioStd) do if !_%%a2019! EQU 1 (
-echo %%a 2019 SKU
-if defined _tag (call :InsLic %%a2019) else (call :InsLic %%a)
-)
-for %%a in (ProjectPro,VisioPro,ProjectStd,VisioStd) do if !_%%a! EQU 1 (
-if !_%%a2019! EQU 0 (
- echo %%a 2016 SKU -^> %%a%_ons% Licenses
- call :InsLic %%a%_tag%
- )
-)
-for %%a in (HomeBusiness2019,HomeStudent2019) do if !_%%a! EQU 1 (
-if !_O365ProPlus! EQU 0 if !_ProPlus2019! EQU 0 if !_ProPlus! EQU 0 if !_Professional2019! EQU 0 if !_Professional! EQU 0 if !_Standard2019! EQU 0 if !_Standard! EQU 0 (
- set _Standard2019=1
- echo %%a Suite -^> Standard 2019 Licenses
- call :InsLic Standard2019
- )
-)
-for %%a in (HomeBusiness,HomeStudent) do if !_%%a! EQU 1 (
-if !_O365ProPlus! EQU 0 if !_ProPlus2019! EQU 0 if !_ProPlus! EQU 0 if !_Professional2019! EQU 0 if !_Professional! EQU 0 if !_Standard2019! EQU 0 if !_Standard! EQU 0 if !_%%a2019! EQU 0 (
- set _Standard2019=1
- echo %%a 2016 Suite -^> Standard%_ons% Licenses
- call :InsLic Standard%_tag%
- )
-)
-for %%a in (%_A19Ids%,OneNote) do if !_%%a! EQU 1 (
-if !_O365ProPlus! EQU 0 if !_ProPlus2019! EQU 0 if !_ProPlus! EQU 0 if !_Professional2019! EQU 0 if !_Professional! EQU 0 if !_Standard2019! EQU 0 if !_Standard! EQU 0 (
- echo %%a App
- call :InsLic %%a
- )
-)
-for %%a in (%_A16Ids%) do if !_%%a! EQU 1 (
-if !_O365ProPlus! EQU 0 if !_ProPlus2019! EQU 0 if !_ProPlus! EQU 0 if !_Professional2019! EQU 0 if !_Professional! EQU 0 if !_Standard2019! EQU 0 if !_Standard! EQU 0 if !_%%a2019! EQU 0 (
- echo %%a 2016 App
- call :InsLic %%a%_tag%
- )
-)
-for %%a in (Access2019) do if !_%%a! EQU 1 (
-if !_O365ProPlus! EQU 0 if !_ProPlus2019! EQU 0 if !_ProPlus! EQU 0 if !_Professional2019! EQU 0 if !_Professional! EQU 0 (
- echo %%a App
- call :InsLic %%a
- )
-)
-for %%a in (Access) do if !_%%a! EQU 1 (
-if !_O365ProPlus! EQU 0 if !_ProPlus2019! EQU 0 if !_ProPlus! EQU 0 if !_Professional2019! EQU 0 if !_Professional! EQU 0 if !_%%a2019! EQU 0 (
- echo %%a 2016 App
- call :InsLic %%a%_tag%
- )
-)
-for %%a in (SkypeforBusiness2019) do if !_%%a! EQU 1 (
-if !_O365ProPlus! EQU 0 if !_ProPlus2019! EQU 0 if !_ProPlus! EQU 0 (
- echo %%a App
- call :InsLic %%a
- )
-)
-for %%a in (SkypeforBusiness) do if !_%%a! EQU 1 (
-if !_O365ProPlus! EQU 0 if !_ProPlus2019! EQU 0 if !_ProPlus! EQU 0 if !_%%a2019! EQU 0 (
- echo %%a 2016 App
- call :InsLic %%a%_tag%
- )
-)
-if %_Office15% EQU 1 (goto :R15V) else (goto :GVLKC2R)
-
-:R15V
-for %%# in ("!_Licenses15Path!\client-issuance-*.xrm-ms") do (
-%_cscript% %_vbsi%"!_Licenses15Path!\%%~nx#"
-)
-%_cscript% %_vbsi%"!_Licenses15Path!\pkeyconfig-office.xrm-ms"
-
-set _O15Ids=Standard,ProjectPro,VisioPro,ProjectStd,VisioStd,Access,Lync
-set _A15Ids=Excel,Groove,InfoPath,OneNote,Outlook,PowerPoint,Publisher,Word
-set _R15Ids=SPD,Mondo,%_O15Ids%,%_A15Ids%,Professional,HomeBusiness,HomeStudent,O365ProPlus,O365Business,O365SmallBusPrem,O365HomePrem
-set _V15Ids=Mondo,%_O15Ids%,%_A15Ids%
-
-echo %_Product15Ids%>"!_temp!\crvProduct15s.txt"
-for %%a in (%_R15Ids%,ProPlus) do (
-set _%%a=0
-)
-for %%a in (%_R15Ids%) do (
-findstr /I /C:"%%aRetail" "!_temp!\crvProduct15s.txt" %_Nul1% && set _%%a=1
-)
-for %%a in (%_V15Ids%) do (
-findstr /I /C:"%%aVolume" "!_temp!\crvProduct15s.txt" %_Nul1% && (
- find /i "Office%%aVL_KMS_Client" "!_temp!\crvVolume.txt" %_Nul1% && (set _%%a=0) || (set _%%a=1)
- )
-)
-reg query %_PR15IDs%\Active\ProPlusRetail\x-none %_Nul3% && (
- find /i "OfficeProPlusVL_KMS_Client" "!_temp!\crvVolume.txt" %_Nul1% && (set _ProPlus=0) || (set _ProPlus=1)
-)
-reg query %_PR15IDs%\Active\ProPlusVolume\x-none %_Nul3% && (
- find /i "OfficeProPlusVL_KMS_Client" "!_temp!\crvVolume.txt" %_Nul1% && (set _ProPlus=0) || (set _ProPlus=1)
-)
-if %_Retail% EQU 1 for %%a in (%_R15Ids%) do (
-findstr /I /C:"%%aRetail" "!_temp!\crvProduct15s.txt" %_Nul1% && (
- find /i "Office%%aR_Retail" "!_temp!\crvRetail.txt" %_Nul1% && set _%%a=0
- find /i "Office%%aR_OEM" "!_temp!\crvRetail.txt" %_Nul1% && set _%%a=0
- find /i "Office%%aR_Sub" "!_temp!\crvRetail.txt" %_Nul1% && set _%%a=0
- find /i "Office%%aR_PIN" "!_temp!\crvRetail.txt" %_Nul1% && set _%%a=0
- find /i "Office%%aMSDNR_" "!_temp!\crvRetail.txt" %_Nul1% && set _%%a=0
- find /i "Office%%aO365R_" "!_temp!\crvRetail.txt" %_Nul1% && set _%%a=0
- find /i "Office%%aCO365R_" "!_temp!\crvRetail.txt" %_Nul1% && set _%%a=0
- find /i "Office%%aVL_MAK" "!_temp!\crvRetail.txt" %_Nul1% && set _%%a=0
- )
-)
-if %_Retail% EQU 1 reg query %_PR15IDs%\Active\ProPlusRetail\x-none %_Nul3% && (
- find /i "OfficeProPlusR_Retail" "!_temp!\crvRetail.txt" %_Nul1% && set _ProPlus=0
- find /i "OfficeProPlusR_OEM" "!_temp!\crvRetail.txt" %_Nul1% && set _ProPlus=0
- find /i "OfficeProPlusMSDNR_" "!_temp!\crvRetail.txt" %_Nul1% && set _ProPlus=0
- find /i "OfficeProPlusVL_MAK" "!_temp!\crvRetail.txt" %_Nul1% && set _ProPlus=0
-)
-
-set _C15Msg=0
-for %%a in (%_R15Ids%,ProPlus) do if !_%%a! EQU 1 (
-set _C15Msg=1
-)
-if %_C15Msg% EQU 1 if %_C16Msg% EQU 0 (
-echo:
-echo Converting Office C2R Retail-to-Volume:
-)
-if %_C15Msg% EQU 0 goto :GVLKC2R
-
-if !_Mondo! EQU 1 (
-call :Ins15Lic Mondo
-)
-if !_O365ProPlus! EQU 1 if !_O16O365! EQU 0 (
-echo O365ProPlus 2013 Suite ^<-^> Mondo 2013 Licenses
-call :Ins15Lic O365ProPlus DRNV7-VGMM2-B3G9T-4BF84-VMFTK
-if !_Mondo! EQU 0 call :Ins15Lic Mondo
-)
-if !_O365SmallBusPrem! EQU 1 if !_O365ProPlus! EQU 0 if !_O16O365! EQU 0 (
-set _O365ProPlus=1
-echo O365SmallBusPrem 2013 Suite ^<-^> Mondo 2013 Licenses
-call :Ins15Lic O365SmallBusPrem 3FBRX-NFP7C-6JWVK-F2YGK-H499R
-if !_Mondo! EQU 0 call :Ins15Lic Mondo
-)
-if !_O365HomePrem! EQU 1 if !_O365SmallBusPrem! EQU 0 if !_O365ProPlus! EQU 0 if !_O16O365! EQU 0 (
-set _O365ProPlus=1
-echo O365HomePrem 2013 Suite ^<-^> Mondo 2013 Licenses
-call :Ins15Lic O365HomePrem 9FNY8-PWWTY-8RY4F-GJMTV-KHGM9
-if !_Mondo! EQU 0 call :Ins15Lic Mondo
-)
-if !_O365Business! EQU 1 if !_O365HomePrem! EQU 0 if !_O365SmallBusPrem! EQU 0 if !_O365ProPlus! EQU 0 if !_O16O365! EQU 0 (
-set _O365ProPlus=1
-echo O365Business 2013 Suite ^<-^> Mondo 2013 Licenses
-call :Ins15Lic O365Business MCPBN-CPY7X-3PK9R-P6GTT-H8P8Y
-if !_Mondo! EQU 0 call :Ins15Lic Mondo
-)
-if !_Mondo! EQU 1 if !_O365ProPlus! EQU 0 if !_O16O365! EQU 0 (
-echo Mondo 2013 Suite
-call :Ins15Lic O365ProPlus DRNV7-VGMM2-B3G9T-4BF84-VMFTK
-goto :GVLKC2R
-)
-if !_SPD! EQU 1 if !_Mondo! EQU 0 if !_O365ProPlus! EQU 0 (
-echo SharePoint Designer 2013 App -^> Mondo 2013 Licenses
-call :Ins15Lic Mondo
-goto :GVLKC2R
-)
-if !_ProPlus! EQU 1 if !_O365ProPlus! EQU 0 (
-echo ProPlus 2013 Suite
-call :Ins15Lic ProPlus
-)
-if !_Professional! EQU 1 if !_O365ProPlus! EQU 0 if !_ProPlus! EQU 0 (
-echo Professional 2013 Suite -^> ProPlus 2013 Licenses
-call :Ins15Lic ProPlus
-)
-if !_Standard! EQU 1 if !_O365ProPlus! EQU 0 if !_ProPlus! EQU 0 if !_Professional! EQU 0 (
-echo Standard 2013 Suite
-call :Ins15Lic Standard
-)
-for %%a in (ProjectPro,VisioPro,ProjectStd,VisioStd) do if !_%%a! EQU 1 (
-echo %%a 2013 SKU
-call :Ins15Lic %%a
-)
-for %%a in (HomeBusiness,HomeStudent) do if !_%%a! EQU 1 (
-if !_O365ProPlus! EQU 0 if !_ProPlus! EQU 0 if !_Professional! EQU 0 if !_Standard! EQU 0 (
- set _Standard=1
- echo %%a 2013 Suite -^> Standard 2013 Licenses
- call :Ins15Lic Standard
- )
-)
-for %%a in (%_A15Ids%) do if !_%%a! EQU 1 (
-if !_O365ProPlus! EQU 0 if !_ProPlus! EQU 0 if !_Professional! EQU 0 if !_Standard! EQU 0 (
- echo %%a 2013 App
- call :Ins15Lic %%a
- )
-)
-for %%a in (Access) do if !_%%a! EQU 1 (
-if !_O365ProPlus! EQU 0 if !_ProPlus! EQU 0 if !_Professional! EQU 0 (
- echo %%a 2013 App
- call :Ins15Lic %%a
- )
-)
-for %%a in (Lync) do if !_%%a! EQU 1 (
-if !_O365ProPlus! EQU 0 if !_ProPlus! EQU 0 (
- echo SkypeforBusiness 2015 App
- call :Ins15Lic %%a
- )
-)
-goto :GVLKC2R
-
-:InsLic
-set "_ID=%1Volume"
-set "_pkey="
-if not "%2"=="" (
-set "_ID=%1Retail"
-set "_pkey=PidKey=%2"
-)
-reg delete %_Config% /f /v %_ID%.OSPPReady %_Nul3%
-"!_Integrator!" /I /License PRIDName=%_ID%.16 %_pkey% PackageGUID="%_GUID%" PackageRoot="!_InstallRoot!" %_Nul1%
-reg add %_Config% /f /v %_ID%.OSPPReady /t REG_SZ /d 1 %_Nul1%
-reg query %_Config% /v ProductReleaseIds | findstr /I "%_ID%" %_Nul1%
-if %errorlevel% NEQ 0 (
-for /f "skip=2 tokens=2*" %%a in ('reg query %_Config% /v ProductReleaseIds') do reg add %_Config% /v ProductReleaseIds /t REG_SZ /d "%%b,%_ID%" /f %_Nul1%
-)
-exit /b
-
-:Ins15Lic
-set "_ID=%1Volume"
-set "_patt=%1VL_"
-set "_pkey="
-if not "%2"=="" (
-set "_ID=%1Retail"
-set "_patt=%1R_"
-set "_pkey=%2"
-)
-reg delete %_OSPP15Ready% /f /v %_ID%.OSPPReady %_Nul3%
-for %%# in ("!_Licenses15Path!\%_patt%*.xrm-ms") do (
-%_cscript% %_vbsi%"!_Licenses15Path!\%%~nx#"
-)
-if defined _pkey wmic path %_sps% where version='%_wmi%' call InstallProductKey ProductKey="%_pkey%" %_Nul3%
-reg add %_OSPP15Ready% /f /v %_ID%.OSPPReady /t %_OSPP15ReadT% /d 1 %_Nul1%
-reg query %_Con15fig% | findstr /I "%_ID%" %_Nul1%
-if %errorlevel% NEQ 0 (
-for /f "skip=2 tokens=2*" %%a in ('reg query %_Con15fig%') do reg add %_Con15fig% /t REG_SZ /d "%%b,%_ID%" /f %_Nul1%
-)
-exit /b
-
-:GVLKC2R
-if %_Office16% EQU 1 (
-for %%a in (%_RetIds%,ProPlus) do set "_%%a="
-)
-if %_Office15% EQU 1 (
-for %%a in (%_R15Ids%,ProPlus) do set "_%%a="
-)
-if %winbuild% GEQ 9200 wmic path %_sps% where version='%_wmi%' call RefreshLicenseStatus %_Nul3%
-if exist "%SysPath%\spp\store_test\2.0\tokens.dat" if defined _copp (
-%_cscript% %_SLMGR% /rilc
-)
-goto :%_sC2R%
-
-:keys
-if "%~1"=="" exit /b
-goto :%1 %_Nul2%
-
-:: Windows 10 [RS5]
-:32d2fab3-e4a8-42c2-923b-4bf4fd13e6ee
-set "_key=M7XTQ-FN8P6-TTKYV-9D4CC-J462D" &:: Enterprise LTSC 2019
-exit /b
-
-:7103a333-b8c8-49cc-93ce-d37c09687f92
-set "_key=92NFX-8DJQP-P6BBQ-THF9C-7CG2H" &:: Enterprise LTSC 2019 N
-exit /b
-
-:ec868e65-fadf-4759-b23e-93fe37f2cc29
-set "_key=CPWHC-NT2C7-VYW78-DHDB2-PG3GK" &:: Enterprise for Virtual Desktops
-exit /b
-
-:0df4f814-3f57-4b8b-9a9d-fddadcd69fac
-set "_key=NBTWJ-3DR69-3C4V8-C26MC-GQ9M6" &:: Lean
-exit /b
-
-:: Windows 10 [RS3]
-:82bbc092-bc50-4e16-8e18-b74fc486aec3
-set "_key=NRG8B-VKK3Q-CXVCJ-9G2XF-6Q84J" &:: Pro Workstation
-exit /b
-
-:4b1571d3-bafb-4b40-8087-a961be2caf65
-set "_key=9FNHH-K3HBT-3W4TD-6383H-6XYWF" &:: Pro Workstation N
-exit /b
-
-:e4db50ea-bda1-4566-b047-0ca50abc6f07
-set "_key=7NBT4-WGBQX-MP4H7-QXFF8-YP3KX" &:: Enterprise Remote Server
-exit /b
-
-:: Windows 10 [RS2]
-:e0b2d383-d112-413f-8a80-97f373a5820c
-set "_key=YYVX9-NTFWV-6MDM3-9PT4T-4M68B" &:: Enterprise G
-exit /b
-
-:e38454fb-41a4-4f59-a5dc-25080e354730
-set "_key=44RPN-FTY23-9VTTB-MP9BX-T84FV" &:: Enterprise G N
-exit /b
-
-:: Windows 10 [RS1]
-:2d5a5a60-3040-48bf-beb0-fcd770c20ce0
-set "_key=DCPHK-NFMTC-H88MJ-PFHPY-QJ4BJ" &:: Enterprise 2016 LTSB
-exit /b
-
-:9f776d83-7156-45b2-8a5c-359b9c9f22a3
-set "_key=QFFDN-GRT3P-VKWWX-X7T3R-8B639" &:: Enterprise 2016 LTSB N
-exit /b
-
-:3f1afc82-f8ac-4f6c-8005-1d233e606eee
-set "_key=6TP4R-GNPTD-KYYHQ-7B7DP-J447Y" &:: Pro Education
-exit /b
-
-:5300b18c-2e33-4dc2-8291-47ffcec746dd
-set "_key=YVWGF-BXNMC-HTQYQ-CPQ99-66QFC" &:: Pro Education N
-exit /b
-
-:: Windows 10 [TH]
-:58e97c99-f377-4ef1-81d5-4ad5522b5fd8
-set "_key=TX9XD-98N7V-6WMQ6-BX7FG-H8Q99" &:: Home
-exit /b
-
-:7b9e1751-a8da-4f75-9560-5fadfe3d8e38
-set "_key=3KHY7-WNT83-DGQKR-F7HPR-844BM" &:: Home N
-exit /b
-
-:cd918a57-a41b-4c82-8dce-1a538e221a83
-set "_key=7HNRX-D7KGG-3K4RQ-4WPJ4-YTDFH" &:: Home Single Language
-exit /b
-
-:a9107544-f4a0-4053-a96a-1479abdef912
-set "_key=PVMJN-6DFY6-9CCP6-7BKTT-D3WVR" &:: Home China
-exit /b
-
-:2de67392-b7a7-462a-b1ca-108dd189f588
-set "_key=W269N-WFGWX-YVC9B-4J6C9-T83GX" &:: Pro
-exit /b
-
-:a80b5abf-76ad-428b-b05d-a47d2dffeebf
-set "_key=MH37W-N47XK-V7XM9-C7227-GCQG9" &:: Pro N
-exit /b
-
-:e0c42288-980c-4788-a014-c080d2e1926e
-set "_key=NW6C2-QMPVW-D7KKK-3GKT6-VCFB2" &:: Education
-exit /b
-
-:3c102355-d027-42c6-ad23-2e7ef8a02585
-set "_key=2WH4N-8QGBV-H22JP-CT43Q-MDWWJ" &:: Education N
-exit /b
-
-:73111121-5638-40f6-bc11-f1d7b0d64300
-set "_key=NPPR9-FWDCX-D2C8J-H872K-2YT43" &:: Enterprise
-exit /b
-
-:e272e3e2-732f-4c65-a8f0-484747d0d947
-set "_key=DPH2V-TTNVB-4X9Q3-TJR4H-KHJW4" &:: Enterprise N
-exit /b
-
-:7b51a46c-0c04-4e8f-9af4-8496cca90d5e
-set "_key=WNMTR-4C88C-JK8YV-HQ7T2-76DF9" &:: Enterprise 2015 LTSB
-exit /b
-
-:87b838b7-41b6-4590-8318-5797951d8529
-set "_key=2F77B-TNFGY-69QQF-B8YKP-D69TJ" &:: Enterprise 2015 LTSB N
-exit /b
-
-:: Windows Server 2019 [RS5]
-:de32eafd-aaee-4662-9444-c1befb41bde2
-set "_key=N69G4-B89J2-4G8F4-WWYCC-J464C" &:: Standard
-exit /b
-
-:34e1ae55-27f8-4950-8877-7a03be5fb181
-set "_key=WMDGN-G9PQG-XVVXX-R3X43-63DFG" &:: Datacenter
-exit /b
-
-:034d3cbb-5d4b-4245-b3f8-f84571314078
-set "_key=WVDHN-86M7X-466P6-VHXV7-YY726" &:: Essentials
-exit /b
-
-:a99cc1f0-7719-4306-9645-294102fbff95
-set "_key=FDNH6-VW9RW-BXPJ7-4XTYG-239TB" &:: Azure Core
-exit /b
-
-:73e3957c-fc0c-400d-9184-5f7b6f2eb409
-set "_key=N2KJX-J94YW-TQVFB-DG9YT-724CC" &:: Standard ACor
-exit /b
-
-:90c362e5-0da1-4bfd-b53b-b87d309ade43
-set "_key=6NMRW-2C8FM-D24W7-TQWMY-CWH2D" &:: Datacenter ACor
-exit /b
-
-:8de8eb62-bbe0-40ac-ac17-f75595071ea3
-set "_key=GRFBW-QNDC4-6QBHG-CCK3B-2PR88" &:: ServerARM64
-exit /b
-
-:: Windows Server 2016 [RS4]
-:43d9af6e-5e86-4be8-a797-d072a046896c
-set "_key=K9FYF-G6NCK-73M32-XMVPY-F9DRR" &:: ServerARM64
-exit /b
-
-:: Windows Server 2016 [RS3]
-:61c5ef22-f14f-4553-a824-c4b31e84b100
-set "_key=PTXN8-JFHJM-4WC78-MPCBR-9W4KR" &:: Standard ACor
-exit /b
-
-:e49c08e7-da82-42f8-bde2-b570fbcae76c
-set "_key=2HXDN-KRXHB-GPYC7-YCKFJ-7FVDG" &:: Datacenter ACor
-exit /b
-
-:: Windows Server 2016 [RS1]
-:8c1c5410-9f39-4805-8c9d-63a07706358f
-set "_key=WC2BQ-8NRM3-FDDYY-2BFGV-KHKQY" &:: Standard
-exit /b
-
-:21c56779-b449-4d20-adfc-eece0e1ad74b
-set "_key=CB7KF-BWN84-R7R2Y-793K2-8XDDG" &:: Datacenter
-exit /b
-
-:2b5a1b0f-a5ab-4c54-ac2f-a6d94824a283
-set "_key=JCKRF-N37P4-C2D82-9YXRT-4M63B" &:: Essentials
-exit /b
-
-:7b4433f4-b1e7-4788-895a-c45378d38253
-set "_key=QN4C6-GBJD2-FB422-GHWJK-GJG2R" &:: Cloud Storage
-exit /b
-
-:3dbf341b-5f6c-4fa7-b936-699dce9e263f
-set "_key=VP34G-4NPPG-79JTQ-864T4-R3MQX" &:: Azure Core
-exit /b
-
-:: Windows 8.1
-:fe1c3238-432a-43a1-8e25-97e7d1ef10f3
-set "_key=M9Q9P-WNJJT-6PXPY-DWX8H-6XWKK" &:: Core
-exit /b
-
-:78558a64-dc19-43fe-a0d0-8075b2a370a3
-set "_key=7B9N3-D94CG-YTVHR-QBPX3-RJP64" &:: Core N
-exit /b
-
-:c72c6a1d-f252-4e7e-bdd1-3fca342acb35
-set "_key=BB6NG-PQ82V-VRDPW-8XVD2-V8P66" &:: Core Single Language
-exit /b
-
-:db78b74f-ef1c-4892-abfe-1e66b8231df6
-set "_key=NCTT7-2RGK8-WMHRF-RY7YQ-JTXG3" &:: Core China
-exit /b
-
-:ffee456a-cd87-4390-8e07-16146c672fd0
-set "_key=XYTND-K6QKT-K2MRH-66RTM-43JKP" &:: Core ARM
-exit /b
-
-:c06b6981-d7fd-4a35-b7b4-054742b7af67
-set "_key=GCRJD-8NW9H-F2CDX-CCM8D-9D6T9" &:: Pro
-exit /b
-
-:7476d79f-8e48-49b4-ab63-4d0b813a16e4
-set "_key=HMCNV-VVBFX-7HMBH-CTY9B-B4FXY" &:: Pro N
-exit /b
-
-:096ce63d-4fac-48a9-82a9-61ae9e800e5f
-set "_key=789NJ-TQK6T-6XTH8-J39CJ-J8D3P" &:: Pro with Media Center
-exit /b
-
-:81671aaf-79d1-4eb1-b004-8cbbe173afea
-set "_key=MHF9N-XY6XB-WVXMC-BTDCT-MKKG7" &:: Enterprise
-exit /b
-
-:113e705c-fa49-48a4-beea-7dd879b46b14
-set "_key=TT4HM-HN7YT-62K67-RGRQJ-JFFXW" &:: Enterprise N
-exit /b
-
-:0ab82d54-47f4-4acb-818c-cc5bf0ecb649
-set "_key=NMMPB-38DD4-R2823-62W8D-VXKJB" &:: Embedded Industry Pro
-exit /b
-
-:cd4e2d9f-5059-4a50-a92d-05d5bb1267c7
-set "_key=FNFKF-PWTVT-9RC8H-32HB2-JB34X" &:: Embedded Industry Enterprise
-exit /b
-
-:f7e88590-dfc7-4c78-bccb-6f3865b99d1a
-set "_key=VHXM3-NR6FT-RY6RT-CK882-KW2CJ" &:: Embedded Industry Automotive
-exit /b
-
-:e9942b32-2e55-4197-b0bd-5ff58cba8860
-set "_key=3PY8R-QHNP9-W7XQD-G6DPH-3J2C9" &:: with Bing
-exit /b
-
-:c6ddecd6-2354-4c19-909b-306a3058484e
-set "_key=Q6HTR-N24GM-PMJFP-69CD8-2GXKR" &:: with Bing N
-exit /b
-
-:b8f5e3a3-ed33-4608-81e1-37d6c9dcfd9c
-set "_key=KF37N-VDV38-GRRTV-XH8X6-6F3BB" &:: with Bing Single Language
-exit /b
-
-:ba998212-460a-44db-bfb5-71bf09d1c68b
-set "_key=R962J-37N87-9VVK2-WJ74P-XTMHR" &:: with Bing China
-exit /b
-
-:e58d87b5-8126-4580-80fb-861b22f79296
-set "_key=MX3RK-9HNGX-K3QKC-6PJ3F-W8D7B" &:: Pro for Students
-exit /b
-
-:cab491c7-a918-4f60-b502-dab75e334f40
-set "_key=TNFGH-2R6PB-8XM3K-QYHX2-J4296" &:: Pro for Students N
-exit /b
-
-:: Windows Server 2012 R2
-:b3ca044e-a358-4d68-9883-aaa2941aca99
-set "_key=D2N9P-3P6X9-2R39C-7RTCD-MDVJX" &:: Standard
-exit /b
-
-:00091344-1ea4-4f37-b789-01750ba6988c
-set "_key=W3GGN-FT8W3-Y4M27-J84CP-Q3VJ9" &:: Datacenter
-exit /b
-
-:21db6ba4-9a7b-4a14-9e29-64a60c59301d
-set "_key=KNC87-3J2TX-XB4WP-VCPJV-M4FWM" &:: Essentials
-exit /b
-
-:b743a2be-68d4-4dd3-af32-92425b7bb623
-set "_key=3NPTF-33KPT-GGBPR-YX76B-39KDD" &:: Cloud Storage
-exit /b
-
-:: Windows 8
-:c04ed6bf-55c8-4b47-9f8e-5a1f31ceee60
-set "_key=BN3D2-R7TKB-3YPBD-8DRP2-27GG4" &:: Core
-exit /b
-
-:197390a0-65f6-4a95-bdc4-55d58a3b0253
-set "_key=8N2M2-HWPGY-7PGT9-HGDD8-GVGGY" &:: Core N
-exit /b
-
-:8860fcd4-a77b-4a20-9045-a150ff11d609
-set "_key=2WN2H-YGCQR-KFX6K-CD6TF-84YXQ" &:: Core Single Language
-exit /b
-
-:9d5584a2-2d85-419a-982c-a00888bb9ddf
-set "_key=4K36P-JN4VD-GDC6V-KDT89-DYFKP" &:: Core China
-exit /b
-
-:af35d7b7-5035-4b63-8972-f0b747b9f4dc
-set "_key=DXHJF-N9KQX-MFPVR-GHGQK-Y7RKV" &:: Core ARM
-exit /b
-
-:a98bcd6d-5343-4603-8afe-5908e4611112
-set "_key=NG4HW-VH26C-733KW-K6F98-J8CK4" &:: Pro
-exit /b
-
-:ebf245c1-29a8-4daf-9cb1-38dfc608a8c8
-set "_key=XCVCF-2NXM9-723PB-MHCB7-2RYQQ" &:: Pro N
-exit /b
-
-:a00018a3-f20f-4632-bf7c-8daa5351c914
-set "_key=GNBB8-YVD74-QJHX6-27H4K-8QHDG" &:: Pro with Media Center
-exit /b
-
-:458e1bec-837a-45f6-b9d5-925ed5d299de
-set "_key=32JNW-9KQ84-P47T8-D8GGY-CWCK7" &:: Enterprise
-exit /b
-
-:e14997e7-800a-4cf7-ad10-de4b45b578db
-set "_key=JMNMF-RHW7P-DMY6X-RF3DR-X2BQT" &:: Enterprise N
-exit /b
-
-:10018baf-ce21-4060-80bd-47fe74ed4dab
-set "_key=RYXVT-BNQG7-VD29F-DBMRY-HT73M" &:: Embedded Industry Pro
-exit /b
-
-:18db1848-12e0-4167-b9d7-da7fcda507db
-set "_key=NKB3R-R2F8T-3XCDP-7Q2KW-XWYQ2" &:: Embedded Industry Enterprise
-exit /b
-
-:: Windows Server 2012
-:f0f5ec41-0d55-4732-af02-440a44a3cf0f
-set "_key=XC9B7-NBPP2-83J2H-RHMBY-92BT4" &:: Standard
-exit /b
-
-:d3643d60-0c42-412d-a7d6-52e6635327f6
-set "_key=48HP8-DN98B-MYWDG-T2DCC-8W83P" &:: Datacenter
-exit /b
-
-:7d5486c7-e120-4771-b7f1-7b56c6d3170c
-set "_key=HM7DN-YVMH3-46JC3-XYTG7-CYQJJ" &:: MultiPoint Standard
-exit /b
-
-:95fd1c83-7df5-494a-be8b-1300e1c9d1cd
-set "_key=XNH6W-2V9GX-RGJ4K-Y8X6F-QGJ2G" &:: MultiPoint Premium
-exit /b
-
-:: Windows 7
-:b92e9980-b9d5-4821-9c94-140f632f6312
-set "_key=FJ82H-XT6CR-J8D7P-XQJJ2-GPDD4" &:: Professional
-exit /b
-
-:54a09a0d-d57b-4c10-8b69-a842d6590ad5
-set "_key=MRPKT-YTG23-K7D7T-X2JMM-QY7MG" &:: Professional N
-exit /b
-
-:5a041529-fef8-4d07-b06f-b59b573b32d2
-set "_key=W82YF-2Q76Y-63HXB-FGJG9-GF7QX" &:: Professional E
-exit /b
-
-:ae2ee509-1b34-41c0-acb7-6d4650168915
-set "_key=33PXH-7Y6KF-2VJC9-XBBR8-HVTHH" &:: Enterprise
-exit /b
-
-:1cb6d605-11b3-4e14-bb30-da91c8e3983a
-set "_key=YDRBP-3D83W-TY26F-D46B2-XCKRJ" &:: Enterprise N
-exit /b
-
-:46bbed08-9c7b-48fc-a614-95250573f4ea
-set "_key=C29WB-22CC8-VJ326-GHFJW-H9DH4" &:: Enterprise E
-exit /b
-
-:db537896-376f-48ae-a492-53d0547773d0
-set "_key=YBYF6-BHCR3-JPKRB-CDW7B-F9BK4" &:: Embedded POSReady 7
-exit /b
-
-:e1a8296a-db37-44d1-8cce-7bc961d59c54
-set "_key=XGY72-BRBBT-FF8MH-2GG8H-W7KCW" &:: Embedded Standard
-exit /b
-
-:aa6dd3aa-c2b4-40e2-a544-a6bbb3f5c395
-set "_key=73KQT-CD9G6-K7TQG-66MRP-CQ22C" &:: Embedded ThinPC
-exit /b
-
-:: Windows Server 2008 R2
-:a78b8bd9-8017-4df5-b86a-09f756affa7c
-set "_key=6TPJF-RBVHG-WBW2R-86QPH-6RTM4" &:: Web
-exit /b
-
-:cda18cf3-c196-46ad-b289-60c072869994
-set "_key=TT8MH-CG224-D3D7Q-498W2-9QCTX" &:: HPC
-exit /b
-
-:68531fb9-5511-4989-97be-d11a0f55633f
-set "_key=YC6KT-GKW9T-YTKYR-T4X34-R7VHC" &:: Standard
-exit /b
-
-:7482e61b-c589-4b7f-8ecc-46d455ac3b87
-set "_key=74YFP-3QFB3-KQT8W-PMXWJ-7M648" &:: Datacenter
-exit /b
-
-:620e2b3d-09e7-42fd-802a-17a13652fe7a
-set "_key=489J6-VHDMP-X63PK-3K798-CPX3Y" &:: Enterprise
-exit /b
-
-:8a26851c-1c7e-48d3-a687-fbca9b9ac16b
-set "_key=GT63C-RJFQ3-4GMB6-BRFB9-CB83V" &:: Itanium
-exit /b
-
-:f772515c-0e87-48d5-a676-e6962c3e1195
-set "_key=736RG-XDKJK-V34PF-BHK87-J6X3K" &:: MultiPoint Server ServerEmbeddedSolution
-exit /b
-
-:: Office 2019
-:0bc88885-718c-491d-921f-6f214349e79c
-set "_key=VQ9DP-NVHPH-T9HJC-J9PDT-KTQRG" &:: Professional Plus C2R-P
-exit /b
-
-:fc7c4d0c-2e85-4bb9-afd4-01ed1476b5e9
-set "_key=XM2V9-DN9HH-QB449-XDGKC-W2RMW" &:: Project Professional C2R-P
-exit /b
-
-:500f6619-ef93-4b75-bcb4-82819998a3ca
-set "_key=N2CG9-YD3YK-936X4-3WR82-Q3X4H" &:: Visio Professional C2R-P
-exit /b
-
-:85dd8b5f-eaa4-4af3-a628-cce9e77c9a03
-set "_key=NMMKJ-6RK4F-KMJVX-8D9MJ-6MWKP" &:: Professional Plus
-exit /b
-
-:6912a74b-a5fb-401a-bfdb-2e3ab46f4b02
-set "_key=6NWWJ-YQWMR-QKGCB-6TMB3-9D9HK" &:: Standard
-exit /b
-
-:2ca2bf3f-949e-446a-82c7-e25a15ec78c4
-set "_key=B4NPR-3FKK7-T2MBV-FRQ4W-PKD2B" &:: Project Professional
-exit /b
-
-:1777f0e3-7392-4198-97ea-8ae4de6f6381
-set "_key=C4F7P-NCP8C-6CQPT-MQHV9-JXD2M" &:: Project Standard
-exit /b
-
-:5b5cf08f-b81a-431d-b080-3450d8620565
-set "_key=9BGNQ-K37YR-RQHF2-38RQ3-7VCBB" &:: Visio Professional
-exit /b
-
-:e06d7df3-aad0-419d-8dfb-0ac37e2bdf39
-set "_key=7TQNQ-K3YQQ-3PFH7-CCPPM-X4VQ2" &:: Visio Standard
-exit /b
-
-:9e9bceeb-e736-4f26-88de-763f87dcc485
-set "_key=9N9PT-27V4Y-VJ2PD-YXFMF-YTFQT" &:: Access
-exit /b
-
-:237854e9-79fc-4497-a0c1-a70969691c6b
-set "_key=TMJWT-YYNMB-3BKTF-644FC-RVXBD" &:: Excel
-exit /b
-
-:c8f8a301-19f5-4132-96ce-2de9d4adbd33
-set "_key=7HD7K-N4PVK-BHBCQ-YWQRW-XW4VK" &:: Outlook
-exit /b
-
-:3131fd61-5e4f-4308-8d6d-62be1987c92c
-set "_key=RRNCX-C64HY-W2MM7-MCH9G-TJHMQ" &:: PowerPoint
-exit /b
-
-:9d3e4cca-e172-46f1-a2f4-1d2107051444
-set "_key=G2KWX-3NW6P-PY93R-JXK2T-C9Y9V" &:: Publisher
-exit /b
-
-:734c6c6e-b0ba-4298-a891-671772b2bd1b
-set "_key=NCJ33-JHBBY-HTK98-MYCV8-HMKHJ" &:: Skype for Business
-exit /b
-
-:059834fe-a8ea-4bff-b67b-4d006b5447d3
-set "_key=PBX3G-NWMT6-Q7XBW-PYJGG-WXD33" &:: Word
-exit /b
-
-:: Office 2016
-:829b8110-0e6f-4349-bca4-42803577788d
-set "_key=WGT24-HCNMF-FQ7XH-6M8K7-DRTW9" &:: Project Professional C2R-P
-exit /b
-
-:cbbaca45-556a-4416-ad03-bda598eaa7c8
-set "_key=D8NRQ-JTYM3-7J2DX-646CT-6836M" &:: Project Standard C2R-P
-exit /b
-
-:b234abe3-0857-4f9c-b05a-4dc314f85557
-set "_key=69WXN-MBYV6-22PQG-3WGHK-RM6XC" &:: Visio Professional C2R-P
-exit /b
-
-:361fe620-64f4-41b5-ba77-84f8e079b1f7
-set "_key=NY48V-PPYYH-3F4PX-XJRKJ-W4423" &:: Visio Standard C2R-P
-exit /b
-
-:e914ea6e-a5fa-4439-a394-a9bb3293ca09
-set "_key=DMTCJ-KNRKX-26982-JYCKT-P7KB6" &:: MondoR
-exit /b
-
-:9caabccb-61b1-4b4b-8bec-d10a3c3ac2ce
-set "_key=HFTND-W9MK4-8B7MJ-B6C4G-XQBR2" &:: Mondo
-exit /b
-
-:d450596f-894d-49e0-966a-fd39ed4c4c64
-set "_key=XQNVK-8JYDB-WJ9W3-YJ8YR-WFG99" &:: Professional Plus
-exit /b
-
-:dedfa23d-6ed1-45a6-85dc-63cae0546de6
-set "_key=JNRGM-WHDWX-FJJG3-K47QV-DRTFM" &:: Standard
-exit /b
-
-:4f414197-0fc2-4c01-b68a-86cbb9ac254c
-set "_key=YG9NW-3K39V-2T3HJ-93F3Q-G83KT" &:: Project Professional
-exit /b
-
-:da7ddabc-3fbe-4447-9e01-6ab7440b4cd4
-set "_key=GNFHQ-F6YQM-KQDGJ-327XX-KQBVC" &:: Project Standard
-exit /b
-
-:6bf301c1-b94a-43e9-ba31-d494598c47fb
-set "_key=PD3PC-RHNGV-FXJ29-8JK7D-RJRJK" &:: Visio Professional
-exit /b
-
-:aa2a7821-1827-4c2c-8f1d-4513a34dda97
-set "_key=7WHWN-4T7MP-G96JF-G33KR-W8GF4" &:: Visio Standard
-exit /b
-
-:67c0fc0c-deba-401b-bf8b-9c8ad8395804
-set "_key=GNH9Y-D2J4T-FJHGG-QRVH7-QPFDW" &:: Access
-exit /b
-
-:c3e65d36-141f-4d2f-a303-a842ee756a29
-set "_key=9C2PK-NWTVB-JMPW8-BFT28-7FTBF" &:: Excel
-exit /b
-
-:d8cace59-33d2-4ac7-9b1b-9b72339c51c8
-set "_key=DR92N-9HTF2-97XKM-XW2WJ-XW3J6" &:: OneNote
-exit /b
-
-:ec9d9265-9d1e-4ed0-838a-cdc20f2551a1
-set "_key=R69KK-NTPKF-7M3Q4-QYBHW-6MT9B" &:: Outlook
-exit /b
-
-:d70b1bba-b893-4544-96e2-b7a318091c33
-set "_key=J7MQP-HNJ4Y-WJ7YM-PFYGF-BY6C6" &:: Powerpoint
-exit /b
-
-:041a06cb-c5b8-4772-809f-416d03d16654
-set "_key=F47MM-N3XJP-TQXJ9-BP99D-8K837" &:: Publisher
-exit /b
-
-:83e04ee1-fa8d-436d-8994-d31a862cab77
-set "_key=869NQ-FJ69K-466HW-QYCP2-DDBV6" &:: Skype for Business
-exit /b
-
-:bb11badf-d8aa-470e-9311-20eaf80fe5cc
-set "_key=WXY84-JN2Q9-RBCCQ-3Q3J3-3PFJ6" &:: Word
-exit /b
-
-:: Office 2013
-:dc981c6b-fc8e-420f-aa43-f8f33e5c0923
-set "_key=42QTK-RN8M7-J3C4G-BBGYM-88CYV" &:: Mondo
-exit /b
-
-:b322da9c-a2e2-4058-9e4e-f59a6970bd69
-set "_key=YC7DK-G2NP3-2QQC3-J6H88-GVGXT" &:: Professional Plus
-exit /b
-
-:b13afb38-cd79-4ae5-9f7f-eed058d750ca
-set "_key=KBKQT-2NMXY-JJWGP-M62JB-92CD4" &:: Standard
-exit /b
-
-:4a5d124a-e620-44ba-b6ff-658961b33b9a
-set "_key=FN8TT-7WMH6-2D4X9-M337T-2342K" &:: Project Professional
-exit /b
-
-:427a28d1-d17c-4abf-b717-32c780ba6f07
-set "_key=6NTH3-CW976-3G3Y2-JK3TX-8QHTT" &:: Project Standard
-exit /b
-
-:e13ac10e-75d0-4aff-a0cd-764982cf541c
-set "_key=C2FG9-N6J68-H8BTJ-BW3QX-RM3B3" &:: Visio Professional
-exit /b
-
-:ac4efaf0-f81f-4f61-bdf7-ea32b02ab117
-set "_key=J484Y-4NKBF-W2HMG-DBMJC-PGWR7" &:: Visio Standard
-exit /b
-
-:6ee7622c-18d8-4005-9fb7-92db644a279b
-set "_key=NG2JY-H4JBT-HQXYP-78QH9-4JM2D" &:: Access
-exit /b
-
-:f7461d52-7c2b-43b2-8744-ea958e0bd09a
-set "_key=VGPNG-Y7HQW-9RHP7-TKPV3-BG7GB" &:: Excel
-exit /b
-
-:fb4875ec-0c6b-450f-b82b-ab57d8d1677f
-set "_key=H7R7V-WPNXQ-WCYYC-76BGV-VT7GH" &:: Groove
-exit /b
-
-:a30b8040-d68a-423f-b0b5-9ce292ea5a8f
-set "_key=DKT8B-N7VXH-D963P-Q4PHY-F8894" &:: InfoPath
-exit /b
-
-:1b9f11e3-c85c-4e1b-bb29-879ad2c909e3
-set "_key=2MG3G-3BNTT-3MFW9-KDQW3-TCK7R" &:: Lync
-exit /b
-
-:efe1f3e6-aea2-4144-a208-32aa872b6545
-set "_key=TGN6P-8MMBC-37P2F-XHXXK-P34VW" &:: OneNote
-exit /b
-
-:771c3afa-50c5-443f-b151-ff2546d863a0
-set "_key=QPN8Q-BJBTJ-334K3-93TGY-2PMBT" &:: Outlook
-exit /b
-
-:8c762649-97d1-4953-ad27-b7e2c25b972e
-set "_key=4NT99-8RJFH-Q2VDH-KYG2C-4RD4F" &:: Powerpoint
-exit /b
-
-:00c79ff1-6850-443d-bf61-71cde0de305f
-set "_key=PN2WF-29XG2-T9HJ7-JQPJR-FCXK4" &:: Publisher
-exit /b
-
-:d9f5b1c6-5386-495a-88f9-9ad6b41ac9b3
-set "_key=6Q7VD-NX8JD-WJ2VH-88V73-4GBJ7" &:: Word
-exit /b
-
-:: Office 2010
-:09ed9640-f020-400a-acd8-d7d867dfd9c2
-set "_key=YBJTT-JG6MD-V9Q7P-DBKXJ-38W9R" &:: Mondo
-exit /b
-
-:ef3d4e49-a53d-4d81-a2b1-2ca6c2556b2c
-set "_key=7TC2V-WXF6P-TD7RT-BQRXR-B8K32" &:: Mondo2
-exit /b
-
-:6f327760-8c5c-417c-9b61-836a98287e0c
-set "_key=VYBBJ-TRJPB-QFQRF-QFT4D-H3GVB" &:: Professional Plus
-exit /b
-
-:9da2a678-fb6b-4e67-ab84-60dd6a9c819a
-set "_key=V7QKV-4XVVR-XYV4D-F7DFM-8R6BM" &:: Standard
-exit /b
-
-:df133ff7-bf14-4f95-afe3-7b48e7e331ef
-set "_key=YGX6F-PGV49-PGW3J-9BTGG-VHKC6" &:: Project Professional
-exit /b
-
-:5dc7bf61-5ec9-4996-9ccb-df806a2d0efe
-set "_key=4HP3K-88W3F-W2K3D-6677X-F9PGB" &:: Project Standard
-exit /b
-
-:92236105-bb67-494f-94c7-7f7a607929bd
-set "_key=D9DWC-HPYVV-JGF4P-BTWQB-WX8BJ" &:: Visio Premium
-exit /b
-
-:e558389c-83c3-4b29-adfe-5e4d7f46c358
-set "_key=7MCW8-VRQVK-G677T-PDJCM-Q8TCP" &:: Visio Professional
-exit /b
-
-:9ed833ff-4f92-4f36-b370-8683a4f13275
-set "_key=767HD-QGMWX-8QTDB-9G3R2-KHFGJ" &:: Visio Standard
-exit /b
-
-:8ce7e872-188c-4b98-9d90-f8f90b7aad02
-set "_key=V7Y44-9T38C-R2VJK-666HK-T7DDX" &:: Access
-exit /b
-
-:cee5d470-6e3b-4fcc-8c2b-d17428568a9f
-set "_key=H62QG-HXVKF-PP4HP-66KMR-CW9BM" &:: Excel
-exit /b
-
-:8947d0b8-c33b-43e1-8c56-9b674c052832
-set "_key=QYYW6-QP4CB-MBV6G-HYMCJ-4T3J4" &:: Groove (SharePoint Workspace)
-exit /b
-
-:ca6b6639-4ad6-40ae-a575-14dee07f6430
-set "_key=K96W8-67RPQ-62T9Y-J8FQJ-BT37T" &:: InfoPath
-exit /b
-
-:ab586f5c-5256-4632-962f-fefd8b49e6f4
-set "_key=Q4Y4M-RHWJM-PY37F-MTKWH-D3XHX" &:: OneNote
-exit /b
-
-:ecb7c192-73ab-4ded-acf4-2399b095d0cc
-set "_key=7YDC2-CWM8M-RRTJC-8MDVC-X3DWQ" &:: Outlook
-exit /b
-
-:45593b1d-dfb1-4e91-bbfb-2d5d0ce2227a
-set "_key=RC8FX-88JRY-3PF7C-X8P67-P4VTT" &:: Powerpoint
-exit /b
-
-:b50c4f75-599b-43e8-8dcd-1081a7967241
-set "_key=BFK7F-9MYHM-V68C7-DRQ66-83YTP" &:: Publisher
-exit /b
-
-:2d0882e7-a4e7-423b-8ccc-70d91e0158b1
-set "_key=HVHB3-C6FV7-KQX9W-YQG79-CRY7T" &:: Word
-exit /b
-
-:ea509e87-07a1-4a45-9edc-eba5a39f36af
-set "_key=D6QFG-VBYP2-XQHM7-J97RH-VVRCK" &:: Small Business Basics
-exit /b
-
-:TheEnd
-if %Unattend% EQU 0 echo Press any key to exit.
-%_Pause%
-exit /b 0
-
-::======================================================================================================================================== \ No newline at end of file
diff --git a/MAS_1.3/Separate-Files-Version/Activators/Online_KMS_Activation/BIN/_Info.txt b/MAS_1.3/Separate-Files-Version/Activators/Online_KMS_Activation/BIN/_Info.txt
deleted file mode 100644
index 481bc7f..0000000
--- a/MAS_1.3/Separate-Files-Version/Activators/Online_KMS_Activation/BIN/_Info.txt
+++ /dev/null
@@ -1,16 +0,0 @@
-====================================================================================================
- File Details:
-====================================================================================================
-
- d30a0e4e5911d3ca705617d17225372731c770e2 *cleanosppx64.exe Virus Total = 0/66
- 39ed8659e7ca16aaccb86def94ce6cec4c847dd6 *cleanosppx86.exe Virus Total = 1/66
-
- Virus Total Report Date: 12-11-2019
-
- These files are official Microsoft files and in this script, these are used in
- cleaning office license in C2R Retail office to VL conversion process.
-
- The source of these files is the 'old' version of Microsoft Tool O15CTRRemove.diagcab
- You can get the original file here https://s.put.re/WFuXpyWA.zip
-
-==================================================================================================== \ No newline at end of file
diff --git a/MAS_1.3/Separate-Files-Version/Activators/Online_KMS_Activation/BIN/cleanosppx64.exe b/MAS_1.3/Separate-Files-Version/Activators/Online_KMS_Activation/BIN/cleanosppx64.exe
deleted file mode 100644
index ad19905..0000000
--- a/MAS_1.3/Separate-Files-Version/Activators/Online_KMS_Activation/BIN/cleanosppx64.exe
+++ /dev/null
Binary files differ
diff --git a/MAS_1.3/Separate-Files-Version/Activators/Online_KMS_Activation/BIN/cleanosppx86.exe b/MAS_1.3/Separate-Files-Version/Activators/Online_KMS_Activation/BIN/cleanosppx86.exe
deleted file mode 100644
index 248bf4a..0000000
--- a/MAS_1.3/Separate-Files-Version/Activators/Online_KMS_Activation/BIN/cleanosppx86.exe
+++ /dev/null
Binary files differ
diff --git a/MAS_1.3/Separate-Files-Version/Activators/Online_KMS_Activation/Renewal_Setup.cmd b/MAS_1.3/Separate-Files-Version/Activators/Online_KMS_Activation/Renewal_Setup.cmd
deleted file mode 100644
index 0eee8e6..0000000
--- a/MAS_1.3/Separate-Files-Version/Activators/Online_KMS_Activation/Renewal_Setup.cmd
+++ /dev/null
@@ -1,657 +0,0 @@
-@setlocal DisableDelayedExpansion
-@echo off
-
-
-
-
-
-
-:: =======================================================================================================
-::
-:: This script is a part of 'Microsoft Activation Scripts' project.
-::
-:: Homepages-
-:: NsaneForums: (Login Required) https://www.nsaneforums.com/topic/316668-microsoft-activation-scripts/
-:: GitHub: https://github.com/massgravel/Microsoft-Activation-Scripts
-:: GitLab: https://gitlab.com/massgrave/microsoft-activation-scripts
-::
-:: Maintained by @WindowsAddict
-::
-:: =======================================================================================================
-
-
-
-
-
-
-
-
-
-
-
-
-::========================================================================================================================================
-
-cls
-set Unattended=
-set _args=
-set _elev=
-set RenTask=
-set RenActTask=
-set DeskMenu=
-set _SkipWinAct=
-set _end=
-set "_arg1=%~1"
-if not defined _arg1 goto :NoProgArgs
-set "_args=%~1"
-set "_arg2=%~2"
-set "_arg3=%~3"
-if defined _arg2 set "_args=%~1 %~2"
-if defined _arg3 set "_args=%~1 %~2 %~3"
-for %%A in (%_args%) do (
-if /i "%%A"=="-el" set _elev=1
-if /i "%%A"=="/swa" set _SkipWinAct=1
-if /i "%%A"=="/rt" set RenTask=1&set Unattended=1
-if /i "%%A"=="/rat" set RenActTask=1&set Unattended=1
-if /i "%%A"=="/dcm" set DeskMenu=1&set Unattended=1)
-:NoProgArgs
-for /f "tokens=6 delims=[]. " %%G in ('ver') do set winbuild=%%G
-set "_psc=powershell -nop -ep bypass -c"
-set "nul=1>nul 2>nul"
-set "EchoRed=%_psc% write-host -back Black -fore Red"
-set "EchoGreen=%_psc% write-host -back Black -fore Green"
-set "EchoYellow=%_psc% write-host -back Black -fore DarkYellow"
-set "ELine=echo: & %EchoRed% ==== ERROR ==== &echo:"
-
-::========================================================================================================================================
-
-for %%i in (powershell.exe) do if "%%~$path:i"=="" (
-echo: &echo ==== ERROR ==== &echo:
-echo Powershell is not installed in the system.
-echo Aborting...
-set _end=1
-goto Done
-)
-
-::========================================================================================================================================
-
-if %winbuild% LSS 7600 (
-%ELine%
-echo Unsupported OS version Detected.
-echo Project is supported only for Windows 7/8/8.1/10 and their Server equivalent.
-set _end=1
-goto Done
-)
-
-::========================================================================================================================================
-
-:: Elevate script as admin and pass arguments and preventing loop
-:: Thanks to @hearywarlot [ https://forums.mydigitallife.net/threads/.74332/ ] for the VBS method.
-:: Thanks to @abbodi1406 for the powershell method and solving special characters issue in file path name.
-
-%nul% reg query HKU\S-1-5-19 && (
- goto :Passed
- ) || (
- if defined _elev goto :E_Admin
-)
-
-set "_batf=%~f0"
-set "_vbsf=%temp%\admin.vbs"
-set _PSarg="""%~f0""" -el
-if defined _args set _PSarg="""%~f0""" -el """%_args%"""
-
-setlocal EnableDelayedExpansion
-
-(
-echo Set strArg=WScript.Arguments.Named
-echo Set strRdlproc = CreateObject^("WScript.Shell"^).Exec^("rundll32 kernel32,Sleep"^)
-echo With GetObject^("winmgmts:\\.\root\CIMV2:Win32_Process.Handle='" ^& strRdlproc.ProcessId ^& "'"^)
-echo With GetObject^("winmgmts:\\.\root\CIMV2:Win32_Process.Handle='" ^& .ParentProcessId ^& "'"^)
-echo If InStr ^(.CommandLine, WScript.ScriptName^) ^<^> 0 Then
-echo strLine = Mid^(.CommandLine, InStr^(.CommandLine , "/File:"^) + Len^(strArg^("File"^)^) + 8^)
-echo End If
-echo End With
-echo .Terminate
-echo End With
-echo CreateObject^("Shell.Application"^).ShellExecute "cmd.exe", "/c " ^& chr^(34^) ^& chr^(34^) ^& strArg^("File"^) ^& chr^(34^) ^& strLine ^& chr^(34^), "", "runas", 1
-)>"!_vbsf!"
-
-(%nul% cscript //NoLogo "!_vbsf!" /File:"!_batf!" -el "!_args!") && (
-del /f /q "!_vbsf!"
-exit /b
-) || (
-del /f /q "!_vbsf!"
-%nul% %_psc% "start cmd.exe -arg '/c \"!_PSarg:'=''!\"' -verb runas" && (
-exit /b
-) || (
-goto :E_Admin
-)
-)
-exit /b
-
-:E_Admin
-%ELine%
-echo This script require administrator privileges.
-echo To do so, right click on this script and select 'Run as administrator'.
-set _end=1
-goto Done
-
-:Passed
-
-::========================================================================================================================================
-
-:: Fix for the special characters limitation in path name
-:: Written by @abbodi1406
-
-set "_work=%~dp0"
-if "%_work:~-1%"=="\" set "_work=%_work:~0,-1%"
-
-set "_batf=%~f0"
-set "_batp=%_batf:'=''%"
-
-setlocal EnableDelayedExpansion
-
-::========================================================================================================================================
-
-if not exist "!_work!\Activate.cmd" (
-%ELine%
-echo File [Activate.cmd] does not exist in current folder..
-echo It's required for the Task Creation.
-set _end=1
-goto Done
-)
-
-call :check cleanosppx64.exe cleanosppx86.exe
-if defined _miss set _end=1&goto Done
-
-::========================================================================================================================================
-
-set "_dest=%ProgramData%\Online_KMS_Activation"
-set "key=HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Schedule\taskcache\tasks"
-
-:ActivationRenewal
-
-cls
-title Online KMS Activation Renewal
-mode con cols=98 lines=30
-set ActTask=
-set error_=
-set DelDeskCont=
-set error_1=
-
-if defined RenTask goto:Task
-if defined RenActTask set ActTask=1&goto:Task
-if defined DeskMenu goto:ContextMenu
-echo:
-echo:
-echo:
-echo You can apply the option [either 1 or 2] and [3].
-echo ______________________________________________________
-echo ^| ^|
-echo ^| Auto Renewal via Task Scheduler ^|
-echo ^| ^|
-echo ^| [1] Create Renewal Task ^|
-echo ^| ^|
-echo ^| [2] Create Renewal and Activation Task ^|
-echo ^|______________________________________________________^|
-echo ^| ^|
-echo ^| Manual Renewal via Desktop Context Menu ^|
-echo ^| ^|
-echo ^| [3] Add Desktop Context Menu ^|
-echo ^|______________________________________________________^|
-echo ^| ^|
-echo ^| [4] Exit ^|
-echo ^| ^|
-echo ^|______________________________________________________^|
-echo:
-choice /C:1234 /N /M ". Enter Your Choice [1,2,3,4] : "
-
-if errorlevel 4 exit /b
-if errorlevel 3 goto:ContextMenu
-if errorlevel 2 set ActTask=1&goto:Task
-if errorlevel 1 goto:Task
-
-:======================================================================================================================================================
-
-:Task
-
-cls
-if defined ActTask (
-title Create Renewal And Activation Tasks
-) else (
-title Create Renewal Task
-)
-
-reg query "%key%" /f Path /s | find /i "\Online_KMS_Activation_Script-Renewal" >nul && (
-schtasks /delete /tn Online_KMS_Activation_Script-Renewal /f %nul%
-)
-reg query "%key%" /f Path /s | find /i "\Online_KMS_Activation_Script-Run_Once" >nul && (
-schtasks /delete /tn Online_KMS_Activation_Script-Run_Once /f %nul%
-)
-If exist "%_dest%\" (
-@RD /s /q "%_dest%\" %nul%
-)
-If exist "%windir%\Online_KMS_Activation_Script\" (
-@RD /s /q "%windir%\Online_KMS_Activation_Script\" %nul%
-)
-If exist "%ProgramData%\Online_KMS_Activation.cmd" (
-Reg delete "HKCR\DesktopBackground\shell\Activate Windows - Office" /f %nul%
-del /f /q "%ProgramData%\Online_KMS_Activation.cmd" %nul%
-set DelDeskCont=1
-)
-
-md "%_dest%\BIN\" %nul%
-
-set "_temp=%SystemRoot%\Temp\_KMS_Task_Work"
-if exist "%_temp%\" @RD /S /Q "%_temp%\" %nul%
-md "%_temp%\" %nul%
-
-call :Export renewal "%_temp%\Renewal.xml" Unicode
-if defined ActTask (call :Export run_once "%_temp%\Run_Once.xml" Unicode)
-
-call :Export info "%_dest%\Info.txt" ASCII
-
-copy /y /b "!_work!\BIN\cleanosppx64.exe" "%_dest%\BIN\cleanosppx64.exe" %nul%
-copy /y /b "!_work!\BIN\cleanosppx86.exe" "%_dest%\BIN\cleanosppx86.exe" %nul%
-
-cd /d "!_work!"
-
-if defined _SkipWinAct (
-%nul% %_psc% "(gc Activate.cmd) -replace 'set ActWindows=1', 'set ActWindows=0' | Out-File -encoding ASCII "%_dest%\Activate.cmd"" || (set error_=1)
-) else (
-copy /y /b "!_work!\Activate.cmd" "%_dest%\Activate.cmd" %nul%
-)
-schtasks /create /tn "Online_KMS_Activation_Script-Renewal" /ru "SYSTEM" /xml "%_temp%\Renewal.xml" %nul%
-if defined ActTask (schtasks /create /tn "Online_KMS_Activation_Script-Run_Once" /ru "SYSTEM" /xml "%_temp%\Run_Once.xml" %nul%)
-
-if exist "%_temp%\" @RD /S /Q "%_temp%\" %nul%
-
-::========================================================================================================================================
-
-reg query "%key%" /f Path /s | find /i "\Online_KMS_Activation_Script-Renewal" >nul || (set error_=1)
-if defined ActTask reg query "%key%" /f Path /s | find /i "\Online_KMS_Activation_Script-Run_Once" >nul || (set error_=1)
-
-If not exist "%_dest%\Activate.cmd" (set error_=1)
-If not exist "%_dest%\Info.txt" (set error_=1)
-If not exist "%_dest%\BIN\cleanosppx64.exe" (set error_=1)
-If not exist "%_dest%\BIN\cleanosppx86.exe" (set error_=1)
-
-if defined error_ (
-reg query "%key%" /f Path /s | find /i "\Online_KMS_Activation_Script-Renewal" >nul && (
-schtasks /delete /tn Online_KMS_Activation_Script-Renewal /f %nul%
-)
-reg query "%key%" /f Path /s | find /i "\Online_KMS_Activation_Script-Run_Once" >nul && (
-schtasks /delete /tn Online_KMS_Activation_Script-Run_Once /f %nul%
-)
-reg delete "HKCR\DesktopBackground\shell\Activate Windows - Office" /f %nul%
-If exist "%_dest%\" (
-@RD /s /q "%_dest%\" %nul%
-)
-echo _________________________________________________________________
-echo:
-%ELine%
-echo Run the Online KMS Complete Uninstall script and then try again.
-echo _________________________________________________________________
-) else (
-echo:
-echo __________________________________________________________________________________________
-echo:
-if defined DelDeskCont (
-%EchoYellow% Previous desktop context menu entry for Online KMS Activation is deleted.
-echo:
-)
-if defined _SkipWinAct (
-%EchoYellow% %_dest%\Activate.cmd is set to skip Windows Activation.
-echo:
-)
-
-echo Files created:
-echo %_dest%\BIN\cleanosppx64.exe
-echo %_dest%\BIN\cleanosppx86.exe
-echo %_dest%\Activate.cmd
-echo %_dest%\Info.txt
-echo:
-echo Scheduled Tasks created:
-echo \Online_KMS_Activation_Script-Renewal
-if defined ActTask (echo \Online_KMS_Activation_Script-Run_Once)
-echo:
-echo It's recommended to set exclusion for the following file in your Antivirus Program.
-echo:
-echo %_dest%\Activate.cmd
-echo __________________________________________________________________________________________
-echo:
-if defined ActTask (
-%EchoGreen% Online KMS Activation - Renewal and Activation Tasks are successfully created.
-) else (
-%EchoGreen% Online KMS Activation - Renewal Task is successfully created.
-)
-echo __________________________________________________________________________________________
-echo:
-)
-
-goto Done
-
-::========================================================================================================================================
-
-:ContextMenu
-
-cls
-title Add Desktop Context Menu
-
-If exist "%ProgramData%\Online_KMS_Activation.cmd" (
-del /f /q "%ProgramData%\Online_KMS_Activation.cmd" %nul%
-set DelDeskCont=1
-)
-
-reg delete "HKCR\DesktopBackground\shell\Activate Windows - Office" /f %nul%
-
-if exist "%_dest%\BIN\" (
-@RD /s /q "%_dest%\BIN\" %nul%
-)
-
-md "%_dest%\BIN\" %nul%
-copy /y /b "!_work!\BIN\cleanosppx64.exe" "%_dest%\BIN\cleanosppx64.exe" %nul%
-copy /y /b "!_work!\BIN\cleanosppx86.exe" "%_dest%\BIN\cleanosppx86.exe" %nul%
-
-if exist "%_dest%\Activate.cmd" (
-del /f /q "%_dest%\Activate.cmd" %nul%
-)
-
-cd /d "!_work!"
-
-if defined _SkipWinAct (
-%nul% %_psc% "(gc Activate.cmd) -replace 'set ActWindows=1', 'set ActWindows=0' | Out-File -encoding ASCII "%_dest%\Activate.cmd"" || (set error_=1)
-) else (
-copy /y /b "!_work!\Activate.cmd" "%_dest%\Activate.cmd" %nul%
-)
-
-if exist "%_dest%\Info.txt" (
-del /f /q "%_dest%\Info.txt" %nul%
-)
-
-call :Export info "%_dest%\Info.txt" ASCII
-
-reg add "HKCR\DesktopBackground\shell\Activate Windows - Office" /v "Icon" /t REG_SZ /d "%SystemRoot%%\System32\shell32.dll,71" /f >nul 2>&1 || (set error_1=1)
-reg add "HKCR\DesktopBackground\shell\Activate Windows - Office\command" /ve /d "%_dest%\Activate.cmd" /f %nul% || (set error_1=1)
-
-If not exist "%_dest%\Activate.cmd" (set error_=1)
-If not exist "%_dest%\Info.txt" (set error_=1)
-If not exist "%_dest%\BIN\cleanosppx64.exe" (set error_=1)
-If not exist "%_dest%\BIN\cleanosppx86.exe" (set error_=1)
-
-reg query "HKCR\DesktopBackground\shell\Activate Windows - Office" %nul% || (set error_1=1)
-
-if defined error_1 (
-reg query "%key%" /f Path /s | find /i "\Online_KMS_Activation_Script-Renewal" >nul && (
-schtasks /delete /tn Online_KMS_Activation_Script-Renewal /f %nul%
-)
-reg query "%key%" /f Path /s | find /i "\Online_KMS_Activation_Script-Run_Once" >nul && (
-schtasks /delete /tn Online_KMS_Activation_Script-Run_Once /f %nul%
-)
-reg delete "HKCR\DesktopBackground\shell\Activate Windows - Office" /f %nul%
-If exist "%_dest%\" (
-@RD /s /q "%_dest%\" %nul%
-)
-echo _________________________________________________________________
-echo:
-%ELine%
-echo Run the Online KMS Complete Uninstall script and then try again.
-echo _________________________________________________________________
-) else (
-echo:
-echo __________________________________________________________________________________________
-echo:
-if defined DelDeskCont (
-%EchoYellow% Previous desktop context menu entry for Online KMS Activation is deleted.
-echo:
-)
-if defined _SkipWinAct (
-%EchoYellow% %_dest%\Activate.cmd is set to skip Windows Activation.
-echo:
-)
-
-echo Files created:
-echo %_dest%\BIN\cleanosppx64.exe
-echo %_dest%\BIN\cleanosppx86.exe
-echo %_dest%\Activate.cmd
-echo %_dest%\Info.txt
-echo:
-echo Registry entry added:
-echo HKCR\DesktopBackground\shell\Activate Windows - Office
-echo HKCR\DesktopBackground\shell\Activate Windows - Office\command
-echo __________________________________________________________________________________________
-echo:
-%EchoGreen% Desktop context menu entry for Online KMS Activation is successfully created.
-echo __________________________________________________________________________________________
-echo:
-)
-
-::========================================================================================================================================
-
-:Done
-echo:
-if defined Unattended (
-echo Exiting in 3 seconds...
-if %winbuild% LSS 7600 (ping -n 3 127.0.0.1 > nul) else (timeout /t 3)
-exit /b
-)
-if defined _end (
-echo Press any key to exit...
-pause >nul
-exit /b
-) else (
-echo Press any key to go back...
-pause >nul
-goto ActivationRenewal
-)
-
-::========================================================================================================================================
-
-:info:
-====================================================================================================
- Online KMS Activation:
-====================================================================================================
-
- The use of this script is to activate / renew your Windows /Server /Office license
- using online KMS.
-
- - Scheduled task name (If Renewal Task is created) (Weekly).
- \Online_KMS_Activation_Script-Renewal
-
- - Scheduled task name (If Activation Task is created).
- \Online_KMS_Activation_Script-Run_Once
-
- The scheduled task runs only if the system is connected to the Internet.
- Activation Task will run on the system login and after successful activation, this task will
- delete itself.
-
- - If system preactivation is done via HWID + Online KMS, and HWID was applied but was not
- successful due to lack of internet at the time of installation of Windows, in that case,
- Online KMS script will be set to skip Windows activation.
-
- - Registry entry name and location (If desktop context menu is created).
- HKCR\DesktopBackground\shell\Activate Windows - Office
-
- For complete script and more info, browse the script homepage.
-
-====================================================================================================
- File Details:
-====================================================================================================
-
- d30a0e4e5911d3ca705617d17225372731c770e2 *cleanosppx64.exe Virus Total = 0/66
- 39ed8659e7ca16aaccb86def94ce6cec4c847dd6 *cleanosppx86.exe Virus Total = 1/66
-
- Virus Total Report Date: 12-11-2019
-
- These files are official Microsoft files and in this script, these are used in
- cleaning office license in C2R Retail office to VL conversion process.
-
- The source of these files is the 'old' version of Microsoft Tool O15CTRRemove.diagcab
- You can get the original file here https://s.put.re/WFuXpyWA.zip
-
-====================================================================================================
-
- Online KMS Activation script is just a fork of @abbodi1406's KMS_VL_ALL Project.
- KMS_VL_ALL homepage: https://forums.mydigitallife.net/posts/838808
-
- This fork was made to avoid having any KMS binary files and system can be activated using
- some manual commands or transparent batch script files.
-
- Online KMS Activation script is a part of 'Microsoft Activation Scripts'
- Maintained by @WindowsAddict
-
- Homepages-
- NsaneForums: (Login Required) https://www.nsaneforums.com/topic/316668-microsoft-activation-scripts/
- GitHub: https://github.com/massgravel/Microsoft-Activation-Scripts
- GitLab: https://gitlab.com/massgrave/microsoft-activation-scripts
-
-====================================================================================================
-:info:
-
-:renewal:
-<?xml version="1.0" encoding="UTF-16"?>
-<Task version="1.3" xmlns="http://schemas.microsoft.com/windows/2004/02/mit/task">
- <RegistrationInfo>
- <Source>Microsoft Corporation</Source>
- <Date>1999-01-01T12:00:00.34375</Date>
- <Author>RPO/WindowsAddict</Author>
- <Version>1.0</Version>
- <Description>Online_KMS_Activation_Script-Renewal - Weekly Activation Renewal Task</Description>
- <URI>\Online_KMS_Activation_Script-Renewal</URI>
- <SecurityDescriptor>D:P(A;;FA;;;SY)(A;;FA;;;BA)(A;;FRFX;;;LS)(A;;FRFW;;;S-1-5-80-123231216-2592883651-3715271367-3753151631-4175906628)(A;;FR;;;S-1-5-4)</SecurityDescriptor>
- </RegistrationInfo>
- <Triggers>
- <CalendarTrigger>
- <StartBoundary>1999-01-01T12:00:00</StartBoundary>
- <Enabled>true</Enabled>
- <ScheduleByWeek>
- <DaysOfWeek>
- <Sunday />
- </DaysOfWeek>
- <WeeksInterval>1</WeeksInterval>
- </ScheduleByWeek>
- </CalendarTrigger>
- </Triggers>
- <Principals>
- <Principal id="LocalSystem">
- <UserId>S-1-5-18</UserId>
- <RunLevel>HighestAvailable</RunLevel>
- </Principal>
- </Principals>
- <Settings>
- <MultipleInstancesPolicy>IgnoreNew</MultipleInstancesPolicy>
- <DisallowStartIfOnBatteries>false</DisallowStartIfOnBatteries>
- <StopIfGoingOnBatteries>false</StopIfGoingOnBatteries>
- <AllowHardTerminate>true</AllowHardTerminate>
- <StartWhenAvailable>true</StartWhenAvailable>
- <RunOnlyIfNetworkAvailable>true</RunOnlyIfNetworkAvailable>
- <IdleSettings>
- <StopOnIdleEnd>false</StopOnIdleEnd>
- <RestartOnIdle>false</RestartOnIdle>
- </IdleSettings>
- <AllowStartOnDemand>true</AllowStartOnDemand>
- <Enabled>true</Enabled>
- <Hidden>true</Hidden>
- <RunOnlyIfIdle>false</RunOnlyIfIdle>
- <DisallowStartOnRemoteAppSession>false</DisallowStartOnRemoteAppSession>
- <UseUnifiedSchedulingEngine>true</UseUnifiedSchedulingEngine>
- <WakeToRun>false</WakeToRun>
- <ExecutionTimeLimit>PT10M</ExecutionTimeLimit>
- <Priority>7</Priority>
- <RestartOnFailure>
- <Interval>PT2M</Interval>
- <Count>3</Count>
- </RestartOnFailure>
- </Settings>
- <Actions Context="LocalSystem">
- <Exec>
- <Command>%ProgramData%\Online_KMS_Activation\Activate.cmd</Command>
- <Arguments>Task</Arguments>
- </Exec>
- </Actions>
-</Task>
-:renewal:
-
-:run_once:
-<?xml version="1.0" encoding="UTF-16"?>
-<Task version="1.3" xmlns="http://schemas.microsoft.com/windows/2004/02/mit/task">
- <RegistrationInfo>
- <Source>Microsoft Corporation</Source>
- <Date>1999-01-01T12:00:00.34375</Date>
- <Author>RPO/WindowsAddict</Author>
- <Version>1.0</Version>
- <Description>Online_KMS_Activation_Script-Run_Once - Run and Delete itself on first Internet Contact</Description>
- <URI>\Online_KMS_Activation_Script-Run_Once</URI>
- <SecurityDescriptor>D:P(A;;FA;;;SY)(A;;FA;;;BA)(A;;FRFX;;;LS)(A;;FRFW;;;S-1-5-80-123231216-2592883651-3715271367-3753151631-4175906628)(A;;FR;;;S-1-5-4)</SecurityDescriptor>
- </RegistrationInfo>
- <Triggers>
- <LogonTrigger>
- <Enabled>true</Enabled>
- </LogonTrigger>
- </Triggers>
- <Principals>
- <Principal id="LocalSystem">
- <UserId>S-1-5-18</UserId>
- <RunLevel>HighestAvailable</RunLevel>
- </Principal>
- </Principals>
- <Settings>
- <MultipleInstancesPolicy>IgnoreNew</MultipleInstancesPolicy>
- <DisallowStartIfOnBatteries>false</DisallowStartIfOnBatteries>
- <StopIfGoingOnBatteries>false</StopIfGoingOnBatteries>
- <AllowHardTerminate>true</AllowHardTerminate>
- <StartWhenAvailable>true</StartWhenAvailable>
- <RunOnlyIfNetworkAvailable>true</RunOnlyIfNetworkAvailable>
- <IdleSettings>
- <StopOnIdleEnd>false</StopOnIdleEnd>
- <RestartOnIdle>false</RestartOnIdle>
- </IdleSettings>
- <AllowStartOnDemand>true</AllowStartOnDemand>
- <Enabled>true</Enabled>
- <Hidden>true</Hidden>
- <RunOnlyIfIdle>false</RunOnlyIfIdle>
- <DisallowStartOnRemoteAppSession>false</DisallowStartOnRemoteAppSession>
- <UseUnifiedSchedulingEngine>true</UseUnifiedSchedulingEngine>
- <WakeToRun>false</WakeToRun>
- <ExecutionTimeLimit>PT10M</ExecutionTimeLimit>
- <Priority>7</Priority>
- <RestartOnFailure>
- <Interval>PT2M</Interval>
- <Count>3</Count>
- </RestartOnFailure>
- </Settings>
- <Actions Context="LocalSystem">
- <Exec>
- <Command>%ProgramData%\Online_KMS_Activation\Activate.cmd</Command>
- <Arguments>Task</Arguments>
- </Exec>
- </Actions>
-</Task>
-:run_once:
-
-::========================================================================================================================================
-
-:: Echo all the missing files.
-:: Written by @abbodi1406 (MDL)
-
-:check
-
-for %%# in (%1 %2) do (if not exist "!_work!\BIN\%%#" (if defined _miss (set "_miss=!_miss! %%#") else (set "_miss=%%#")))
-if defined _miss (
-%ELine%
-echo Following required file^(s^) is missing in 'BIN' folder. Aborting...
-echo:
-echo !_miss!
-)
-exit /b
-
-::========================================================================================================================================
-
-:: Extract the text from batch script without character and file encoding issue
-:: Thanks to @abbodi1406
-
-:Export
-%nul% %_psc% "$f=[io.file]::ReadAllText('!_batp!') -split \":%~1\:.*`r`n\"; [io.file]::WriteAllText('%~2',$f[1].Trim(),[System.Text.Encoding]::%~3);" &exit/b
-exit /b
-
-::======================================================================================================================================== \ No newline at end of file
diff --git a/MAS_1.3/Separate-Files-Version/Activators/Online_KMS_Activation/Uninstall.cmd b/MAS_1.3/Separate-Files-Version/Activators/Online_KMS_Activation/Uninstall.cmd
deleted file mode 100644
index 702219b..0000000
--- a/MAS_1.3/Separate-Files-Version/Activators/Online_KMS_Activation/Uninstall.cmd
+++ /dev/null
@@ -1,264 +0,0 @@
-@setlocal DisableDelayedExpansion
-@echo off
-
-:: For unattended mode, run the script with /u parameter.
-
-
-
-
-
-:: =======================================================================================================
-::
-:: This script is a part of 'Microsoft Activation Scripts' project.
-::
-:: Homepages-
-:: NsaneForums: (Login Required) https://www.nsaneforums.com/topic/316668-microsoft-activation-scripts/
-:: GitHub: https://github.com/massgravel/Microsoft-Activation-Scripts
-:: GitLab: https://gitlab.com/massgrave/microsoft-activation-scripts
-::
-:: Maintained by @WindowsAddict
-::
-:: =======================================================================================================
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-::========================================================================================================================================
-
-cls
-title Online KMS Complete Uninstall
-set Unattended=
-set _args=
-set _elev=
-set "_arg1=%~1"
-if not defined _arg1 goto :NoProgArgs
-set "_args=%~1"
-set "_arg2=%~2"
-if defined _arg2 set "_args=%~1 %~2"
-for %%A in (%_args%) do (
-if /i "%%A"=="-el" set _elev=1
-if /i "%%A"=="/u" set Unattended=1)
-:NoProgArgs
-for /f "tokens=6 delims=[]. " %%G in ('ver') do set winbuild=%%G
-set "_psc=powershell -nop -ep bypass -c"
-set "nul=1>nul 2>nul"
-set "EchoRed=%_psc% write-host -back Black -fore Red"
-set "EchoGreen=%_psc% write-host -back Black -fore Green"
-set "ELine=echo: & %EchoRed% ==== ERROR ==== &echo:"
-
-::========================================================================================================================================
-
-for %%i in (powershell.exe) do if "%%~$path:i"=="" (
-echo: &echo ==== ERROR ==== &echo:
-echo Powershell is not installed in the system.
-echo Aborting...
-goto UN_Done
-)
-
-::========================================================================================================================================
-
-if %winbuild% LSS 7600 (
-%ELine%
-echo Unsupported OS version Detected.
-echo Project is supported only for Windows 7/8/8.1/10 and their Server equivalent.
-goto UN_Done
-)
-
-::========================================================================================================================================
-
-:: Elevate script as admin and pass arguments and preventing loop
-:: Thanks to @hearywarlot [ https://forums.mydigitallife.net/threads/.74332/ ] for the VBS method.
-:: Thanks to @abbodi1406 for the powershell method and solving special characters issue in file path name.
-
-%nul% reg query HKU\S-1-5-19 && (
- goto :Passed
- ) || (
- if defined _elev goto :E_Admin
-)
-
-set "_batf=%~f0"
-set "_vbsf=%temp%\admin.vbs"
-set _PSarg="""%~f0""" -el
-if defined _args set _PSarg="""%~f0""" -el """%_args%"""
-
-setlocal EnableDelayedExpansion
-
-(
-echo Set strArg=WScript.Arguments.Named
-echo Set strRdlproc = CreateObject^("WScript.Shell"^).Exec^("rundll32 kernel32,Sleep"^)
-echo With GetObject^("winmgmts:\\.\root\CIMV2:Win32_Process.Handle='" ^& strRdlproc.ProcessId ^& "'"^)
-echo With GetObject^("winmgmts:\\.\root\CIMV2:Win32_Process.Handle='" ^& .ParentProcessId ^& "'"^)
-echo If InStr ^(.CommandLine, WScript.ScriptName^) ^<^> 0 Then
-echo strLine = Mid^(.CommandLine, InStr^(.CommandLine , "/File:"^) + Len^(strArg^("File"^)^) + 8^)
-echo End If
-echo End With
-echo .Terminate
-echo End With
-echo CreateObject^("Shell.Application"^).ShellExecute "cmd.exe", "/c " ^& chr^(34^) ^& chr^(34^) ^& strArg^("File"^) ^& chr^(34^) ^& strLine ^& chr^(34^), "", "runas", 1
-)>"!_vbsf!"
-
-(%nul% cscript //NoLogo "!_vbsf!" /File:"!_batf!" -el "!_args!") && (
-del /f /q "!_vbsf!"
-exit /b
-) || (
-del /f /q "!_vbsf!"
-%nul% %_psc% "start cmd.exe -arg '/c \"!_PSarg:'=''!\"' -verb runas" && (
-exit /b
-) || (
-goto :E_Admin
-)
-)
-exit /b
-
-:E_Admin
-%ELine%
-echo This script require administrator privileges.
-echo To do so, right click on this script and select 'Run as administrator'.
-goto UN_Done
-
-:Passed
-
-::========================================================================================================================================
-
-mode con: cols=98 lines=30
-setlocal EnableDelayedExpansion
-set "key=HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Schedule\taskcache\tasks"
-
-reg query "%key%" /f Path /s | find /i "\Online_KMS_Activation_Script-Renewal" >nul && (
-echo Deleting [Task] Online_KMS_Activation_Script-Renewal
-schtasks /delete /tn Online_KMS_Activation_Script-Renewal /f %nul%
-)
-
-reg query "%key%" /f Path /s | find /i "\Online_KMS_Activation_Script-Run_Once" >nul && (
-echo Deleting [Task] Online_KMS_Activation_Script-Run_Once
-schtasks /delete /tn Online_KMS_Activation_Script-Run_Once /f %nul%
-)
-
-If exist "%windir%\Online_KMS_Activation_Script\" (
-echo Deleting [Folder] %windir%\Online_KMS_Activation_Script\
-@RD /s /q "%windir%\Online_KMS_Activation_Script\" %nul%
-)
-
-If exist "%ProgramData%\Online_KMS_Activation\" (
-echo Deleting [Folder] %ProgramData%\Online_KMS_Activation\
-@RD /s /q "%ProgramData%\Online_KMS_Activation\" %nul%
-)
-
-if exist "%ProgramData%\Online_KMS_Activation.cmd" (
-echo Deleting [File] %ProgramData%\Online_KMS_Activation.cmd
-del /f /q "%ProgramData%\Online_KMS_Activation.cmd" %nul%
-)
-
-reg query "HKCR\DesktopBackground\shell\Activate Windows - Office" %nul% && (
-echo Deleting [Context Menu Registry] HKCR\DesktopBackground\shell\Activate Windows - Office
-Reg delete "HKCR\DesktopBackground\shell\Activate Windows - Office" /f %nul%
-)
-
-echo:
-
-::========================================================================================================================================
-
-:: Clear-KMS-Cache.cmd
-:: https://forums.mydigitallife.net/posts/1511883
-:: Written by @abbodi1406 (MDL)
-
-set "SysPath=%Windir%\System32"
-if exist "%Windir%\Sysnative\reg.exe" (set "SysPath=%Windir%\Sysnative")
-set "Path=%SysPath%;%Windir%;%SysPath%\Wbem;%SysPath%\WindowsPowerShell\v1.0\"
-set "OSPP=SOFTWARE\Microsoft\OfficeSoftwareProtectionPlatform"
-set "SPPk=SOFTWARE\Microsoft\Windows NT\CurrentVersion\SoftwareProtectionPlatform"
-wmic path SoftwareLicensingProduct where (Description like '%%KMSCLIENT%%') get Name 2>nul | findstr /i Windows 1>nul && (set SppHook=1) || (set SppHook=0)
-wmic path SoftwareLicensingProduct where (Description like '%%KMSCLIENT%%') get Name 2>nul | findstr /i Office 1>nul && (set SppHook=1)
-wmic path OfficeSoftwareProtectionService get Version >nul 2>&1 && (set OsppHook=1) || (set OsppHook=0)
-if %SppHook% NEQ 0 call :UN_cKMS SoftwareLicensingProduct SoftwareLicensingService SPP
-if %OsppHook% NEQ 0 call :UN_cKMS OfficeSoftwareProtectionProduct OfficeSoftwareProtectionService OSPP
-call :UN_cREG >nul 2>&1
-echo:
-goto UN_Verify
-
-:UN_cKMS
-echo Clearing %3 KMS Cache...
-set spp=%1
-set sps=%2
-for /f "tokens=2 delims==" %%G in ('"wmic path %spp% where (Description like '%%KMSCLIENT%%') get ID /VALUE" 2^>nul') do (set app=%%G&call :UN_cAPP)
-for /f "tokens=2 delims==" %%A in ('"wmic path %sps% get Version /VALUE"') do set ver=%%A
-wmic path %sps% where version='%ver%' call ClearKeyManagementServiceMachine >nul 2>&1
-wmic path %sps% where version='%ver%' call ClearKeyManagementServicePort >nul 2>&1
-wmic path %sps% where version='%ver%' call DisableKeyManagementServiceDnsPublishing 1 >nul 2>&1
-wmic path %sps% where version='%ver%' call DisableKeyManagementServiceHostCaching 1 >nul 2>&1
-goto :eof
-
-:UN_cAPP
-wmic path %spp% where ID='%app%' call ClearKeyManagementServiceMachine >nul 2>&1
-wmic path %spp% where ID='%app%' call ClearKeyManagementServicePort >nul 2>&1
-goto :eof
-
-:UN_cREG
-reg delete "HKLM\%SPPk%\55c92734-d682-4d71-983e-d6ec3f16059f" /f
-reg delete "HKLM\%SPPk%\0ff1ce15-a989-479d-af46-f275c6370663" /f
-reg delete "HKLM\%SPPk%" /f /v KeyManagementServiceName
-reg delete "HKLM\%SPPk%" /f /v KeyManagementServicePort
-reg delete "HKU\S-1-5-20\%SPPk%\55c92734-d682-4d71-983e-d6ec3f16059f" /f
-reg delete "HKU\S-1-5-20\%SPPk%\0ff1ce15-a989-479d-af46-f275c6370663" /f
-reg delete "HKLM\%OSPP%\59a52881-a989-479d-af46-f275c6370663" /f
-reg delete "HKLM\%OSPP%\0ff1ce15-a989-479d-af46-f275c6370663" /f
-reg delete "HKLM\%OSPP%" /f /v KeyManagementServiceName
-reg delete "HKLM\%OSPP%" /f /v KeyManagementServicePort
-if %OsppHook% NEQ 1 (
-reg delete "HKLM\%OSPP%" /f
-reg delete "HKU\S-1-5-20\%OSPP%" /f
-)
-goto :eof
-
-::========================================================================================================================================
-
-:UN_Verify
-
-set error_=
-reg query "%key%" /f Path /s | find /i "\Online_KMS_Activation_Script-Renewal" >nul && (set error_=1)
-reg query "%key%" /f Path /s | find /i "\Online_KMS_Activation_Script-Run_Once" >nul && (set error_=1)
-If exist "%windir%\Online_KMS_Activation_Script\" (set error_=1)
-if exist "%ProgramData%\Online_KMS_Activation\" (set error_=1)
-
-reg query "HKCR\DesktopBackground\shell\Activate Windows - Office" >nul 2>&1 && (set error_=1)
-if exist "%ProgramData%\Online_KMS_Activation.cmd" (set error_=1)
-
-if defined error_ (
-echo ______________________________________
-%ELine%
-echo Try Again.
-echo ______________________________________
-) else (
-echo _________________________________________________________________
-echo:
-%EchoGreen% Online KMS Complete Uninstall is done successfully.
-echo _________________________________________________________________
-)
-
-::========================================================================================================================================
-
-:UN_Done
-
-echo:
-if defined Unattended (
-echo Exiting in 3 seconds...
-if %winbuild% LSS 7600 (ping -n 3 127.0.0.1 > nul) else (timeout /t 3)
-exit /b
-)
-echo Press any key to exit...
-pause >nul
-exit /b
-
-::======================================================================================================================================== \ No newline at end of file
diff --git a/MAS_1.3/Separate-Files-Version/Activators/Online_KMS_Activation/_ReadMe.txt b/MAS_1.3/Separate-Files-Version/Activators/Online_KMS_Activation/_ReadMe.txt
deleted file mode 100644
index 2849288..0000000
--- a/MAS_1.3/Separate-Files-Version/Activators/Online_KMS_Activation/_ReadMe.txt
+++ /dev/null
@@ -1,657 +0,0 @@
-====================================================================================================
-
- Online KMS Activation script is just a fork of @abbodi1406's KMS_VL_ALL Project.
- KMS_VL_ALL homepage: https://forums.mydigitallife.net/posts/838808
-
- This fork was made to avoid having any KMS binary files and system can be activated using
- some manual commands or transparent batch script files.
-
- This script is a part of 'Microsoft Activation Scripts' project.
-
- Homepages-
- NsaneForums: (Login Required) https://www.nsaneforums.com/topic/316668-microsoft-activation-scripts/
- GitHub: https://github.com/massgravel/Microsoft-Activation-Scripts
- GitLab: https://gitlab.com/massgrave/microsoft-activation-scripts
-
- Maintained by @WindowsAddict
-
-====================================================================================================
- Online KMS Activation:
-====================================================================================================
-
- - This KMS script skips the activation of any permanently / KMS38-activated product.
- - This KMS script can activate both Retail and VL Windows / Server installation.
- - This KMS script can activate C2R Retail and VL Office, but not 2010/2013 MSI Retail Office.
-
- ----------------------
- - Activation Renewal
- ----------------------
-
- - KMS activates Windows / Server / Office for 180 Days. (For Core/ProWMC edition it is 30/45 Days)
-
- - By design, using the KMS activation method, the system contacts the registered server every 7
- days, and if contacted successfully it will automatically renew and reset the activation for the
- the full period of 180 days again, starting from the day of successful contact.
- If the system cannot contact the server, it will be deactivated after 180 days and it will
- remain deactivated until contact can be restored.
-
- - The KMS servers I've added have been working steadily for two to three years, but there can be
- no guarantee that they will remain online indefinitely. If a registered server goes
- down, you will need to create a renewal task, or do a manual renewal, for the lifetime of the
- activation.
-
- There are 3 ways you can renew the KMS server and as a result, renew the activation.
-
- 1- Activate.cmd
-
- Run this file whenever the system needs activation. Depending upon the particular (never fully-knowable)
- circumstances, a successful activation may last for a period of a MINIMUM of 180 days,
- or a maximum of the full life of the machine it's running on, and you may never need to run it again.
-
- 2- Manual Renewal via Desktop Context Menu
-
- This method is exactly same as above but here we put the following files in,
- C:\ProgramData\Online_KMS_Activation\BIN\cleanosppx64.exe
- C:\ProgramData\Online_KMS_Activation\BIN\cleanosppx86.exe
- C:\ProgramData\Online_KMS_Activation\Activate.cmd
- C:\ProgramData\Online_KMS_Activation\Info.txt
-
- and create registry entries in,
- HKCR\DesktopBackground\shell\Activate Windows - Office
- HKCR\DesktopBackground\shell\Activate Windows - Office\command
-
- It creates an easy to reach Desktop context menu for the manual activation renewal.
-
- 3- Automatic Renewal via Task Scheduler
-
- This method put the following files in,
- C:\ProgramData\Online_KMS_Activation\BIN\cleanosppx64.exe
- C:\ProgramData\Online_KMS_Activation\BIN\cleanosppx86.exe
- C:\ProgramData\Online_KMS_Activation\Activate.cmd
- C:\ProgramData\Online_KMS_Activation\Info.txt
-
- And creates a scheduled task to run the script every 7 days.
-
- The scheduled task runs only if the system is connected to the Internet.
- With this method, the Activation task can also be created which will run on the system login
- and after successful activation, this task will delete itself.
-
- IMPORTANT NOTE - Some sensitive AV's may flag the Automatic Renewal via the Task, and not
- because of KMS, because for them it's suspicious to run long scripts in the background as Tasks.
-
- It's recommended to set exclusions in Antivirus for
- C:\ProgramData\Online_KMS_Activation\Activate.cmd
- or
- use the 1st or 2nd option for activation renewal.
-
-----------------------------------------------------------------------------------------------------
-
- ----------------------
- - Remarks
- ----------------------
-
- - This Online KMS Activation provides immediate global activation for Windows 8.1 and Windows 10, which
- means that in the following three scenarios, the system will self-activate when connected to the
- internet, and also means that users will not need to manually run the activation script again.
-
- Scenario 1: Subsequent installation or alteration of any 2013, 2016, or 2019 Volume License
- (VL) Office product.
- Scenario 2: Windows edition change (with GVLK).
- Scenario 3: Date change, system hardware change, etc.
-
- - What is left in the system in the activation process?
- - Activate.cmd
- After activation, it leaves only the KMS Server name in the registry, which helps you to get the
- above-mentioned global activation feature whereby the system auto-renews the activations,
- so it's a good thing if you leave the server name in the registry.
- However, you can clear this registered KMS Server name upon activation, and do that, open
- the script with notepad and set Clear-KMS-Cache to 1 from 0.
- What is left in the system when Renewal methods are installed, has been mentioned.
-
- - This script includes the most-stable KMS servers (6+) list. The server selection process is
- fully automatic. You don't need to worry about the server's availability.
-
- - If your system date is incorrect (beyond 180 days) and you are offline, the system will be
- deactivated, but will automatically reactivate when you correct the system date.
-
- - Why should you choose the Online KMS activation method over offline KMS?
- The main benefit of Online KMS activation is that it doesn't need any KMS binary file and system
- can be activated using some manual commands or transparent batch script files.
- So this is for those who don't like/have difficulties/trust issue in offline KMS because of its
- binary files and antivirus detections.
-
- If you prefer offline KMS then checkout an open-source activator,
- @abbodi1406's KMS_VL_ALL https://forums.mydigitallife.net/posts/838808
-
-----------------------------------------------------------------------------------------------------
-
- --------------------------------------
- - Office C2R Retail to VL conversion
- --------------------------------------
-
- This activation script will convert Office C2R Retail to Volume without needing separate tools.
-
- - Supports: Office 365, Office 2019, Office 2016, Office 2013
- - Activated Retail products will be skipped from conversion
- this includes valid Office 365 subscriptions, or perpetual Office (MAK, OEM, MSDN, Retail..)
- - Current Office licenses will be cleaned up (unless retail-activated Office detected)
- then, proper Volume licenses will be installed based on the detected Product IDs
- - Office Mondo suite cover all products, if detected, only its licenses will be installed
- - Office 365 products will be converted with Mondo licenses by default
- also, corresponding Office 365 Retail Grace Key will be installed
- - Office 2016 products will be converted with corresponding Office 2019 licenses
- - Office Professional suite will be converted with Office 2019 ProPlus licenses
- - Office HomeBusiness/HomeStudent suites will be converted with Office 2019 Standard licenses
- - If Office 2019 RTM licenses are not detected, Office 2016 licenses will be used instead
- - Office 2013 products follow the same logic but handled separately
- - If main products SKUs are detected, single apps licenses will not be installed to avoid duplication
-
- - SKUs:
- O365ProPlus, O365Business, O365SmallBusPrem, O365HomePrem, O365EduCloud
- ProPlus, Professional, Standard, HomeBusiness, HomeStudent, Visio, Project
-
- * Apps:
- Access, Excel, InfoPath, Onenote, Outlook, PowerPoint, Publisher, SkypeForBusiness, Word,
- Groove (OneDrive for Business)
-
- - O365ProPlus, O365Business, O365SmallBusPrem, ProPlus cover all apps
- Professional cover all apps except SkypeForBusiness
- Standard cover all apps except Access, SkypeForBusiness
-
- ## Notice
-
- - On Windows 7, Office 2016/2019 licensing service require Universal C Runtime to work correctly
- - UCRT is available in the latest Monthly Rollup, or the separate update KB3118401
- - Additionally, Office programs themselves require recent Windows 7 updates to start properly
-
-====================================================================================================
- File Details:
-====================================================================================================
-
- d30a0e4e5911d3ca705617d17225372731c770e2 *cleanosppx64.exe Virus Total = 0/66
- 39ed8659e7ca16aaccb86def94ce6cec4c847dd6 *cleanosppx86.exe Virus Total = 1/66
-
- Virus Total Report Date: 12-11-2019
-
- These files are official Microsoft files and in this script, these are used in
- cleaning office license in C2R Retail office to VL conversion process.
-
- The source of these files is the 'old' version of Microsoft Tool O15CTRRemove.diagcab
- You can get the original file here https://s.put.re/WFuXpyWA.zip
-
-====================================================================================================
-
- How does it work?
- Is it safe?
-
- https://pastebin.com/raw/7Xyaf15Z
- Mirror:
- https://textuploader.com/1dg8d/raw
-
-====================================================================================================
- Products Compatibility:
-====================================================================================================
-
- Supported Products: [Only Volume-capable]
-
- Windows 8 / 8.1 / 10 (all official editions, except Windows 10 S)
- Windows 7 (Enterprise /N/E, Professional /N/E, Embedded Standard/POSReady/ThinPC)
- Windows Server 2008 R2 / 2012 / 2012 R2 / 2016 / 2019
- Office Volume 2010 / 2013 / 2016 / 2019
-
- [Activation script will convert Office C2R Retail O365/2013/2016/2019 to Volume]
-
-----------------------------------------------------------------------------------------------------
-
- Unsupported Products:
-
- Office Retail [Office MSI Retail 2010/2013]
- Windows Editions which do not support KMS activation by design:
- Windows Evaluation Editions
- Windows 7 (Starter, HomeBasic, HomePremium, Ultimate)
- Windows 10 (Cloud "S", IoTEnterprise, IoTEnterpriseS, ProfessionalSingleLanguage... etc)
- Windows Server (Server Foundation, Storage Server, Home Server 2011... etc)
-
-----------------------------------------------------------------------------------------------------
-
- These editions are only KMS-activatable for 45 days at max:
- Windows 10 Home edition variants
- Windows 8.1 Core edition variants, Pro with Media Center, Pro Student
-
- These editions are only KMS-activatable for 30 days at max:
- Windows 8 Core edition variants, Pro with Media Center
-
- Notes:
- Supported Windows products do need volume conversion, only the GVLK (KMS key) is needed, which
- the script will install accordingly.
- KMS Activation works in all (MBR, GPT, UEFI, BIOS) systems.
-
-====================================================================================================
- Switches in the Script:
-====================================================================================================
-
- * Applies to MAS Separate Files version
-
- - For unattended mode, run the scripts with /u parameter.
-
-Activate.cmd /u
-Uninstall.cmd /u
-
-To create Renewal Task in unattended mode,
-Renewal_Setup.cmd /rt
-
-To create Renewal and Activation Task in unattended mode,
-Renewal_Setup.cmd /rat
-
-To create desktop context menu in unattended mode,
-Renewal_Setup.cmd /dcm
-
-To skip Windows activation in renewal script,
-Renewal_Setup.cmd /rat /swa
-or
-Renewal_Setup.cmd /dcm /swa
-
- ----------------------------------------------------------------------
-
- - Activate.cmd
-
- - To run the script in Debug mode to find out the cause of errors in activation or just details,
- search "set _Debug=" and change the value from 0 to 1.
-
- - To replace KMS38 activation with KMS activation, search "set SkipKMS38=" and change the value
- from 1 to 0.
-
- - To skip Windows activation, search "set ActWindows=" and change the value from 1 to 0.
- - To skip Office activation, search "set ActOffice=" and change the value from 1 to 0.
- - This is not effective if Windows and/or Office installation is already Volume (GVLK installed)
- - In [Online KMS + HWID] $OEM$ preactivation, Windows KMS activation is turned off
- by default.
-
- - To turn OFF auto conversion for Office C2R Retail to Volume, search "set AutoR2V=" and
- change the value from 1 to 0.
-
- - To set the script to use only one specific KMS server address, search "set KMS_Server="
- paste the server address after the = sign.
-
- - To clear the KMS cache, search "set Clear-KMS-Cache=" and change the value from 0 to 1.
- - Registered KMS server address (cache) enables the system to automatically renew the license
- (for next 180 days) every 7 days, as long as the server is online.
- - This process is the same as how the legal KMS works, so no security program will flag
- this behavior.
- - Changing this option here won't have any effect if manual (Desktop Context menu) and/or auto,
- renewal activation script is installed. [default (0)].
- - I recommend leaving this option as default (0).
-
-====================================================================================================
- Manual Activation Process:
-====================================================================================================
-
- - Prerequisite:
-
- online Public KMS Server List:
-
- kms.srv.crsoo.com
- kms.loli.beer
- kms8.MSGuides.com
-
- kms9.MSGuides.com
- kms.zhuxiaole.org
- kms.lolico.moe
- kms.moeclub.org
-
- Generic Volume License Key (GVLK):
- Thanks to @abbodi1406 for the Key collection.
-
- GVLK Edition
-
- Windows 10
-
- TX9XD-98N7V-6WMQ6-BX7FG-H8Q99 Home
- 3KHY7-WNT83-DGQKR-F7HPR-844BM Home N
- 7HNRX-D7KGG-3K4RQ-4WPJ4-YTDFH Home Single Language
- PVMJN-6DFY6-9CCP6-7BKTT-D3WVR Home China
- W269N-WFGWX-YVC9B-4J6C9-T83GX Pro
- MH37W-N47XK-V7XM9-C7227-GCQG9 Pro N
- 6TP4R-GNPTD-KYYHQ-7B7DP-J447Y Pro Education
- YVWGF-BXNMC-HTQYQ-CPQ99-66QFC Pro Education N
- NRG8B-VKK3Q-CXVCJ-9G2XF-6Q84J Pro Workstation
- 9FNHH-K3HBT-3W4TD-6383H-6XYWF Pro Workstation N
- NW6C2-QMPVW-D7KKK-3GKT6-VCFB2 Education
- 2WH4N-8QGBV-H22JP-CT43Q-MDWWJ Education N
- NPPR9-FWDCX-D2C8J-H872K-2YT43 Enterprise
- DPH2V-TTNVB-4X9Q3-TJR4H-KHJW4 Enterprise N
- YYVX9-NTFWV-6MDM3-9PT4T-4M68B Enterprise G
- 44RPN-FTY23-9VTTB-MP9BX-T84FV Enterprise G N
- WNMTR-4C88C-JK8YV-HQ7T2-76DF9 Enterprise 2015 LTSB
- 2F77B-TNFGY-69QQF-B8YKP-D69TJ Enterprise 2015 LTSB N
- DCPHK-NFMTC-H88MJ-PFHPY-QJ4BJ Enterprise 2016 LTSB
- QFFDN-GRT3P-VKWWX-X7T3R-8B639 Enterprise 2016 LTSB N
- M7XTQ-FN8P6-TTKYV-9D4CC-J462D Enterprise LTSC 2019
- 92NFX-8DJQP-P6BBQ-THF9C-7CG2H Enterprise LTSC 2019 N
- CPWHC-NT2C7-VYW78-DHDB2-PG3GK Enterprise for Virtual Desktops
- 7NBT4-WGBQX-MP4H7-QXFF8-YP3KX Remote Server
- NBTWJ-3DR69-3C4V8-C26MC-GQ9M6 Lean
-
- Windows 8.1
-
- M9Q9P-WNJJT-6PXPY-DWX8H-6XWKK Core
- 7B9N3-D94CG-YTVHR-QBPX3-RJP64 Core N
- BB6NG-PQ82V-VRDPW-8XVD2-V8P66 Core Single Language
- NCTT7-2RGK8-WMHRF-RY7YQ-JTXG3 Core China
- XYTND-K6QKT-K2MRH-66RTM-43JKP Core ARM
- GCRJD-8NW9H-F2CDX-CCM8D-9D6T9 Pro
- HMCNV-VVBFX-7HMBH-CTY9B-B4FXY Pro N
- 789NJ-TQK6T-6XTH8-J39CJ-J8D3P Pro with Media Center
- MHF9N-XY6XB-WVXMC-BTDCT-MKKG7 Enterprise
- TT4HM-HN7YT-62K67-RGRQJ-JFFXW Enterprise N
- NMMPB-38DD4-R2823-62W8D-VXKJB Embedded Industry Pro
- FNFKF-PWTVT-9RC8H-32HB2-JB34X Embedded Industry Enterprise
- VHXM3-NR6FT-RY6RT-CK882-KW2CJ Embedded Industry Automotive
- 3PY8R-QHNP9-W7XQD-G6DPH-3J2C9 with Bing
- Q6HTR-N24GM-PMJFP-69CD8-2GXKR with Bing N
- KF37N-VDV38-GRRTV-XH8X6-6F3BB with Bing Single Language
- R962J-37N87-9VVK2-WJ74P-XTMHR with Bing China
- MX3RK-9HNGX-K3QKC-6PJ3F-W8D7B Pro for Students
- TNFGH-2R6PB-8XM3K-QYHX2-J4296 Pro for Students N
-
- Windows 8
-
- BN3D2-R7TKB-3YPBD-8DRP2-27GG4 Core
- 8N2M2-HWPGY-7PGT9-HGDD8-GVGGY Core N
- 2WN2H-YGCQR-KFX6K-CD6TF-84YXQ Core Single Language
- 4K36P-JN4VD-GDC6V-KDT89-DYFKP Core China
- DXHJF-N9KQX-MFPVR-GHGQK-Y7RKV Core ARM
- NG4HW-VH26C-733KW-K6F98-J8CK4 Pro
- XCVCF-2NXM9-723PB-MHCB7-2RYQQ Pro N
- GNBB8-YVD74-QJHX6-27H4K-8QHDG Pro with Media Center
- 32JNW-9KQ84-P47T8-D8GGY-CWCK7 Enterprise
- JMNMF-RHW7P-DMY6X-RF3DR-X2BQT Enterprise N
- RYXVT-BNQG7-VD29F-DBMRY-HT73M Embedded Industry Pro
- NKB3R-R2F8T-3XCDP-7Q2KW-XWYQ2 Embedded Industry Enterprise
-
- Windows 7
-
- FJ82H-XT6CR-J8D7P-XQJJ2-GPDD4 Professional
- MRPKT-YTG23-K7D7T-X2JMM-QY7MG Professional N
- W82YF-2Q76Y-63HXB-FGJG9-GF7QX Professional E
- 33PXH-7Y6KF-2VJC9-XBBR8-HVTHH Enterprise
- YDRBP-3D83W-TY26F-D46B2-XCKRJ Enterprise N
- C29WB-22CC8-VJ326-GHFJW-H9DH4 Enterprise E
- YBYF6-BHCR3-JPKRB-CDW7B-F9BK4 Embedded POSReady 7
- XGY72-BRBBT-FF8MH-2GG8H-W7KCW Embedded Standard
- 73KQT-CD9G6-K7TQG-66MRP-CQ22C Embedded ThinPC
-
- Windows Server 2019
-
- N69G4-B89J2-4G8F4-WWYCC-J464C Standard
- WMDGN-G9PQG-XVVXX-R3X43-63DFG Datacenter
- WVDHN-86M7X-466P6-VHXV7-YY726 Essentials
- FDNH6-VW9RW-BXPJ7-4XTYG-239TB Azure Core
- N2KJX-J94YW-TQVFB-DG9YT-724CC Standard ACor
- 6NMRW-2C8FM-D24W7-TQWMY-CWH2D Datacenter ACor
- GRFBW-QNDC4-6QBHG-CCK3B-2PR88 ServerARM64
-
- Windows Server 2016
-
- WC2BQ-8NRM3-FDDYY-2BFGV-KHKQY Standard
- CB7KF-BWN84-R7R2Y-793K2-8XDDG Datacenter
- JCKRF-N37P4-C2D82-9YXRT-4M63B Essentials
- QN4C6-GBJD2-FB422-GHWJK-GJG2R Cloud Storage
- VP34G-4NPPG-79JTQ-864T4-R3MQX Azure Core
- PTXN8-JFHJM-4WC78-MPCBR-9W4KR Standard ACor
- 2HXDN-KRXHB-GPYC7-YCKFJ-7FVDG Datacenter ACor
- K9FYF-G6NCK-73M32-XMVPY-F9DRR ServerARM64
-
- Windows Server 2012 R2
-
- D2N9P-3P6X9-2R39C-7RTCD-MDVJX Standard
- W3GGN-FT8W3-Y4M27-J84CP-Q3VJ9 Datacenter
- KNC87-3J2TX-XB4WP-VCPJV-M4FWM Essentials
- 3NPTF-33KPT-GGBPR-YX76B-39KDD Cloud Storage
-
- Windows Server 2012
-
- XC9B7-NBPP2-83J2H-RHMBY-92BT4 Standard
- 48HP8-DN98B-MYWDG-T2DCC-8W83P Datacenter
- HM7DN-YVMH3-46JC3-XYTG7-CYQJJ MultiPoint Standard
- XNH6W-2V9GX-RGJ4K-Y8X6F-QGJ2G MultiPoint Premium
-
- Windows Server 2008 R2
-
- 6TPJF-RBVHG-WBW2R-86QPH-6RTM4 Web
- TT8MH-CG224-D3D7Q-498W2-9QCTX HPC
- YC6KT-GKW9T-YTKYR-T4X34-R7VHC Standard
- 74YFP-3QFB3-KQT8W-PMXWJ-7M648 Datacenter
- 489J6-VHDMP-X63PK-3K798-CPX3Y Enterprise
- GT63C-RJFQ3-4GMB6-BRFB9-CB83V Itanium
- 736RG-XDKJK-V34PF-BHK87-J6X3K MultiPoint Server
-
- ----------------------------------------------------------------------------------------------------
-
- ----------------------------------------------
- Windows /Server (All VL Supported Versions)
- ----------------------------------------------
-
- - Connect to the internet.
- - Open CMD as Admin, and enter the following listed commands in the sequence in which they are given.
- - Enter Generic Volume License Key (GVLK) (Replace %key% with the key from above list) with
- the following command:
-
-slmgr.vbs /ipk %key%
-
- - Register the KMS Server, (Replace %server% with one of the above-listed servers)
- (If activation is unsuccessful then try a different server) with the following command:
-
-slmgr.vbs /skms %server%
-
- - Activate Windows with the following command:
-
-slmgr.vbs /ato
-
- - Check Activation Status with the following command:
-
-slmgr.vbs /dli
-
- - Check Activation Expiry Date with the following command:
-
-slmgr.vbs /xpr
-
- - Clear the name of the KMS server (Optional) (It'll prevent activation auto-renewal) with the following command:
-
-slmgr.vbs /ckms
-
- - Done.
-
- ----------------------------------------------------------------------------
- Office VL Activation (Office 2010, 2013, 2016, 2019) -
- ----------------------------------------------------------------------------
-
- - Connect to the internet.
- - Open CMD as Admin, and enter the following listed commands in the sequence in which they are given.
- - If Office is installed as VL (Volume License) then there is no need to enter its key.
- - If Office is installed as Retail, then you need to convert it to VL, by using C2R-R2V by @abbodi1406
- https://forums.mydigitallife.net/posts/1150042
-
- - Change to the directory where Office is installed.
- If your system is 32-bit Office on 32-bit Windows or 64-bit Office on 64-bit Windows use the following:
-
- For Office 2016 or 2019 enter the command:
-
-cd "C:\Program Files\Microsoft Office\Office16"
-
- For Office 2013 enter the command:
-
-cd "C:\Program Files\Microsoft Office\Office15"
-
- For Office 2010 enter the command:
-
-cd "C:\Program Files\Microsoft Office\Office14"
-
- --------------------------------------------------------------------------------
-
- If your system is 32-bit Office on 64-bit Windows, use the following:
-
- For Office 2016 or 2019 enter the command:
-
-cd "C:\Program Files (x86)\Microsoft Office\Office16"
-
- For Office 2013 enter the command:
-
-cd "C:\Program Files (x86)\Microsoft Office\Office15"
-
- For Office 2010 enter the command:
-
-cd "C:\Program Files (x86)\Microsoft Office\Office14"
-
- --------------------------------------------------------------------------------
-
- - Once all of that is done correctly, you must register the KMS Server, (In the following,
- replace %server% with one of the above-listed servers.) (If activation is unsuccessful
- then try a different server.) with the following command:
-
-cscript ospp.vbs /sethst:%server%
-
- - Activate Office with the following command:
-
-cscript ospp.vbs /act
-
- - Check Activation Status with the following command:
-
-cscript ospp.vbs /dstatus
-
- - Clear the name of the KMS server, (Optional) (It'll prevent activation auto-renewal)
- with the appropriate following commands:
-
- To clear the KMS Server name for Office in Win 7, or Office 2010 on Win 8 or Win 10,
- enter each of the following commands in the sequence which is given:
-
-set "OSPP=HKLM\SOFTWARE\Microsoft\OfficeSoftwareProtectionPlatform"
-reg delete "%OSPP%" /f /v KeyManagementServiceName 2>nul
-reg delete "%OSPP%" /f /v KeyManagementServicePort 2>nul
-reg delete "%OSPP%\59a52881-a989-479d-af46-f275c6370663" /f 2>nul
-reg delete "%OSPP%\0ff1ce15-a989-479d-af46-f275c6370663" /f 2>nul
-
- To clear the KMS server name for Office (except Office 2010) on Win 8 or Win 10, run the following command:
-
-set "SPPk=SOFTWARE\Microsoft\Windows NT\CurrentVersion\SoftwareProtectionPlatform"
-reg delete "HKLM\%SPPk%" /f /v KeyManagementServiceName 2>nul
-reg delete "HKLM\%SPPk%" /f /v KeyManagementServicePort 2>nul
-reg delete "HKLM\%SPPk%\0ff1ce15-a989-479d-af46-f275c6370663" /f 2>nul
-reg delete "HKEY_USERS\S-1-5-20\%SPPk%\0ff1ce15-a989-479d-af46-f275c6370663" /f 2>nul
-
- - Done.
-
-====================================================================================================
- Troubleshoot activation issues:
-====================================================================================================
-
- - Make sure the Internet is connected.
-
- - Reboot the system and run the activation script, and if unsuccessful,
- Open CMD as Admin, and enter the following command: (For Windows 10\8\8.1)
-
-Dism /online /Cleanup-Image /RestoreHealth
-
- - After its done, reboot the system and open CMD as Admin and enter the following command:
-
-sfc.exe /scannow
-
- - After it's done, reboot the system and run the activation script, and if unsuccessful,
- open CMD as administrator again, and enter the following command:
-
-slmgr.vbs /rearm
-
- - Reboot the system and run the activation script, and if unsuccessful,
- You may try to rebuild licensing Tokens.dat as suggested in https://support.microsoft.com/en-us/help/2736303
- (this will require to repair Office afterwards.)
-
- - Reboot the system and run the activation script, and if unsuccessful,
- Try KMS_VL_ALL by @abbodi1406 https://forums.mydigitallife.net/posts/838808/
- If still unsuccessful, it may be time to start over from the very beginning
- and do a clean install of windows :D
-
- -------------------------------
-
- - If you have issues with Office activation, or got undesired or duplicate licenses (e.g. Office 2016 and 2019):
- Download Office Scrubber pack from https://forums.mydigitallife.net/posts/1466365/
- To get rid of any conflicted licenses, run Uninstall_Licenses.cmd, then you must start any
- Office program to repair the licensing. You may also try Uninstall_Keys.cmd for similar manner.
-
- If you wish to remove Office and leftovers completely and start clean:
- Uninstall Office normally from Control Panel / Programs and Feature then run Full_Scrub.cmd
- afterwards, install new Office.
-
- - Can't activate Windows 7 with KMS: [Error 0xC004F035]
- Some OEM licensed computers cannot be activated with KMS on WINDOWS 7.
- Quote from the MS page https://tinyurl.com/yy8wfu5m
- 'Computers obtained through OEM channels that have an ACPI_SLIC table in the (BIOS) are
- required to have a valid Windows marker in the same ACPI_SLIC table.
- ---Computers that have an ACPI_SLIC table without a valid Windows marker generate an error
- when a volume edition of Windows 7 is installed.'
-
-====================================================================================================
- Credits:
-====================================================================================================
-
- @abbodi1406 Activate.cmd (KMS_VL_ALL)
- https://forums.mydigitallife.net/posts/838808
- (* With the great help from @RPO, Forked it to work with Multi KMS Servers,
- Renewal task, Desktop context menu, $OEM$, etc for Online KMS)
-
- Clear-KMS-Cache.cmd
- https://forums.mydigitallife.net/posts/1511883
- (*Applied it as it is)
-
- Check-Activation-Status-wmic.cmd
- https://forums.mydigitallife.net/posts/838808
- (*Applied it as it is)
-
-----------------------------------------------------------------------------------------------------
-
- Online Public KMS Servers:
-
- kms.srv.crsoo.com
- kms.loli.beer
- kms8.MSGuides.com
-
- kms9.MSGuides.com
- kms.zhuxiaole.org
- kms.lolico.moe
- kms.moeclub.org
-
-----------------------------------------------------------------------------------------------------
-
- Special Thanks to @RPO
-
- For providing great support in making and improvements of this script,
- To name a few,
-
- Internet test with Powershell (No ping)
- KMS server 1688 port test with Powershell
- Multi KMS server integration
- Scheduled task to renew the activation
-
- And for solving countless problems in this batch script.
-
-----------------------------------------------------------------------------------------------------
-
- Kind Help:-
-
- Thanks for having my back and answering all of my queries. (In no particular order)
-
- @AveYo aka @BAU, @RPO, @leitek8, @mxman2k, @Yen, @abbodi1406
-
- @BorrowedWifi For providing support in fixing English grammar errors in the Read Me.
-
-----------------------------------------------------------------------------------------------------
-
- This script is a part of 'Microsoft Activation Scripts' project.
-
- Homepages-
- NsaneForums: (Login Required) https://www.nsaneforums.com/topic/316668-microsoft-activation-scripts/
- GitHub: https://github.com/massgravel/Microsoft-Activation-Scripts
- GitLab: https://gitlab.com/massgrave/microsoft-activation-scripts
-
- Maintained by @WindowsAddict
-
-==================================================================================================== \ No newline at end of file
diff --git a/MAS_1.3/Separate-Files-Version/Activators/ReadMe.txt b/MAS_1.3/Separate-Files-Version/Activators/ReadMe.txt
deleted file mode 100644
index 8c73eb6..0000000
--- a/MAS_1.3/Separate-Files-Version/Activators/ReadMe.txt
+++ /dev/null
@@ -1,12 +0,0 @@
-----------------------------------------------------------------------------------------------
-Activation Type Supported Product Activation Period
-----------------------------------------------------------------------------------------------
-
-Digital License - Windows 10 - Permanent
-KMS38 - Windows 10 / Server - Until the year 2038
-Online KMS - Windows / Server / Office - For 180 Days, renewal task needs to be
- created for lifetime auto activation.
-
-----------------------------------------------------------------------------------------------
-
-* For more details, use the ReadMe.txt included in the respective activation folders. \ No newline at end of file
diff --git a/MAS_1.3/Separate-Files-Version/Credits.txt b/MAS_1.3/Separate-Files-Version/Credits.txt
deleted file mode 100644
index c0931f0..0000000
--- a/MAS_1.3/Separate-Files-Version/Credits.txt
+++ /dev/null
@@ -1,120 +0,0 @@
-====================================================================================================
- Credits:
-====================================================================================================
-
- Microsoft Activation Scripts (MAS):
-
- A collection of scripts for activating Microsoft products using HWID / KMS38 / Online KMS
- activation methods with a focus on open-source code, less antivirus detection and user-friendliness.
-
- These scripts are mostly a fork of other honourable developer's tools and scripts.
-
- Homepages-
- NsaneForums: (Login Required) https://www.nsaneforums.com/topic/316668-microsoft-activation-scripts/
- GitHub: https://github.com/massgravel/Microsoft-Activation-Scripts
- GitLab: https://gitlab.com/massgrave/microsoft-activation-scripts
-
- Maintained by @WindowsAddict
-
- To achieve this I have used the following projects as the base of this activator.
- I would like to say thanks to the following authors for making such awesome projects.
-
-====================================
- HWID and KMS38 Activation:
-====================================
-
- @mspaintmsi Original co-authors of HWID/KMS38 Activation without KMS or predecessor install/upgrade.
- and Created various methods for HWID/KMS38 Activation
- *Anonymous https://www.nsaneforums.com/topic/316668--/?do=findComment&comment=1497887
- https://github.com/massgravel/MASSGRAVE
- https://gitlab.com/massgrave/massgrave
-
- @vyvojar Original slshim (slc.dll)
- https://github.com/vyvojar/slshim/releases
-
-====================================
-
- HWID/KMS38 methods Suggestions and improvements:-
-
- @sponpa New ideas for the HWID/KM38 Generation
- https://www.nsaneforums.com/topic/316668--/page/21/?tab=comments#comment-1431257
-
- @leitek8 Improvements for the slc.dll
- https://www.nsaneforums.com/topic/316668--/page/22/?tab=comments#comment-1438005
-
-====================================
- Online KMS Activation:
-====================================
-
- @abbodi1406 Activate.cmd (KMS_VL_ALL)
- https://forums.mydigitallife.net/posts/838808
- (* With the great help from @RPO, Forked it to work with Multi KMS Servers,
- Renewal task, Desktop context menu, $OEM$, etc for Online KMS)
-
- Clear-KMS-Cache.cmd
- https://forums.mydigitallife.net/posts/1511883
- (*Applied it as it is)
-
- Check-Activation-Status-wmic.cmd
- https://forums.mydigitallife.net/posts/838808
- (*Applied it as it is)
-
-====================================
-
- Online Public KMS Servers:
-
- kms.srv.crsoo.com
- kms.loli.beer
- kms8.MSGuides.com
-
- kms9.MSGuides.com
- kms.zhuxiaole.org
- kms.lolico.moe
- kms.moeclub.org
-
-====================================
- Useful scripts and ideas I used :
-====================================
-
- @AveYo (@BAU) Compressed2TXT
- https://github.com/AveYo/Compressed2TXT
- (For storing the files in text format)
-
- Reg_takeownership snippet
- pastebin.com/XTPt0JSC
- (*Applied in KMS38 Protection)
-
- @hearywarlot Elevate program as admin with vbs method
- https://forums.mydigitallife.net/threads/.74332/
-
- @dbenham Set buffer height independently of window height
- https://stackoverflow.com/a/13351373
-
- @Ratiborus Ratiborus Tools
- http://forum.ru-board.com/topic.cgi?forum=2&topic=5734#1
-
- @abbodi1406 Continuously providing best solutions for tons of issues.
-
- abbodi1406's Batch Scripts Repo
- https://forums.mydigitallife.net/threads/74197/
-
- @s1ave77 slave77s S-M-R-T JATDevice MkIII
- https://forums.mydigitallife.net/threads/44717/
-
-====================================
- Kind Help:
-====================================
-
- Thanks to the following people for answering all of my queries. (In no particular order)
-
- @AveYo aka @BAU, @sponpa, @mspaintmsi @RPO, @leitek8, @mxman2k, @Yen, @abbodi1406
-
- @BorrowedWifi for providing support in fixing English grammar errors in the Read Me.
- @Chibi ANUBIS for testing scripts for ARM64 system.
-
-----------------------------------------------------------------------------------------------------
-
- Special thanks to @RPO and @abbodi1406,
- For providing great support and solving countless issues in this tool.
-
-==================================================================================================== \ No newline at end of file
diff --git a/MAS_1.3/Separate-Files-Version/Extras/Download_Genuine_Installation_Media.url b/MAS_1.3/Separate-Files-Version/Extras/Download_Genuine_Installation_Media.url
deleted file mode 100644
index 5bb4e74..0000000
--- a/MAS_1.3/Separate-Files-Version/Extras/Download_Genuine_Installation_Media.url
+++ /dev/null
@@ -1,6 +0,0 @@
-[{000214A0-0000-0000-C000-000000000046}]
-Prop3=19,11
-[InternetShortcut]
-IDList=
-URL=https://pastebin.com/raw/jduBSazJ
-HotKey=0
diff --git a/MAS_1.3/Separate-Files-Version/Extras/Extract_OEM_Folder/Extract_OEM_Folder.cmd b/MAS_1.3/Separate-Files-Version/Extras/Extract_OEM_Folder/Extract_OEM_Folder.cmd
deleted file mode 100644
index 5c79a8f..0000000
--- a/MAS_1.3/Separate-Files-Version/Extras/Extract_OEM_Folder/Extract_OEM_Folder.cmd
+++ /dev/null
@@ -1,621 +0,0 @@
-@setlocal DisableDelayedExpansion
-@echo off
-
-
-
-
-
-:: =======================================================================================================
-::
-:: This script is a part of 'Microsoft Activation Scripts' project.
-::
-:: Homepages-
-:: NsaneForums: (Login Required) https://www.nsaneforums.com/topic/316668-microsoft-activation-scripts/
-:: GitHub: https://github.com/massgravel/Microsoft-Activation-Scripts
-:: GitLab: https://gitlab.com/massgrave/microsoft-activation-scripts
-::
-:: Maintained by @WindowsAddict
-::
-:: =======================================================================================================
-
-
-
-
-
-
-
-
-
-
-
-
-
-::========================================================================================================================================
-
-cls
-title Extract $OEM$ Folder
-for /f "tokens=6 delims=[]. " %%G in ('ver') do set winbuild=%%G
-set "_psc=powershell -nop -ep bypass -c"
-set "nul=1>nul 2>nul"
-set "EchoRed=%_psc% write-host -back Black -fore Red"
-set "EchoGreen=%_psc% write-host -back Black -fore Green"
-set "ELine=echo: & %EchoRed% ==== ERROR ==== &echo:"
-
-::========================================================================================================================================
-
-for %%i in (powershell.exe) do if "%%~$path:i"=="" (
-echo: &echo ==== ERROR ==== &echo:
-echo Powershell is not installed in the system.
-echo Aborting...
-goto Done
-)
-
-::========================================================================================================================================
-
-if %winbuild% LSS 7600 (
-%ELine%
-echo Unsupported OS version Detected.
-echo Project is supported only for Windows 7/8/8.1/10 and their Server equivalent.
-goto Done
-)
-
-::========================================================================================================================================
-
-:: Fix for the special characters limitation in path name
-:: Written by @abbodi1406
-
-set "_work=%~dp0"
-if "%_work:~-1%"=="\" set "_work=%_work:~0,-1%"
-
-set "_batf=%~f0"
-set "_batp=%_batf:'=''%"
-
-setlocal EnableDelayedExpansion
-
-::========================================================================================================================================
-
-mode con cols=98 lines=30
-
-:: Get correct Desktop Location with powershell
-:: Written by @dcshoecomp (superuser.com)
-:: https://superuser.com/a/1413170
-
-for /f "delims=" %%a in ('%_psc% "& {write-host $([Environment]::GetFolderPath('Desktop'))}"') do Set "desktop=%%a"
-
-if exist "%desktop%\$OEM$\" (
-echo _____________________________________________________
-%ELine%
-echo $OEM$ folder already exists on the Desktop.
-echo _____________________________________________________
-goto Done2
-)
-
-set "_dir=%desktop%\$OEM$\$$\Setup\Scripts"
-set _nofile=
-
-set "_fdir1=Activators\HWID-KMS38_Activation"
-set "HWID_Activation.cmd=%_fdir1%\HWID_Activation.cmd"
-set "KMS38_Activation.cmd=%_fdir1%\KMS38_Activation.cmd"
-set "ClipUp.exe=%_fdir1%\BIN\ClipUp.exe"
-set "gatherosstate.exe=%_fdir1%\BIN\gatherosstate.exe"
-set "slc.dll=%_fdir1%\BIN\slc.dll"
-set "ARM64_gatherosstate.exe=%_fdir1%\BIN\ARM64_gatherosstate.exe"
-set "ARM64_slc.dll=%_fdir1%\BIN\ARM64_slc.dll"
-
-set "_fdir2=Activators\Online_KMS_Activation"
-set "Activate.cmd=%_fdir2%\Activate.cmd"
-set "Renewal_Setup.cmd=%_fdir2%\Renewal_Setup.cmd"
-set "cleanosppx64.exe=%_fdir2%\BIN\cleanosppx64.exe"
-set "cleanosppx86.exe=%_fdir2%\BIN\cleanosppx86.exe"
-
-cd /d "!_work!"
-pushd "!_work!"
-cd ..
-cd ..
-
-if not exist "%HWID_Activation.cmd%" set _nofile=1
-if not exist "%KMS38_Activation.cmd%" set _nofile=1
-if not exist "%ClipUp.exe%" set _nofile=1
-if not exist "%gatherosstate.exe%" set _nofile=1
-if not exist "%slc.dll%" set _nofile=1
-if not exist "%ARM64_gatherosstate.exe%" set _nofile=1
-if not exist "%ARM64_slc.dll%" set _nofile=1
-
-if not exist "%Activate.cmd%" set _nofile=1
-if not exist "%Renewal_Setup.cmd%" set _nofile=1
-if not exist "%cleanosppx64.exe%" set _nofile=1
-if not exist "%cleanosppx86.exe%" set _nofile=1
-
-if defined _nofile (
-echo _____________________________________________________
-%ELine%
-echo Some files are missing in the 'Activators' folder.
-echo _____________________________________________________
-goto Done
-)
-
-::========================================================================================================================================
-
-:Menu
-
-cls
-echo:
-echo:
-echo Extract the $OEM$ Folder on your desktop.
-echo For more details use Read me.
-echo _______________________________________________________
-echo ^| ^|
-echo ^| ^|
-echo ^| [1] HWID ^|
-echo ^| ^|
-echo ^| [2] KMS38 ^|
-echo ^| ^|
-echo ^| [3] HWID, Fallback to KMS38 ^|
-echo ^| ^|
-echo ^| [4] Online KMS ^|
-echo ^| ^|
-echo ^| [5] HWID ^+ Online KMS ^|
-echo ^| ^|
-echo ^| [6] KMS38 ^+ Online KMS ^|
-echo ^| ^|
-echo ^| [7] HWID, Fallback to KMS38 ^+ Online KMS ^|
-echo ^| ^|
-echo ^| [8] Exit ^|
-echo ^| ^|
-echo ^|_______________________________________________________^|
-echo:
-choice /C:12345678 /N /M "> Enter Your Choice [1,2,3,4,5,6,7,8] : "
-
-if errorlevel 8 exit /b
-if errorlevel 7 goto:$OEM$HWID_FB_KMS38-KMS
-if errorlevel 6 goto:$OEM$KMS38KMS
-if errorlevel 5 goto:$OEM$HWIDKMS
-if errorlevel 4 goto:$OEM$KMS
-if errorlevel 3 goto:$OEM$HWID_FB_KMS38
-if errorlevel 2 goto:$OEM$KMS38
-if errorlevel 1 goto:$OEM$HWID
-
-::========================================================================================================================================
-
-:$OEM$HWID
-
-cls
-call :Prep
-call :HWIDPrep
-call :export HWIDSetup "%_dir%\SetupComplete.cmd"
-set error_=
-call :HWIDPrep2
-
-if defined error_ goto ErrorFound
-set "_oem=HWID"
-goto Done
-
-:HWIDSetup:
-@echo off
-
-reg query HKU\S-1-5-19 1>nul 2>nul || (
-echo ==== Error ====
-echo Right click on this file and select 'Run as administrator'
-echo Press any key to exit...
-pause >nul
-exit /b
-)
-
-call "%~dp0HWID_Activation.cmd" /u
-
-cd /d "%SystemRoot%\Setup\"
-if exist "%SystemRoot%\Setup\Scripts\" @RD /S /Q "%SystemRoot%\Setup\Scripts\"
-exit /b
-:HWIDSetup:
-
-::========================================================================================================================================
-
-:$OEM$KMS38
-
-cls
-call :Prep
-call :KMS38Prep
-call :export KMS38Setup "%_dir%\SetupComplete.cmd"
-set error_=
-call :KMS38Prep2
-
-if defined error_ goto ErrorFound
-set "_oem=KMS38"
-goto Done
-
-:KMS38Setup:
-@echo off
-
-reg query HKU\S-1-5-19 1>nul 2>nul || (
-echo ==== Error ====
-echo Right click on this file and select 'Run as administrator'
-echo Press any key to exit...
-pause >nul
-exit /b
-)
-
-call "%~dp0KMS38_Activation.cmd" /u
-
-cd /d "%SystemRoot%\Setup\"
-if exist "%SystemRoot%\Setup\Scripts\" @RD /S /Q "%SystemRoot%\Setup\Scripts\"
-exit /b
-:KMS38Setup:
-
-::========================================================================================================================================
-
-:$OEM$HWID_FB_KMS38
-
-cls
-call :Prep
-
-copy /y /b "%HWID_Activation.cmd%" "%_dir%\HWID_Activation.cmd" %nul%
-call :KMS38Prep
-call :export HWID_FB_KMS38 "%_dir%\SetupComplete.cmd"
-
-set error_=
-If not exist "%_dir%\HWID_Activation.cmd" (set error_=1)
-call :KMS38Prep2
-
-if defined error_ goto ErrorFound
-set "_oem=HWID`, Fallback to KMS38"
-goto Done
-
-:HWID_FB_KMS38:
-@echo off
-
-setlocal EnableDelayedExpansion
-reg query HKU\S-1-5-19 1>nul 2>nul || (
-echo ==== Error ====
-echo Right click on this file and select 'Run as administrator'
-echo Press any key to exit...
-pause >nul
-exit /b
-)
-
-for /f "tokens=6 delims=[]. " %%G in ('ver') do set winbuild=%%G
-
-:: Check Windows Edition
-set osedition=
-for /f "tokens=2 delims==" %%a in ('"wmic path SoftwareLicensingProduct where (ApplicationID='55c92734-d682-4d71-983e-d6ec3f16059f' and PartialProductKey is not NULL) get LicenseFamily /VALUE" 2^>nul') do if not errorlevel 1 set "osedition=%%a"
-if not defined osedition for /f "tokens=3 delims=: " %%a in ('DISM /English /Online /Get-CurrentEdition 2^>nul ^| find /i "Current Edition :"') do set "osedition=%%a"
-
-:: Check Installation type
-set instype=
-for /f "skip=2 tokens=2*" %%a in ('reg query "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion" /v InstallationType 2^>nul') do if not errorlevel 1 set "instype=%%b"
-
-set KMS38=
-if "%winbuild%" GEQ "17763" if "%osedition%"=="EnterpriseS" set KMS38=1
-if "%winbuild%" GEQ "17763" if "%osedition%"=="EnterpriseSN" set KMS38=1
-if "%osedition%"=="EnterpriseG" set KMS38=1
-if "%osedition%"=="EnterpriseGN" set KMS38=1
-if not "%instype%"=="Client" echo %osedition%| findstr /I /B Server 1>nul && set KMS38=1
-
-if defined KMS38 (
-call "%~dp0KMS38_Activation.cmd" /u
-) else (
-call "%~dp0HWID_Activation.cmd" /u
-)
-
-cd /d "%SystemRoot%\Setup\"
-if exist "%SystemRoot%\Setup\Scripts\" @RD /S /Q "%SystemRoot%\Setup\Scripts\"
-exit /b
-:HWID_FB_KMS38:
-
-::========================================================================================================================================
-
-:$OEM$KMS
-
-cls
-call :Prep
-call :KMSPrep
-call :export KMSSetup "%_dir%\SetupComplete.cmd"
-set error_=
-call :KMSPrep2
-
-if defined error_ goto ErrorFound
-set "_oem=Online KMS"
-goto Done
-
-:KMSSetup:
-@echo off
-
-============================================================================
-
-:: Change value from 1 to 0 to disable KMS Renewal And Activation Task
-set Renewal_And_Activation_Task=1
-
-:: Change value from 1 to 0 to disable KMS activation desktop context menu
-set Desktop_context_menu=1
-
-============================================================================
-
-reg query HKU\S-1-5-19 1>nul 2>nul || (
-echo ==== Error ====
-echo Right click on this file and select 'Run as administrator'
-echo Press any key to exit...
-pause >nul
-exit /b
-)
-
-if %Renewal_And_Activation_Task% EQU 1 call "%~dp0Renewal_Setup.cmd" /rat
-if %Desktop_context_menu% EQU 1 call "%~dp0Renewal_Setup.cmd" /dcm
-
-cd /d "%SystemRoot%\Setup\"
-if exist "%SystemRoot%\Setup\Scripts\" @RD /S /Q "%SystemRoot%\Setup\Scripts\"
-exit /b
-:KMSSetup:
-
-::========================================================================================================================================
-
-:$OEM$HWIDKMS
-
-cls
-call :Prep
-call :HWIDPrep
-call :KMSPrep
-
-call :export HWIDKMSSetup "%_dir%\SetupComplete.cmd"
-
-set error_=
-call :HWIDPrep2
-call :KMSPrep2
-
-if defined error_ goto ErrorFound
-set "_oem=HWID `+ Online KMS"
-goto Done
-
-:HWIDKMSSetup:
-@echo off
-
-============================================================================
-
-:: Change value from 1 to 0 to disable KMS Renewal And Activation Task
-set Renewal_And_Activation_Task=1
-
-:: Change value from 1 to 0 to disable KMS activation desktop context menu
-set Desktop_context_menu=1
-
-============================================================================
-
-reg query HKU\S-1-5-19 1>nul 2>nul || (
-echo ==== Error ====
-echo Right click on this file and select 'Run as administrator'
-echo Press any key to exit...
-pause >nul
-exit /b
-)
-
-call "%~dp0HWID_Activation.cmd" /u
-if defined HWIDAct set SkipWinAct=/swa
-
-if %Renewal_And_Activation_Task% EQU 1 call "%~dp0Renewal_Setup.cmd" /rat %SkipWinAct%
-if %Desktop_context_menu% EQU 1 call "%~dp0Renewal_Setup.cmd" /dcm %SkipWinAct%
-
-cd /d "%SystemRoot%\Setup\"
-if exist "%SystemRoot%\Setup\Scripts\" @RD /S /Q "%SystemRoot%\Setup\Scripts\"
-exit /b
-:HWIDKMSSetup:
-
-::========================================================================================================================================
-
-:$OEM$KMS38KMS
-
-cls
-call :Prep
-call :KMS38Prep
-call :KMSPrep
-call :export KMS38KMSSetup "%_dir%\SetupComplete.cmd"
-set error_=
-call :KMS38Prep2
-call :KMSPrep2
-
-if defined error_ goto ErrorFound
-set "_oem=KMS38 `+ Online KMS"
-goto Done
-
-:KMS38KMSSetup:
-@echo off
-
-============================================================================
-
-:: Change value from 1 to 0 to disable KMS Renewal And Activation Task
-set Renewal_And_Activation_Task=1
-
-:: Change value from 1 to 0 to disable KMS activation desktop context menu
-set Desktop_context_menu=1
-
-============================================================================
-
-reg query HKU\S-1-5-19 1>nul 2>nul || (
-echo ==== Error ====
-echo Right click on this file and select 'Run as administrator'
-echo Press any key to exit...
-pause >nul
-exit /b
-)
-
-call "%~dp0KMS38_Activation.cmd" /u
-
-if %Renewal_And_Activation_Task% EQU 1 call "%~dp0Renewal_Setup.cmd" /rat
-if %Desktop_context_menu% EQU 1 call "%~dp0Renewal_Setup.cmd" /dcm
-
-cd /d "%SystemRoot%\Setup\"
-if exist "%SystemRoot%\Setup\Scripts\" @RD /S /Q "%SystemRoot%\Setup\Scripts\"
-exit /b
-:KMS38KMSSetup:
-
-::========================================================================================================================================
-
-:$OEM$HWID_FB_KMS38-KMS
-
-cls
-call :Prep
-
-copy /y /b "%HWID_Activation.cmd%" "%_dir%\HWID_Activation.cmd" %nul%
-call :KMS38Prep
-call :KMSPrep
-call :export HWID_FB_KMS38-KMSSetup "%_dir%\SetupComplete.cmd"
-
-set error_=
-If not exist "%_dir%\HWID_Activation.cmd" (set error_=1)
-call :KMS38Prep2
-call :KMSPrep2
-
-if defined error_ goto ErrorFound
-set "_oem=HWID`, Fallback to KMS38 `+ Online KMS"
-goto Done
-
-:HWID_FB_KMS38-KMSSetup:
-@echo off
-
-============================================================================
-
-:: Change value from 1 to 0 to disable KMS Renewal And Activation Task
-set Renewal_And_Activation_Task=1
-
-:: Change value from 1 to 0 to disable KMS activation desktop context menu
-set Desktop_context_menu=1
-
-============================================================================
-
-setlocal EnableDelayedExpansion
-reg query HKU\S-1-5-19 1>nul 2>nul || (
-echo ==== Error ====
-echo Right click on this file and select 'Run as administrator'
-echo Press any key to exit...
-pause >nul
-exit /b
-)
-
-for /f "tokens=6 delims=[]. " %%G in ('ver') do set winbuild=%%G
-
-:: Check Windows Edition
-set osedition=
-for /f "tokens=2 delims==" %%a in ('"wmic path SoftwareLicensingProduct where (ApplicationID='55c92734-d682-4d71-983e-d6ec3f16059f' and PartialProductKey is not NULL) get LicenseFamily /VALUE" 2^>nul') do if not errorlevel 1 set "osedition=%%a"
-if not defined osedition for /f "tokens=3 delims=: " %%a in ('DISM /English /Online /Get-CurrentEdition 2^>nul ^| find /i "Current Edition :"') do set "osedition=%%a"
-
-:: Check Installation type
-set instype=
-for /f "skip=2 tokens=2*" %%a in ('reg query "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion" /v InstallationType 2^>nul') do if not errorlevel 1 set "instype=%%b"
-
-set KMS38=
-if "%winbuild%" GEQ "17763" if "%osedition%"=="EnterpriseS" set KMS38=1
-if "%winbuild%" GEQ "17763" if "%osedition%"=="EnterpriseSN" set KMS38=1
-if "%osedition%"=="EnterpriseG" set KMS38=1
-if "%osedition%"=="EnterpriseGN" set KMS38=1
-if not "%instype%"=="Client" echo %osedition%| findstr /I /B Server 1>nul && set KMS38=1
-
-if defined KMS38 (
-call "%~dp0KMS38_Activation.cmd" /u
-) else (
-call "%~dp0HWID_Activation.cmd" /u
-if defined HWIDAct set SkipWinAct=/swa
-)
-
-if %Renewal_And_Activation_Task% EQU 1 call "%~dp0Renewal_Setup.cmd" /rat %SkipWinAct%
-if %Desktop_context_menu% EQU 1 call "%~dp0Renewal_Setup.cmd" /dcm %SkipWinAct%
-
-cd /d "%SystemRoot%\Setup\"
-if exist "%SystemRoot%\Setup\Scripts\" @RD /S /Q "%SystemRoot%\Setup\Scripts\"
-exit /b
-:HWID_FB_KMS38-KMSSetup:
-
-::========================================================================================================================================
-
-:ErrorFound
-
-%ELine%
-echo $OEM$ Folder was not created successfully...
-goto :Done2
-:Done
-echo ________________________________________________________________________________________________
-echo:
-%EchoGreen% %_oem% `$OEM`$ folder is successfully created on the Desktop.
-echo ________________________________________________________________________________________________
-:Done2
-echo:
-echo Press any key to exit...
-pause >nul
-exit /b
-
-::========================================================================================================================================
-
-:Prep
-
-cd /d "%desktop%"
-md "%desktop%\$OEM$\$$\Setup\Scripts\"
-md "%desktop%\$OEM$\$$\Setup\Scripts\BIN"
-
-cd /d "!_work!"
-pushd "!_work!"
-cd ..
-cd ..
-
-exit /b
-
-:HWIDPrep
-
-copy /y /b "%HWID_Activation.cmd%" "%_dir%\HWID_Activation.cmd" %nul%
-copy /y /b "%gatherosstate.exe%" "%_dir%\BIN\gatherosstate.exe" %nul%
-copy /y /b "%slc.dll%" "%_dir%\BIN\slc.dll" %nul%
-copy /y /b "%ARM64_gatherosstate.exe%" "%_dir%\BIN\ARM64_gatherosstate.exe" %nul%
-copy /y /b "%ARM64_slc.dll%" "%_dir%\BIN\ARM64_slc.dll" %nul%
-exit /b
-
-:KMS38Prep
-
-copy /y /b "%KMS38_Activation.cmd%" "%_dir%\KMS38_Activation.cmd" %nul%
-copy /y /b "%ClipUp.exe%" "%_dir%\BIN\ClipUp.exe" %nul%
-copy /y /b "%gatherosstate.exe%" "%_dir%\BIN\gatherosstate.exe" %nul%
-copy /y /b "%slc.dll%" "%_dir%\BIN\slc.dll" %nul%
-copy /y /b "%ARM64_gatherosstate.exe%" "%_dir%\BIN\ARM64_gatherosstate.exe" %nul%
-copy /y /b "%ARM64_slc.dll%" "%_dir%\BIN\ARM64_slc.dll" %nul%
-exit /b
-
-:KMSPrep
-
-copy /y /b "%Activate.cmd%" "%_dir%\Activate.cmd" %nul%
-copy /y /b "%Renewal_Setup.cmd%" "%_dir%\Renewal_Setup.cmd" %nul%
-copy /y /b "%cleanosppx64.exe%" "%_dir%\BIN\cleanosppx64.exe" %nul%
-copy /y /b "%cleanosppx86.exe%" "%_dir%\BIN\cleanosppx86.exe" %nul%
-exit /b
-
-:HWIDPrep2
-
-If not exist "%_dir%\HWID_Activation.cmd" (set error_=1)
-If not exist "%_dir%\BIN\gatherosstate.exe" (set error_=1)
-If not exist "%_dir%\BIN\slc.dll" (set error_=1)
-If not exist "%_dir%\BIN\ARM64_gatherosstate.exe" (set error_=1)
-If not exist "%_dir%\BIN\ARM64_slc.dll" (set error_=1)
-If not exist "%_dir%\SetupComplete.cmd" (set error_=1)
-exit /b
-
-:KMS38Prep2
-
-If not exist "%_dir%\KMS38_Activation.cmd" (set error_=1)
-If not exist "%_dir%\BIN\ClipUp.exe" (set error_=1)
-If not exist "%_dir%\BIN\gatherosstate.exe" (set error_=1)
-If not exist "%_dir%\BIN\slc.dll" (set error_=1)
-If not exist "%_dir%\BIN\ARM64_gatherosstate.exe" (set error_=1)
-If not exist "%_dir%\BIN\ARM64_slc.dll" (set error_=1)
-If not exist "%_dir%\SetupComplete.cmd" (set error_=1)
-exit /b
-
-:KMSPrep2
-
-If not exist "%_dir%\Activate.cmd" (set error_=1)
-If not exist "%_dir%\Renewal_Setup.cmd" (set error_=1)
-If not exist "%_dir%\BIN\cleanosppx64.exe" (set error_=1)
-If not exist "%_dir%\BIN\cleanosppx86.exe" (set error_=1)
-If not exist "%_dir%\SetupComplete.cmd" (set error_=1)
-exit /b
-
-::========================================================================================================================================
-
-:: Extract the text from batch script without character and file encoding issue
-:: Thanks to @abbodi1406
-
-:export
-%nul% %_psc% "$f=[io.file]::ReadAllText('!_batp!') -split \":%~1\:.*`r`n\"; [io.file]::WriteAllText('%~2',$f[1].Trim(),[System.Text.Encoding]::ASCII);" &exit/b
-
-::======================================================================================================================================== \ No newline at end of file
diff --git a/MAS_1.3/Separate-Files-Version/Extras/Extract_OEM_Folder/ReadMe.txt b/MAS_1.3/Separate-Files-Version/Extras/Extract_OEM_Folder/ReadMe.txt
deleted file mode 100644
index ad122ab..0000000
--- a/MAS_1.3/Separate-Files-Version/Extras/Extract_OEM_Folder/ReadMe.txt
+++ /dev/null
@@ -1,123 +0,0 @@
-====================================================================================================
- $OEM$ Folders [Windows Pre-Activation]:
-====================================================================================================
-
- - To create a Preactivated Windows installation .iso, do the following things:
- Copy the "$OEM$" folder to the "sources" folder in the Windows installation media (.iso or USB).
- The directory will appear like this: \sources\$OEM$ in your altered .iso or on your bootable
- USB drive.
- Now use this .iso or bootable USB drive to install Windows and it will either already be activated
- (KMS38) as soon as it boots, or will self-activate at first internet contact.
-
-----------------------------------------------------------------------------------------------------
- HWID:
-----------------------------------------------------------------------------------------------------
-
- - When using Digital License (HWID), no files are stored on the system, and when connected to the
- internet for the first time, the system will self-activate at that time.
-
-----------------------------------------------------------------------------------------------------
- KMS38:
-----------------------------------------------------------------------------------------------------
-
- - When using KMS38, no files are stored on the system, and Windows becomes activated immediately
- without further actions or connectivity of any kind being required.
-
-----------------------------------------------------------------------------------------------------
- Online KMS (separately, or in combination with HWID or KMS38):
-----------------------------------------------------------------------------------------------------
-
- - It creates the following 2 Activation/Renewal Methods. You can turn off any of them in
- setupcomplete.cmd file
-
- ----------------------------------------------------------
-
- 1- Automatic Renewal via Task Scheduler---
-
- It creates following files and tasks,
-
- Files:
- C:\ProgramData\Online_KMS_Activation\BIN\cleanosppx64.exe
- C:\ProgramData\Online_KMS_Activation\BIN\cleanosppx86.exe
- C:\ProgramData\Online_KMS_Activation\Activate.cmd
- C:\ProgramData\Online_KMS_Activation\Info.txt
-
- Scheduled Tasks:
- \Online_KMS_Activation_Script-Renewal (Weekly)
- \Online_KMS_Activation_Script-Run_Once (Activation Task)
-
- The scheduled task runs only if the system is connected to the Internet.
- Activation Task will run on the system login and after successful activation and registering
- online KMS server, this task will delete itself. leaving behind only one task to run weekly
- for the lifetime of the system.
-
- ----------------------------------------------------------
-
- 2- Manual Renewal via Desktop Context Menu---
-
- It creates Desktop context Menu for manual activation and renewal.
- It creates the following files and registry entries.
-
- Files:
- C:\ProgramData\Online_KMS_Activation\BIN\cleanosppx64.exe
- C:\ProgramData\Online_KMS_Activation\BIN\cleanosppx86.exe
- C:\ProgramData\Online_KMS_Activation\Activate.cmd
- C:\ProgramData\Online_KMS_Activation\Info.txt
-
- Registry entries:
- HKCR\DesktopBackground\shell\Activate Windows - Office
- HKCR\DesktopBackground\shell\Activate Windows - Office\command
-
- It creates an easy to reach the Desktop context menu for the manual activation renewal.
-
- ----------------------------------------------------------
-
- d30a0e4e5911d3ca705617d17225372731c770e2 *cleanosppx64.exe Virus Total = 0/66
- 39ed8659e7ca16aaccb86def94ce6cec4c847dd6 *cleanosppx86.exe Virus Total = 1/66
-
- Virus Total Report Date: 12-11-2019
-
- These files are official Microsoft files and in this script, these are used in
- cleaning office license in C2R Retail office to VL conversion process.
-
- The source of these files is the 'old' version of Microsoft Tool O15CTRRemove.diagcab
- You can get the original file here https://s.put.re/WFuXpyWA.zip
-
- ----------------------------------------------------------
-
- IMPORTANT NOTE - Some sensitive AV's may flag the Automatic Renewal via the Task, and not
- because of KMS, because for them it's suspicious to run long scripts in the background as Tasks.
-
- It's recommended to set exclusions in Antivirus for
- C:\ProgramData\Online_KMS_Activation\Activate.cmd
-
- ----------------------------------------------------------
-
- - When using Online KMS plus HWID Digital License, Online KMS script will be set to skip Windows
- activation (if the HWID activation was applied but was not successful due to lack of internet
- at the time of installation of Windows) but will register the KMS for other products, and all
- later installed Volume License (VL) products (MS Office) will self-activate when going online.
-
- - When using Online KMS plus KMS38, Online KMS will not skip Windows activation but skip KMS38
- activation and will register the KMS for other products, and all subsequently-installed Volume
- License (VL) products (MS Office) will self-activate when going online.
-
-----------------------------------------------------------------------------------------------------
- HWID (Fallback to KMS38):
-----------------------------------------------------------------------------------------------------
-
- - In this method, KMS38 will be used for the activation in case the Windows version is not
- supported by HWID. For example, Windows 10 LTSC and Windows server.
-
-----------------------------------------------------------------------------------------------------
- Activation Type Supported Product Activation Period
-----------------------------------------------------------------------------------------------------
-
- Digital License - Windows 10 - Permanent
- KMS38 - Windows 10 / Server - Until the year 2038
- Online KMS - Windows / Server / Office - For 180 Days, renewal task needs to be
- created for lifetime auto-activation.
-
-----------------------------------------------------------------------------------------------------
-
- * For more details, use the ReadMe.txt included in the respective activation folders. \ No newline at end of file
diff --git a/MAS_1.3/Separate-Files-Version/Extras/KMS38_Protection/Protect_Unprotect-KMS38.cmd b/MAS_1.3/Separate-Files-Version/Extras/KMS38_Protection/Protect_Unprotect-KMS38.cmd
deleted file mode 100644
index a35fee2..0000000
--- a/MAS_1.3/Separate-Files-Version/Extras/KMS38_Protection/Protect_Unprotect-KMS38.cmd
+++ /dev/null
@@ -1,412 +0,0 @@
-@setlocal DisableDelayedExpansion
-@echo off
-
-
-
-
-
-:: =======================================================================================================
-::
-:: This script is a part of 'Microsoft Activation Scripts' project.
-::
-:: Homepages-
-:: NsaneForums: (Login Required) https://www.nsaneforums.com/topic/316668-microsoft-activation-scripts/
-:: GitHub: https://github.com/massgravel/Microsoft-Activation-Scripts
-:: GitLab: https://gitlab.com/massgrave/microsoft-activation-scripts
-::
-:: Maintained by @WindowsAddict
-::
-:: =======================================================================================================
-
-
-
-
-
-
-
-
-
-
-
-
-
-::========================================================================================================================================
-
-title Protect / Unprotect KMS38 Activation
-set _elev=
-if /i "%~1"=="-el" set _elev=1
-for /f "tokens=6 delims=[]. " %%G in ('ver') do set winbuild=%%G
-set "_psc=powershell -nop -ep bypass -c"
-set "nul=1>nul 2>nul"
-set "Red="white" "DarkRed""
-set "Green="white" "DarkGreen""
-set "Magenta="white" "darkmagenta""
-set "Gray="white" "darkgray""
-set "Black="white" "Black""
-set "ELine=echo: &call :PU_color "==== ERROR ====" %Red% &echo:"
-set line=__________________________________________________________________________________________________
-
-::========================================================================================================================================
-
-for %%i in (powershell.exe) do if "%%~$path:i"=="" (
-echo: &echo ==== ERROR ==== &echo:
-echo Powershell is not installed in the system.
-echo Aborting...
-goto PU_Done
-)
-
-::========================================================================================================================================
-
-if %winbuild% LSS 14393 (
-%ELine%
-echo Unsupported OS version Detected.
-echo Project is supported only for Windows 10 / Server 1607 [14393] and later builds.
-goto PU_Done
-)
-
-::========================================================================================================================================
-
-:: Elevate script as admin and pass arguments and preventing loop
-:: Thanks to @hearywarlot [ https://forums.mydigitallife.net/threads/.74332/ ] for the VBS method.
-:: Thanks to @abbodi1406 for the powershell method and solving special characters issue in file path name.
-
-%nul% reg query HKU\S-1-5-19 && (
- goto :Passed
- ) || (
- if defined _elev goto :E_Admin
-)
-
-set "_batf=%~f0"
-set "_vbsf=%temp%\admin.vbs"
-set _PSarg="""%~f0""" -el
-
-setlocal EnableDelayedExpansion
-
-(
-echo Set strArg=WScript.Arguments.Named
-echo Set strRdlproc = CreateObject^("WScript.Shell"^).Exec^("rundll32 kernel32,Sleep"^)
-echo With GetObject^("winmgmts:\\.\root\CIMV2:Win32_Process.Handle='" ^& strRdlproc.ProcessId ^& "'"^)
-echo With GetObject^("winmgmts:\\.\root\CIMV2:Win32_Process.Handle='" ^& .ParentProcessId ^& "'"^)
-echo If InStr ^(.CommandLine, WScript.ScriptName^) ^<^> 0 Then
-echo strLine = Mid^(.CommandLine, InStr^(.CommandLine , "/File:"^) + Len^(strArg^("File"^)^) + 8^)
-echo End If
-echo End With
-echo .Terminate
-echo End With
-echo CreateObject^("Shell.Application"^).ShellExecute "cmd.exe", "/c " ^& chr^(34^) ^& chr^(34^) ^& strArg^("File"^) ^& chr^(34^) ^& strLine ^& chr^(34^), "", "runas", 1
-)>"!_vbsf!"
-
-(%nul% cscript //NoLogo "!_vbsf!" /File:"!_batf!" -el) && (
-del /f /q "!_vbsf!"
-exit /b
-) || (
-del /f /q "!_vbsf!"
-%nul% %_psc% "start cmd.exe -arg '/c \"!_PSarg:'=''!\"' -verb runas" && (
-exit /b
-) || (
-goto :E_Admin
-)
-)
-exit /b
-
-:E_Admin
-%ELine%
-echo This script require administrator privileges.
-echo To do so, right click on this script and select 'Run as administrator'.
-goto PU_Done
-
-:Passed
-
-::========================================================================================================================================
-
-mode con: cols=98 lines=30
-
-set slp=SoftwareLicensingProduct
-set sls=SoftwareLicensingService
-set wApp=55c92734-d682-4d71-983e-d6ec3f16059f
-set "SPPk=SOFTWARE\Microsoft\Windows NT\CurrentVersion\SoftwareProtectionPlatform"
-
-:: Fix for the special characters limitation in path name
-:: Written by @abbodi1406
-
-set "_batf=%~f0"
-set "_batp=%_batf:'=''%"
-
-setlocal EnableDelayedExpansion
-
-:: Check Windows OS name
-
-set winos=
-for /f "skip=2 tokens=2*" %%a in ('reg query "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion" /v ProductName 2^>nul') do if not errorlevel 1 set "winos=%%b"
-if not defined winos for /f "tokens=2* delims== " %%a in ('"wmic os get caption /value" 2^>nul') do if not errorlevel 1 set "winos=%%b"
-
-::========================================================================================================================================
-
-cls
-echo:
-echo %line%
-echo:
-echo [1] Protect KMS38 Activation from being overwritten by 180 days KMS Activators
-echo:
-echo [2] Undo changes
-echo:
-echo [3] Exit
-echo:
-echo %line%
-echo:
-choice /C:123 /N /M "> Enter Your Choice [1,2,3] : "
-
-if errorlevel 3 exit /b
-if errorlevel 2 goto Undo
-if errorlevel 1 goto Protect
-
-::========================================================================================================================================
-
-:Protect
-
-cls
-
-:: Check KMS client setup key
-
-set _gvlk=
-wmic path %slp% where "ApplicationID='%wApp%' and PartialProductKey<>null" Get ProductKeyChannel 2>nul | findstr /i GVLK 1>nul && (set _gvlk=1)
-
-if not defined _gvlk (
-%ELine%
-echo System is not activated with KMS38. ^(KMS Key is not installed^) Aborting...
-goto PU_Done
-)
-
-:: Check Activation Grace Period
-
-set gpr=
-for /f "tokens=2 delims==" %%# in ('"wmic path %slp% where (ApplicationID='%wApp%' and Description like '%%KMSCLIENT%%' and PartialProductKey is not NULL) get GracePeriodRemaining /VALUE" ') do set "gpr=%%#"
-
-if "%gpr%" LEQ "259200" (
-%ELine%
-echo System is not activated with KMS38. Aborting...
-goto PU_Done
-)
-
-:: Check SKU value
-
-set SKU=
-for /f "tokens=2 delims==" %%a IN ('"wmic Path Win32_OperatingSystem Get OperatingSystemSKU /format:LIST" 2^>nul') do if not errorlevel 1 (set osSKU=%%a)
-if not defined SKU for /f "tokens=3 delims=." %%a in ('reg query "HKLM\SYSTEM\CurrentControlSet\Control\ProductOptions" /v OSProductPfn 2^>nul') do if not errorlevel 1 (set osSKU=%%a)
-
-if "%osSKU%"=="" (
-%ELine%
-echo SKU value was not detected properly. Aborting...
-goto PU_Done
-)
-
-:: Check Windows Edition with SKU value for better accuracy
-
-set osedition=
-call :K38_CheckEdition %nul%
-
-if "%osedition%"=="" (
-%ELine%
-echo OS Edition was not detected properly. Aborting...
-goto PU_Done
-)
-
-:: Check Activation ID
-
-set app=
-for /f "tokens=2 delims==" %%a in ('"wmic path %slp% where (ApplicationID='%wApp%' and LicenseFamily='%osedition%' and Description like '%%KMSCLIENT%%') get ID /VALUE" 2^>nul') do set "app=%%a"
-
-if "%app%"=="" (
-%ELine%
-echo Activation ID was not detected properly. Aborting...
-goto PU_Done
-)
-
-::========================================================================================================================================
-
-wmic path %sls% where __CLASS='%sls%' call ClearKeyManagementServiceMachine %nul%
-wmic path %sls% where __CLASS='%sls%' call ClearKeyManagementServicePort %nul%
-
-reg query "HKLM\%SPPk%\%wApp%" %nul% && (
-%nul% call :reg_takeownership "HKLM\%SPPk%\%wApp%" FullControl Allow S-1-5-32-544
-reg delete "HKLM\%SPPk%\%wApp%" /f %nul%
-reg delete "HKU\S-1-5-20\%SPPk%\%wApp%" /f %nul%
-)
-
-reg query "HKLM\%SPPk%\%wApp%" %nul% && (
-%ELine%
-echo Registry Key was not cleared successfully. Aborting...
-goto PU_Done
-)
-
-:: Set specific KMS host to Local Host
-:: Thanks to @abbodi1406
-
-set setkms_error=
-
-wmic path %slp% where ID='%app%' call ClearKeyManagementServiceMachine %nul% || (set setkms_error=1)
-wmic path %slp% where ID='%app%' call ClearKeyManagementServicePort %nul% || (set setkms_error=1)
-wmic path %slp% where ID='%app%' call SetKeyManagementServiceMachine MachineName="127.0.0.2" %nul% || (set setkms_error=1)
-wmic path %slp% where ID='%app%' call SetKeyManagementServicePort 1688 %nul% || (set setkms_error=1)
-
-if defined setkms_error (
-reg delete "HKLM\%SPPk%\%wApp%" /f %nul%
-reg delete "HKU\S-1-5-20\%SPPk%\%wApp%" /f %nul%
-%ELine%
-echo Specific KMS host to Local Host was not properly applied. Aborting...
-goto PU_Done
-)
-
-%nul% call :reg_takeownership "HKLM\%SPPk%\%wApp%" "SetValue, Delete" Deny S-1-5-32-544
-
-reg delete "HKLM\%SPPk%\%wApp%" /f %nul%
-reg query "HKLM\%SPPk%\%wApp%" %nul% || (
-%ELine%
-echo Registry Key was not protected properly. Aborting...
-goto PU_Done
-)
-
-:: Check Activation Grace Period
-
-set gpr=
-for /f "tokens=2 delims==" %%# in ('"wmic path %slp% where (ApplicationID='%wApp%' and Description like '%%KMSCLIENT%%' and PartialProductKey is not NULL) get GracePeriodRemaining /VALUE" ') do set "gpr=%%#"
-
-if "%gpr%" LEQ "259200" (
-%ELine%
-echo System is not activated with KMS38.
-goto PU_Done
-)
-
-cls
-echo:
-echo %line%
-echo:
-echo Specific KMS host set to 127.0.0.2 ^(Local Host^) successfully.
-echo:
-echo Registry item locked successfully.
-echo HKLM\%SPPk%\%wApp%
-echo:
-call :PU_color "%winos% - KMS38 Activation is now protected." %Green%
-echo:
-echo Now you need to activate Office with KMS ^(If required^)
-echo:
-echo %line%
-
-goto PU_Done
-
-::========================================================================================================================================
-
-:Undo
-
-cls
-set exist_=
-reg query "HKLM\%SPPk%\%wApp%" %nul% && (set exist_=1)
-
-if defined exist_ (
-%nul% call :reg_takeownership "HKLM\%SPPk%\%wApp%" FullControl Allow S-1-5-32-544
-reg delete "HKLM\%SPPk%\%wApp%" /f %nul%
-reg delete "HKU\S-1-5-20\%SPPk%\%wApp%" /f %nul%
-)
-
-reg query "HKLM\%SPPk%\%wApp%" %nul% && (
-%ELine%
-echo Registry Key was not cleared successfully. Aborting...
-goto PU_Done
-)
-
-echo:
-echo %line%
-echo:
-if defined exist_ (
-echo Registry item deleted successfully.
-echo HKLM\%SPPk%\%wApp%
-echo:
-call :PU_color "KMS38 Activation is now unprotected [set to default]" %Green%
-) else (
-call :PU_color "It is already unprotected [set to default]" %Green%
-)
-echo:
-echo %line%
-
-::========================================================================================================================================
-
-:PU_Done
-echo:
-echo Press any key to exit...
-pause >nul
-exit /b
-
-::========================================================================================================================================
-
-:PU_color
-
-%_psc% write-host '%1' -fore '%2' -back '%3'
-exit /b
-
-::========================================================================================================================================
-
-:: Check Windows Edition with SKU value for better accuracy
-
-:K38_CheckEdition
-
-for %%# in (
-4-Enterprise
-7-ServerStandard
-8-ServerDatacenter
-27-EnterpriseN
-48-Professional
-49-ProfessionalN
-50-ServerSolution
-98-CoreN
-99-CoreCountrySpecific
-100-CoreSingleLanguage
-101-Core
-110-ServerCloudStorage
-120-ServerARM64
-121-Education
-122-EducationN
-125-EnterpriseS
-126-EnterpriseSN
-145-ServerDatacenterACor
-146-ServerStandardACor
-161-ProfessionalWorkstation
-162-ProfessionalWorkstationN
-164-ProfessionalEducation
-165-ProfessionalEducationN
-168-ServerAzureCor
-171-EnterpriseG
-172-EnterpriseGN
-175-ServerRdsh
-183-CloudE
-) do for /f "tokens=1,2 delims=-" %%A in ("%%#") do (
-if %osSKU%==%%A set "osedition=%%B"
-)
-exit /b
-
-::========================================================================================================================================
-
-:: Reg_takeownership snippet
-:: Written by @AveYo aka @BAU
-:: pastebin.com/XTPt0JSC
-
-:reg_takeownership
-set "pargs=$regkey='%~1'; $p='%~2'; $a='%~3'; $u='%~4'; $o='%~5';"
-%_psc% "%pargs%; $f=[io.file]::ReadAllText('!_batp!') -split ':ps_reg_own\:.*';iex ($f[1]);" & exit/b:ps_reg_own:
-$dll0='[DllImport("ntdll.dll")]public static extern IntPtr RtlAdjustPrivilege(int a,bool b,bool c,ref bool d);';
-$nt=Add-Type -Member $dll0 -Name Nt -PassThru; foreach($i in @(9,17,18)){$null=$nt::RtlAdjustPrivilege($i,1,0,[ref]0)}
-$root=$true; if($o -eq ''){$o=$u}; $rk=$regkey -split '\\',2; $key=$rk[1];
-switch -regex ($rk[0]){ '[mM]'{$HK='LocalMachine'};'[uU]'{$HK='CurrentUser'};default{$HK='ClassesRoot'}; }
-$usr=0,0,0; $sec=0,0,0; $rule=0,0,0; $perm='FullControl',$p,$p; $access='Allow',$a,$a; $s=$o,$u,'S-1-5-32-544';
-for($i=0;$i -le 2;$i++){ $usr[$i]=[System.Security.Principal.SecurityIdentifier]$s[$i];
-$rule[$i]=[System.Security.AccessControl.RegistryAccessRule]::new($usr[$i], $perm[$i], 3, 0, $access[$i]);
-$sec[$i]=[System.Security.AccessControl.RegistrySecurity]::new(); }
-function Reg_TakeOwnership { param($hive, $key, $root=$false);
-$reg=[Microsoft.Win32.Registry]::$hive.OpenSubKey($key,'ReadWriteSubTree','TakeOwnership'); $sec[2].SetOwner($usr[2]);
-$reg.SetAccessControl($sec[2]); if($root){ $reg=$reg.OpenSubKey('','ReadWriteSubTree','ChangePermissions');
-$acl=$reg.GetAccessControl(); $acl.SetAccessRuleProtection($false,$false); $acl.ResetAccessRule($rule[1]);
-$reg.SetAccessControl($acl); } $sec[0].SetOwner($usr[0]); $reg.SetAccessControl($sec[0]); }
-Reg_TakeOwnership $HK $key $true; if($root){ $r=[Microsoft.Win32.Registry]::$HK.OpenSubKey($key);
-foreach($sk in $r.GetSubKeyNames()){try{ Reg_TakeOwnership $HK "$($key+'\\'+$sk)" $false}catch{} }}
-Get-Acl "$($rk[0]+':\\'+$rk[1])" | fl:ps_reg_own:
-
-::======================================================================================================================================== \ No newline at end of file
diff --git a/MAS_1.3/Separate-Files-Version/Extras/KMS38_Protection/ReadMe.txt b/MAS_1.3/Separate-Files-Version/Extras/KMS38_Protection/ReadMe.txt
deleted file mode 100644
index 0d2f7b2..0000000
--- a/MAS_1.3/Separate-Files-Version/Extras/KMS38_Protection/ReadMe.txt
+++ /dev/null
@@ -1,48 +0,0 @@
-====================================================================================================
- KMS38 Protection:
-====================================================================================================
-
- - If you don't know what KMS38 is, then first check it in the Read Me.
-
- - By default, a KMS38 Activation is vulnerable to unintended overwriting/replacement and
- neutralization by a 180-Day KMS Activator (non-KMS38 Activator).
- However, with a few tricks you can ensure that no alternative KMS Activator can replace KMS38
- Activation by accident or even on purpose. This script demonstrate how to do/undo that.
-
- - Protect KMS38:
- - How does KMS38 Protection work?
- In the KMS activation method, the Windows Operating System first checks the KMS IP registered
- as a specific KMS, and if that is not defined then it checks the Global KMS IP.
- Another fact is that if LocalHost (127.0.0.2) is defined as KMS IP in the Windows 8.1 and 10 OS's
- then Windows will not accept it as a valid KMS IP.
- This script simply utilizes the above facts to protect the KMS38 activation from being
- overwritten by any alternative 'normal' 180-Day KMS Activation.
-
- Script steps-
- - Check if Windows is activated with KMS38, if yes,
- - Set that Windows edition specific KMS IP to LocalHost (127.0.0.2),
-HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\SoftwareProtectionPlatform\55c92734-d682-4d71-983e-d6ec3f16059f\XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX
-where X is Windows edition Activation ID.
-
- - Lock this Registry with Reg_takeownership snippet by @AveYo aka @BAU
- pastebin.com/XTPt0JSC
- - Done.
-
- - Unprotect KMS38:
- - Just undo above steps,
- - Give administrator full control of that mentioned registry key.
- - Delete that registry key.
- - Done.
-
-=======================================================================================================
-
- This script is a part of 'Microsoft Activation Scripts' project.
-
- Homepages-
- NsaneForums: (Login Required) https://www.nsaneforums.com/topic/316668-microsoft-activation-scripts/
- GitHub: https://github.com/massgravel/Microsoft-Activation-Scripts
- GitLab: https://gitlab.com/massgrave/microsoft-activation-scripts
-
- Maintained by @WindowsAddict
-
-======================================================================================================= \ No newline at end of file
diff --git a/MAS_1.3/Separate-Files-Version/Extras/OEMRET-Change_W10_Edition.cmd b/MAS_1.3/Separate-Files-Version/Extras/OEMRET-Change_W10_Edition.cmd
deleted file mode 100644
index 4249bf5..0000000
--- a/MAS_1.3/Separate-Files-Version/Extras/OEMRET-Change_W10_Edition.cmd
+++ /dev/null
@@ -1,291 +0,0 @@
-@setlocal DisableDelayedExpansion
-@echo off
-
-
-
-
-
-:: =======================================================================================================
-::
-:: This script is a part of 'Microsoft Activation Scripts' project.
-::
-:: Homepages-
-:: NsaneForums: (Login Required) https://www.nsaneforums.com/topic/316668-microsoft-activation-scripts/
-:: GitHub: https://github.com/massgravel/Microsoft-Activation-Scripts
-:: GitLab: https://gitlab.com/massgrave/microsoft-activation-scripts
-::
-:: Maintained by @WindowsAddict
-::
-:: =======================================================================================================
-
-
-
-
-
-
-
-
-
-
-
-
-
-::========================================================================================================================================
-
-cls
-title Change Windows 10 Edition with Retail/OEM Key
-set _elev=
-if /i "%~1"=="-el" set _elev=1
-for /f "tokens=6 delims=[]. " %%G in ('ver') do set winbuild=%%G
-set "_psc=powershell -nop -ep bypass -c"
-set "nul=1>nul 2>nul"
-set "ELine=echo: &echo ==== ERROR ==== &echo:"
-
-::========================================================================================================================================
-
-if %winbuild% LSS 17134 (
-%ELine%
-echo Unsupported OS version Detected.
-echo OS Requirement - Windows 10 [17134] 1803 and later builds.
-goto Ced_Done
-)
-
-::========================================================================================================================================
-
-:: Elevate script as admin and pass arguments and preventing loop
-:: Thanks to @hearywarlot [ https://forums.mydigitallife.net/threads/.74332/ ] for the VBS method.
-:: Thanks to @abbodi1406 for the powershell method and solving special characters issue in file path name.
-
-%nul% reg query HKU\S-1-5-19 && (
- goto :Passed
- ) || (
- if defined _elev goto :E_Admin
-)
-
-set "_batf=%~f0"
-set "_vbsf=%temp%\admin.vbs"
-set _PSarg="""%~f0""" -el
-
-setlocal EnableDelayedExpansion
-
-(
-echo Set strArg=WScript.Arguments.Named
-echo Set strRdlproc = CreateObject^("WScript.Shell"^).Exec^("rundll32 kernel32,Sleep"^)
-echo With GetObject^("winmgmts:\\.\root\CIMV2:Win32_Process.Handle='" ^& strRdlproc.ProcessId ^& "'"^)
-echo With GetObject^("winmgmts:\\.\root\CIMV2:Win32_Process.Handle='" ^& .ParentProcessId ^& "'"^)
-echo If InStr ^(.CommandLine, WScript.ScriptName^) ^<^> 0 Then
-echo strLine = Mid^(.CommandLine, InStr^(.CommandLine , "/File:"^) + Len^(strArg^("File"^)^) + 8^)
-echo End If
-echo End With
-echo .Terminate
-echo End With
-echo CreateObject^("Shell.Application"^).ShellExecute "cmd.exe", "/c " ^& chr^(34^) ^& chr^(34^) ^& strArg^("File"^) ^& chr^(34^) ^& strLine ^& chr^(34^), "", "runas", 1
-)>"!_vbsf!"
-
-(%nul% cscript //NoLogo "!_vbsf!" /File:"!_batf!" -el) && (
-del /f /q "!_vbsf!"
-exit /b
-) || (
-del /f /q "!_vbsf!"
-%nul% %_psc% "start cmd.exe -arg '/c \"!_PSarg:'=''!\"' -verb runas" && (
-exit /b
-) || (
-goto :E_Admin
-)
-)
-exit /b
-
-:E_Admin
-%ELine%
-echo This script require administrator privileges.
-echo To do so, right click on this script and select 'Run as administrator'.
-goto Ced_Done
-
-:Passed
-
-::========================================================================================================================================
-
-:: Set buffer height independently of window height
-:: https://stackoverflow.com/a/13351373
-:: Written by @dbenham
-
-mode con: cols=98 lines=31
-%nul% %_psc% "&{$H=get-host;$W=$H.ui.rawui;$B=$W.buffersize;$B.height=36;$W.buffersize=$B;}"
-
-::========================================================================================================================================
-
-set slp=SoftwareLicensingProduct
-set sls=SoftwareLicensingService
-set wApp=55c92734-d682-4d71-983e-d6ec3f16059f
-setlocal EnableDelayedExpansion
-
-:: Check Installation type
-set instype=
-for /f "skip=2 tokens=2*" %%a in ('reg query "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion" /v InstallationType 2^>nul') do if not errorlevel 1 set "instype=%%b"
-
-if not "%instype%"=="Client" (
-%ELine%
-echo Unsupported OS version [Server] Detected.
-echo OS Requirement - Windows 10 [17134] 1803 and later builds.
-goto Ced_Done
-)
-
-:: Check Windows Edition
-set osedition=
-for /f "tokens=2 delims==" %%a in ('"wmic path %slp% where (ApplicationID='%wApp%' and PartialProductKey is not NULL) get LicenseFamily /VALUE" 2^>nul') do if not errorlevel 1 set "osedition=%%a"
-if not defined osedition for /f "tokens=3 delims=: " %%a in ('DISM /English /Online /Get-CurrentEdition 2^>nul ^| find /i "Current Edition :"') do set "osedition=%%a"
-
-cls
-if "%osedition%"=="" (
-%ELine%
-echo OS Edition was not detected properly. Aborting...
-goto Ced_Done
-)
-
-::========================================================================================================================================
-
-echo _______________________________________________________________________________________________
-echo:
-echo Note 1 - This script can not change 'Core'(Home) to 'Non-Core' (Pro) Editions.
-echo You'll have to do the above manually, Follow these steps.
-echo - Disable internet.
-echo - Go to Settings ^> Update ^& Security ^> Activation and
-echo Insert 'Pro' Edition Product Key VK7JG-NPHTM-C97JM-9MPGT-3V66T
-echo - Follow on screen instructions, Done.
-echo:
-echo Note 2 - Following option works only in W10 17134 (RS4) and later builds.
-echo _______________________________________________________________________________________________
-echo:
-echo You can change the Current Edition '%osedition%' to one of the following :
-echo _______________________________________________________________________________________________
-
-REM Thanks to @RPO for the help in codes
-
-echo:
-for /f "tokens=4" %%a in ('dism /online /english /Get-TargetEditions ^| findstr /i /c:"Target Edition : "') do echo %%a
-echo:
-choice /C:21 /N /M "[1] Continue [2] Exit : "
-if %errorlevel%==1 exit /b
-echo:
-
-for /f "tokens=4" %%a in ('dism /online /english /Get-TargetEditions ^| findstr /i /c:"Target Edition : "') do (
-
-choice /C:NY /N /M "Do you want to change to the %%a edition? [Y,N] : "
-if errorlevel 2 (
-
-call :%%a %nul%
-if "!key!"=="" cls &%ELine% &echo [%%a ^| %winbuild%] HWID Activation is Not Supported. &goto Ced_Done
-
-cls
-echo ____________________________________________________________________
-
-REM Thanks to @abbodi1406 for the WMI methods
-
-echo:
-echo Changing the Edition to Windows 10 %%a
-wmic path %sls% where __CLASS='%sls%' call InstallProductKey ProductKey="!key!" %nul% && (
-for /f "tokens=2 delims==" %%# in ('wmic path %slp% where "ApplicationID='%wApp%' and PartialProductKey<>null" Get ProductKeyChannel /value 2^>nul') do set "_channel=%%#"
-wmic path %sls% where __CLASS='%sls%' call RefreshLicenseStatus %nul%
-echo:
-call echo Installing %%_channel%% Key [!key!]
-echo [Successful]
-echo:
-echo Reboot is required to properly change the Edition.
-) || (
-%ELine%
-echo Installing Retail/OEM Key [!key!]
-echo [Unsuccessful]
-)
-echo ____________________________________________________________________
-
-goto Ced_Done
-))
-
-::========================================================================================================================================
-
-:Ced_Done
-
-echo:
-echo Press any key to exit...
-pause >nul
-exit /b
-
-::========================================================================================================================================
-
-:: Retail_OEM Key List
-
-:Core
-set "key=YTMG3-N6DKC-DKB77-7M9GH-8HVX7"
-exit /b
-
-:CoreCountrySpecific
-set "key=N2434-X9D7W-8PF6X-8DV9T-8TYMD"
-exit /b
-
-:CoreN
-set "key=4CPRK-NM3K3-X6XXQ-RXX86-WXCHW"
-exit /b
-
-:CoreSingleLanguage
-set "key=BT79Q-G7N6G-PGBYW-4YWX6-6F4BT"
-exit /b
-
-:Education
-set "key=YNMGQ-8RYV3-4PGQ3-C8XTP-7CFBY"
-exit /b
-
-:EducationN
-set "key=84NGF-MHBT6-FXBX8-QWJK7-DRR8H"
-exit /b
-
-:Enterprise
-set "key=XGVPP-NMH47-7TTHJ-W3FW7-8HV2C"
-exit /b
-
-:EnterpriseN
-set "key=3V6Q6-NQXCX-V8YXR-9QCYV-QPFCT"
-exit /b
-
-:EnterpriseS
-if "%winbuild%" EQU "10240" set "key=FWN7H-PF93Q-4GGP8-M8RF3-MDWWW"
-if "%winbuild%" EQU "14393" set "key=NK96Y-D9CD8-W44CQ-R8YTK-DYJWX"
-exit /b
-
-:EnterpriseSN
-if "%winbuild%" EQU "10240" set "key=8V8WN-3GXBH-2TCMG-XHRX3-9766K"
-if "%winbuild%" EQU "14393" set "key=2DBW3-N2PJG-MVHW3-G7TDK-9HKR4"
-exit /b
-
-:Professional
-set "key=VK7JG-NPHTM-C97JM-9MPGT-3V66T"
-exit /b
-
-:ProfessionalEducation
-set "key=8PTT6-RNW4C-6V7J2-C2D3X-MHBPB"
-exit /b
-
-:ProfessionalEducationN
-set "key=GJTYN-HDMQY-FRR76-HVGC7-QPF8P"
-exit /b
-
-:ProfessionalN
-set "key=2B87N-8KFHP-DKV6R-Y2C8J-PKCKT"
-exit /b
-
-:ProfessionalWorkstation
-set "key=DXG7C-N36C4-C4HTG-X4T3X-2YV77"
-exit /b
-
-:ProfessionalWorkstationN
-set "key=WYPNQ-8C467-V2W6J-TX4WX-WT2RQ"
-exit /b
-
-:ServerRdsh
-set "key=NJCF7-PW8QT-3324D-688JX-2YV66"
-exit /b
-
-:IoTEnterprise
-set "key=XQQYW-NFFMW-XJPBH-K8732-CKFFD"
-exit /b
-
-::======================================================================================================================================== \ No newline at end of file
diff --git a/MAS_1.3/Separate-Files-Version/Extras/OEMRET-Install_W10_Key.cmd b/MAS_1.3/Separate-Files-Version/Extras/OEMRET-Install_W10_Key.cmd
deleted file mode 100644
index 8766fe3..0000000
--- a/MAS_1.3/Separate-Files-Version/Extras/OEMRET-Install_W10_Key.cmd
+++ /dev/null
@@ -1,322 +0,0 @@
-@setlocal DisableDelayedExpansion
-@echo off
-
-:: For unattended mode, run the script with /u parameter.
-
-
-
-
-
-:: =======================================================================================================
-::
-:: This script is a part of 'Microsoft Activation Scripts' project.
-::
-:: Homepages-
-:: NsaneForums: (Login Required) https://www.nsaneforums.com/topic/316668-microsoft-activation-scripts/
-:: GitHub: https://github.com/massgravel/Microsoft-Activation-Scripts
-:: GitLab: https://gitlab.com/massgrave/microsoft-activation-scripts
-::
-:: Maintained by @WindowsAddict
-::
-:: =======================================================================================================
-
-
-
-
-
-
-
-
-
-
-
-::========================================================================================================================================
-
-cls
-title Install Windows 10 Retail/OEM Key
-set Unattended=
-set _args=
-set _elev=
-set "_arg1=%~1"
-if not defined _arg1 goto :NoProgArgs
-set "_args=%~1"
-set "_arg2=%~2"
-if defined _arg2 set "_args=%~1 %~2"
-for %%A in (%_args%) do (
-if /i "%%A"=="-el" set _elev=1
-if /i "%%A"=="/u" set Unattended=1)
-:NoProgArgs
-for /f "tokens=6 delims=[]. " %%G in ('ver') do set winbuild=%%G
-set "_psc=powershell -nop -ep bypass -c"
-set "nul=1>nul 2>nul"
-set "ELine=echo: &echo ==== ERROR ==== &echo:"
-
-::========================================================================================================================================
-
-if %winbuild% LSS 10240 (
-%ELine%
-echo Unsupported OS version Detected.
-echo Project is supported only for Windows 10.
-goto Ins_Done
-)
-
-::========================================================================================================================================
-
-:: Elevate script as admin and pass arguments and preventing loop
-:: Thanks to @hearywarlot [ https://forums.mydigitallife.net/threads/.74332/ ] for the VBS method.
-:: Thanks to @abbodi1406 for the powershell method and solving special characters issue in file path name.
-
-%nul% reg query HKU\S-1-5-19 && (
- goto :Passed
- ) || (
- if defined _elev goto :E_Admin
-)
-
-set "_batf=%~f0"
-set "_vbsf=%temp%\admin.vbs"
-set _PSarg="""%~f0""" -el
-if defined _args set _PSarg="""%~f0""" -el """%_args%"""
-
-setlocal EnableDelayedExpansion
-
-(
-echo Set strArg=WScript.Arguments.Named
-echo Set strRdlproc = CreateObject^("WScript.Shell"^).Exec^("rundll32 kernel32,Sleep"^)
-echo With GetObject^("winmgmts:\\.\root\CIMV2:Win32_Process.Handle='" ^& strRdlproc.ProcessId ^& "'"^)
-echo With GetObject^("winmgmts:\\.\root\CIMV2:Win32_Process.Handle='" ^& .ParentProcessId ^& "'"^)
-echo If InStr ^(.CommandLine, WScript.ScriptName^) ^<^> 0 Then
-echo strLine = Mid^(.CommandLine, InStr^(.CommandLine , "/File:"^) + Len^(strArg^("File"^)^) + 8^)
-echo End If
-echo End With
-echo .Terminate
-echo End With
-echo CreateObject^("Shell.Application"^).ShellExecute "cmd.exe", "/c " ^& chr^(34^) ^& chr^(34^) ^& strArg^("File"^) ^& chr^(34^) ^& strLine ^& chr^(34^), "", "runas", 1
-)>"!_vbsf!"
-
-(%nul% cscript //NoLogo "!_vbsf!" /File:"!_batf!" -el "!_args!") && (
-del /f /q "!_vbsf!"
-exit /b
-) || (
-del /f /q "!_vbsf!"
-%nul% %_psc% "start cmd.exe -arg '/c \"!_PSarg:'=''!\"' -verb runas" && (
-exit /b
-) || (
-goto :E_Admin
-)
-)
-exit /b
-
-:E_Admin
-%ELine%
-echo This script require administrator privileges.
-echo To do so, right click on this script and select 'Run as administrator'.
-goto Ins_Done
-
-:Passed
-
-mode con: cols=98 lines=30
-setlocal EnableDelayedExpansion
-
-::========================================================================================================================================
-
-:: Check Windows OS name
-
-set winos=
-for /f "skip=2 tokens=2*" %%a in ('reg query "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion" /v ProductName 2^>nul') do if not errorlevel 1 set "winos=%%b"
-if not defined winos for /f "tokens=2* delims== " %%a in ('"wmic os get caption /value" 2^>nul') do if not errorlevel 1 set "winos=%%b"
-
-:: Check SKU value
-
-set SKU=
-for /f "tokens=2 delims==" %%a IN ('"wmic Path Win32_OperatingSystem Get OperatingSystemSKU /format:LIST" 2^>nul') do if not errorlevel 1 (set osSKU=%%a)
-if not defined SKU for /f "tokens=3 delims=." %%a in ('reg query "HKLM\SYSTEM\CurrentControlSet\Control\ProductOptions" /v OSProductPfn 2^>nul') do if not errorlevel 1 (set osSKU=%%a)
-
-if "%osSKU%"=="" (
-%ELine%
-echo SKU value was not detected properly. Aborting...
-goto Ins_Done
-)
-
-:: Check Windows Edition with SKU value for better accuracy
-
-set osedition=
-call :CheckEdition %nul%
-
-if "%osedition%"=="" (
-%ELine%
-echo [%winos% ^| %winbuild% ^| SKU:%osSKU%] HWID Activation is Not Supported.
-goto Ins_Done
-)
-
-set key=
-call :%osedition% %nul%
-
-if "%key%"=="" (
-%ELine%
-echo [%winos% ^| %winbuild%] HWID Activation is Not Supported.
-goto Ins_Done
-)
-
-::========================================================================================================================================
-
-if defined Unattended goto ContinueKeyInsert
-
-cls
-echo ___________________________________________________________________________________________
-echo:
-echo Install [%winos% ^| %winbuild%] Retail/OEM Key
-echo [%key%]
-echo ___________________________________________________________________________________________
-echo:
-choice /C:12 /N /M "[1] Continue [2] Exit : "
-
-if errorlevel 2 exit /b
-if errorlevel 1 goto ContinueKeyInsert
-
-:ContinueKeyInsert
-
-cls
-echo ___________________________________________________________________________________________
-
-:: Thanks to @abbodi1406 for the WMI methods
-
-set slp=SoftwareLicensingProduct
-set sls=SoftwareLicensingService
-set wApp=55c92734-d682-4d71-983e-d6ec3f16059f
-
-wmic path %sls% where __CLASS='%sls%' call InstallProductKey ProductKey="%key%" %nul% && (
-for /f "tokens=2 delims==" %%# in ('wmic path %slp% where "ApplicationID='%wApp%' and PartialProductKey<>null" Get ProductKeyChannel /value 2^>nul') do set "_channel=%%#"
-wmic path %sls% where __CLASS='%sls%' call RefreshLicenseStatus %nul%
-echo:
-echo [%winos% ^| %winbuild%]
-call echo Installing %%_channel%% Key [%key%]
-echo [Successful]
-) || (
-%ELine%
-echo Installing Retail/OEM Key [%key%]
-echo [Unsuccessful]
-)
-echo ___________________________________________________________________________________________
-
-::========================================================================================================================================
-
-:Ins_Done
-echo:
-if defined Unattended (
-echo Exiting in 3 seconds...
-if %winbuild% LSS 7600 (ping -n 3 127.0.0.1 > nul) else (timeout /t 3)
-exit /b
-)
-echo Press any key to exit...
-pause >nul
-exit /b
-
-::========================================================================================================================================
-
-:: Check Windows Edition with SKU value for better accuracy
-
-:CheckEdition
-
-for %%# in (
-4-Enterprise
-27-EnterpriseN
-48-Professional
-49-ProfessionalN
-98-CoreN
-99-CoreCountrySpecific
-100-CoreSingleLanguage
-101-Core
-121-Education
-122-EducationN
-125-EnterpriseS
-126-EnterpriseSN
-161-ProfessionalWorkstation
-162-ProfessionalWorkstationN
-164-ProfessionalEducation
-165-ProfessionalEducationN
-175-ServerRdsh
-188-IoTEnterprise
-) do for /f "tokens=1,2 delims=-" %%A in ("%%#") do (
-if %osSKU%==%%A set "osedition=%%B"
-)
-exit /b
-
-::========================================================================================================================================
-
-:: Retail/OEM Key List
-
-:Core
-set "key=YTMG3-N6DKC-DKB77-7M9GH-8HVX7"
-exit /b
-
-:CoreCountrySpecific
-set "key=N2434-X9D7W-8PF6X-8DV9T-8TYMD"
-exit /b
-
-:CoreN
-set "key=4CPRK-NM3K3-X6XXQ-RXX86-WXCHW"
-exit /b
-
-:CoreSingleLanguage
-set "key=BT79Q-G7N6G-PGBYW-4YWX6-6F4BT"
-exit /b
-
-:Education
-set "key=YNMGQ-8RYV3-4PGQ3-C8XTP-7CFBY"
-exit /b
-
-:EducationN
-set "key=84NGF-MHBT6-FXBX8-QWJK7-DRR8H"
-exit /b
-
-:Enterprise
-set "key=XGVPP-NMH47-7TTHJ-W3FW7-8HV2C"
-exit /b
-
-:EnterpriseN
-set "key=3V6Q6-NQXCX-V8YXR-9QCYV-QPFCT"
-exit /b
-
-:EnterpriseS
-if "%winbuild%" EQU "10240" set "key=FWN7H-PF93Q-4GGP8-M8RF3-MDWWW"
-if "%winbuild%" EQU "14393" set "key=NK96Y-D9CD8-W44CQ-R8YTK-DYJWX"
-exit /b
-
-:EnterpriseSN
-if "%winbuild%" EQU "10240" set "key=8V8WN-3GXBH-2TCMG-XHRX3-9766K"
-if "%winbuild%" EQU "14393" set "key=2DBW3-N2PJG-MVHW3-G7TDK-9HKR4"
-exit /b
-
-:Professional
-set "key=VK7JG-NPHTM-C97JM-9MPGT-3V66T"
-exit /b
-
-:ProfessionalEducation
-set "key=8PTT6-RNW4C-6V7J2-C2D3X-MHBPB"
-exit /b
-
-:ProfessionalEducationN
-set "key=GJTYN-HDMQY-FRR76-HVGC7-QPF8P"
-exit /b
-
-:ProfessionalN
-set "key=2B87N-8KFHP-DKV6R-Y2C8J-PKCKT"
-exit /b
-
-:ProfessionalWorkstation
-set "key=DXG7C-N36C4-C4HTG-X4T3X-2YV77"
-exit /b
-
-:ProfessionalWorkstationN
-set "key=WYPNQ-8C467-V2W6J-TX4WX-WT2RQ"
-exit /b
-
-:ServerRdsh
-set "key=NJCF7-PW8QT-3324D-688JX-2YV66"
-exit /b
-
-:IoTEnterprise
-set "key=XQQYW-NFFMW-XJPBH-K8732-CKFFD"
-exit /b
-
-::======================================================================================================================================== \ No newline at end of file
diff --git a/MAS_1.3/Separate-Files-Version/Homepages.cmd b/MAS_1.3/Separate-Files-Version/Homepages.cmd
deleted file mode 100644
index bdb31bd..0000000
--- a/MAS_1.3/Separate-Files-Version/Homepages.cmd
+++ /dev/null
@@ -1,4 +0,0 @@
-@echo off
-start https://www.nsaneforums.com/topic/316668-microsoft-activation-scripts/ &:: Login required
-start https://gitlab.com/massgrave/microsoft-activation-scripts
-start https://github.com/massgravel/Microsoft-Activation-Scripts
diff --git a/MAS_1.3/Separate-Files-Version/checksums.sha1 b/MAS_1.3/Separate-Files-Version/checksums.sha1
deleted file mode 100644
index 4e97a29..0000000
--- a/MAS_1.3/Separate-Files-Version/checksums.sha1
+++ /dev/null
@@ -1,31 +0,0 @@
-Use the tool 'HashCheck' to compare hashes.
-https://github.com/gurnec/HashCheck/releases/latest
-
-9d5b4b3e761cca9531d64200dfbbfa0dec94f5b0 *Activators\Online_KMS_Activation\BIN\_Info.txt
-c1a44a54b4d53092de243d3af068fdbbda3c27de *Activators\Online_KMS_Activation\Renewal_Setup.cmd
-502d0705dcb06900ca3700271bc33eb3fdc83769 *Activators\Online_KMS_Activation\Uninstall.cmd
-2ca8daf456c858d58d51d20ccf6857da7460bcae *Activators\Online_KMS_Activation\_ReadMe.txt
-68de64a326cdf1b0336c2ecd42a62fec8e7110f2 *Activators\ReadMe.txt
-8b81e4db09cf7800d678b0ff8569df7c8ca278f1 *Extras\Download_Genuine_Installation_Media.url
-ba656804fd4c58dbf34b0b195a00d14cf84a790e *Extras\Extract_OEM_Folder\Extract_OEM_Folder.cmd
-1fd8374d9cad3b71b69162adbad4eab009ceb029 *Activators\Check_Activation_Status.cmd
-6c0697f17d1a7d8589eaaf37a4275fa745615f30 *Extras\Extract_OEM_Folder\ReadMe.txt
-b5b0f7c0bc677d4ca381e41cccf06e8ee6f97f00 *Extras\KMS38_Protection\Protect_Unprotect-KMS38.cmd
-a8443a4aa8d1956ea893557e18b3d8ec8056269f *Extras\KMS38_Protection\ReadMe.txt
-578364cb2319da7999acd8c015b4ce8da8f1b282 *Activators\HWID-KMS38_Activation\BIN\ARM64_gatherosstate.exe
-5dbea3a580cf60391453a04a5c910a3ceca2b810 *Activators\HWID-KMS38_Activation\BIN\ARM64_slc.dll
-48d928b1bec25a56fe896c430c2c034b7866aa7a *Activators\HWID-KMS38_Activation\BIN\ClipUp.exe
-fabb5a0fc1e6a372219711152291339af36ed0b5 *Activators\HWID-KMS38_Activation\BIN\gatherosstate.exe
-ca3a51fdfc8749b8be85f7904b1c238a6dfba135 *Activators\HWID-KMS38_Activation\BIN\slc.dll
-be0392be7ee0a78c7d1e8903cd29ea76cbafe201 *Activators\HWID-KMS38_Activation\BIN\_Info.txt
-5786bd332d1e08ed8a8bd264f7f085ff83aec778 *Activators\HWID-KMS38_Activation\HWID_Activation.cmd
-497300df6bcf4bc64cc4065cd81a856fb54a3851 *Activators\HWID-KMS38_Activation\KMS38_Activation.cmd
-bd37bf2122cc34f3680bbf17e89e8634b3654661 *Activators\HWID-KMS38_Activation\ReadMe_HWID.txt
-a53371e73405ba9c1c4fa6a29c604bf3b954117c *Activators\HWID-KMS38_Activation\ReadMe_KMS38.txt
-2898e59d908fd2ff38cc1b57f0ce453f2250b8af *Activators\Online_KMS_Activation\Activate.cmd
-d30a0e4e5911d3ca705617d17225372731c770e2 *Activators\Online_KMS_Activation\BIN\cleanosppx64.exe
-39ed8659e7ca16aaccb86def94ce6cec4c847dd6 *Activators\Online_KMS_Activation\BIN\cleanosppx86.exe
-86748a866ebd11766fe71ff12b63d2525d6f28be *Extras\OEMRET-Change_W10_Edition.cmd
-9838babe8091dad9574be5606fe88618b85dca3a *Extras\OEMRET-Install_W10_Key.cmd
-b470dc10afa63feebc1d8c1249b59f0a299026a6 *Credits.txt
-36075a49f50c915b3878f60460a3bb0301f3b257 *Homepages.cmd