@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/ :: 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 ::========================================================================================================================================