├── .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 |

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 |