├── .gitattributes ├── Executables └── Separate-Files-Version │ ├── _ReadMe.html │ ├── Check-Activation-Status-vbs.cmd │ ├── Extract_OEM_Folder.cmd │ ├── Install_HWID_Key.cmd │ ├── Check-Activation-Status-wmi.cmd │ ├── Change_Edition.cmd │ ├── Troubleshoot.cmd │ └── Activators │ └── HWID_Activation.cmd ├── README.md └── LICENSE /.gitattributes: -------------------------------------------------------------------------------- 1 | # Auto detect text files and perform LF normalization 2 | * text=auto 3 | -------------------------------------------------------------------------------- /Executables/Separate-Files-Version/_ReadMe.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 |

MAS Logo

2 | 3 |

Microsoft Activation Scripts (MAS)

4 | 5 |

Um ativador de Windows e Office usando métodos de ativação HWID/KMS38/KMS on-line, com foco em código-fonte aberto e menos detecções de antivírus.

6 |
7 | 8 | ## Baixar / Como usar? 9 | 10 | ### Método 1 – PowerShell (recomendado) 11 | 12 | - No Windows 8.1/10/11, clique com o botão direito no menu Iniciar do Windows e selecione PowerShell ou Terminal (não CMD). 13 | - Copie e cole o código abaixo e pressione enter\ 14 | `irm https://hub.mundotutors.com/get.ps1 | iex` 15 | ou 16 | `irm https://mundotutors.com/get.ps1 | iex` 17 | - Você verá as opções de ativação e seguirá as instruções na tela. 18 | - Isso é tudo. 19 | 20 | ### Método 2 – Tradicional 21 | 22 | - Baixe o arquivo [aqui](https://github.com/massgravel/Microsoft-Activation-Scripts/archive/refs/heads/master.zip) 23 | - Clique com o botão direito no arquivo zip baixado e extraia 24 | - Na pasta extraída, encontre a pasta chamada `All-In-One-Version` 25 | - Execute o arquivo chamado`MAS_AIO.cmd` 26 | - Você verá as opções de ativação e seguirá as instruções na tela. 27 | - Isso é tudo. 28 | 29 | Para executar os scripts no modo autônomo, verifique [aqui](https://massgrave.dev/command_line_switches.html) 30 | 31 | ``` 32 | Versão mais recente: 1.8 33 | Data de lançamento: 16 de março de 2023 34 | ``` 35 | 36 | # Creditos 37 | ### [Troubleshooting / Help](https://massgrave.dev/troubleshoot.html) 38 | ### [Download Original Windows & Office](https://massgrave.dev/genuine-installation-media.html) 39 | ### Homepage - https://massgrave.dev 40 |
41 | 42 | 43 | Feito com Amor ❤️ Equipe Massgrave e destribuido por: Humberto Rodrigues 44 | 45 | 46 | -------------------------------------------------------------------------------- /Executables/Separate-Files-Version/Check-Activation-Status-vbs.cmd: -------------------------------------------------------------------------------- 1 | @setlocal DisableDelayedExpansion 2 | @echo off 3 | @cls 4 | 5 | 6 | 7 | :: Check-Activation-Status-vbs.cmd 8 | :: Written by @abbodi1406 9 | :: forums.mydigitallife.net/posts/838808 10 | 11 | 12 | 13 | set _args= 14 | set _args=%* 15 | for %%A in (%_args%) do ( 16 | if /i "%%A"=="-wow" set _rel1=1 17 | if /i "%%A"=="-arm" set _rel2=1 18 | ) 19 | set "_cmdf=%~f0" 20 | if exist "%SystemRoot%\Sysnative\cmd.exe" if not defined _rel1 ( 21 | setlocal EnableDelayedExpansion 22 | start %SystemRoot%\Sysnative\cmd.exe /c ""!_cmdf!" -wow" 23 | exit /b 24 | ) 25 | if exist "%SystemRoot%\SysArm32\cmd.exe" if /i %PROCESSOR_ARCHITECTURE%==AMD64 if not defined _rel2 ( 26 | setlocal EnableDelayedExpansion 27 | start %SystemRoot%\SysArm32\cmd.exe /c ""!_cmdf!" -arm" 28 | exit /b 29 | ) 30 | color 07 31 | title Check Activation Status [vbs] 32 | set "SysPath=%SystemRoot%\System32" 33 | set "Path=%SystemRoot%\System32;%SystemRoot%\System32\Wbem;%SystemRoot%\System32\WindowsPowerShell\v1.0\" 34 | if exist "%SystemRoot%\Sysnative\reg.exe" ( 35 | set "SysPath=%SystemRoot%\Sysnative" 36 | set "Path=%SystemRoot%\Sysnative;%SystemRoot%\Sysnative\Wbem;%SystemRoot%\Sysnative\WindowsPowerShell\v1.0\;%Path%" 37 | ) 38 | 39 | :: Check LF line ending 40 | 41 | pushd "%~dp0" 42 | >nul findstr /rxc:".*" "%~nx0" 43 | if not %errorlevel%==0 ( 44 | echo: 45 | echo Error: Script either has LF line ending issue, or it failed to read itself. 46 | echo: 47 | ping 127.0.0.1 -n 6 > nul 48 | popd 49 | exit /b 50 | ) 51 | popd 52 | 53 | set "_bit=64" 54 | set "_wow=1" 55 | if /i "%PROCESSOR_ARCHITECTURE%"=="x86" if "%PROCESSOR_ARCHITEW6432%"=="" set "_wow=0"&set "_bit=32" 56 | set "_utemp=%TEMP%" 57 | set "line2=************************************************************" 58 | set "line3=____________________________________________________________" 59 | set _sO16vbs=0 60 | set _sO15vbs=0 61 | if exist "%ProgramFiles%\Microsoft Office\Office15\ospp.vbs" ( 62 | set _sO15vbs=1 63 | ) else if exist "%ProgramW6432%\Microsoft Office\Office15\ospp.vbs" ( 64 | set _sO15vbs=1 65 | ) else if exist "%ProgramFiles(x86)%\Microsoft Office\Office15\ospp.vbs" ( 66 | set _sO15vbs=1 67 | ) 68 | setlocal EnableDelayedExpansion 69 | echo %line2% 70 | echo *** Windows Status *** 71 | echo %line2% 72 | pushd "!_utemp!" 73 | copy /y %SystemRoot%\System32\slmgr.vbs . >nul 2>&1 74 | net start sppsvc /y >nul 2>&1 75 | cscript //nologo slmgr.vbs /dli || (echo Error executing slmgr.vbs&del /f /q slmgr.vbs&popd&goto :casVend) 76 | cscript //nologo slmgr.vbs /xpr 77 | del /f /q slmgr.vbs >nul 2>&1 78 | popd 79 | echo %line3% 80 | 81 | :casVo16 82 | set office= 83 | for /f "skip=2 tokens=2*" %%a in ('"reg query HKLM\SOFTWARE\Microsoft\Office\16.0\Common\InstallRoot /v Path" 2^>nul') do (set "office=%%b") 84 | if exist "!office!\ospp.vbs" ( 85 | set _sO16vbs=1 86 | echo. 87 | echo %line2% 88 | if %_sO15vbs% EQU 0 ( 89 | echo *** Office 2016 %_bit%-bit Status *** 90 | ) else ( 91 | echo *** Office 2013/2016 Status *** 92 | ) 93 | echo %line2% 94 | cscript //nologo "!office!\ospp.vbs" /dstatus 95 | ) 96 | if %_wow%==0 goto :casVo13 97 | set office= 98 | for /f "skip=2 tokens=2*" %%a in ('"reg query HKLM\SOFTWARE\Wow6432Node\Microsoft\Office\16.0\Common\InstallRoot /v Path" 2^>nul') do (set "office=%%b") 99 | if exist "!office!\ospp.vbs" ( 100 | set _sO16vbs=1 101 | echo. 102 | echo %line2% 103 | if %_sO15vbs% EQU 0 ( 104 | echo *** Office 2016 32-bit Status *** 105 | ) else ( 106 | echo *** Office 2013/2016 Status *** 107 | ) 108 | echo %line2% 109 | cscript //nologo "!office!\ospp.vbs" /dstatus 110 | ) 111 | 112 | :casVo13 113 | if %_sO16vbs% EQU 1 goto :casVo10 114 | set office= 115 | for /f "skip=2 tokens=2*" %%a in ('"reg query HKLM\SOFTWARE\Microsoft\Office\15.0\Common\InstallRoot /v Path" 2^>nul') do (set "office=%%b") 116 | if exist "!office!\ospp.vbs" ( 117 | echo. 118 | echo %line2% 119 | echo *** Office 2013 %_bit%-bit Status *** 120 | echo %line2% 121 | cscript //nologo "!office!\ospp.vbs" /dstatus 122 | ) 123 | if %_wow%==0 goto :casVo10 124 | set office= 125 | for /f "skip=2 tokens=2*" %%a in ('"reg query HKLM\SOFTWARE\Wow6432Node\Microsoft\Office\15.0\Common\InstallRoot /v Path" 2^>nul') do (set "office=%%b") 126 | if exist "!office!\ospp.vbs" ( 127 | echo. 128 | echo %line2% 129 | echo *** Office 2013 32-bit Status *** 130 | echo %line2% 131 | cscript //nologo "!office!\ospp.vbs" /dstatus 132 | ) 133 | 134 | :casVo10 135 | set office= 136 | for /f "skip=2 tokens=2*" %%a in ('"reg query HKLM\SOFTWARE\Microsoft\Office\14.0\Common\InstallRoot /v Path" 2^>nul') do (set "office=%%b") 137 | if exist "!office!\ospp.vbs" ( 138 | echo. 139 | echo %line2% 140 | echo *** Office 2010 %_bit%-bit Status *** 141 | echo %line2% 142 | cscript //nologo "!office!\ospp.vbs" /dstatus 143 | ) 144 | if %_wow%==0 goto :casVc16 145 | set office= 146 | for /f "skip=2 tokens=2*" %%a in ('"reg query HKLM\SOFTWARE\Wow6432Node\Microsoft\Office\14.0\Common\InstallRoot /v Path" 2^>nul') do (set "office=%%b") 147 | if exist "!office!\ospp.vbs" ( 148 | echo. 149 | echo %line2% 150 | echo *** Office 2010 32-bit Status *** 151 | echo %line2% 152 | cscript //nologo "!office!\ospp.vbs" /dstatus 153 | ) 154 | 155 | :casVc16 156 | reg query HKLM\SOFTWARE\Microsoft\Office\ClickToRun /v InstallPath >nul 2>&1 || ( 157 | reg query HKLM\SOFTWARE\WOW6432Node\Microsoft\Office\ClickToRun /v InstallPath >nul 2>&1 || goto :casVc13 158 | ) 159 | set office= 160 | for /f "skip=2 tokens=2*" %%a in ('"reg query HKLM\SOFTWARE\Microsoft\Office\ClickToRun /v InstallPath" 2^>nul') do (set "office=%%b\Office16") 161 | if exist "!office!\ospp.vbs" ( 162 | set _sO16vbs=1 163 | echo. 164 | echo %line2% 165 | if %_sO15vbs% EQU 0 ( 166 | echo *** Office 2016-2021 C2R Status *** 167 | ) else ( 168 | echo *** Office 2013-2021 Status *** 169 | ) 170 | echo %line2% 171 | cscript //nologo "!office!\ospp.vbs" /dstatus 172 | ) 173 | if %_wow%==0 goto :casVc13 174 | set office= 175 | for /f "skip=2 tokens=2*" %%a in ('"reg query HKLM\SOFTWARE\WOW6432Node\Microsoft\Office\ClickToRun /v InstallPath" 2^>nul') do (set "office=%%b\Office16") 176 | if exist "!office!\ospp.vbs" ( 177 | set _sO16vbs=1 178 | echo. 179 | echo %line2% 180 | if %_sO15vbs% EQU 0 ( 181 | echo *** Office 2016-2021 C2R Status *** 182 | ) else ( 183 | echo *** Office 2013-2021 Status *** 184 | ) 185 | echo %line2% 186 | cscript //nologo "!office!\ospp.vbs" /dstatus 187 | ) 188 | 189 | :casVc13 190 | if %_sO16vbs% EQU 1 goto :casVc10 191 | reg query HKLM\SOFTWARE\Microsoft\Office\15.0\ClickToRun /v InstallPath >nul 2>&1 || ( 192 | reg query HKLM\SOFTWARE\WOW6432Node\Microsoft\Office\15.0\ClickToRun /v InstallPath >nul 2>&1 || goto :casVc10 193 | ) 194 | set office= 195 | if exist "%ProgramFiles%\Microsoft Office\Office15\ospp.vbs" ( 196 | set "office=%ProgramFiles%\Microsoft Office\Office15" 197 | ) else if exist "%ProgramW6432%\Microsoft Office\Office15\ospp.vbs" ( 198 | set "office=%ProgramW6432%\Microsoft Office\Office15" 199 | ) else if exist "%ProgramFiles(x86)%\Microsoft Office\Office15\ospp.vbs" ( 200 | set "office=%ProgramFiles(x86)%\Microsoft Office\Office15" 201 | ) 202 | if exist "!office!\ospp.vbs" ( 203 | echo. 204 | echo %line2% 205 | echo *** Office 2013 C2R Status *** 206 | echo %line2% 207 | cscript //nologo "!office!\ospp.vbs" /dstatus 208 | ) 209 | 210 | :casVc10 211 | if %_wow%==0 reg query HKLM\SOFTWARE\Microsoft\Office\14.0\CVH /f Click2run /k >nul 2>&1 || goto :casVend 212 | if %_wow%==1 reg query HKLM\SOFTWARE\Wow6432Node\Microsoft\Office\14.0\CVH /f Click2run /k >nul 2>&1 || goto :casVend 213 | set office= 214 | if exist "%ProgramFiles%\Microsoft Office\Office14\ospp.vbs" ( 215 | set "office=%ProgramFiles%\Microsoft Office\Office14" 216 | ) else if exist "%ProgramW6432%\Microsoft Office\Office14\ospp.vbs" ( 217 | set "office=%ProgramW6432%\Microsoft Office\Office14" 218 | ) else if exist "%ProgramFiles(x86)%\Microsoft Office\Office14\ospp.vbs" ( 219 | set "office=%ProgramFiles(x86)%\Microsoft Office\Office14" 220 | ) 221 | if exist "!office!\ospp.vbs" ( 222 | echo. 223 | echo %line2% 224 | echo *** Office 2010 C2R Status *** 225 | echo %line2% 226 | cscript //nologo "!office!\ospp.vbs" /dstatus 227 | ) 228 | 229 | :casVend 230 | echo. 231 | echo Press any key to exit. 232 | pause >nul 233 | exit /b -------------------------------------------------------------------------------- /Executables/Separate-Files-Version/Extract_OEM_Folder.cmd: -------------------------------------------------------------------------------- 1 | @setlocal DisableDelayedExpansion 2 | @echo off 3 | 4 | 5 | 6 | ::============================================================================ 7 | :: 8 | :: This script is a part of 'Microsoft_Activation_Scripts' (MAS) project. 9 | :: 10 | :: Homepage: mass grave.dev 11 | :: Email: windowsaddict@protonmail.com 12 | :: 13 | ::============================================================================ 14 | 15 | 16 | 17 | 18 | ::======================================================================================================================================== 19 | 20 | :: Re-launch the script with x64 process if it was initiated by x86 process on x64 bit Windows 21 | :: or with ARM64 process if it was initiated by x86/ARM32 process on ARM64 Windows 22 | 23 | set "_cmdf=%~f0" 24 | for %%# in (%*) do ( 25 | if /i "%%#"=="r1" set r1=1 26 | if /i "%%#"=="r2" set r2=1 27 | ) 28 | 29 | if exist %SystemRoot%\Sysnative\cmd.exe if not defined r1 ( 30 | setlocal EnableDelayedExpansion 31 | start %SystemRoot%\Sysnative\cmd.exe /c ""!_cmdf!" %* r1" 32 | exit /b 33 | ) 34 | 35 | :: Re-launch the script with ARM32 process if it was initiated by x64 process on ARM64 Windows 36 | 37 | if exist %SystemRoot%\SysArm32\cmd.exe if %PROCESSOR_ARCHITECTURE%==AMD64 if not defined r2 ( 38 | setlocal EnableDelayedExpansion 39 | start %SystemRoot%\SysArm32\cmd.exe /c ""!_cmdf!" %* r2" 40 | exit /b 41 | ) 42 | 43 | :: Set Path variable, it helps if it is misconfigured in the system 44 | 45 | set "PATH=%SystemRoot%\System32;%SystemRoot%\System32\wbem;%SystemRoot%\System32\WindowsPowerShell\v1.0\" 46 | if exist "%SystemRoot%\Sysnative\reg.exe" ( 47 | set "PATH=%SystemRoot%\Sysnative;%SystemRoot%\Sysnative\wbem;%SystemRoot%\Sysnative\WindowsPowerShell\v1.0\;%PATH%" 48 | ) 49 | 50 | :: Check LF line ending 51 | 52 | pushd "%~dp0" 53 | >nul findstr /rxc:".*" "%~nx0" 54 | if not %errorlevel%==0 ( 55 | echo: 56 | echo Error: Script either has LF line ending issue, or it failed to read itself. 57 | echo: 58 | ping 127.0.0.1 -n 6 > nul 59 | popd 60 | exit /b 61 | ) 62 | popd 63 | 64 | ::======================================================================================================================================== 65 | 66 | cls 67 | color 07 68 | title Extract $OEM$ Folder 69 | 70 | set winbuild=1 71 | set "nul=>nul 2>&1" 72 | set psc=powershell.exe 73 | for /f "tokens=6 delims=[]. " %%G in ('ver') do set winbuild=%%G 74 | 75 | set _NCS=1 76 | if %winbuild% LSS 10586 set _NCS=0 77 | if %winbuild% GEQ 10586 reg query "HKCU\Console" /v ForceV2 2>nul | find /i "0x0" 1>nul && (set _NCS=0) 78 | 79 | if %_NCS% EQU 1 ( 80 | for /F %%a in ('echo prompt $E ^| cmd') do set "esc=%%a" 81 | set "Red="41;97m"" 82 | set "Green="42;97m"" 83 | set "Magenta="45;97m"" 84 | set "_White="40;37m"" 85 | set "_Green="40;92m"" 86 | set "_Yellow="40;93m"" 87 | ) else ( 88 | set "Red="Red" "white"" 89 | set "Green="DarkGreen" "white"" 90 | set "Magenta="Darkmagenta" "white"" 91 | set "_White="Black" "Gray"" 92 | set "_Green="Black" "Green"" 93 | set "_Yellow="Black" "Yellow"" 94 | ) 95 | 96 | set "nceline=echo: &echo ==== ERROR ==== &echo:" 97 | set "eline=echo: &call :ex_color %Red% "==== ERROR ====" &echo:" 98 | 99 | ::======================================================================================================================================== 100 | 101 | if %winbuild% LSS 7600 ( 102 | %nceline% 103 | echo Unsupported OS version detected. 104 | echo Project is supported only for Windows 7/8/8.1/10/11 and their Server equivalent. 105 | goto done2 106 | ) 107 | 108 | for %%# in (powershell.exe) do @if "%%~$PATH:#"=="" ( 109 | %nceline% 110 | echo Unable to find powershell.exe in the system. 111 | goto done2 112 | ) 113 | 114 | ::======================================================================================================================================== 115 | 116 | :: Fix for the special characters limitation in path name 117 | 118 | set desktop= 119 | for /f "skip=2 tokens=2*" %%a in ('reg query "HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\User Shell Folders" /v Desktop') do call set "desktop=%%b" 120 | if not defined desktop for /f "delims=" %%a in ('%psc% "& {write-host $([Environment]::GetFolderPath('Desktop'))}"') do call set "desktop=%%a" 121 | 122 | set "_work=%~dp0" 123 | if "%_work:~-1%"=="\" set "_work=%_work:~0,-1%" 124 | 125 | set "_batf=%~f0" 126 | set "_batp=%_batf:'=''%" 127 | set "_pdesk=%desktop:'=''%" 128 | 129 | set _PSarg="""%~f0""" -el %_args% 130 | set "_ttemp=%temp%" 131 | 132 | set "_dir=%desktop%\$OEM$\$$\Setup\Scripts" 133 | 134 | setlocal EnableDelayedExpansion 135 | 136 | ::======================================================================================================================================== 137 | 138 | echo "!_batf!" | find /i "!_ttemp!" 1>nul && ( 139 | if /i not "!_work!"=="!_ttemp!" ( 140 | %eline% 141 | echo Script is launched from the temp folder, 142 | echo Most likely you are running the script directly from the archive file. 143 | echo: 144 | echo Extract the archive file and launch the script from the extracted folder. 145 | goto done2 146 | ) 147 | ) 148 | 149 | ::======================================================================================================================================== 150 | 151 | :: Elevate script as admin and pass arguments and preventing loop 152 | 153 | >nul fltmc || ( 154 | if not defined _elev %nul% %psc% "start cmd.exe -arg '/c \"!_PSarg:'=''!\"' -verb runas" && exit /b 155 | %eline% 156 | echo This script require admin privileges. 157 | echo To do so, right click on this script and select 'Run as administrator'. 158 | goto done2 159 | ) 160 | 161 | ::======================================================================================================================================== 162 | 163 | if not exist "!desktop!\" ( 164 | %eline% 165 | echo Desktop location was not detected, aborting... 166 | goto done2 167 | ) 168 | 169 | ::======================================================================================================================================== 170 | 171 | mode con cols=78 lines=30 172 | 173 | if exist "!desktop!\$OEM$\" ( 174 | echo _____________________________________________________ 175 | %eline% 176 | echo $OEM$ folder already exists on the Desktop. 177 | echo _____________________________________________________ 178 | goto done2 179 | ) 180 | 181 | set HWID_Activation.cmd=Activators\HWID_Activation.cmd 182 | set KMS38_Activation.cmd=Activators\KMS38_Activation.cmd 183 | set Online_KMS_Activation.cmd=Activators\Online_KMS_Activation.cmd 184 | 185 | pushd "!_work!" 186 | 187 | set _nofile= 188 | for %%# in ( 189 | %HWID_Activation.cmd% 190 | %KMS38_Activation.cmd% 191 | %Online_KMS_Activation.cmd% 192 | ) do ( 193 | if not exist "%%#" set _nofile=1 194 | ) 195 | 196 | popd 197 | 198 | if defined _nofile ( 199 | echo _____________________________________________________ 200 | %eline% 201 | echo Some files are missing in the 'Activators' folder. 202 | echo _____________________________________________________ 203 | goto done2 204 | ) 205 | 206 | ::======================================================================================================================================== 207 | 208 | :Menu 209 | 210 | cls 211 | mode con cols=78 lines=30 212 | echo: 213 | echo: 214 | echo: 215 | echo: 216 | echo: 217 | echo: Extract $OEM$ folder on the desktop 218 | echo: ________________________________________________________ 219 | echo: 220 | echo: [1] HWID 221 | echo: [2] KMS38 222 | echo: [3] Online KMS 223 | echo: 224 | echo: [4] HWID ^(Windows^) ^+ Online KMS ^(Office^) 225 | echo: [5] KMS38 ^(Windows^) ^+ Online KMS ^(Office^) 226 | echo: 227 | echo: [0] Exit 228 | echo: ________________________________________________________ 229 | echo: 230 | call :ex_color2 %_White% " " %_Green% "Enter a menu option in the Keyboard [1,2,3,4,5,0]" 231 | choice /C:123450 /N 232 | set _erl=%errorlevel% 233 | 234 | if %_erl%==6 exit /b 235 | if %_erl%==5 goto:kms38_kms 236 | if %_erl%==4 goto:hwid_kms 237 | if %_erl%==3 goto:kms 238 | if %_erl%==2 goto:kms38 239 | if %_erl%==1 goto:hwid 240 | goto :Menu 241 | 242 | ::======================================================================================================================================== 243 | 244 | :hwid 245 | 246 | cls 247 | md "!desktop!\$OEM$\$$\Setup\Scripts" 248 | pushd "!_work!" 249 | copy /y /b "%HWID_Activation.cmd%" "!_dir!\HWID_Activation.cmd" %nul% 250 | popd 251 | call :export hwid_setup 252 | 253 | set _error= 254 | if not exist "!_dir!\HWID_Activation.cmd" set _error=1 255 | if not exist "!_dir!\SetupComplete.cmd" set _error=1 256 | if defined _error goto errorfound 257 | 258 | set oem=HWID 259 | goto done 260 | 261 | :hwid_setup: 262 | @echo off 263 | 264 | fltmc >nul || exit /b 265 | 266 | start /b /wait cmd /c "%~dp0HWID_Activation.cmd" /HWID 267 | 268 | cd \ 269 | (goto) 2>nul & (if "%~dp0"=="%SystemRoot%\Setup\Scripts\" rd /s /q "%~dp0") 270 | :hwid_setup: 271 | 272 | ::======================================================================================================================================== 273 | 274 | :kms38 275 | 276 | cls 277 | md "!desktop!\$OEM$\$$\Setup\Scripts" 278 | pushd "!_work!" 279 | copy /y /b "%KMS38_Activation.cmd%" "!_dir!\KMS38_Activation.cmd" %nul% 280 | popd 281 | call :export kms38_setup 282 | 283 | set _error= 284 | if not exist "!_dir!\KMS38_Activation.cmd" set _error=1 285 | if not exist "!_dir!\SetupComplete.cmd" set _error=1 286 | if defined _error goto errorfound 287 | 288 | set oem=KMS38 289 | goto done 290 | 291 | :kms38_setup: 292 | @echo off 293 | 294 | fltmc >nul || exit /b 295 | 296 | start /b /wait cmd /c "%~dp0KMS38_Activation.cmd" /KMS38 297 | 298 | cd \ 299 | (goto) 2>nul & (if "%~dp0"=="%SystemRoot%\Setup\Scripts\" rd /s /q "%~dp0") 300 | :kms38_setup: 301 | 302 | ::======================================================================================================================================== 303 | 304 | :kms 305 | 306 | cls 307 | md "!desktop!\$OEM$\$$\Setup\Scripts" 308 | pushd "!_work!" 309 | copy /y /b "%Online_KMS_Activation.cmd%" "!_dir!\Online_KMS_Activation.cmd" %nul% 310 | popd 311 | call :export kms_setup 312 | 313 | set _error= 314 | if not exist "!_dir!\Online_KMS_Activation.cmd" set _error=1 315 | if not exist "!_dir!\SetupComplete.cmd" set _error=1 316 | if defined _error goto errorfound 317 | 318 | set oem=Online KMS 319 | goto done 320 | 321 | :kms_setup: 322 | @echo off 323 | 324 | fltmc >nul || exit /b 325 | 326 | start /b /wait cmd /c "%~dp0Online_KMS_Activation.cmd" /KMS-ActAndRenewalTask /KMS-WindowsOffice 327 | 328 | cd \ 329 | (goto) 2>nul & (if "%~dp0"=="%SystemRoot%\Setup\Scripts\" rd /s /q "%~dp0") 330 | :kms_setup: 331 | 332 | ::======================================================================================================================================== 333 | 334 | :hwid_kms 335 | 336 | cls 337 | md "!desktop!\$OEM$\$$\Setup\Scripts" 338 | pushd "!_work!" 339 | copy /y /b "%HWID_Activation.cmd%" "!_dir!\HWID_Activation.cmd" %nul% 340 | copy /y /b "%Online_KMS_Activation.cmd%" "!_dir!\Online_KMS_Activation.cmd" %nul% 341 | popd 342 | call :export hwid_kms_setup 343 | 344 | set _error= 345 | if not exist "!_dir!\HWID_Activation.cmd" set _error=1 346 | if not exist "!_dir!\Online_KMS_Activation.cmd" set _error=1 347 | if not exist "!_dir!\SetupComplete.cmd" set _error=1 348 | if defined _error goto errorfound 349 | 350 | set oem=HWID [Windows] + Online KMS [Office] 351 | goto done 352 | 353 | :hwid_kms_setup: 354 | @echo off 355 | 356 | fltmc >nul || exit /b 357 | 358 | start /b /wait cmd /c "%~dp0HWID_Activation.cmd" /HWID 359 | 360 | start /b /wait cmd /c "%~dp0Online_KMS_Activation.cmd" /KMS-ActAndRenewalTask /KMS-Office 361 | 362 | cd \ 363 | (goto) 2>nul & (if "%~dp0"=="%SystemRoot%\Setup\Scripts\" rd /s /q "%~dp0") 364 | :hwid_kms_setup: 365 | 366 | ::======================================================================================================================================== 367 | 368 | :kms38_kms 369 | 370 | cls 371 | md "!desktop!\$OEM$\$$\Setup\Scripts" 372 | pushd "!_work!" 373 | copy /y /b "%KMS38_Activation.cmd%" "!_dir!\KMS38_Activation.cmd" %nul% 374 | copy /y /b "%Online_KMS_Activation.cmd%" "!_dir!\Online_KMS_Activation.cmd" %nul% 375 | popd 376 | call :export kms38_kms_setup 377 | 378 | set _error= 379 | if not exist "!_dir!\KMS38_Activation.cmd" set _error=1 380 | if not exist "!_dir!\Online_KMS_Activation.cmd" set _error=1 381 | if not exist "!_dir!\SetupComplete.cmd" set _error=1 382 | if defined _error goto errorfound 383 | 384 | set oem=KMS38 [Windows] + Online KMS [Office] 385 | goto done 386 | 387 | :kms38_kms_setup: 388 | @echo off 389 | 390 | fltmc >nul || exit /b 391 | 392 | start /b /wait cmd /c "%~dp0KMS38_Activation.cmd" /KMS38 393 | 394 | start /b /wait cmd /c "%~dp0Online_KMS_Activation.cmd" /KMS-ActAndRenewalTask /KMS-Office 395 | 396 | cd \ 397 | (goto) 2>nul & (if "%~dp0"=="%SystemRoot%\Setup\Scripts\" rd /s /q "%~dp0") 398 | :kms38_kms_setup: 399 | 400 | ::======================================================================================================================================== 401 | 402 | :errorfound 403 | 404 | %eline% 405 | echo $OEM$ Folder was not created successfully... 406 | goto :done2 407 | 408 | :done 409 | 410 | set -= 411 | echo ______________________________________________________________ 412 | echo: 413 | call :ex_color %Magenta% "%oem%" 414 | call :ex_color %Green% "$OEM$ folder is successfully created on the Desktop." 415 | echo "%oem%" | find /i "38" %nul% && ( 416 | echo: 417 | echo To KMS38 activate Server Cor/Acor editions ^(No GUI Versions^), 418 | echo Check this page https://mass%-%grave.dev/oem-folder 419 | ) 420 | echo ______________________________________________________________ 421 | 422 | :done2 423 | 424 | echo: 425 | call :ex_color %_Yellow% "Press any key to exit..." 426 | pause >nul 427 | exit /b 428 | 429 | ::======================================================================================================================================== 430 | 431 | :: Extract the text from batch script without character and file encoding issue 432 | 433 | :export 434 | 435 | %nul% %psc% "$f=[io.file]::ReadAllText('!_batp!') -split \":%~1\:.*`r`n\"; [io.file]::WriteAllText('!_pdesk!\$OEM$\$$\Setup\Scripts\SetupComplete.cmd',$f[1].Trim(),[System.Text.Encoding]::ASCII);" 436 | exit /b 437 | 438 | ::======================================================================================================================================== 439 | 440 | :ex_color 441 | 442 | if %_NCS% EQU 1 ( 443 | echo %esc%[%~1%~2%esc%[0m 444 | ) else ( 445 | if not exist %psc% (echo %~3) else (%psc% write-host -back '%1' -fore '%2' '%3') 446 | ) 447 | exit /b 448 | 449 | :ex_color2 450 | 451 | if %_NCS% EQU 1 ( 452 | echo %esc%[%~1%~2%esc%[%~3%~4%esc%[0m 453 | ) else ( 454 | if not exist %psc% (echo %~3%~6) else (%psc% write-host -back '%1' -fore '%2' '%3' -NoNewline; write-host -back '%4' -fore '%5' '%6') 455 | ) 456 | exit /b 457 | 458 | ::======================================================================================================================================== -------------------------------------------------------------------------------- /Executables/Separate-Files-Version/Install_HWID_Key.cmd: -------------------------------------------------------------------------------- 1 | @setlocal DisableDelayedExpansion 2 | @echo off 3 | 4 | 5 | 6 | ::============================================================================ 7 | :: 8 | :: This script is a part of 'Microsoft_Activation_Scripts' (MAS) project. 9 | :: 10 | :: Homepage: massgrave.dev 11 | :: Email: windowsaddict@protonmail.com 12 | :: 13 | ::============================================================================ 14 | 15 | 16 | 17 | :: For unattended mode, run the script with "/Insert-HWID-Key" parameter 18 | 19 | 20 | 21 | ::======================================================================================================================================== 22 | 23 | :: Re-launch the script with x64 process if it was initiated by x86 process on x64 bit Windows 24 | :: or with ARM64 process if it was initiated by x86/ARM32 process on ARM64 Windows 25 | 26 | set "_cmdf=%~f0" 27 | for %%# in (%*) do ( 28 | if /i "%%#"=="r1" set r1=1 29 | if /i "%%#"=="r2" set r2=1 30 | ) 31 | 32 | if exist %SystemRoot%\Sysnative\cmd.exe if not defined r1 ( 33 | setlocal EnableDelayedExpansion 34 | start %SystemRoot%\Sysnative\cmd.exe /c ""!_cmdf!" %* r1" 35 | exit /b 36 | ) 37 | 38 | :: Re-launch the script with ARM32 process if it was initiated by x64 process on ARM64 Windows 39 | 40 | if exist %SystemRoot%\SysArm32\cmd.exe if %PROCESSOR_ARCHITECTURE%==AMD64 if not defined r2 ( 41 | setlocal EnableDelayedExpansion 42 | start %SystemRoot%\SysArm32\cmd.exe /c ""!_cmdf!" %* r2" 43 | exit /b 44 | ) 45 | 46 | :: Set Path variable, it helps if it is misconfigured in the system 47 | 48 | set "PATH=%SystemRoot%\System32;%SystemRoot%\System32\wbem;%SystemRoot%\System32\WindowsPowerShell\v1.0\" 49 | if exist "%SystemRoot%\Sysnative\reg.exe" ( 50 | set "PATH=%SystemRoot%\Sysnative;%SystemRoot%\Sysnative\wbem;%SystemRoot%\Sysnative\WindowsPowerShell\v1.0\;%PATH%" 51 | ) 52 | 53 | :: Check LF line ending 54 | 55 | pushd "%~dp0" 56 | >nul findstr /rxc:".*" "%~nx0" 57 | if not %errorlevel%==0 ( 58 | echo: 59 | echo Error: Script either has LF line ending issue, or it failed to read itself. 60 | echo: 61 | ping 127.0.0.1 -n 6 > nul 62 | popd 63 | exit /b 64 | ) 65 | popd 66 | 67 | ::======================================================================================================================================== 68 | 69 | cls 70 | color 07 71 | title Install Windows HWID Key 72 | 73 | set _args= 74 | set _elev= 75 | set _unattended=0 76 | 77 | set _args=%* 78 | if defined _args set _args=%_args:"=% 79 | if defined _args ( 80 | for %%A in (%_args%) do ( 81 | if /i "%%A"=="-el" set _elev=1 82 | if /i "%%A"=="/Insert-HWID-Key" set _unattended=1 83 | ) 84 | ) 85 | 86 | ::======================================================================================================================================== 87 | 88 | set winbuild=1 89 | set "nul=>nul 2>&1" 90 | set psc=powershell.exe 91 | for /f "tokens=6 delims=[]. " %%G in ('ver') do set winbuild=%%G 92 | 93 | set _NCS=1 94 | if %winbuild% LSS 10586 set _NCS=0 95 | if %winbuild% GEQ 10586 reg query "HKCU\Console" /v ForceV2 2>nul | find /i "0x0" 1>nul && (set _NCS=0) 96 | 97 | if %_NCS% EQU 1 ( 98 | for /F %%a in ('echo prompt $E ^| cmd') do set "esc=%%a" 99 | set "Red="41;97m"" 100 | set "Green="42;97m"" 101 | set "_Green="40;92m"" 102 | set "_Yellow="40;93m"" 103 | ) else ( 104 | set "Red="Red" "white"" 105 | set "Green="DarkGreen" "white"" 106 | set "_Green="Black" "Green"" 107 | set "_Yellow="Black" "Yellow"" 108 | ) 109 | 110 | set "nceline=echo: &echo ==== ERROR ==== &echo:" 111 | set "eline=echo: &call :dk_color %Red% "==== ERROR ====" &echo:" 112 | set "line=echo ___________________________________________________________________________________________" 113 | if %~z0 GEQ 200000 (set "_exitmsg=Go back") else (set "_exitmsg=Exit") 114 | 115 | ::======================================================================================================================================== 116 | 117 | if %winbuild% LSS 10240 ( 118 | %eline% 119 | echo Unsupported OS version detected. 120 | echo This option is supported only for Windows 10/11. 121 | goto ins_done 122 | ) 123 | 124 | if exist "%SystemRoot%\Servicing\Packages\Microsoft-Windows-Server*Edition~*.mum" ( 125 | %eline% 126 | echo HWID Activation is not supported for Windows Server. 127 | goto ins_done 128 | ) 129 | 130 | for %%# in (powershell.exe) do @if "%%~$PATH:#"=="" ( 131 | %nceline% 132 | echo Unable to find powershell.exe in the system. 133 | goto ins_done 134 | ) 135 | 136 | ::======================================================================================================================================== 137 | 138 | :: Fix for the special characters limitation in path name 139 | 140 | set "_work=%~dp0" 141 | if "%_work:~-1%"=="\" set "_work=%_work:~0,-1%" 142 | 143 | set "_batf=%~f0" 144 | set "_batp=%_batf:'=''%" 145 | 146 | set _PSarg="""%~f0""" -el %_args% 147 | 148 | set "_ttemp=%temp%" 149 | 150 | setlocal EnableDelayedExpansion 151 | 152 | ::======================================================================================================================================== 153 | 154 | echo "!_batf!" | find /i "!_ttemp!" 1>nul && ( 155 | if /i not "!_work!"=="!_ttemp!" ( 156 | %eline% 157 | echo Script is launched from the temp folder, 158 | echo Most likely you are running the script directly from the archive file. 159 | echo: 160 | echo Extract the archive file and launch the script from the extracted folder. 161 | goto ins_done 162 | ) 163 | ) 164 | 165 | ::======================================================================================================================================== 166 | 167 | :: Elevate script as admin and pass arguments and preventing loop 168 | 169 | >nul fltmc || ( 170 | if not defined _elev %nul% %psc% "start cmd.exe -arg '/c \"!_PSarg:'=''!\"' -verb runas" && exit /b 171 | %eline% 172 | echo This script require admin privileges. 173 | echo To do so, right click on this script and select 'Run as administrator'. 174 | goto ins_done 175 | ) 176 | 177 | ::======================================================================================================================================== 178 | 179 | cls 180 | mode 98, 30 181 | echo: 182 | echo Initializing... 183 | call :dk_product 184 | call :dk_ckeckwmic 185 | call :dk_actids 186 | 187 | ::======================================================================================================================================== 188 | 189 | :: Check SKU value / Check in multiple places to find Edition change corruption 190 | 191 | set osSKU= 192 | set regSKU= 193 | set wmiSKU= 194 | 195 | for /f "tokens=3 delims=." %%a in ('reg query "HKLM\SYSTEM\CurrentControlSet\Control\ProductOptions" /v OSProductPfn 2^>nul') do set "regSKU=%%a" 196 | if %_wmic% EQU 1 for /f "tokens=2 delims==" %%a in ('"wmic Path Win32_OperatingSystem Get OperatingSystemSKU /format:LIST" 2^>nul') do if not errorlevel 1 set "wmiSKU=%%a" 197 | if %_wmic% EQU 0 for /f "tokens=1" %%a in ('%psc% "([WMI]'Win32_OperatingSystem=@').OperatingSystemSKU" 2^>nul') do if not errorlevel 1 set "wmiSKU=%%a" 198 | 199 | set osSKU=%wmiSKU% 200 | if not defined osSKU set osSKU=%regSKU% 201 | 202 | if not defined osSKU ( 203 | %eline% 204 | echo SKU value was not detected properly. Aborting... 205 | goto ins_done 206 | ) 207 | 208 | ::======================================================================================================================================== 209 | 210 | :: Detect key 211 | 212 | set key= 213 | set channel= 214 | set actidnotfound= 215 | 216 | for /f "skip=2 tokens=2*" %%a in ('reg query "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion" /v BuildBranch 2^>nul') do set "branch=%%b" 217 | 218 | if defined applist call :hwidkey key attempt1 219 | if not defined key call :hwidkey key attempt2 220 | 221 | if not defined key ( 222 | %eline% 223 | echo [%winos% ^| %winbuild% ^| SKU:%osSKU%] 224 | echo Unable to find this product in the HWID supported product list. 225 | echo Make sure you are using updated version of the script. 226 | echo https://massgrave.dev 227 | goto ins_done 228 | ) 229 | 230 | ::======================================================================================================================================== 231 | 232 | if %_unattended%==1 goto insertkey 233 | 234 | cls 235 | %line% 236 | echo: 237 | echo Install [%winos% ^| SKU:%osSKU% ^| %winbuild%] %channel% Key 238 | echo [%key%] 239 | %line% 240 | echo: 241 | if not "%regSKU%"=="%wmiSKU%" ( 242 | echo Note: Difference Found In SKU Value- WMI:%wmiSKU% Reg:%regSKU% 243 | echo: 244 | ) 245 | call :dk_color %_Green% "Press [1] to Continue or [0] to %_exitmsg%" 246 | choice /C:01 /N 247 | if %errorlevel%==1 exit /b 248 | 249 | ::======================================================================================================================================== 250 | 251 | :insertkey 252 | 253 | cls 254 | %line% 255 | 256 | if %_wmic% EQU 1 wmic path SoftwareLicensingService where __CLASS='SoftwareLicensingService' call InstallProductKey ProductKey="%key%" %nul% 257 | if %_wmic% EQU 0 %psc% "(([WMISEARCHER]'SELECT Version FROM SoftwareLicensingService').Get()).InstallProductKey('%key%')" %nul% 258 | if not %errorlevel%==0 cscript //nologo %windir%\system32\slmgr.vbs /ipk %key% %nul% 259 | 260 | set error_code=%errorlevel% 261 | cmd /c exit /b %error_code% 262 | if %error_code% NEQ 0 set "error_code=[0x%=ExitCode%]" 263 | 264 | echo: 265 | echo [%winos% ^| SKU:%osSKU% ^| %winbuild%] 266 | echo Installing %channel% [%key%] 267 | echo: 268 | 269 | if %error_code% EQU 0 ( 270 | call :dk_refresh 271 | call :dk_color %Green% "[Successful]" 272 | ) else ( 273 | call :dk_color %Red% "[Unsuccessful] %error_code%" 274 | if defined actidnotfound call :dk_color %Red% "Activation ID not found for this key." 275 | echo Check this page for help https://massgrave.dev/troubleshoot 276 | ) 277 | %line% 278 | 279 | ::======================================================================================================================================== 280 | 281 | :ins_done 282 | 283 | echo: 284 | if %_unattended%==1 timeout /t 2 & exit /b 285 | call :dk_color %_Yellow% "Press any key to %_exitmsg%..." 286 | pause >nul 287 | exit /b 288 | 289 | ::======================================================================================================================================== 290 | 291 | :: Refresh license status 292 | 293 | :dk_refresh 294 | 295 | if %_wmic% EQU 1 wmic path SoftwareLicensingService where __CLASS='SoftwareLicensingService' call RefreshLicenseStatus %nul% 296 | if %_wmic% EQU 0 %psc% "$null=(([WMICLASS]'SoftwareLicensingService').GetInstances()).RefreshLicenseStatus()" %nul% 297 | exit /b 298 | 299 | :: Get Windows Activation IDs 300 | 301 | :dk_actids 302 | 303 | set applist= 304 | if %_wmic% EQU 1 set "chkapp=for /f "tokens=2 delims==" %%a in ('"wmic path SoftwareLicensingProduct where (ApplicationID='55c92734-d682-4d71-983e-d6ec3f16059f') get ID /VALUE" 2^>nul')" 305 | if %_wmic% EQU 0 set "chkapp=for /f "tokens=2 delims==" %%a in ('%psc% "(([WMISEARCHER]'SELECT ID FROM SoftwareLicensingProduct WHERE ApplicationID=''55c92734-d682-4d71-983e-d6ec3f16059f''').Get()).ID ^| %% {echo ('ID='+$_)}" 2^>nul')" 306 | %chkapp% do (if defined applist (call set "applist=!applist! %%a") else (call set "applist=%%a")) 307 | exit /b 308 | 309 | :: Check wmic.exe 310 | 311 | :dk_ckeckwmic 312 | 313 | set _wmic=0 314 | for %%# in (wmic.exe) do @if not "%%~$PATH:#"=="" ( 315 | wmic path Win32_ComputerSystem get CreationClassName /value 2>nul | find /i "computersystem" 1>nul && set _wmic=1 316 | ) 317 | exit /b 318 | 319 | :: Get Product name (WMI/REG methods are not reliable in all conditions, hence winbrand.dll method is used) 320 | 321 | :dk_product 322 | 323 | call :dk_reflection 324 | 325 | set d1=%ref% $meth = $TypeBuilder.DefinePInvokeMethod('BrandingFormatString', 'winbrand.dll', 'Public, Static', 1, [String], @([String]), 1, 3); 326 | set d1=%d1% $meth.SetImplementationFlags(128); $TypeBuilder.CreateType()::BrandingFormatString('%%WINDOWS_LONG%%') 327 | 328 | set winos= 329 | for /f "delims=" %%s in ('"%psc% %d1%"') do if not errorlevel 1 (set winos=%%s) 330 | echo "%winos%" | find /i "Windows" 1>nul || ( 331 | for /f "skip=2 tokens=2*" %%a in ('reg query "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion" /v ProductName 2^>nul') do set "winos=%%b" 332 | if %winbuild% GEQ 22000 ( 333 | set winos=!winos:Windows 10=Windows 11! 334 | ) 335 | ) 336 | exit /b 337 | 338 | :: Common lines used in PowerShell reflection code 339 | 340 | :dk_reflection 341 | 342 | set ref=$AssemblyBuilder = [AppDomain]::CurrentDomain.DefineDynamicAssembly(4, 1); 343 | set ref=%ref% $ModuleBuilder = $AssemblyBuilder.DefineDynamicModule(2, $False); 344 | set ref=%ref% $TypeBuilder = $ModuleBuilder.DefineType(0); 345 | exit /b 346 | 347 | ::======================================================================================================================================== 348 | 349 | :dk_color 350 | 351 | if %_NCS% EQU 1 ( 352 | echo %esc%[%~1%~2%esc%[0m 353 | ) else ( 354 | %psc% write-host -back '%1' -fore '%2' '%3' 355 | ) 356 | exit /b 357 | 358 | ::======================================================================================================================================== 359 | 360 | :: 1st column = Activation ID 361 | :: 2nd column = Generic Retail/OEM/MAK Key 362 | :: 3rd column = SKU ID 363 | :: 4th column = Key Type 364 | :: 5th column = WMI Edition ID 365 | :: 6th column = Version name incase same Edition ID is used in different OS versions with different key 366 | :: Separator = _ 367 | 368 | 369 | :hwidkey 370 | 371 | set f= 372 | for %%# in ( 373 | 8b351c9c-f398-4515-9900-09df49427262_XGV%f%PP-NM%f%H47-7TTH%f%J-W3F%f%W7-8HV%f%2C___4_OEM:NONSLP_Enterprise 374 | c83cef07-6b72-4bbc-a28f-a00386872839_3V6%f%Q6-NQ%f%XCX-V8YX%f%R-9QC%f%YV-QPF%f%CT__27_Volume:MAK_EnterpriseN 375 | 4de7cb65-cdf1-4de9-8ae8-e3cce27b9f2c_VK7%f%JG-NP%f%HTM-C97J%f%M-9MP%f%GT-3V6%f%6T__48_____Retail_Professional 376 | 9fbaf5d6-4d83-4422-870d-fdda6e5858aa_2B8%f%7N-8K%f%FHP-DKV6%f%R-Y2C%f%8J-PKC%f%KT__49_____Retail_ProfessionalN 377 | f742e4ff-909d-4fe9-aacb-3231d24a0c58_4CP%f%RK-NM%f%3K3-X6XX%f%Q-RXX%f%86-WXC%f%HW__98_____Retail_CoreN 378 | 1d1bac85-7365-4fea-949a-96978ec91ae0_N24%f%34-X9%f%D7W-8PF6%f%X-8DV%f%9T-8TY%f%MD__99_____Retail_CoreCountrySpecific 379 | 3ae2cc14-ab2d-41f4-972f-5e20142771dc_BT7%f%9Q-G7%f%N6G-PGBY%f%W-4YW%f%X6-6F4%f%BT_100_____Retail_CoreSingleLanguage 380 | 2b1f36bb-c1cd-4306-bf5c-a0367c2d97d8_YTM%f%G3-N6%f%DKC-DKB7%f%7-7M9%f%GH-8HV%f%X7_101_____Retail_Core 381 | 2a6137f3-75c0-4f26-8e3e-d83d802865a4_XKC%f%NC-J2%f%6Q9-KFHD%f%2-FKT%f%HY-KD7%f%2Y_119_OEM:NONSLP_PPIPro 382 | e558417a-5123-4f6f-91e7-385c1c7ca9d4_YNM%f%GQ-8R%f%YV3-4PGQ%f%3-C8X%f%TP-7CF%f%BY_121_____Retail_Education 383 | c5198a66-e435-4432-89cf-ec777c9d0352_84N%f%GF-MH%f%BT6-FXBX%f%8-QWJ%f%K7-DRR%f%8H_122_____Retail_EducationN 384 | cce9d2de-98ee-4ce2-8113-222620c64a27_KCN%f%VH-YK%f%WX8-GJJB%f%9-H9F%f%DT-6F7%f%W2_125_Volume:MAK_EnterpriseS_VB 385 | d06934ee-5448-4fd1-964a-cd077618aa06_43T%f%BQ-NH%f%92J-XKTM%f%7-KT3%f%KK-P39%f%PB_125_OEM:NONSLP_EnterpriseS_RS5 386 | 706e0cfd-23f4-43bb-a9af-1a492b9f1302_NK9%f%6Y-D9%f%CD8-W44C%f%Q-R8Y%f%TK-DYJ%f%WX_125_OEM:NONSLP_EnterpriseS_RS1 387 | faa57748-75c8-40a2-b851-71ce92aa8b45_FWN%f%7H-PF%f%93Q-4GGP%f%8-M8R%f%F3-MDW%f%WW_125_OEM:NONSLP_EnterpriseS_TH 388 | 2c060131-0e43-4e01-adc1-cf5ad1100da8_RQF%f%NW-9T%f%PM3-JQ73%f%T-QV4%f%VQ-DV9%f%PT_126_Volume:MAK_EnterpriseSN_VB 389 | e8f74caa-03fb-4839-8bcc-2e442b317e53_M33%f%WV-NH%f%Y3C-R7FP%f%M-BQG%f%PT-239%f%PG_126_Volume:MAK_EnterpriseSN_RS5 390 | 3d1022d8-969f-4222-b54b-327f5a5af4c9_2DB%f%W3-N2%f%PJG-MVHW%f%3-G7T%f%DK-9HK%f%R4_126_Volume:MAK_EnterpriseSN_RS1 391 | 60c243e1-f90b-4a1b-ba89-387294948fb6_NTX%f%6B-BR%f%YC2-K678%f%6-F6M%f%VQ-M7V%f%2X_126_Volume:MAK_EnterpriseSN_TH 392 | eb6d346f-1c60-4643-b960-40ec31596c45_DXG%f%7C-N3%f%6C4-C4HT%f%G-X4T%f%3X-2YV%f%77_161_____Retail_ProfessionalWorkstation 393 | 89e87510-ba92-45f6-8329-3afa905e3e83_WYP%f%NQ-8C%f%467-V2W6%f%J-TX4%f%WX-WT2%f%RQ_162_____Retail_ProfessionalWorkstationN 394 | 62f0c100-9c53-4e02-b886-a3528ddfe7f6_8PT%f%T6-RN%f%W4C-6V7J%f%2-C2D%f%3X-MHB%f%PB_164_____Retail_ProfessionalEducation 395 | 13a38698-4a49-4b9e-8e83-98fe51110953_GJT%f%YN-HD%f%MQY-FRR7%f%6-HVG%f%C7-QPF%f%8P_165_____Retail_ProfessionalEducationN 396 | df96023b-dcd9-4be2-afa0-c6c871159ebe_NJC%f%F7-PW%f%8QT-3324%f%D-688%f%JX-2YV%f%66_175_____Retail_ServerRdsh 397 | d4ef7282-3d2c-4cf0-9976-8854e64a8d1e_V3W%f%VW-N2%f%PV2-CGWC%f%3-34Q%f%GF-VMJ%f%2C_178_____Retail_Cloud 398 | af5c9381-9240-417d-8d35-eb40cd03e484_NH9%f%J3-68%f%WK7-6FB9%f%3-4K3%f%DF-DJ4%f%F6_179_____Retail_CloudN 399 | 8ab9bdd1-1f67-4997-82d9-8878520837d9_XQQ%f%YW-NF%f%FMW-XJPB%f%H-K87%f%32-CKF%f%FD_188_____OEM:DM_IoTEnterprise 400 | ed655016-a9e8-4434-95d9-4345352c2552_QPM%f%6N-7J%f%2WJ-P88H%f%H-P3Y%f%RH-YY7%f%4H_191_OEM:NONSLP_IoTEnterpriseS_VB 401 | d4bdc678-0a4b-4a32-a5b3-aaa24c3b0f24_K9V%f%KN-3B%f%GWV-Y624%f%W-MCR%f%MQ-BHD%f%CD_202_____Retail_CloudEditionN 402 | 92fb8726-92a8-4ffc-94ce-f82e07444653_KY7%f%PN-VR%f%6RX-83W6%f%Y-6DD%f%YQ-T6R%f%4W_203_____Retail_CloudEdition 403 | d4f9b41f-205c-405e-8e08-3d16e88e02be_J7N%f%JW-V6%f%KBM-CC8R%f%W-Y29%f%Y4-HQ2%f%MJ_205_OEM:NONSLP_IoTEnterpriseSK 404 | ) do ( 405 | for /f "tokens=1-6 delims=_" %%A in ("%%#") do ( 406 | 407 | if %1==key if %osSKU%==%%C ( 408 | 409 | REM Detect key attempt 1 410 | 411 | if "%2"=="attempt1" if not defined key ( 412 | echo "!applist!" | find /i "%%A" 1>nul && ( 413 | set key=%%B 414 | set channel=%%D 415 | ) 416 | ) 417 | 418 | REM Detect key attempt 2 419 | 420 | if "%2"=="attempt2" if not defined key ( 421 | set actidnotfound=1 422 | set 6th=%%F 423 | if not defined 6th ( 424 | set key=%%B 425 | set channel=%%D 426 | ) else ( 427 | echo "%branch%" | find /i "%%F" 1>nul && ( 428 | set key=%%B 429 | set channel=%%D 430 | ) 431 | ) 432 | ) 433 | ) 434 | 435 | ) 436 | ) 437 | exit /b 438 | 439 | ::======================================================================================================================================== -------------------------------------------------------------------------------- /Executables/Separate-Files-Version/Check-Activation-Status-wmi.cmd: -------------------------------------------------------------------------------- 1 |