2025-02-13 17:40:49 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								@ set  masver = 3.0 
						 
					
						
							
								
									
										
										
										
											2022-07-25 18:03:00 +00:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								@ echo  off 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2024-07-12 22:26:18 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2022-07-25 18:03:00 +00:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								: :============================================================================  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								: :  
						 
					
						
							
								
									
										
										
										
											2023-09-25 13:46:19 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								: :   Homepage: mass grave[.]dev  
						 
					
						
							
								
									
										
										
										
											2024-07-12 22:26:18 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								: :      Email: mas.help@outlook.com  
						 
					
						
							
								
									
										
										
										
											2022-07-25 18:03:00 +00:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								: :  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								: :============================================================================  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2022-11-07 20:33:01 +00:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								: :  To activate, run the script with "/HWID" parameter or change 0 to 1 in below line  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								set  _act = 0 
						 
					
						
							
								
									
										
										
										
											2022-07-25 18:03:00 +00:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2022-11-07 20:33:01 +00:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								: :  To disable changing edition if current edition doesn't support HWID activation, change the value to 1 from 0 or run the script with "/HWID-NoEditionChange" parameter  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								set  _NoEditionChange = 0 
						 
					
						
							
								
									
										
										
										
											2022-07-25 18:03:00 +00:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2024-07-12 22:26:18 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								: :  To run the script in debug mode, change 0 to "/HWID" in below line  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								set  " _debug=0 "  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2022-11-07 20:33:01 +00:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								: :  If value is changed in above lines or parameter is used then script will run in unattended mode  
						 
					
						
							
								
									
										
										
										
											2022-07-25 18:03:00 +00:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								: :========================================================================================================================================  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2024-08-20 17:15:06 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								: :  Set environment variables, it helps if they are misconfigured in the system  
						 
					
						
							
								
									
										
										
										
											2023-09-25 13:46:19 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2024-07-12 22:26:18 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								setlocal  EnableExtensions 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								setlocal  DisableDelayedExpansion 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								set  " PathExt=.COM;.EXE;.BAT;.CMD;.VBS;.VBE;.JS;.JSE;.WSF;.WSH;.MSC "  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								set  " SysPath= %SystemRoot% \System32 "  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								set  " Path= %SystemRoot% \System32; %SystemRoot% ; %SystemRoot% \System32\Wbem; %SystemRoot% \System32\WindowsPowerShell\v1.0\ "  
						 
					
						
							
								
									
										
										
										
											2023-09-25 13:46:19 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								if  exist  " %SystemRoot% \Sysnative\reg.exe "  (  
						 
					
						
							
								
									
										
										
										
											2024-07-12 22:26:18 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								set  " SysPath= %SystemRoot% \Sysnative "  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								set  " Path= %SystemRoot% \Sysnative; %SystemRoot% ; %SystemRoot% \Sysnative\Wbem; %SystemRoot% \Sysnative\WindowsPowerShell\v1.0\; %Path% "  
						 
					
						
							
								
									
										
										
										
											2023-09-25 13:46:19 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								)  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2024-07-12 22:26:18 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								set  " ComSpec= %SysPath% \cmd.exe "  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								set  " PSModulePath= %ProgramFiles% \WindowsPowerShell\Modules; %SysPath% \WindowsPowerShell\v1.0\Modules "  
						 
					
						
							
								
									
										
										
										
											2022-07-25 18:03:00 +00:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2024-10-30 14:49:09 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								set  re1 =  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								set  re2 =  
						 
					
						
							
								
									
										
										
										
											2022-07-25 18:03:00 +00:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								set  " _cmdf= %~f0 "  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								for  %% # in  ( %* )  do  (  
						 
					
						
							
								
									
										
										
										
											2024-10-30 14:49:09 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								if  /i  " %% # " == " re1 "  set  re1 = 1 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								if  /i  " %% # " == " re2 "  set  re2 = 1 
						 
					
						
							
								
									
										
										
										
											2022-07-25 18:03:00 +00:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								)  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2024-07-12 22:26:18 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								: : Re-launch the script with x64 process if it was initiated by x86 process on x64 bit Windows  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								: : or with ARM64 process if it was initiated by x86/ARM32 process on ARM64 Windows  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2024-10-30 04:59:31 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								if  exist  %SystemRoot% \Sysnative\cmd.exe if  not  defined  re1  (  
						 
					
						
							
								
									
										
										
										
											2022-07-25 18:03:00 +00:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								setlocal  EnableDelayedExpansion 
						 
					
						
							
								
									
										
										
										
											2024-10-30 04:59:31 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								start  %SystemRoot% \Sysnative\cmd.exe /c " " !_cmdf! "   %*  re1 "  
						 
					
						
							
								
									
										
										
										
											2022-07-25 18:03:00 +00:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								exit  /b 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								)  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								: : Re-launch the script with ARM32 process if it was initiated by x64 process on ARM64 Windows  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2024-10-30 04:59:31 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								if  exist  %SystemRoot% \SysArm32\cmd.exe if  %PROCESSOR_ARCHITECTURE% == AMD64 if  not  defined  re2  (  
						 
					
						
							
								
									
										
										
										
											2022-07-25 18:03:00 +00:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								setlocal  EnableDelayedExpansion 
						 
					
						
							
								
									
										
										
										
											2024-10-30 04:59:31 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								start  %SystemRoot% \SysArm32\cmd.exe /c " " !_cmdf! "   %*  re2 "  
						 
					
						
							
								
									
										
										
										
											2022-07-25 18:03:00 +00:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								exit  /b 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								)  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2023-09-25 13:46:19 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								: :========================================================================================================================================  
						 
					
						
							
								
									
										
										
										
											2022-07-25 18:03:00 +00:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2024-07-12 22:26:18 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								: :  Debug code  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								if  " %_debug% "  EQU  " 0 "  (  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								set  " nul1=1>nul "  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								set  " nul2=2>nul "  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								set  " nul6=2 ^ >nul "  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								set  " nul=>nul 2>&1 "  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								goto  : _debug  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								)  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								set  " nul1= "  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								set  " nul2= "  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								set  " nul6= "  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								set  " nul= "  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								@ echo  on 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								@ prompt  $G 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								@ call  : _debug  " %_debug% "  > " %~dp0 _tmp.log "  2 >& 1  
						 
					
						
							
								
									
										
										
										
											2024-07-12 23:07:16 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								@ cmd /u /c type " %~dp0 _tmp.log " > " %~dp0 _Debug.log "  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								@ del  " %~dp0 _tmp.log "  
						 
					
						
							
								
									
										
										
										
											2024-07-12 22:26:18 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								@ echo  off 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								@ exit  /b 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								: _debug  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								: :========================================================================================================================================  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2023-09-25 13:46:19 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								set  " blank= "  
						 
					
						
							
								
									
										
										
										
											2023-09-30 20:24:15 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								set  " mas=ht %blank% tps %blank% ://mass %blank% grave.dev/ "  
						 
					
						
							
								
									
										
										
										
											2023-09-25 13:46:19 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								: :  Check if Null service is working, it's important for the batch script  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								sc query Null |  find /i " RUNNING " 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								if  %errorlevel%  NEQ  0 (  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								echo : 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								echo  Null service is not running, script may crash... 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								echo : 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								echo : 
						 
					
						
							
								
									
										
										
										
											2025-03-15 21:34:40 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								echo  Check this webpage for help - %mas% fix_service 
						 
					
						
							
								
									
										
										
										
											2023-09-25 13:46:19 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								echo : 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								echo : 
						 
					
						
							
								
									
										
										
										
											2024-07-12 22:26:18 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								ping 127.0.0.1 -n 20
							 
						 
					
						
							
								
									
										
										
										
											2022-07-25 18:03:00 +00:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								)  
						 
					
						
							
								
									
										
										
										
											2023-09-25 13:46:19 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								cls  
						 
					
						
							
								
									
										
										
										
											2022-07-25 18:03:00 +00:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								: :  Check LF line ending  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								pushd  " %~dp0 "  
						 
					
						
							
								
									
										
										
										
											2023-09-25 13:46:19 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								> nul findstr /v " $ "  " %~nx0 "  &&  (  
						 
					
						
							
								
									
										
										
										
											2022-07-25 18:03:00 +00:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								echo : 
						 
					
						
							
								
									
										
										
										
											2024-07-12 22:26:18 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								echo  Error - Script either has LF line ending issue or an empty line at the end of the script is missing. 
						 
					
						
							
								
									
										
										
										
											2022-07-25 18:03:00 +00:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								echo : 
						 
					
						
							
								
									
										
										
										
											2024-07-12 22:26:18 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								echo : 
						 
					
						
							
								
									
										
										
										
											2025-03-15 21:34:40 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								echo  Check this webpage for help - %mas% troubleshoot 
						 
					
						
							
								
									
										
										
										
											2024-07-12 22:26:18 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								echo : 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								echo : 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								ping 127.0.0.1 -n 20 > nul
							 
						 
					
						
							
								
									
										
										
										
											2022-07-25 18:03:00 +00:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								popd  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								exit  /b 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								)  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								popd  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								: :========================================================================================================================================  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								cls  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								color  07 
						 
					
						
							
								
									
										
										
										
											2023-10-16 02:50:03 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								title   HWID Activation %masver%  
						 
					
						
							
								
									
										
										
										
											2022-07-25 18:03:00 +00:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								set  _args =  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								set  _elev =  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								set  _unattended = 0 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								set  _args = %*  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								if  defined  _args  set  _args = %_args:"=%  
						 
					
						
							
								
									
										
										
										
											2024-10-30 04:59:31 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								if  defined  _args  set  _args = %_args:re1=%  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								if  defined  _args  set  _args = %_args:re2=%  
						 
					
						
							
								
									
										
										
										
											2022-07-25 18:03:00 +00:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								if  defined  _args  (  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								for  %% A in  ( %_args% )  do  (  
						 
					
						
							
								
									
										
										
										
											2022-11-07 20:33:01 +00:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								if  /i  " %% A " == " /HWID "                   set  _act = 1 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								if  /i  " %% A " == " /HWID-NoEditionChange "   set  _NoEditionChange = 1 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								if  /i  " %% A " == " -el "                     set  _elev = 1 
						 
					
						
							
								
									
										
										
										
											2022-07-25 18:03:00 +00:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								)  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								)  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2022-11-07 20:33:01 +00:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								for  %% A in  ( %_act%  %_NoEditionChange% )  do  ( if  " %% A " == " 1 "  set  _unattended = 1)  
						 
					
						
							
								
									
										
										
										
											2022-07-25 18:03:00 +00:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								: :========================================================================================================================================  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2024-07-12 22:26:18 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								call  : dk_setvar  
						 
					
						
							
								
									
										
										
										
											2022-07-25 18:03:00 +00:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2025-02-13 17:40:49 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								if  %winbuild%  EQU  1 (  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								%eline%  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								echo  Failed to detect Windows build number. 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								echo : 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								setlocal  EnableDelayedExpansion 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								set  fixes = %fixes%  %mas% troubleshoot 
						 
					
						
							
								
									
										
										
										
											2025-03-15 21:34:40 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								call  : dk_color2  %Blue%  " Check this webpage for help -  "  %_Yellow%  "   %mas% troubleshoot "  
						 
					
						
							
								
									
										
										
										
											2025-02-13 17:40:49 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								goto  dk_done  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								)  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2022-07-25 18:03:00 +00:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								if  %winbuild%  LSS  10240 (  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								%eline%  
						 
					
						
							
								
									
										
										
										
											2023-09-25 13:46:19 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								echo  Unsupported OS version detected [%winbuild% ]. 
						 
					
						
							
								
									
										
										
										
											2024-08-20 17:15:06 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								echo  HWID Activation is only supported on Windows 10/11. 
						 
					
						
							
								
									
										
										
										
											2024-07-31 01:05:36 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								echo : 
						 
					
						
							
								
									
										
										
										
											2025-02-13 17:40:49 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								call  : dk_color  %Blue%  " Use TSforge activation option from the main menu. "  
						 
					
						
							
								
									
										
										
										
											2022-07-25 18:03:00 +00:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								goto  dk_done  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								)  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2022-11-07 20:33:01 +00:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								if  exist  " %SystemRoot% \Servicing\Packages\Microsoft-Windows-Server*Edition~*.mum "  (  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								%eline%  
						 
					
						
							
								
									
										
										
										
											2024-08-20 17:15:06 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								echo  HWID Activation is not supported on Windows Server. 
						 
					
						
							
								
									
										
										
										
											2025-02-13 17:40:49 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								call  : dk_color  %Blue%  " Use TSforge activation option from the main menu. "  
						 
					
						
							
								
									
										
										
										
											2022-11-07 20:33:01 +00:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								goto  dk_done  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								)  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2022-07-25 18:03:00 +00:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								: :========================================================================================================================================  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2024-08-20 17:15:06 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								: :  Fix special character limitations in path name  
						 
					
						
							
								
									
										
										
										
											2022-07-25 18:03:00 +00:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								set  " _work= %~dp0 "  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								if  " %_work:~-1% " == " \ "  set  " _work= %_work:~0,-1% "  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								set  " _batf= %~f0 "  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								set  " _batp= %_batf:'=''% "  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								set  _PSarg = " " " %~f0 " " "  -el %_args%  
						 
					
						
							
								
									
										
										
										
											2024-07-12 22:26:18 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								set  _PSarg = %_PSarg:'=''%  
						 
					
						
							
								
									
										
										
										
											2022-07-25 18:03:00 +00:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2023-10-16 02:50:03 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								set  " _ttemp= %userprofile% \AppData\Local\Temp "  
						 
					
						
							
								
									
										
										
										
											2022-07-25 18:03:00 +00:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								setlocal  EnableDelayedExpansion 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								: :========================================================================================================================================  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2023-09-25 13:46:19 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								echo  " !_batf! "  |  find /i " !_ttemp! "  %nul1%  &&  (  
						 
					
						
							
								
									
										
										
										
											2022-07-25 18:03:00 +00:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								if  /i  not  " !_work! " == " !_ttemp! "  (  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								%eline%  
						 
					
						
							
								
									
										
										
										
											2024-08-20 17:15:06 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								echo  The script was launched from the temp folder. 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								echo  You are most likely running the script directly from the archive file. 
						 
					
						
							
								
									
										
										
										
											2022-07-25 18:03:00 +00:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								echo : 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								echo  Extract the archive file and launch the script from the extracted folder. 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								goto  dk_done  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								)  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								)  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								: :========================================================================================================================================  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2025-02-23 15:06:55 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								: :  Elevate script as admin and pass arguments and preventing loop  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								%nul1%  fltmc ||  (  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								if  not  defined  _elev  %psc%  " start cmd.exe -arg '/c \ " !_PSarg! \" ' -verb runas "  &&  exit  /b 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								%eline%  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								echo  This script needs admin rights. 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								echo  Right click on this script and select 'Run as administrator'. 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								goto  dk_done  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								)  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								: :========================================================================================================================================  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2024-07-12 22:26:18 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								: :  Check PowerShell  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2025-02-23 15:06:55 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								: :pstst $ExecutionContext.SessionState.LanguageMode :pstst  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2025-02-23 19:06:35 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								for  /f  " delims= "  %% a in  ( 'cmd /c " %psc%  ""if ($PSVersionTable.PSEdition -ne 'Core' )  {$f=[io.file]::ReadAllText('!_batp!')  -split ':pstst';iex ($f[1])}"""  %nul6% ' )  do  ( set  tstresult = %% a)  
						 
					
						
							
								
									
										
										
										
											2024-07-12 22:26:18 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2025-02-23 19:06:35 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								if  /i  not  " %tstresult% " == " FullLanguage "  (  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								%eline%  
						 
					
						
							
								
									
										
										
										
											2025-04-12 22:15:34 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								echo : %tstresult%  
						 
					
						
							
								
									
										
										
										
											2025-02-23 19:06:35 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								cmd /c " %psc%  $ExecutionContext.SessionState.LanguageMode " 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								REM check LanguageMode  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								cmd /c " %psc%   " $ExecutionContext.SessionState.LanguageMode" "  |  findstr /i " ConstrainedLanguage RestrictedLanguage NoLanguage "  %nul1%  &&  ( 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								echo  FullLanguage mode not found in PowerShell. Aborting... 
						 
					
						
							
								
									
										
										
										
											2024-07-12 22:26:18 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								echo  If you have applied restrictions on Powershell then undo those changes. 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								echo : 
						 
					
						
							
								
									
										
										
										
											2024-07-22 23:42:02 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								set  fixes = %fixes%  %mas% fix_powershell 
						 
					
						
							
								
									
										
										
										
											2025-03-15 21:34:40 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								call  : dk_color2  %Blue%  " Check this webpage for help -  "  %_Yellow%  "   %mas% fix_powershell "  
						 
					
						
							
								
									
										
										
										
											2024-07-12 22:26:18 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								goto  dk_done  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								)  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2025-02-23 19:06:35 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								REM check Powershell core version  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								cmd /c " %psc%   " $PSVersionTable.PSEdition" "  |  find /i " Core "  %nul1%  &&  ( 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								echo  Windows Powershell is needed for MAS but it seems to be replaced with Powershell core. Aborting... 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								goto  dk_done  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								)  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2025-04-12 22:55:10 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								REM check for Mal-ware that may cause issues with Powershell  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								for  /r " %ProgramFiles% \ "  %% f in  ( secureboot.exe)  do  if  exist  " %% f "  (  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								echo  " %% f "  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								echo  Mal%blank% ware found, PowerShell is not working properly. 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								echo : 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								set  fixes = %fixes%  %mas% remove_mal%w% ware 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								call  : dk_color2  %Blue%  " Check this webpage for help -  "  %_Yellow%  "   %mas% remove_mal %w% ware "  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								goto  dk_done  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								)  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2025-02-23 19:06:35 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								REM check antivirus and other errors  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2025-02-23 15:06:55 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								echo  PowerShell is not working properly. Aborting... 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								cmd /c " %psc%   " " $av = Get-WmiObject -Namespace root\SecurityCenter2 -Class AntiVirusProduct; $n = @(); foreach ($i in $av) { if ($i.displayName -notlike '*windows*') { $n += $i.displayName } }; if ($n) { Write-Host ('Installed 3rd party Antivirus might be blocking the script - ' + ($n -join ', ')) -ForegroundColor White -BackgroundColor Blue } " " " 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								echo : 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								set  fixes = %fixes%  %mas% troubleshoot 
						 
					
						
							
								
									
										
										
										
											2025-03-15 21:34:40 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								call  : dk_color2  %Blue%  " Check this webpage for help -  "  %_Yellow%  "   %mas% troubleshoot "  
						 
					
						
							
								
									
										
										
										
											2022-07-25 18:03:00 +00:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								goto  dk_done  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								)  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								: :========================================================================================================================================  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2024-07-12 22:26:18 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								: :  Disable QuickEdit and launch from conhost.exe to avoid Terminal app  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								if  %winbuild%  GEQ  17763 (  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								set  terminal = 1 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								) else (  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								set  terminal =  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								)  
						 
					
						
							
								
									
										
										
										
											2023-09-25 13:46:19 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2024-07-12 22:26:18 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								: :  Check if script is running in Terminal app  
						 
					
						
							
								
									
										
										
										
											2023-09-25 13:46:19 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2024-07-12 22:26:18 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								if  defined  terminal  (  
						 
					
						
							
								
									
										
										
										
											2025-04-13 22:40:58 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								set  lines = 0 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								for  /f  " skip=2 tokens=2 delims=:  "  %% A in  ( 'mode con' )  do  if  " !lines! " == " 0 "  set  lines = %% A 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								if  !lines!  GEQ  100 set  terminal =  
						 
					
						
							
								
									
										
										
										
											2024-07-12 22:26:18 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								)  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								if  %_unattended% == 1 goto  : skipQE  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								for  %% # in  ( %_args% )  do  ( if  /i  " %% # " == " -qedit "  goto  : skipQE )  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2025-04-13 22:40:58 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								: :  Relaunch to disable QuickEdit in the current session and use conhost.exe instead of the Terminal app  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								: :  This code disables QuickEdit for the current cmd.exe session without making permanent registry changes  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								: :  It is included because clicking on the script window can pause execution, causing confusion that the script has stopped due to an error  
						 
					
						
							
								
									
										
										
										
											2023-09-25 13:46:19 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2025-04-13 22:40:58 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								set  resetQE = 1 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								reg query HKCU\Console /v QuickEdit %nul2%  |  find /i " 0x0 "  %nul1%  &&  set  resetQE = 0
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								reg add HKCU\Console /v QuickEdit /t REG_DWORD /d 0 /f %nul1% 
							 
						 
					
						
							
								
									
										
										
										
											2024-07-12 22:26:18 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2025-04-13 22:40:58 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								if  defined  terminal  (  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								start  conhost.exe " !_batf! "  %_args%  -qedit 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								start  reg add HKCU\Console /v QuickEdit /t REG_DWORD /d %resetQE%  /f %nul1%  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								exit  /b 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								) else if %resetQE% EQU 1 (  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								start  cmd.exe /c " " !_batf! "   %_args%  -qedit "  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								start  reg add HKCU\Console /v QuickEdit /t REG_DWORD /d %resetQE%  /f %nul1%  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								exit  /b 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								)  
						 
					
						
							
								
									
										
										
										
											2024-07-12 22:26:18 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								: skipQE  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2023-09-25 13:46:19 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								: :========================================================================================================================================  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2023-10-16 02:50:03 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								: :  Check for updates  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								set  - =  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								set  old =  
						 
					
						
							
								
									
										
										
										
											2025-02-22 15:22:26 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								set  pingp =  
						 
					
						
							
								
									
										
										
										
											2025-02-13 17:40:49 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								set  upver = %masver:.=%  
						 
					
						
							
								
									
										
										
										
											2023-10-16 02:50:03 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2025-02-22 15:22:26 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								for  %% A in  (  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								activ%-% ated.win
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								mass%-% grave.dev
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								) do if not defined pingp (  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								for  /f  " delims=[] tokens=2 "  %% B in  ( 'ping -n 1  %% A' )  do  (  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								if  not  " %% B " == " "  ( set  old = 1&  set  pingp = 1)  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								for  /f  " delims=[] tokens=2 "  %% C in  ( 'ping -n 1 updatecheck %upver% . %% A' )  do  (  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								if  not  " %% C " == " "  set  old =  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								)  
						 
					
						
							
								
									
										
										
										
											2025-02-13 17:40:49 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								)  
						 
					
						
							
								
									
										
										
										
											2023-10-16 02:50:03 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								)  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								if  defined  old  (  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								echo  ________________________________________________ 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								%eline%  
						 
					
						
							
								
									
										
										
										
											2024-08-20 17:15:06 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								echo  Your version of MAS [%masver% ] is outdated. 
						 
					
						
							
								
									
										
										
										
											2023-10-16 02:50:03 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								echo  ________________________________________________ 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								echo : 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								if  not  %_unattended% == 1 (  
						 
					
						
							
								
									
										
										
										
											2023-11-15 21:03:20 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								echo  [1] Get Latest MAS 
						 
					
						
							
								
									
										
										
										
											2023-10-16 02:50:03 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								echo  [0] Continue Anyway 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								echo : 
						 
					
						
							
								
									
										
										
										
											2024-08-20 17:15:06 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								call  : dk_color  %_Green%  " Choose a menu option using your keyboard [1,0] : "  
						 
					
						
							
								
									
										
										
										
											2023-10-16 02:50:03 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								choice /C:10 /N
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								if  !errorlevel! == 2 rem  
						 
					
						
							
								
									
										
										
										
											2025-02-13 17:40:49 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								if  !errorlevel! == 1 ( start  %mas%  &  exit  /b)  
						 
					
						
							
								
									
										
										
										
											2023-10-16 02:50:03 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								)  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								)  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								: :========================================================================================================================================  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2022-07-25 18:03:00 +00:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								cls  
						 
					
						
							
								
									
										
										
										
											2024-07-12 22:26:18 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								if  not  defined  terminal  (  
						 
					
						
							
								
									
										
										
										
											2023-11-15 21:03:20 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								mode 110, 34
							 
						 
					
						
							
								
									
										
										
										
											2024-07-12 22:26:18 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								if  exist  " %SysPath% \spp\store_test\ "  mode 134, 34 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								)  
						 
					
						
							
								
									
										
										
										
											2023-10-16 02:50:03 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								title   HWID Activation %masver%  
						 
					
						
							
								
									
										
										
										
											2022-07-25 18:03:00 +00:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2023-11-15 21:03:20 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								echo : 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								echo  Initializing... 
						 
					
						
							
								
									
										
										
										
											2024-07-13 20:59:11 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								call  : dk_chkmal  
						 
					
						
							
								
									
										
										
										
											2023-09-25 13:46:19 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2024-07-12 22:26:18 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								for  %% # in  (  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								sppsvc.exe
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								ClipUp.exe
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								) do (  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								if  not  exist  %SysPath% \%% # (  
						 
					
						
							
								
									
										
										
										
											2023-11-15 21:03:20 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								%eline%  
						 
					
						
							
								
									
										
										
										
											2024-08-20 17:15:06 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								echo  [%SysPath% \%% #] file is missing, aborting... 
						 
					
						
							
								
									
										
										
										
											2022-11-07 20:33:01 +00:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								echo : 
						 
					
						
							
								
									
										
										
										
											2024-07-12 22:26:18 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								set  fixes = %fixes%  %mas% troubleshoot 
						 
					
						
							
								
									
										
										
										
											2025-03-15 21:34:40 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								call  : dk_color2  %Blue%  " Check this webpage for help -  "  %_Yellow%  "   %mas% troubleshoot "  
						 
					
						
							
								
									
										
										
										
											2023-11-15 21:03:20 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								goto  dk_done  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								)  
						 
					
						
							
								
									
										
										
										
											2024-07-12 22:26:18 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								)  
						 
					
						
							
								
									
										
										
										
											2023-11-15 21:03:20 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								: :========================================================================================================================================  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2024-07-12 22:26:18 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								set  spp = SoftwareLicensingProduct 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								set  sps = SoftwareLicensingService 
						 
					
						
							
								
									
										
										
										
											2022-07-25 18:03:00 +00:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2024-07-12 22:26:18 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								call  : dk_ckeckwmic  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								call  : dk_checksku  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								call  : dk_product  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								call  : dk_sppissue  
						 
					
						
							
								
									
										
										
										
											2022-07-25 18:03:00 +00:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								: :========================================================================================================================================  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								: :  Check if system is permanently activated or not  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								call  : dk_checkperm  
						 
					
						
							
								
									
										
										
										
											2022-11-07 20:33:01 +00:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								if  defined  _perm  (  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								cls  
						 
					
						
							
								
									
										
										
										
											2022-07-25 18:03:00 +00:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								echo  ___________________________________________________________________________________________ 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								echo : 
						 
					
						
							
								
									
										
										
										
											2024-08-20 17:15:06 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								call  : dk_color2  %_White%  "       "  %Green%  " %winos%  is already permanently activated. "  
						 
					
						
							
								
									
										
										
										
											2022-07-25 18:03:00 +00:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								echo  ___________________________________________________________________________________________ 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								if  %_unattended% == 1 goto  dk_done  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								echo : 
						 
					
						
							
								
									
										
										
										
											2024-08-20 17:15:06 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								choice /C:10 /N /M " >    [1] Activate Anyway [0]  %_exitmsg%  :  " 
							 
						 
					
						
							
								
									
										
										
										
											2022-07-25 18:03:00 +00:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								if  errorlevel  2  exit  /b 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								)  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								cls  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								: :========================================================================================================================================  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								: :  Check Evaluation version  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2022-11-07 20:33:01 +00:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								if  exist  " %SystemRoot% \Servicing\Packages\Microsoft-Windows-*EvalEdition~*.mum "  (  
						 
					
						
							
								
									
										
										
										
											2023-09-25 13:46:19 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								reg query " HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion "  /v EditionID %nul2%  |  find /i " Eval "  %nul1%  &&  ( 
							 
						 
					
						
							
								
									
										
										
										
											2022-07-25 18:03:00 +00:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								%eline%  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								echo  [%winos%  ^|  %winbuild% ] 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								echo : 
						 
					
						
							
								
									
										
										
										
											2025-02-13 17:40:49 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								echo  Evaluation editions cannot be activated outside of their evaluation period. 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								call  : dk_color  %Blue%  " Use TSforge activation option from the main menu to reset evaluation period. "  
						 
					
						
							
								
									
										
										
										
											2023-03-16 18:11:04 +00:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								echo : 
						 
					
						
							
								
									
										
										
										
											2024-08-13 00:06:51 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								set  fixes = %fixes%  %mas% evaluation_editions 
						 
					
						
							
								
									
										
										
										
											2025-03-15 21:34:40 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								call  : dk_color2  %Blue%  " Check this webpage for help -  "  %_Yellow%  "   %mas% evaluation_editions "  
						 
					
						
							
								
									
										
										
										
											2022-07-25 18:03:00 +00:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								goto  dk_done  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								)  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								)  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								: :========================================================================================================================================  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								set  error =  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								cls  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								echo : 
						 
					
						
							
								
									
										
										
										
											2024-07-12 22:26:18 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								call  : dk_showosinfo  
						 
					
						
							
								
									
										
										
										
											2022-07-25 18:03:00 +00:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2023-03-16 18:11:04 +00:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								: :  Check Internet connection  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								set  _int =  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								for  %% a in  ( l.root-servers.net resolver1.opendns.com download.windowsupdate.com google.com)  do  if  not  defined  _int  (  
						 
					
						
							
								
									
										
										
										
											2024-08-18 23:59:19 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								for  /f  " delims=[] tokens=2 "  %% # in  ( 'ping -n 1  %% a' )  do  ( if  not  " %% # " == " "  set  _int = 1)  
						 
					
						
							
								
									
										
										
										
											2023-03-16 18:11:04 +00:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								)  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								if  not  defined  _int  (  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								%psc%  " If([Activator]::CreateInstance([Type]::GetTypeFromCLSID([Guid]'{DCB00C01-570F-4A9B-8D69-199FDBA5723B}')).IsConnectedToInternet){Exit 0}Else{Exit 1} "  
						 
					
						
							
								
									
										
										
										
											2023-11-15 21:03:20 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								if  !errorlevel! == 0 ( set  _int = 1& set  ping_f =  But Ping Failed)  
						 
					
						
							
								
									
										
										
										
											2023-03-16 18:11:04 +00:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								)  
						 
					
						
							
								
									
										
										
										
											2022-11-07 20:33:01 +00:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2023-03-16 18:11:04 +00:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								if  defined  _int  (  
						 
					
						
							
								
									
										
										
										
											2023-11-15 21:03:20 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								echo  Checking Internet Connection            [Connected%ping_f% ] 
						 
					
						
							
								
									
										
										
										
											2022-07-25 18:03:00 +00:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								) else (  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								set  error = 1 
						 
					
						
							
								
									
										
										
										
											2022-11-07 20:33:01 +00:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								call  : dk_color  %Red%  " Checking Internet Connection            [Not Connected] "  
						 
					
						
							
								
									
										
										
										
											2024-08-20 17:15:06 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								call  : dk_color  %Blue%  " Internet is required for HWID activation. "  
						 
					
						
							
								
									
										
										
										
											2022-11-07 20:33:01 +00:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								)  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								: :========================================================================================================================================  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								echo  Initiating Diagnostic Tests... 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2024-07-12 22:26:18 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								set  " _serv=ClipSVC wlidsvc sppsvc KeyIso LicenseManager Winmgmt "  
						 
					
						
							
								
									
										
										
										
											2022-07-25 18:03:00 +00:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								: :  Client License Service (ClipSVC)  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								: :  Microsoft Account Sign-in Assistant  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								: :  Software Protection  
						 
					
						
							
								
									
										
										
										
											2023-03-16 18:11:04 +00:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								: :  CNG Key Isolation  
						 
					
						
							
								
									
										
										
										
											2022-07-25 18:03:00 +00:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								: :  Windows License Manager Service  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								: :  Windows Management Instrumentation  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2022-11-07 20:33:01 +00:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								call  : dk_errorcheck  
						 
					
						
							
								
									
										
										
										
											2022-07-25 18:03:00 +00:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2022-11-07 20:33:01 +00:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								: :========================================================================================================================================  
						 
					
						
							
								
									
										
										
										
											2022-07-25 18:03:00 +00:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2022-11-07 20:33:01 +00:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								: :  Detect Key  
						 
					
						
							
								
									
										
										
										
											2022-07-25 18:03:00 +00:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2022-11-07 20:33:01 +00:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								set  key =  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								set  altkey =  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								set  changekey =  
						 
					
						
							
								
									
										
										
										
											2023-09-25 13:46:19 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								set  altapplist =  
						 
					
						
							
								
									
										
										
										
											2022-11-07 20:33:01 +00:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								set  altedition =  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								set  notworking =  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2024-07-12 22:26:18 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								call  : dk_actids  55c92734-d682-4d71-983e-d6ec3f16059f 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								if  defined  allapps  call  : hwiddata  key 
						 
					
						
							
								
									
										
										
										
											2023-09-25 13:46:19 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								if  not  defined  key  (  
						 
					
						
							
								
									
										
										
										
											2024-07-12 22:26:18 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								for  /f  " delims= "  %% a in  ( ' %psc%  "$f=[io.file]::ReadAllText('!_batp!' )  -split ':getactivationid\:.*';iex ($f[1])"' )  do  ( set  altapplist = %% a)  
						 
					
						
							
								
									
										
										
										
											2023-09-25 13:46:19 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								if  defined  altapplist  call  : hwiddata  key 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								)  
						 
					
						
							
								
									
										
										
										
											2022-11-07 20:33:01 +00:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								if  defined  notworking  call  : hwidfallback  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								if  not  defined  key  call  : hwidfallback  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								if  defined  altkey  ( set  key = %altkey% & set  changekey = 1& set  notworking = )  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								if  defined  notworking  if  defined  notfoundaltactID  (  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								call  : dk_color  %Red%  " Checking Alternate Edition For HWID     [ %altedition%  Activation ID Not Found] "  
						 
					
						
							
								
									
										
										
										
											2022-07-25 18:03:00 +00:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								)  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2022-11-07 20:33:01 +00:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								if  not  defined  key  (  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								%eline%  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								echo  [%winos%  ^|  %winbuild%  ^|  SKU:%osSKU% ] 
						 
					
						
							
								
									
										
										
										
											2024-07-16 11:31:13 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								if  not  defined  skunotfound  (  
						 
					
						
							
								
									
										
										
										
											2024-08-20 17:15:06 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								echo  This product does not support HWID activation. 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								echo  Make sure you are using the latest version of the script. 
						 
					
						
							
								
									
										
										
										
											2025-02-13 17:40:49 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								echo  If you are, then try TSforge activation option from the main menu. 
						 
					
						
							
								
									
										
										
										
											2024-07-12 22:26:18 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								set  fixes = %fixes%  %mas%  
						 
					
						
							
								
									
										
										
										
											2023-09-30 20:24:15 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								echo  %mas%  
						 
					
						
							
								
									
										
										
										
											2024-07-16 11:31:13 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								) else (  
						 
					
						
							
								
									
										
										
										
											2024-08-20 17:15:06 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								echo  Required license files not found in %SysPath% \spp\tokens\skus\ 
						 
					
						
							
								
									
										
										
										
											2024-07-16 11:31:13 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								set  fixes = %fixes%  %mas% troubleshoot 
						 
					
						
							
								
									
										
										
										
											2025-03-15 21:34:40 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								call  : dk_color2  %Blue%  " Check this webpage for help -  "  %_Yellow%  "   %mas% troubleshoot "  
						 
					
						
							
								
									
										
										
										
											2024-07-16 11:31:13 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								)  
						 
					
						
							
								
									
										
										
										
											2022-11-07 20:33:01 +00:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								echo : 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								goto  dk_done  
						 
					
						
							
								
									
										
										
										
											2022-07-25 18:03:00 +00:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								)  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2023-03-16 18:11:04 +00:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								if  defined  notworking  set  error = 1 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2022-07-25 18:03:00 +00:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								: :========================================================================================================================================  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								: :  Install key  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								echo : 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								if  defined  changekey  (  
						 
					
						
							
								
									
										
										
										
											2024-08-20 17:15:06 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								call  : dk_color  %Blue%  " [ %altedition% ] edition product key will be used to enable HWID activation. "  
						 
					
						
							
								
									
										
										
										
											2022-07-25 18:03:00 +00:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								echo : 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								)  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2024-07-12 22:26:18 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								if  defined  winsub  (  
						 
					
						
							
								
									
										
										
										
											2024-08-20 17:15:06 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								call  : dk_color  %Blue%  " Windows Subscription [SKU ID- %slcSKU% ] detected. Script will activate base edition [SKU ID- %regSKU% ]. "  
						 
					
						
							
								
									
										
										
										
											2024-07-12 22:26:18 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								echo : 
						 
					
						
							
								
									
										
										
										
											2022-07-25 18:03:00 +00:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								)  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2024-07-12 22:26:18 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								call  : dk_inskey  " [ %key% ] "  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2022-07-25 18:03:00 +00:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								: :========================================================================================================================================  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2022-11-07 20:33:01 +00:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								: :  Change Windows region to USA to avoid activation issues as Windows store license is not available in many countries   
						 
					
						
							
								
									
										
										
										
											2022-07-25 18:03:00 +00:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2023-09-25 13:46:19 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								for  /f  " skip=2 tokens=2* "  %% a in  ( 'reg query "HKCU\Control Panel\International\Geo" /v Name  %nul6% ' )  do  set  " name= %% b "  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								for  /f  " skip=2 tokens=2* "  %% a in  ( 'reg query "HKCU\Control Panel\International\Geo" /v Nation  %nul6% ' )  do  set  " nation= %% b "  
						 
					
						
							
								
									
										
										
										
											2022-07-25 18:03:00 +00:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2022-11-07 20:33:01 +00:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								set  regionchange =  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								if  not  " %name% " == " US "  (  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								set  regionchange = 1 
						 
					
						
							
								
									
										
										
										
											2023-03-16 18:11:04 +00:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								%psc%  " Set-WinHomeLocation -GeoId 244 "  %nul%  
						 
					
						
							
								
									
										
										
										
											2022-11-07 20:33:01 +00:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								if  !errorlevel!  EQU  0 (  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								echo  Changing Windows Region To USA          [Successful] 
						 
					
						
							
								
									
										
										
										
											2022-07-25 18:03:00 +00:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								) else (  
						 
					
						
							
								
									
										
										
										
											2022-11-07 20:33:01 +00:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								call  : dk_color  %Red%  " Changing Windows Region To USA          [Failed] "  
						 
					
						
							
								
									
										
										
										
											2022-07-25 18:03:00 +00:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								)  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								)  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2022-11-07 20:33:01 +00:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								: :==========================================================================================================================================  
						 
					
						
							
								
									
										
										
										
											2022-07-25 18:03:00 +00:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2022-11-07 20:33:01 +00:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								: :  Generate GenuineTicket.xml and apply  
						 
					
						
							
								
									
										
										
										
											2023-03-16 18:11:04 +00:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								: :  In some cases clipup -v -o method fails and in some cases service restart method fails as well  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								: :  To maximize success rate and get better error details, script will install tickets two times (service restart + clipup -v -o)  
						 
					
						
							
								
									
										
										
										
											2022-07-25 18:03:00 +00:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2022-11-07 20:33:01 +00:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								set  " tdir= %ProgramData% \Microsoft\Windows\ClipSVC\GenuineTicket "  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								if  not  exist  " %tdir% \ "  md  " %tdir% \ "  %nul%  
						 
					
						
							
								
									
										
										
										
											2022-07-25 18:03:00 +00:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2022-11-07 20:33:01 +00:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								if  exist  " %tdir% \Genuine* "  del  /f /q " %tdir% \Genuine* "  %nul%  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								if  exist  " %tdir% \*.xml "  del  /f /q " %tdir% \*.xml "  %nul%  
						 
					
						
							
								
									
										
										
										
											2023-03-16 18:11:04 +00:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								if  exist  " %ProgramData% \Microsoft\Windows\ClipSVC\Install\Migration\* "  del  /f /q " %ProgramData% \Microsoft\Windows\ClipSVC\Install\Migration\* "  %nul%  
						 
					
						
							
								
									
										
										
										
											2022-07-25 18:03:00 +00:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2022-11-07 20:33:01 +00:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								call  : hwiddata  ticket 
						 
					
						
							
								
									
										
										
										
											2022-07-25 18:03:00 +00:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2022-11-07 20:33:01 +00:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								copy  /y /b " %tdir% \GenuineTicket "  " %tdir% \GenuineTicket.xml "  %nul%  
						 
					
						
							
								
									
										
										
										
											2022-07-25 18:03:00 +00:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2022-11-07 20:33:01 +00:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								if  not  exist  " %tdir% \GenuineTicket.xml "  (  
						 
					
						
							
								
									
										
										
										
											2024-08-20 17:15:06 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								call  : dk_color  %Red%  " Generating GenuineTicket.xml            [Failed, aborting...] "  
						 
					
						
							
								
									
										
										
										
											2022-11-07 20:33:01 +00:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								echo  [%encoded% ] 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								if  exist  " %tdir% \Genuine* "  del  /f /q " %tdir% \Genuine* "  %nul%  
						 
					
						
							
								
									
										
										
										
											2022-07-25 18:03:00 +00:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								goto  : dl_final  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								) else (  
						 
					
						
							
								
									
										
										
										
											2022-11-07 20:33:01 +00:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								echo  Generating GenuineTicket.xml            [Successful] 
						 
					
						
							
								
									
										
										
										
											2022-07-25 18:03:00 +00:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								)  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								set  " _xmlexist=if exist  " %tdir% \GenuineTicket.xml" "  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								%_xmlexist%  ( 
						 
					
						
							
								
									
										
										
										
											2024-11-03 03:01:56 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								%psc%  " Start-Job { Restart-Service ClipSVC } | Wait-Job -Timeout 20 | Out-Null "  
						 
					
						
							
								
									
										
										
										
											2022-07-25 18:03:00 +00:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								%_xmlexist%  timeout /t 2 %nul%  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								%_xmlexist%  timeout /t 2 %nul%  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								%_xmlexist%  ( 
						 
					
						
							
								
									
										
										
										
											2023-03-16 18:11:04 +00:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								set  error = 1 
						 
					
						
							
								
									
										
										
										
											2022-07-25 18:03:00 +00:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								if  exist  " %tdir% \*.xml "  del  /f /q " %tdir% \*.xml "  %nul%  
						 
					
						
							
								
									
										
										
										
											2024-09-29 22:29:35 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								call  : dk_color  %Gray%  " Installing GenuineTicket.xml            [Failed with ClipSVC service restart, wait...] "  
						 
					
						
							
								
									
										
										
										
											2022-07-25 18:03:00 +00:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								)  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								)  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2022-11-07 20:33:01 +00:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								copy  /y /b " %tdir% \GenuineTicket "  " %tdir% \GenuineTicket.xml "  %nul%  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								clipup -v -o
							 
						 
					
						
							
								
									
										
										
										
											2023-03-16 18:11:04 +00:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								set  rebuildinfo =  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2023-09-25 13:46:19 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								if  not  exist  %ProgramData% \Microsoft\Windows\ClipSVC\tokens.dat (  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								set  error = 1 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								set  rebuildinfo = 1 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								call  : dk_color  %Red%  " Checking ClipSVC tokens.dat             [Not Found] "  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								)  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2023-03-16 18:11:04 +00:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								%_xmlexist%  ( 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								set  error = 1 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								set  rebuildinfo = 1 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								call  : dk_color  %Red%  " Installing GenuineTicket.xml            [Failed With clipup -v -o] "  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								)  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								if  exist  " %ProgramData% \Microsoft\Windows\ClipSVC\Install\Migration\*.xml "  (  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								set  error = 1 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								set  rebuildinfo = 1 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								call  : dk_color  %Red%  " Checking Ticket Migration               [Failed] "  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								)  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2024-07-12 22:26:18 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								if  not  defined  altapplist  if  not  defined  showfix  if  defined  rebuildinfo  (  
						 
					
						
							
								
									
										
										
										
											2023-03-16 18:11:04 +00:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								set  showfix = 1 
						 
					
						
							
								
									
										
										
										
											2023-09-25 13:46:19 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								call  : dk_color  %Blue%  " %_fixmsg% "  
						 
					
						
							
								
									
										
										
										
											2023-03-16 18:11:04 +00:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								)  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2022-11-07 20:33:01 +00:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								if  exist  " %tdir% \Genuine* "  del  /f /q " %tdir% \Genuine* "  %nul%  
						 
					
						
							
								
									
										
										
										
											2022-07-25 18:03:00 +00:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								: :==========================================================================================================================================  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								call  : dk_product  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								echo : 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								echo  Activating... 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								call  : dk_act  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								call  : dk_checkperm  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								if  defined  _perm  (  
						 
					
						
							
								
									
										
										
										
											2023-03-16 18:11:04 +00:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								echo : 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								call  : dk_color  %Green%  " %winos%  is permanently activated with a digital license. "  
						 
					
						
							
								
									
										
										
										
											2022-07-25 18:03:00 +00:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								goto  : dl_final  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								)  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2023-09-25 13:46:19 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								: :==========================================================================================================================================  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2024-07-12 22:26:18 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								: :  Clear store ID related registry to fix activation if Internet is connected  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								set  " _ident=HKU\S-1-5-19\SOFTWARE\Microsoft\IdentityCRL "  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2025-02-01 15:48:21 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								if  %keyerror%  EQU  0 if  defined  _int  (  
						 
					
						
							
								
									
										
										
										
											2024-07-12 22:26:18 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								reg delete " %_ident% "  /f %nul% 
							 
						 
					
						
							
								
									
										
										
										
											2024-11-03 03:01:56 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								for  %% # in  ( wlidsvc LicenseManager sppsvc)  do  ( %psc%  " Start-Job { Restart-Service  %% # } | Wait-Job -Timeout 20 | Out-Null " )  
						 
					
						
							
								
									
										
										
										
											2024-07-12 22:26:18 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								call  : dk_refresh  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								call  : dk_act  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								call  : dk_checkperm  
						 
					
						
							
								
									
										
										
										
											2025-02-01 15:48:21 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								reg query " %_ident% "  %nul%  ||  ( 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								set  error = 1 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								echo : 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								call  : dk_color  %Red%  " Generating New IdentityCRL Registry     [Failed] [ %_ident% ] "  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								)  
						 
					
						
							
								
									
										
										
										
											2024-07-12 22:26:18 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								)  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								: :==========================================================================================================================================  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2023-03-16 18:11:04 +00:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								: :  Extended licensing servers tests incase error not found and activation failed  
						 
					
						
							
								
									
										
										
										
											2022-07-25 18:03:00 +00:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2024-07-12 22:26:18 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								if  %keyerror%  EQU  0 if  not  defined  _perm  if  defined  _int  (  
						 
					
						
							
								
									
										
										
										
											2023-03-16 18:11:04 +00:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								ipconfig /flushdns %nul% 
							 
						 
					
						
							
								
									
										
										
										
											2024-07-12 22:26:18 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								set  " tls=[Net.ServicePointManager]::SecurityProtocol=[Net.SecurityProtocolType]::Tls12; "  
						 
					
						
							
								
									
										
										
										
											2022-11-07 20:33:01 +00:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2023-03-16 18:11:04 +00:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								for  %% # in  (  
						 
					
						
							
								
									
										
										
										
											2025-02-02 12:43:28 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								licensing.mp.microsoft.com/v7.0/licenses/content
							 
						 
					
						
							
								
									
										
										
										
											2023-03-16 18:11:04 +00:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								login.live.com/ppsecure/deviceaddcredential.srf
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								purchase.mp.microsoft.com/v7.0/users/me/orders
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								) do if not defined resfail (  
						 
					
						
							
								
									
										
										
										
											2025-02-02 12:55:46 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								%psc%  " try { !tls! irm https:// %% # -Method POST } catch { if ($_.Exception.Response -eq $null) { Write-Host  " " " " [ %% #] $($_.Exception.Message) " " " "  -ForegroundColor Red -BackgroundColor Black; exit 3 } } "  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								if  !errorlevel! == 3 set  resfail = 1 
						 
					
						
							
								
									
										
										
										
											2023-03-16 18:11:04 +00:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								)  
						 
					
						
							
								
									
										
										
										
											2025-02-01 15:48:21 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								)  
						 
					
						
							
								
									
										
										
										
											2023-03-16 18:11:04 +00:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								if  defined  resfail  (  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								set  error = 1 
						 
					
						
							
								
									
										
										
										
											2025-02-01 15:48:21 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								for  %% # in  (  
						 
					
						
							
								
									
										
										
										
											2025-02-03 14:02:03 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								live.com
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								microsoft.com
							 
						 
					
						
							
								
									
										
										
										
											2025-02-01 15:48:21 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								login.live.com
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								purchase.mp.microsoft.com
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								licensing.mp.microsoft.com
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								) do (  
						 
					
						
							
								
									
										
										
										
											2025-02-03 14:02:03 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								findstr /i " %% # "  " %SysPath% \drivers\etc\hosts "  %nul1%  &&  set  " hosfail= [ %% # Blocked in Hosts] " 
							 
						 
					
						
							
								
									
										
										
										
											2025-02-01 15:48:21 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								)  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								call  : dk_color  %Red%  " Checking Licensing Servers              [Failed to Connect]!hosfail! "  
						 
					
						
							
								
									
										
										
										
											2024-07-12 22:26:18 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								set  fixes = %fixes%  %mas% licensing-servers-issue 
						 
					
						
							
								
									
										
										
										
											2025-03-15 21:34:40 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								call  : dk_color2  %Blue%  " Check this webpage for help -  "  %_Yellow%  "   %mas% licensing-servers-issue "  
						 
					
						
							
								
									
										
										
										
											2023-03-16 18:11:04 +00:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								)  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2023-09-25 13:46:19 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								: :==========================================================================================================================================  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2025-02-01 15:48:21 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								: :  Windows update and store block check  
						 
					
						
							
								
									
										
										
										
											2023-03-16 18:11:04 +00:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2025-02-01 15:48:21 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								if  %keyerror%  EQU  0 if  not  defined  _perm  if  defined  _int  (  
						 
					
						
							
								
									
										
										
										
											2022-11-07 20:33:01 +00:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2024-07-12 22:26:18 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								reg query " HKLM\SOFTWARE\Policies\Microsoft\Windows\WindowsUpdate "  /v DisableWindowsUpdateAccess %nul2%  |  find /i " 0x1 "  %nul%  &&  set  wublock = 1
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								reg query " HKLM\SOFTWARE\Policies\Microsoft\Windows\WindowsUpdate "  /v DoNotConnectToWindowsUpdateInternetLocations %nul2%  |  find /i " 0x1 "  %nul%  &&  set  wublock = 1
							 
						 
					
						
							
								
									
										
										
										
											2024-12-20 15:34:56 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								if  defined  wublock  (  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								call  : dk_color  %Red%  " Checking Update Blocker In Registry     [Found] "  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								call  : dk_color  %Blue%  " HWID activation needs working Windows updates, if you have used any tool to block updates, undo it. "  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								)  
						 
					
						
							
								
									
										
										
										
											2022-07-25 18:03:00 +00:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2024-07-12 22:26:18 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								reg query " HKLM\SOFTWARE\Policies\Microsoft\WindowsStore "  /v DisableStoreApps %nul2%  |  find /i " 0x1 "  %nul%  &&  ( 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								set  storeblock = 1 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								call  : dk_color  %Red%  " Checking Store Blocker In Registry      [Found] "  
						 
					
						
							
								
									
										
										
										
											2024-12-20 15:34:56 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								call  : dk_color  %Blue%  " If you have used any tool to block Store, undo it. "  
						 
					
						
							
								
									
										
										
										
											2024-07-12 22:26:18 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								)  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2024-12-20 15:34:56 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								set  wcount = 0 
						 
					
						
							
								
									
										
										
										
											2024-12-21 10:18:02 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								for  %% G in  ( DependOnService Description DisplayName ErrorControl ImagePath ObjectName Start Type ServiceSidType RequiredPrivileges FailureActions)  do  (  
						 
					
						
							
								
									
										
										
										
											2024-12-20 15:34:56 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								reg query HKLM\SYSTEM\CurrentControlSet\Services\wuauserv /v %% G %nul%  ||  ( set  wucorrupt = 1& set  /a  wcount += 1 ) 
							 
						 
					
						
							
								
									
										
										
										
											2024-07-12 22:26:18 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								)  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2024-12-21 10:18:02 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								for  %% G in  ( Parameters Security)  do  (  
						 
					
						
							
								
									
										
										
										
											2024-12-20 15:34:56 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								reg query HKLM\SYSTEM\CurrentControlSet\Services\wuauserv\%% G %nul%  ||  ( set  wucorrupt = 1& set  /a  wcount += 1 ) 
							 
						 
					
						
							
								
									
										
										
										
											2024-07-12 22:26:18 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								)  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								if  defined  wucorrupt  (  
						 
					
						
							
								
									
										
										
										
											2025-02-01 15:48:21 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								set  error = 1 
						 
					
						
							
								
									
										
										
										
											2024-07-12 22:26:18 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								call  : dk_color  %Red%  " Checking Windows Update Registry        [Corruption Found] "  
						 
					
						
							
								
									
										
										
										
											2024-12-20 15:34:56 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								if  !wcount!  GTR  2 (  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								call  : dk_color  %Red%  " Windows seems to be infected with Mal %w% ware. "  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								set  fixes = %fixes%  %mas% remove_mal%w% ware 
						 
					
						
							
								
									
										
										
										
											2025-03-15 21:34:40 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								call  : dk_color2  %Blue%  " Check this webpage for help -  "  %_Yellow%  "   %mas% remove_mal %w% ware "  
						 
					
						
							
								
									
										
										
										
											2024-12-20 15:34:56 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								) else (  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								call  : dk_color  %Blue%  " HWID activation needs working Windows updates, if you have used any tool to block updates, undo it. "  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								)  
						 
					
						
							
								
									
										
										
										
											2024-07-12 22:26:18 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								) else (  
						 
					
						
							
								
									
										
										
										
											2024-11-03 03:01:56 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								%psc%  " Start-Job { Start-Service wuauserv } | Wait-Job -Timeout 20 | Out-Null "  
						 
					
						
							
								
									
										
										
										
											2024-07-12 22:26:18 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								sc query wuauserv |  find /i " RUNNING "  %nul%  ||  ( 
							 
						 
					
						
							
								
									
										
										
										
											2025-02-01 15:48:21 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								set  error = 1 
						 
					
						
							
								
									
										
										
										
											2024-07-12 22:26:18 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								set  wuerror = 1 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								sc start wuauserv %nul% 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								call  : dk_color  %Red%  " Starting Windows Update Service         [Failed] [!errorlevel!] "  
						 
					
						
							
								
									
										
										
										
											2024-12-20 15:34:56 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								call  : dk_color  %Blue%  " HWID activation needs working Windows updates, if you have used any tool to block updates, undo it. "  
						 
					
						
							
								
									
										
										
										
											2024-07-12 22:26:18 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								)  
						 
					
						
							
								
									
										
										
										
											2022-11-07 20:33:01 +00:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								)  
						 
					
						
							
								
									
										
										
										
											2025-02-01 15:48:21 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								)  
						 
					
						
							
								
									
										
										
										
											2022-07-25 18:03:00 +00:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2025-02-01 15:48:21 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								: :==========================================================================================================================================  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								: :  Check Internet related error codes  
						 
					
						
							
								
									
										
										
										
											2023-09-25 13:46:19 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2025-02-01 15:48:21 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								if  %keyerror%  EQU  0 if  not  defined  _perm  if  defined  _int  (  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								if  not  defined  wucorrupt  if  not  defined  wublock  if  not  defined  wuerror  if  not  defined  storeblock  if  not  defined  resfail  (  
						 
					
						
							
								
									
										
										
										
											2024-07-12 22:26:18 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								echo  " %error_code% "  |  findstr /i " 0x80072e 0x80072f 0x800704cf 0x87e10bcf 0x800705b4 "  %nul%  &&  (  
						 
					
						
							
								
									
										
										
										
											2023-10-03 10:31:31 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								call  : dk_color  %Red%  " Checking Internet Issues                [Found]  %error_code% "  
						 
					
						
							
								
									
										
										
										
											2024-07-12 22:26:18 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								set  fixes = %fixes%  %mas% licensing-servers-issue 
						 
					
						
							
								
									
										
										
										
											2025-03-15 21:34:40 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								call  : dk_color2  %Blue%  " Check this webpage for help -  "  %_Yellow%  "   %mas% licensing-servers-issue "  
						 
					
						
							
								
									
										
										
										
											2024-07-12 22:26:18 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								)  
						 
					
						
							
								
									
										
										
										
											2023-09-25 13:46:19 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								)  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								)  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								: :==========================================================================================================================================  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2023-03-16 18:11:04 +00:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								echo : 
						 
					
						
							
								
									
										
										
										
											2022-07-25 18:03:00 +00:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								if  defined  _perm  (  
						 
					
						
							
								
									
										
										
										
											2023-03-16 18:11:04 +00:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								call  : dk_color  %Green%  " %winos%  is permanently activated with a digital license. "  
						 
					
						
							
								
									
										
										
										
											2022-07-25 18:03:00 +00:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								) else (  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								call  : dk_color  %Red%  " Activation Failed  %error_code% "  
						 
					
						
							
								
									
										
										
										
											2022-11-07 20:33:01 +00:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								if  defined  notworking  (  
						 
					
						
							
								
									
										
										
										
											2024-08-20 17:15:06 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								call  : dk_color  %Blue%  " At the time of writing, HWID Activation is not supported for this product. "  
						 
					
						
							
								
									
										
										
										
											2025-02-13 17:40:49 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								call  : dk_color  %Blue%  " Use TSforge activation option from the main menu instead. "  
						 
					
						
							
								
									
										
										
										
											2022-11-07 20:33:01 +00:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								) else (  
						 
					
						
							
								
									
										
										
										
											2023-10-03 10:31:31 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								if  not  defined  error  call  : dk_color  %Blue%  " %_fixmsg% "  
						 
					
						
							
								
									
										
										
										
											2024-07-12 22:26:18 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								set  fixes = %fixes%  %mas% troubleshoot 
						 
					
						
							
								
									
										
										
										
											2025-03-15 21:34:40 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								call  : dk_color2  %Blue%  " Check this webpage for help -  "  %_Yellow%  "   %mas% troubleshoot "  
						 
					
						
							
								
									
										
										
										
											2022-11-07 20:33:01 +00:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								)  
						 
					
						
							
								
									
										
										
										
											2022-07-25 18:03:00 +00:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								)  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								: :========================================================================================================================================  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								: dl_final  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								echo : 
						 
					
						
							
								
									
										
										
										
											2022-11-07 20:33:01 +00:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								if  defined  regionchange  (  
						 
					
						
							
								
									
										
										
										
											2023-03-16 18:11:04 +00:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								%psc%  " Set-WinHomeLocation -GeoId  %nation% "  %nul%  
						 
					
						
							
								
									
										
										
										
											2022-11-07 20:33:01 +00:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								if  !errorlevel!  EQU  0 (  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								echo  Restoring Windows Region                [Successful] 
						 
					
						
							
								
									
										
										
										
											2022-07-25 18:03:00 +00:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								) else (  
						 
					
						
							
								
									
										
										
										
											2023-03-16 18:11:04 +00:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								call  : dk_color  %Red%  " Restoring Windows Region                [Failed] [ %name%  -  %nation% ] "  
						 
					
						
							
								
									
										
										
										
											2022-07-25 18:03:00 +00:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								)  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								)  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2024-07-12 22:26:18 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								REM if %osSKU%==175 call :dk_color %Red% "%winos% does not support activation on non-azure platforms."  
						 
					
						
							
								
									
										
										
										
											2022-07-25 18:03:00 +00:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2024-07-12 22:26:18 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								: :  Trigger reevaluation of SPP's Scheduled Tasks  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								if  defined  _perm  (  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								call  : dk_reeval  %nul%  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								)  
						 
					
						
							
								
									
										
										
										
											2022-07-25 18:03:00 +00:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								goto  : dk_done  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								: :========================================================================================================================================  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2024-07-12 22:26:18 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								: :  Set variables  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								: dk_setvar  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2025-04-12 22:15:34 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								set  psc = powershell.exe -nop -c 
						 
					
						
							
								
									
										
										
										
											2024-07-12 22:26:18 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								set  winbuild = 1 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								for  /f  " tokens=6 delims=[].  "  %% G in  ( 'ver' )  do  set  winbuild = %% G 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								set  _NCS = 1 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								if  %winbuild%  LSS  10586 set  _NCS = 0 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								if  %winbuild%  GEQ  10586 reg query " HKCU\Console "  /v ForceV2 %nul2%  |  find /i " 0x0 "  %nul1%  &&  ( set  _NCS = 0)  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2024-10-30 04:59:31 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								echo  " %PROCESSOR_ARCHITECTURE%   %PROCESSOR_ARCHITEW6432% "  |  find /i " ARM64 "  %nul1%  &&  ( if  %winbuild%  LSS  21277 set  ps32onArm = 1)  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2024-07-12 22:26:18 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								if  %_NCS%  EQU  1 (  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								for  /F  %% a in  ( 'echo prompt $E ^| cmd' )  do  set  " esc= %% a "  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								set      " Red= " 41;97m" "  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								set     " Gray= " 100;97m" "  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								set    " Green= " 42;97m" "  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								set     " Blue= " 44;97m" "  
						 
					
						
							
								
									
										
										
										
											2024-11-07 23:51:08 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								set    " White= " 107;91m" "  
						 
					
						
							
								
									
										
										
										
											2024-07-28 01:26:54 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								set     " _Red= " 40;91m" "  
						 
					
						
							
								
									
										
										
										
											2024-07-12 22:26:18 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								set   " _White= " 40;37m" "  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								set   " _Green= " 40;92m" "  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								set  " _Yellow= " 40;93m" "  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								) else (  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								set      " Red= " Red"   " white" "  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								set     " Gray= " Darkgray"   " white" "  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								set    " Green= " DarkGreen"   " white" "  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								set     " Blue= " Blue"   " white" "  
						 
					
						
							
								
									
										
										
										
											2024-11-08 14:40:19 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								set    " White= " White"   " Red" "  
						 
					
						
							
								
									
										
										
										
											2024-07-28 01:26:54 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								set     " _Red= " Black"   " Red" "  
						 
					
						
							
								
									
										
										
										
											2024-07-12 22:26:18 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								set   " _White= " Black"   " Gray" "  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								set   " _Green= " Black"   " Green" "  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								set  " _Yellow= " Black"   " Yellow" "  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								)  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								set  " nceline=echo: &echo ==== ERROR ==== &echo: "  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								set  " eline=echo: &call :dk_color  %Red%   " ==== ERROR ===="  &echo: "  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								if  %~z0  GEQ  200000 (  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								set  " _exitmsg=Go back "  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								set  " _fixmsg=Go back to Main Menu, select Troubleshoot and run Fix Licensing option. "  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								) else (  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								set  " _exitmsg=Exit "  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								set  " _fixmsg=In MAS folder, run Troubleshoot script and select Fix Licensing option. "  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								)  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								exit  /b 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								: :  Show OS info  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								: dk_showosinfo  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								for  /f  " skip=2 tokens=2* "  %% a in  ( 'reg query "HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\Environment" /v PROCESSOR_ARCHITECTURE' )  do  set  osarch = %% b 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								for  /f  " tokens=6-7 delims=[].  "  %% i in  ( 'ver' )  do  if  not  " %% j " == " "  (  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								set  fullbuild = %% i.%% j 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								) else (  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								for  /f  " tokens=3 "  %% G in  ( '"reg query "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion" /v UBR"  %nul6% ' )  do  if  not  errorlevel  1  set  /a  " UBR= %% G "  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								for  /f  " skip=2 tokens=3,4 delims=.  "  %% G in  ( 'reg query "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion" /v BuildLabEx' )  do  (  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								if  defined  UBR  ( set  " fullbuild= %% G.!UBR! " )  else  ( set  " fullbuild= %% G. %% H " )  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								)  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								)  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								echo  Checking OS Info                        [%winos%  ^|  %fullbuild%  ^|  %osarch% ] 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								exit  /b 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2023-11-15 21:03:20 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								: :  Check SKU value  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								: dk_checksku  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2024-07-12 22:26:18 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								call  : dk_reflection  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2023-11-15 21:03:20 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								set  osSKU =  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								set  slcSKU =  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								set  wmiSKU =  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								set  regSKU =  
						 
					
						
							
								
									
										
										
										
											2024-07-12 22:26:18 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								set  winsub =  
						 
					
						
							
								
									
										
										
										
											2023-11-15 21:03:20 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								if  %winbuild%  GEQ  14393 ( set  info = Kernel-BrandingInfo)  else  ( set  info = Kernel-ProductInfo)  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								set  d1 = %ref%  [void]$TypeBuilder.DefinePInvokeMethod('SLGetWindowsInformationDWORD', 'slc.dll', 'Public, Static', 1, [int], @([String], [int].MakeByRefType()), 1, 3); 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								set  d1 = %d1%  $Sku = 0; [void]$TypeBuilder.CreateType()::SLGetWindowsInformationDWORD('%info% ', [ref]$Sku); $Sku 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								for  /f  " delims= "  %% s in  ( '" %psc%   %d1% "' )  do  if  not  errorlevel  1  ( set  slcSKU = %% s)  
						 
					
						
							
								
									
										
										
										
											2024-07-12 22:26:18 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								set  slcSKU = %slcSKU: =%  
						 
					
						
							
								
									
										
										
										
											2023-11-15 21:03:20 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								if  " %slcSKU% " == " 0 "  set  slcSKU =  
						 
					
						
							
								
									
										
										
										
											2024-07-12 22:26:18 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								for  /f  " tokens=* delims=0123456789 "  %% a in  ( " %slcSKU% " )  do  ( if  not  " [ %% a] " == " [] "  set  slcSKU = )  
						 
					
						
							
								
									
										
										
										
											2023-11-15 21:03:20 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								for  /f  " tokens=3 delims=. "  %% a in  ( 'reg query "HKLM\SYSTEM\CurrentControlSet\Control\ProductOptions" /v OSProductPfn  %nul6% ' )  do  set  " regSKU= %% a "  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								if  %_wmic%  EQU  1 for  /f  " tokens=2 delims== "  %% a in  ( '"wmic Path Win32_OperatingSystem Get OperatingSystemSKU /format:LIST"  %nul6% ' )  do  if  not  errorlevel  1  set  " wmiSKU= %% a "  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								if  %_wmic%  EQU  0 for  /f  " tokens=1 "  %% a in  ( ' %psc%  "([WMI]'Win32_OperatingSystem=@' ) .OperatingSystemSKU"   %nul6% ') do if not errorlevel 1 set  " wmiSKU=%% a"  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2024-07-12 22:26:18 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								if  %winbuild%  GEQ  15063 %psc%  " $f=[io.file]::ReadAllText('!_batp!') -split ':winsubstatus\:.*';iex ($f[1]) "  %nul2%  |  find /i " Subscription_is_activated "  %nul%  &&  (  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								if  defined  regSKU  if  defined  slcSKU  if  not  " %regSKU% " == " %slcSKU% "  (  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								set  winsub = 1 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								set  osSKU = %regSKU%  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								)  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								)  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								if  not  defined  osSKU  set  osSKU = %slcSKU%  
						 
					
						
							
								
									
										
										
										
											2023-11-15 21:03:20 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								if  not  defined  osSKU  set  osSKU = %wmiSKU%  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								if  not  defined  osSKU  set  osSKU = %regSKU%  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								exit  /b 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2024-07-12 22:26:18 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								: :  Get Windows Subscription status  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								: winsubstatus :  
						 
					
						
							
								
									
										
										
										
											2024-07-12 22:48:44 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								$DM = [AppDomain]::CurrentDomain.DefineDynamicAssembly(6, 1).DefineDynamicModule(4).DefineType(2)
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								[void]$DM.DefinePInvokeMethod('ClipGetSubscriptionStatus', 'Clipc.dll', 22, 1, [Int32], @([IntPtr].MakeByRefType()), 1, 3).SetImplementationFlags(128)
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								$m = [System.Runtime.InteropServices.Marshal]
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								$p = $m::AllocHGlobal(12)
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								$r = $DM.CreateType()::ClipGetSubscriptionStatus([ref]$p)
							 
						 
					
						
							
								
									
										
										
										
											2024-07-12 22:26:18 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								if    - e q   0 )   {  
						 
					
						
							
								
									
										
										
										
											2024-07-12 22:48:44 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								  $enabled = $m::ReadInt32($p)
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  if    - g e   1 )   { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    $state = $m::ReadInt32($p, 8)
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    if    - e q   1 )   { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        " Subscription_is_activated. " 
							 
						 
					
						
							
								
									
										
										
										
											2024-07-12 22:26:18 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    }
							 
						 
					
						
							
								
									
										
										
										
											2024-07-12 22:48:44 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								  }
							 
						 
					
						
							
								
									
										
										
										
											2024-07-12 22:26:18 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								}
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								: winsubstatus :  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2022-07-25 18:03:00 +00:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								: :  Get Windows permanent activation status  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								: dk_checkperm  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2024-07-12 22:26:18 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								if  %_wmic%  EQU  1 wmic path %spp%  where (LicenseStatus='1' and GracePeriodRemaining='0' and PartialProductKey is not NULL AND LicenseDependsOn is NULL) get Name /value %nul2%  |  findstr /i " Windows "  %nul1%  &&  set  _perm = 1|| set  _perm =  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								if  %_wmic%  EQU  0 %psc%  " (([WMISEARCHER]'SELECT Name FROM  %spp%  WHERE LicenseStatus=1 AND GracePeriodRemaining=0 AND PartialProductKey IS NOT NULL AND LicenseDependsOn is NULL').Get()).Name |  %%  {echo ('Name='+$_)} "  %nul2%  |  findstr /i " Windows "  %nul1%  &&  set  _perm = 1|| set  _perm =  
						 
					
						
							
								
									
										
										
										
											2022-07-25 18:03:00 +00:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								exit  /b 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								: :  Refresh license status  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								: dk_refresh  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2024-07-12 22:26:18 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								if  %_wmic%  EQU  1 wmic path %sps%  where __CLASS='%sps% ' call RefreshLicenseStatus %nul%  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								if  %_wmic%  EQU  0 %psc%  " $null=(([WMICLASS]' %sps% ').GetInstances()).RefreshLicenseStatus() "  %nul%  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								exit  /b 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								: :  Install Key  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								: dk_inskey  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								if  %_wmic%  EQU  1 wmic path %sps%  where __CLASS='%sps% ' call InstallProductKey ProductKey=" %key% "  %nul%  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								if  %_wmic%  EQU  0 %psc%  " try { $null=(([WMISEARCHER]'SELECT Version FROM  %sps% ').Get()).InstallProductKey(' %key% '); exit 0 } catch { exit $_.Exception.InnerException.HResult } "  %nul%  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								set  keyerror = %errorlevel%  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								cmd /c exit /b %keyerror% 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								if  %keyerror%  NEQ  0 set  " keyerror=[0x %=ExitCode% ] "  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								if  %keyerror%  EQU  0 (  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								if  %sps% == SoftwareLicensingService call  : dk_refresh  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								echo  Installing Generic Product Key          %~1  [Successful] 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								) else (  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								call  : dk_color  %Red%  " Installing Generic Product Key           %~1  [Failed]  %keyerror% "  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								if  not  defined  error  (  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								if  defined  altapplist  call  : dk_color  %Red%  " Activation ID not found for this key. "  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								call  : dk_color  %Blue%  " %_fixmsg% "  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								set  showfix = 1 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								)  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								set  error = 1 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								)  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2022-07-25 18:03:00 +00:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								exit  /b 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								: :  Activation command  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								: dk_act  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								set  error_code =  
						 
					
						
							
								
									
										
										
										
											2024-07-12 22:26:18 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								if  %_wmic%  EQU  1 wmic path %spp%  where " ApplicationID='55c92734-d682-4d71-983e-d6ec3f16059f' AND PartialProductKey IS NOT NULL AND LicenseDependsOn is NULL "  call Activate %nul%  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								if  %_wmic%  EQU  0 %psc%  " try {$null=(([WMISEARCHER]'SELECT ID FROM  %spp%  WHERE ApplicationID=''55c92734-d682-4d71-983e-d6ec3f16059f'' AND PartialProductKey IS NOT NULL AND LicenseDependsOn is NULL').Get()).Activate(); exit 0} catch { exit $_.Exception.InnerException.HResult } "  %nul%  
						 
					
						
							
								
									
										
										
										
											2022-07-25 18:03:00 +00:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								set  error_code = %errorlevel%  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								cmd /c exit /b %error_code% 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								if  %error_code%  NEQ  0 ( set  " error_code=[Error Code: 0x %=ExitCode% ] " )  else  ( set  error_code = )  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								exit  /b 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2024-07-12 22:26:18 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								: :  Get all products Activation IDs  
						 
					
						
							
								
									
										
										
										
											2022-07-25 18:03:00 +00:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								: dk_actids  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2024-07-12 22:26:18 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								set  allapps =  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								if  %_wmic%  EQU  1 set  " chkapp=for /f  " tokens=2 delims=="   %% a in (' " wmic path %spp%  where (ApplicationID='%1 ') get ID /VALUE"   %nul6% ') "  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								if  %_wmic%  EQU  0 set  " chkapp=for /f  " tokens=2 delims=="   %% a in (' %psc%   " (([WMISEARCHER]'SELECT ID FROM %spp%  WHERE ApplicationID=''%1 ''').Get()).ID ^|  %%  {echo ('ID='+$_)}"   %nul6% ') "  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								%chkapp%  do (if defined allapps (call set " allapps=!allapps!  %% a " ) else (call set " allapps= %% a " )) 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								exit  /b 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								: :  Get installed products Activation IDs  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								: dk_actid  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								set  apps =  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								if  %_wmic%  EQU  1 set  " chkapp=for /f  " tokens=2 delims=="   %% a in (' " wmic path %spp%  where (ApplicationID='%1 ' and PartialProductKey is not null) get ID /VALUE"   %nul6% ') "  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								if  %_wmic%  EQU  0 set  " chkapp=for /f  " tokens=2 delims=="   %% a in (' %psc%   " (([WMISEARCHER]'SELECT ID FROM %spp%  WHERE ApplicationID=''%1 '' AND PartialProductKey IS NOT NULL').Get()).ID ^|  %%  {echo ('ID='+$_)}"   %nul6% ') "  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								%chkapp%  do (if defined apps (call set " apps=!apps!  %% a " ) else (call set " apps= %% a " )) 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								exit  /b 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								: :  Trigger reevaluation, it helps in updating SPP tasks  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								: dk_reeval  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								: :  This key is left by the system in rearm process and sppsvc sometimes fails to delete it, it causes issues in working of the Scheduled Tasks of SPP  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								set  " ruleskey=HKU\S-1-5-20\Software\Microsoft\Windows NT\CurrentVersion\SoftwareProtectionPlatform\PersistedSystemState "  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								reg delete " %ruleskey% "  /v " State "  /f %nul% 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								reg delete " %ruleskey% "  /v " SuppressRulesEngine "  /f %nul% 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								set  r1 = $TB = [AppDomain]::CurrentDomain.DefineDynamicAssembly(4, 1).DefineDynamicModule(2, $False).DefineType(0); 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								set  r2 = %r1%  [void]$TB.DefinePInvokeMethod('SLpTriggerServiceWorker', 'sppc.dll', 22, 1, [Int32], @([UInt32], [IntPtr], [String], [UInt32]), 1, 3); 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								set  d1 = %r2%  [void]$TB.CreateType()::SLpTriggerServiceWorker(0, 0, 'reeval', 0) 
						 
					
						
							
								
									
										
										
										
											2024-11-03 03:01:56 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								%psc%  " Start-Job { Stop-Service sppsvc -force } | Wait-Job -Timeout 20 | Out-Null;  %d1% "  
						 
					
						
							
								
									
										
										
										
											2022-07-25 18:03:00 +00:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								exit  /b 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2023-09-25 13:46:19 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								: :  Get Activation IDs from licensing files if not found through WMI  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								: getactivationid :  
						 
					
						
							
								
									
										
										
										
											2024-07-12 22:26:18 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								$folderPath = " $env:SysPath\spp\tokens\skus " 
							 
						 
					
						
							
								
									
										
										
										
											2023-09-25 13:46:19 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								$files = Get-ChildItem -Path $folderPath -Recurse -Filter " *.xrm-ms " 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								$guids = @()
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								foreach ($file in $files) {
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    $content = Get-Content -Path $file.FullName -Raw
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    $matches = [regex]::Matches($content, 'name=" productSkuId " > \{([0-9a-fA-F\-]+)\}')
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    foreach ($match in $matches) {
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        $guids += $match.Groups[1].Value
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    }
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								}
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								$guids = $guids |  Select-Object -Unique
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								$guidsString = $guids -join "   " 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								$guidsString
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								: getactivationid :  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2024-07-12 22:26:18 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								: :  Install License files using Powershell/WMI instead of slmgr.vbs  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								: xrm :  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								function InstallLicenseFile($Lsc) {
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    try {
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        $null = $sls.InstallLicense([IO.File]::ReadAllText($Lsc))
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    } catch {
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        $host.SetShouldExit($_.Exception.HResult)
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    }
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								}
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								function InstallLicenseArr($Str) {
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    $a = $Str -split ';'
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ForEach ($x in $a) {InstallLicenseFile " $x " }
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								}
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								function InstallLicenseDir($Loc) {
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    dir  $Loc *.xrm-ms -af -s |  select -expand FullName |  % {InstallLicenseFile " $_ " }
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								}
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								function ReinstallLicenses() {
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    $Oem = " $env:SysPath\oem " 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    $Spp = " $env:SysPath\spp\tokens " 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    InstallLicenseDir " $Spp " 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    If    $ O e m )   { I n s t a l l L i c e n s e D i r   " $ O e m " } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								}
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								: xrm :  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2023-03-16 18:11:04 +00:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								: :  Check wmic.exe  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								: dk_ckeckwmic  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								set  _wmic = 0 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								for  %% # in  ( wmic.exe)  do  @ if  not  " %% ~$PATH:# " == " "  (  
						 
					
						
							
								
									
										
										
										
											2024-08-19 00:47:15 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								cmd /c " wmic path Win32_ComputerSystem get CreationClassName /value "  %nul2%  |  find /i " computersystem "  %nul1%  &&  set  _wmic = 1
							 
						 
					
						
							
								
									
										
										
										
											2023-03-16 18:11:04 +00:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								)  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								exit  /b 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2024-07-12 22:26:18 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								: :  Show info for potential script stuck scenario  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								: dk_sppissue  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								sc start sppsvc %nul% 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								set  spperror = %errorlevel%  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								if  %spperror%  NEQ  1056 if  %spperror%  NEQ  0 (  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								%eline%  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								echo  sc start sppsvc [Error Code: %spperror% ] 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								)  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								echo : 
						 
					
						
							
								
									
										
										
										
											2025-03-15 21:34:40 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								%psc%  " $job = Start-Job { (Get-WmiObject -Query 'SELECT * FROM  %sps% ').Version }; if (-not (Wait-Job $job -Timeout 30)) {write-host 'sppsvc is not working correctly. Check this webpage for help -  %mas% troubleshoot'} "  
						 
					
						
							
								
									
										
										
										
											2024-07-12 22:26:18 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								exit  /b 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2022-07-25 18:03:00 +00:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								: :  Get Product name (WMI/REG methods are not reliable in all conditions, hence winbrand.dll method is used)  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								: dk_product  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2023-03-16 18:11:04 +00:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								set  d1 = %ref%  $meth = $TypeBuilder.DefinePInvokeMethod('BrandingFormatString', 'winbrand.dll', 'Public, Static', 1, [String], @([String]), 1, 3); 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								set  d1 = %d1%  $meth.SetImplementationFlags(128); $TypeBuilder.CreateType()::BrandingFormatString('%% WINDOWS_LONG%% ') 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2022-07-25 18:03:00 +00:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								set  winos =  
						 
					
						
							
								
									
										
										
										
											2023-03-16 18:11:04 +00:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								for  /f  " delims= "  %% s in  ( '" %psc%   %d1% "' )  do  if  not  errorlevel  1  ( set  winos = %% s)  
						 
					
						
							
								
									
										
										
										
											2023-09-25 13:46:19 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								echo  " %winos% "  |  find /i " Windows "  %nul1%  ||  (  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								for  /f  " skip=2 tokens=2* "  %% a in  ( 'reg query "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion" /v ProductName  %nul6% ' )  do  set  " winos= %% b "  
						 
					
						
							
								
									
										
										
										
											2022-07-25 18:03:00 +00:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								if  %winbuild%  GEQ  22000 (  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								set  winos = !winos:Windows 10=Windows 11!  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								)  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								)  
						 
					
						
							
								
									
										
										
										
											2024-07-12 22:26:18 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								if  not  defined  winsub  exit  /b 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								: :  Check base edition product name if Windows subscription license is found  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								for  %% # in  ( pkeyhelper.dll)  do  @ if  " %% ~$PATH:# " == " "  exit  /b 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								set  d1 = %ref%  [void]$TypeBuilder.DefinePInvokeMethod('GetEditionNameFromId', 'pkeyhelper.dll', 'Public, Static', 1, [int], @([int], [IntPtr].MakeByRefType()), 1, 3); 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								set  d1 = %d1%  $out = 0; [void]$TypeBuilder.CreateType()::GetEditionNameFromId(%regSKU% , [ref]$out);$s=[Runtime.InteropServices.Marshal]::PtrToStringUni($out); $s 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								for  /f  %% a in  ( ' %psc%  " %d1% "' )  do  if  not  errorlevel  1  (  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								if  %winbuild%  GEQ  22000 (  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								set  winos = Windows 11 %% a 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								) else (  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								set  winos = Windows 10 %% a 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								)  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								)  
						 
					
						
							
								
									
										
										
										
											2022-07-25 18:03:00 +00:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								exit  /b 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2023-03-16 18:11:04 +00:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								: :  Common lines used in PowerShell reflection code  
						 
					
						
							
								
									
										
										
										
											2022-07-25 18:03:00 +00:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2023-03-16 18:11:04 +00:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								: dk_reflection  
						 
					
						
							
								
									
										
										
										
											2022-07-25 18:03:00 +00:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2023-03-16 18:11:04 +00:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								set  ref = $AssemblyBuilder = [AppDomain]::CurrentDomain.DefineDynamicAssembly(4, 1); 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								set  ref = %ref%  $ModuleBuilder = $AssemblyBuilder.DefineDynamicModule(2, $False); 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								set  ref = %ref%  $TypeBuilder = $ModuleBuilder.DefineType(0); 
						 
					
						
							
								
									
										
										
										
											2022-07-25 18:03:00 +00:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								exit  /b 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2022-11-07 20:33:01 +00:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								: :========================================================================================================================================  
						 
					
						
							
								
									
										
										
										
											2022-07-25 18:03:00 +00:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2024-07-13 20:59:11 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								: dk_chkmal  
						 
					
						
							
								
									
										
										
										
											2023-09-25 13:46:19 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2024-07-12 22:26:18 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								: :  Many users unknowingly download mal-ware by using activators found through Google search.  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								: :  This code aims to notify users that their system has been affected by mal-ware.  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2024-07-13 20:59:11 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								set  w =  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								set  results =  
						 
					
						
							
								
									
										
										
										
											2024-11-08 16:46:51 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								if  exist  " %ProgramFiles% \KM %w% Spico "  set  pupfound =  KM%w% Spico  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								if  not  defined  pupfound  (  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								reg query " HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Schedule\taskcache\tasks "  /f Path /s |  find /i " AutoPico "  %nul%  &&  set  pupfound =  KM%w% Spico 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								)  
						 
					
						
							
								
									
										
										
										
											2024-07-12 22:26:18 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								set  hcount = 0 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								for  %% # in  ( avira.com kaspersky.com virustotal.com mcafee.com)  do  (  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								find /i " %% # "  %SysPath% \drivers\etc\hosts %nul%  &&  set  /a  hcount += 1 ) 
							 
						 
					
						
							
								
									
										
										
										
											2024-08-20 17:15:06 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								if  %hcount% == 4 set  " results=[Antivirus URLs are blocked in hosts] "  
						 
					
						
							
								
									
										
										
										
											2024-07-12 22:26:18 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								sc start sppsvc %nul% 
							 
						 
					
						
							
								
									
										
										
										
											2024-08-15 21:33:12 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								echo  " %errorlevel% "  |  findstr " 577 225 "  %nul%  &&  (  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								set  " results= %results% [Likely File Infector] "  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								) || (  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								if  not  exist  %SysPath% \sppsvc.exe if  not  exist  %SysPath% \alg.exe ( set  " results= %results% [Likely File Infector] " )  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								)  
						 
					
						
							
								
									
										
										
										
											2024-07-12 22:26:18 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								if  not  " %results% %pupfound% " == " "  (  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								if  defined  pupfound  call  : dk_color  %Gray%  " Checking PUP Activators                 [Found %pupfound% ] "  
						 
					
						
							
								
									
										
										
										
											2024-08-20 17:15:06 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								if  defined  results  call  : dk_color  %Red%  " Checking Probable Mal %w% ware Infection... "  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								if  defined  results  call  : dk_color  %Red%  " %results% "  
						 
					
						
							
								
									
										
										
										
											2024-07-12 22:26:18 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								set  fixes = %fixes%  %mas% remove_mal%w% ware 
						 
					
						
							
								
									
										
										
										
											2025-03-15 21:34:40 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								call  : dk_color2  %Blue%  " Check this webpage for help -  "  %_Yellow%  "   %mas% remove_mal %w% ware "  
						 
					
						
							
								
									
										
										
										
											2024-07-12 22:26:18 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								echo : 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								)  
						 
					
						
							
								
									
										
										
										
											2024-11-08 16:46:51 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								: :  Remove the scheduled task of R@1n-KMS (old version) that runs the activation command every minute, as it leads to high CPU usage.  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								if  exist  %SysPath% \Tasks\R@1n-KMS (  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								for  /f  %% A in  ( 'dir /b /a:-d  %SysPath% \Tasks\R@1n-KMS  %nul6% ' )  do  ( schtasks /delete /tn \R@1n-KMS\%% A /f %nul% )  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								)  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2024-07-13 20:59:11 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								exit  /b 
						 
					
						
							
								
									
										
										
										
											2024-07-12 22:26:18 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								: :========================================================================================================================================  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2024-07-13 20:59:11 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								: dk_errorcheck  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								set  showfix =  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								call  : dk_chkmal  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2024-07-20 23:01:33 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								: :  Check Sandboxing  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								sc query Null %nul%  ||  ( 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								set  error = 1 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								set  showfix = 1 
						 
					
						
							
								
									
										
										
										
											2024-08-20 17:15:06 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								call  : dk_color  %Red%  " Checking Sandboxing                     [Found, script may not work properly.] "  
						 
					
						
							
								
									
										
										
										
											2024-07-20 23:01:33 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								call  : dk_color  %Blue%  " If you are using any third-party antivirus, check if it is blocking the script. "  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								echo : 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								)  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								: :========================================================================================================================================  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2023-09-25 13:46:19 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								: :  Check corrupt services  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								set  serv_cor =  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								for  %% # in  ( %_serv% )  do  (  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								set  _corrupt =  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								sc start %% # %nul% 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								if  !errorlevel!  EQU  1060 set  _corrupt = 1 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								sc query %% # %nul%  ||  set  _corrupt = 1
							 
						 
					
						
							
								
									
										
										
										
											2023-11-15 21:03:20 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								for  %% G in  ( DependOnService Description DisplayName ErrorControl ImagePath ObjectName Start Type)  do  if  not  defined  _corrupt  (  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								reg query HKLM\SYSTEM\CurrentControlSet\Services\%% # /v %% G %nul%  ||  set  _corrupt = 1
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								)  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2023-09-25 13:46:19 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								if  defined  _corrupt  ( if  defined  serv_cor  ( set  " serv_cor=!serv_cor!  %% # " )  else  ( set  " serv_cor= %% # " ) )  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								)  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								if  defined  serv_cor  (  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								set  error = 1 
						 
					
						
							
								
									
										
										
										
											2024-08-14 01:14:43 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								set  showfix = 1 
						 
					
						
							
								
									
										
										
										
											2023-09-25 13:46:19 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								call  : dk_color  %Red%  " Checking Corrupt Services               [ %serv_cor% ] "  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								)  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								: :========================================================================================================================================  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2022-11-07 20:33:01 +00:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								: :  Check disabled services  
						 
					
						
							
								
									
										
										
										
											2022-07-25 18:03:00 +00:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2022-11-07 20:33:01 +00:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								set  serv_ste =  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								for  %% # in  ( %_serv% )  do  (  
						 
					
						
							
								
									
										
										
										
											2023-03-16 18:11:04 +00:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								sc start %% # %nul% 
							 
						 
					
						
							
								
									
										
										
										
											2023-09-25 13:46:19 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								if  !errorlevel!  EQU  1058 ( if  defined  serv_ste  ( set  " serv_ste=!serv_ste!  %% # " )  else  ( set  " serv_ste= %% # " ) )  
						 
					
						
							
								
									
										
										
										
											2022-07-25 18:03:00 +00:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								)  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2022-11-07 20:33:01 +00:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								: :  Change disabled services startup type to default  
						 
					
						
							
								
									
										
										
										
											2022-07-25 18:03:00 +00:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2022-11-07 20:33:01 +00:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								set  serv_csts =  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								set  serv_cste =  
						 
					
						
							
								
									
										
										
										
											2022-07-25 18:03:00 +00:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2022-11-07 20:33:01 +00:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								if  defined  serv_ste  (  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								for  %% # in  ( %serv_ste% )  do  (  
						 
					
						
							
								
									
										
										
										
											2023-11-15 21:03:20 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								if  /i  %% #== ClipSVC          ( reg add " HKLM\SYSTEM\CurrentControlSet\Services\ %% # "  /v " Start "  /t REG_DWORD /d " 3 "  /f %nul%  &  sc config %% # start= demand %nul% )  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								if  /i  %% #== wlidsvc          sc config %% # start= demand %nul%  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								if  /i  %% #== sppsvc           ( reg add " HKLM\SYSTEM\CurrentControlSet\Services\ %% # "  /v " Start "  /t REG_DWORD /d " 2 "  /f %nul%  &  sc config %% # start= delayed-auto %nul% )  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								if  /i  %% #== KeyIso           sc config %% # start= demand %nul%  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								if  /i  %% #== LicenseManager   sc config %% # start= demand %nul%  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								if  /i  %% #== Winmgmt          sc config %% # start= auto %nul%  
						 
					
						
							
								
									
										
										
										
											2022-11-07 20:33:01 +00:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								if  !errorlevel! == 0 (  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								if  defined  serv_csts  ( set  " serv_csts=!serv_csts!  %% # " )  else  ( set  " serv_csts= %% # " )  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								) else (  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								if  defined  serv_cste  ( set  " serv_cste=!serv_cste!  %% # " )  else  ( set  " serv_cste= %% # " )  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								)  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								)  
						 
					
						
							
								
									
										
										
										
											2022-07-25 18:03:00 +00:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								)  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2023-03-16 18:11:04 +00:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								if  defined  serv_csts  call  : dk_color  %Gray%  " Enabling Disabled Services              [Successful] [ %serv_csts% ] "  
						 
					
						
							
								
									
										
										
										
											2022-07-25 18:03:00 +00:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2022-11-07 20:33:01 +00:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								if  defined  serv_cste  (  
						 
					
						
							
								
									
										
										
										
											2023-03-16 18:11:04 +00:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								set  error = 1 
						 
					
						
							
								
									
										
										
										
											2022-11-07 20:33:01 +00:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								call  : dk_color  %Red%  " Enabling Disabled Services              [Failed] [ %serv_cste% ] "  
						 
					
						
							
								
									
										
										
										
											2022-07-25 18:03:00 +00:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								)  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								: :========================================================================================================================================  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								: :  Check if the services are able to run or not  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								: :  Workarounds are added to get correct status and error code because sc query doesn't output correct results in some conditions  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								set  serv_e =  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								for  %% # in  ( %_serv% )  do  (  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								set  errorcode =  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								set  checkerror =  
						 
					
						
							
								
									
										
										
										
											2023-11-15 21:03:20 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								sc query %% # |  find /i " RUNNING "  %nul%  ||  ( 
							 
						 
					
						
							
								
									
										
										
										
											2024-11-03 03:01:56 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								%psc%  " Start-Job { Start-Service  %% # } | Wait-Job -Timeout 20 | Out-Null "  
						 
					
						
							
								
									
										
										
										
											2023-03-16 18:11:04 +00:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								set  errorcode = !errorlevel!  
						 
					
						
							
								
									
										
										
										
											2023-09-25 13:46:19 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								sc query %% # |  find /i " RUNNING "  %nul%  ||  set  checkerror = 1
							 
						 
					
						
							
								
									
										
										
										
											2023-11-15 21:03:20 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								)  
						 
					
						
							
								
									
										
										
										
											2022-11-07 20:33:01 +00:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2022-07-25 18:03:00 +00:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								sc start %% # %nul% 
							 
						 
					
						
							
								
									
										
										
										
											2023-03-16 18:11:04 +00:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								if  !errorlevel!  NEQ  1056 if  !errorlevel!  NEQ  0 ( set  errorcode = !errorlevel! & set  checkerror = 1)  
						 
					
						
							
								
									
										
										
										
											2022-07-25 18:03:00 +00:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								if  defined  checkerror  if  defined  serv_e  ( set  " serv_e=!serv_e!,  %% #-!errorcode! " )  else  ( set  " serv_e= %% #-!errorcode! " )  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								)  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								if  defined  serv_e  (  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								set  error = 1 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								call  : dk_color  %Red%  " Starting Services                       [Failed] [ %serv_e% ] "  
						 
					
						
							
								
									
										
										
										
											2023-03-16 18:11:04 +00:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								echo  %serv_e%  |  findstr /i " ClipSVC-1058 sppsvc-1058 "  %nul%  &&  (  
						 
					
						
							
								
									
										
										
										
											2024-08-31 21:20:49 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								call  : dk_color  %Blue%  " Reboot your machine using the restart option to fix this error. "  
						 
					
						
							
								
									
										
										
										
											2023-09-25 13:46:19 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								set  showfix = 1 
						 
					
						
							
								
									
										
										
										
											2023-03-16 18:11:04 +00:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								)  
						 
					
						
							
								
									
										
										
										
											2024-12-20 19:51:27 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								echo  %serv_e%  |  findstr /i " sppsvc-1060 "  %nul%  &&  (  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								set  fixes = %fixes%  %mas% fix_service 
						 
					
						
							
								
									
										
										
										
											2025-03-15 21:34:40 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								call  : dk_color2  %Blue%  " Check this webpage for help -  "  %_Yellow%  "   %mas% fix_service "  
						 
					
						
							
								
									
										
										
										
											2024-12-20 19:51:27 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								set  showfix = 1 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								)  
						 
					
						
							
								
									
										
										
										
											2022-07-25 18:03:00 +00:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								)  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2022-11-07 20:33:01 +00:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								: :========================================================================================================================================  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2022-07-25 18:03:00 +00:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								: :  Various error checks  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2023-03-16 18:11:04 +00:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								if  defined  safeboot_option  (  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								set  error = 1 
						 
					
						
							
								
									
										
										
										
											2023-09-25 13:46:19 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								set  showfix = 1 
						 
					
						
							
								
									
										
										
										
											2023-11-15 21:03:20 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								call  : dk_color2  %Red%  " Checking Boot Mode                      [ %safeboot_option% ]  "  %Blue%  " [Safe mode found. Run in normal mode.] "  
						 
					
						
							
								
									
										
										
										
											2023-03-16 18:11:04 +00:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								)  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2024-11-07 21:05:41 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								: :  https://learn.microsoft.com/windows-hardware/manufacture/desktop/windows-setup-states  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2023-11-15 21:03:20 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								for  /f  " skip=2 tokens=2* "  %% A in  ( 'reg query "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Setup\State" /v ImageState' )  do  ( set  imagestate = %% B)  
						 
					
						
							
								
									
										
										
										
											2024-11-07 21:05:41 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2023-11-15 21:03:20 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								if  /i  not  " %imagestate% " == " IMAGE_STATE_COMPLETE "  (  
						 
					
						
							
								
									
										
										
										
											2024-11-07 21:05:41 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								call  : dk_color  %Gray%  " Checking Windows Setup State            [ %imagestate% ] "  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								echo  " %imagestate% "  |  find /i " RESEAL "  %nul%  &&  (  
						 
					
						
							
								
									
										
										
										
											2025-01-20 17:05:47 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								set  error = 1 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								set  showfix = 1 
						 
					
						
							
								
									
										
										
										
											2023-11-15 21:03:20 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								call  : dk_color  %Blue%  " You need to run it in normal mode in case you are running it in Audit Mode. "  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								)  
						 
					
						
							
								
									
										
										
										
											2024-11-07 21:05:41 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								echo  " %imagestate% "  |  find /i " UNDEPLOYABLE "  %nul%  &&  (  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								set  fixes = %fixes%  %mas% in-place_repair_upgrade 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								call  : dk_color2  %Blue%  " If the activation fails, do this -  "  %_Yellow%  "   %mas% in-place_repair_upgrade "  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								)  
						 
					
						
							
								
									
										
										
										
											2023-03-16 18:11:04 +00:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								)  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								reg query " HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\WinPE "  /v InstRoot %nul%  &&  ( 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								set  error = 1 
						 
					
						
							
								
									
										
										
										
											2023-09-25 13:46:19 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								set  showfix = 1 
						 
					
						
							
								
									
										
										
										
											2023-10-16 02:50:03 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								call  : dk_color2  %Red%  " Checking WinPE                           "  %Blue%  " [WinPE mode found. Run in normal mode.] "  
						 
					
						
							
								
									
										
										
										
											2022-11-07 20:33:01 +00:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								)  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2023-11-15 21:03:20 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								set  wpainfo =  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								set  wpaerror =  
						 
					
						
							
								
									
										
										
										
											2024-07-12 22:26:18 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								for  /f  " delims= "  %% a in  ( ' %psc%  "$f=[io.file]::ReadAllText('!_batp!' )  -split ':wpatest\:.*';iex ($f[1])"  %nul6% ' )  do  ( set  wpainfo = %% a)  
						 
					
						
							
								
									
										
										
										
											2023-11-15 21:03:20 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								echo  " %wpainfo% "  |  find /i " Error Found "  %nul%  &&  (  
						 
					
						
							
								
									
										
										
										
											2022-07-25 18:03:00 +00:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								set  error = 1 
						 
					
						
							
								
									
										
										
										
											2023-11-15 21:03:20 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								set  wpaerror = 1 
						 
					
						
							
								
									
										
										
										
											2024-08-20 17:15:06 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								call  : dk_color  %Red%  " Checking WPA Registry Errors            [ %wpainfo% ] "  
						 
					
						
							
								
									
										
										
										
											2023-11-15 21:03:20 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								) || (  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								echo  Checking WPA Registry Count             [%wpainfo% ] 
						 
					
						
							
								
									
										
										
										
											2022-07-25 18:03:00 +00:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								)  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2022-11-07 20:33:01 +00:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2025-01-17 14:54:54 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								if  not  defined  notwinact  if  exist  " %SystemRoot% \Servicing\Packages\Microsoft-Windows-*EvalEdition~*.mum "  (  
						 
					
						
							
								
									
										
										
										
											2024-07-12 22:26:18 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								reg query " HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion "  /v EditionID %nul2%  |  find /i " Eval "  %nul1%  ||  ( 
							 
						 
					
						
							
								
									
										
										
										
											2022-11-07 20:33:01 +00:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								call  : dk_color  %Red%  " Checking Eval Packages                  [Non-Eval Licenses are installed in Eval Windows] "  
						 
					
						
							
								
									
										
										
										
											2024-08-13 00:06:51 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								set  fixes = %fixes%  %mas% evaluation_editions 
						 
					
						
							
								
									
										
										
										
											2025-03-15 21:34:40 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								call  : dk_color2  %Blue%  " Check this webpage for help -  "  %_Yellow%  "   %mas% evaluation_editions "  
						 
					
						
							
								
									
										
										
										
											2024-07-12 22:26:18 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								)  
						 
					
						
							
								
									
										
										
										
											2023-11-15 21:03:20 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								)  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2024-07-16 11:31:13 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								set  osedition = 0 
						 
					
						
							
								
									
										
										
										
											2024-11-09 00:10:56 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								if  %_wmic%  EQU  1 set  " chkedi=for /f  " tokens=2 delims=="   %% a in (' " wmic path %spp%  where (ApplicationID='55c92734-d682-4d71-983e-d6ec3f16059f' AND LicenseDependsOn is NULL AND PartialProductKey IS NOT NULL) get LicenseFamily /VALUE"   %nul6% ') "  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								if  %_wmic%  EQU  0 set  " chkedi=for /f  " tokens=2 delims=="   %% a in (' %psc%   " (([WMISEARCHER]'SELECT LicenseFamily FROM %spp%  WHERE ApplicationID=''55c92734-d682-4d71-983e-d6ec3f16059f'' AND LicenseDependsOn is NULL AND PartialProductKey IS NOT NULL').Get()).LicenseFamily ^|  %%  {echo ('LicenseFamily='+$_)}"   %nul6% ') "  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								%chkedi%  do if not errorlevel 1 (call set " osedition= %% a " ) 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								if  %osedition% == 0 for  /f  " skip=2 tokens=3 "  %% a in  ( 'reg query "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion" /v EditionID  %nul6% ' )  do  set  " osedition= %% a "  
						 
					
						
							
								
									
										
										
										
											2023-11-15 21:03:20 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								: :  Workaround for an issue in builds between 1607 and 1709 where ProfessionalEducation is shown as Professional  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2024-07-16 11:31:13 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								if  not  %osedition% == 0 (  
						 
					
						
							
								
									
										
										
										
											2023-11-15 21:03:20 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								if  " %osSKU% " == " 164 "  set  osedition = ProfessionalEducation 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								if  " %osSKU% " == " 165 "  set  osedition = ProfessionalEducationN 
						 
					
						
							
								
									
										
										
										
											2024-07-12 22:26:18 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								)  
						 
					
						
							
								
									
										
										
										
											2023-11-15 21:03:20 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2025-01-17 14:54:54 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								if  not  defined  notwinact  (  
						 
					
						
							
								
									
										
										
										
											2024-07-16 11:31:13 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								if  %osedition% == 0 (  
						 
					
						
							
								
									
										
										
										
											2023-11-15 21:03:20 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								call  : dk_color  %Red%  " Checking Edition Name                   [Not Found In Registry] "  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								) else (  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2024-07-12 22:26:18 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								if  not  exist  " %SysPath% \spp\tokens\skus\ %osedition% \ %osedition% *.xrm-ms "  if  not  exist  " %SysPath% \spp\tokens\skus\Security-SPP-Component-SKU- %osedition% \*- %osedition% -*.xrm-ms "  (  
						 
					
						
							
								
									
										
										
										
											2024-07-16 11:31:13 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								set  skunotfound = 1 
						 
					
						
							
								
									
										
										
										
											2023-11-15 21:03:20 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								call  : dk_color  %Red%  " Checking License Files                  [Not Found] [ %osedition% ] "  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								)  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								if  not  exist  " %SystemRoot% \Servicing\Packages\Microsoft-Windows-*- %osedition% -*.mum "  (  
						 
					
						
							
								
									
										
										
										
											2024-08-20 17:15:06 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								call  : dk_color  %Red%  " Checking Package Files                  [Not Found] [ %osedition% ] "  
						 
					
						
							
								
									
										
										
										
											2023-09-25 13:46:19 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								)  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								)  
						 
					
						
							
								
									
										
										
										
											2022-07-25 18:03:00 +00:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								)  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2022-11-07 20:33:01 +00:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2024-07-12 22:26:18 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								%psc%  " try { $null=([WMISEARCHER]'SELECT * FROM  %sps% ').Get().Version; exit 0 } catch { exit $_.Exception.InnerException.HResult } "  %nul%  
						 
					
						
							
								
									
										
										
										
											2022-11-07 20:33:01 +00:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								set  error_code = %errorlevel%  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								cmd /c exit /b %error_code% 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								if  %error_code%  NEQ  0 set  " error_code=0x %=ExitCode% "  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								if  %error_code%  NEQ  0 (  
						 
					
						
							
								
									
										
										
										
											2022-07-25 18:03:00 +00:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								set  error = 1 
						 
					
						
							
								
									
										
										
										
											2024-07-12 22:26:18 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								call  : dk_color  %Red%  " Checking SoftwareLicensingService       [Not Working]  %error_code% "  
						 
					
						
							
								
									
										
										
										
											2023-09-25 13:46:19 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								)  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								set  wmifailed =  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								if  %_wmic%  EQU  1 wmic path Win32_ComputerSystem get CreationClassName /value %nul2%  |  find /i " computersystem "  %nul1%  
						 
					
						
							
								
									
										
										
										
											2024-07-12 22:26:18 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								if  %_wmic%  EQU  0 %psc%  " Get-WmiObject -Class Win32_ComputerSystem | Select-Object -Property CreationClassName "  %nul2%  |  find /i " computersystem "  %nul1%  
						 
					
						
							
								
									
										
										
										
											2023-09-25 13:46:19 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								if  %errorlevel%  NEQ  0 set  wmifailed = 1 
						 
					
						
							
								
									
										
										
										
											2024-11-05 16:53:02 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								echo  " %error_code% "  |  findstr /i " 0x800410 0x800440 0x80131501 "  %nul1%  &&  set  wmifailed = 1&  ::  https://learn.microsoft.com/en-us/windows/win32/wmisdk/wmi-error-constants 
						 
					
						
							
								
									
										
										
										
											2023-09-25 13:46:19 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								if  defined  wmifailed  (  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								set  error = 1 
						 
					
						
							
								
									
										
										
										
											2024-07-12 22:26:18 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								call  : dk_color  %Red%  " Checking WMI                            [Not Working] "  
						 
					
						
							
								
									
										
										
										
											2024-07-20 23:01:33 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								if  not  defined  showfix  call  : dk_color  %Blue%  " Go back to Main Menu, select Troubleshoot and run Fix WMI option. "  
						 
					
						
							
								
									
										
										
										
											2023-09-25 13:46:19 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								set  showfix = 1 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								)  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2025-01-17 14:54:54 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								if  not  defined  notwinact  (  
						 
					
						
							
								
									
										
										
										
											2024-07-12 22:26:18 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								if  %winbuild%  GEQ  10240 (  
						 
					
						
							
								
									
										
										
										
											2023-09-25 13:46:19 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								%nul%  set /a " sum= %slcSKU% + %regSKU% + %wmiSKU% "  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								set  /a  " sum/=3 "  
						 
					
						
							
								
									
										
										
										
											2024-07-12 22:26:18 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								if  not  " !sum! " == " %slcSKU% "  (  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								call  : dk_color  %Gray%  " Checking SLC/WMI/REG SKU                [Difference Found - SLC: %slcSKU%  WMI: %wmiSKU%  Reg: %regSKU% ] "  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								)  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								) else (  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								%nul%  set /a " sum= %slcSKU% + %wmiSKU% "  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								set  /a  " sum/=2 "  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								if  not  " !sum! " == " %slcSKU% "  (  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								call  : dk_color  %Gray%  " Checking SLC/WMI SKU                    [Difference Found - SLC: %slcSKU%  WMI: %wmiSKU% ] "  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								)  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								)  
						 
					
						
							
								
									
										
										
										
											2023-09-25 13:46:19 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								)  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2022-07-25 18:03:00 +00:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								reg query " HKU\S-1-5-20\Software\Microsoft\Windows NT\CurrentVersion\SoftwareProtectionPlatform\PersistedTSReArmed "  %nul%  &&  ( 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								set  error = 1 
						 
					
						
							
								
									
										
										
										
											2023-09-25 13:46:19 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								set  showfix = 1 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								call  : dk_color2  %Red%  " Checking Rearm                           "  %Blue%  " [System Restart Is Required] "  
						 
					
						
							
								
									
										
										
										
											2022-07-25 18:03:00 +00:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								)  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2022-11-07 20:33:01 +00:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2022-07-25 18:03:00 +00:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								reg query " HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\ClipSVC\Volatile\PersistedSystemState "  %nul%  &&  ( 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								set  error = 1 
						 
					
						
							
								
									
										
										
										
											2023-09-25 13:46:19 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								set  showfix = 1 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								call  : dk_color2  %Red%  " Checking ClipSVC                         "  %Blue%  " [System Restart Is Required] "  
						 
					
						
							
								
									
										
										
										
											2022-07-25 18:03:00 +00:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								)  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2022-11-07 20:33:01 +00:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2024-07-12 22:26:18 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								: :  This "WLMS" service was included in previous Eval editions (which were activable) to automatically shut down the system every hour after the evaluation period expired and prevent SPPSVC from stopping.  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								if  exist  " %SysPath% \wlms\wlms.exe "  (  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								echo  Checking Eval WLMS Service              [Found] 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								)  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2024-07-17 23:06:50 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								reg query " HKU\S-1-5-20\Software\Microsoft\Windows NT\CurrentVersion "  %nul%  ||  ( 
							 
						 
					
						
							
								
									
										
										
										
											2024-07-12 22:26:18 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								set  error = 1 
						 
					
						
							
								
									
										
										
										
											2024-11-09 15:12:20 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								set  showfix = 1 
						 
					
						
							
								
									
										
										
										
											2024-08-20 17:15:06 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								call  : dk_color  %Red%  " Checking HKU\S-1-5-20 Registry          [Not Found] "  
						 
					
						
							
								
									
										
										
										
											2024-11-08 21:13:31 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								set  fixes = %fixes%  %mas% in-place_repair_upgrade 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								call  : dk_color2  %Blue%  " In case of activation issues, do this -  "  %_Yellow%  "   %mas% in-place_repair_upgrade "  
						 
					
						
							
								
									
										
										
										
											2024-07-12 22:26:18 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								)  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2024-08-29 21:28:38 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								for  %% # in  ( SppEx%w% tComObj.exe sppsvc.exe sppsvc.exe\PerfOptions)  do  (  
						 
					
						
							
								
									
										
										
										
											2024-07-12 22:26:18 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								reg query " HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Ima %w% ge File Execu %w% tion Options\ %% # "  %nul%  &&  ( if  defined  _sppint  ( set  " _sppint=!_sppint!,  %% # " )  else  ( set  " _sppint= %% # " ) ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								)  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								if  defined  _sppint  (  
						 
					
						
							
								
									
										
										
										
											2024-08-29 21:28:38 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								echo  %_sppint%  |  find /i " PerfOptions "  %nul%  &&  (  
						 
					
						
							
								
									
										
										
										
											2024-08-31 21:09:12 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								call  : dk_color  %Red%  " Checking SPP Interference In IFEO       [ %_sppint%  - System might deactivate later] "  
						 
					
						
							
								
									
										
										
										
											2024-08-29 21:28:38 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								if  not  defined  showfix  call  : dk_color  %Blue%  " %_fixmsg% "  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								set  showfix = 1 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								) || (  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								echo  Checking SPP In IFEO                    [%_sppint% ] 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								)  
						 
					
						
							
								
									
										
										
										
											2024-07-12 22:26:18 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								)  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2023-09-25 13:46:19 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								for  /f  " skip=2 tokens=2* "  %% a in  ( 'reg query "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\SoftwareProtectionPlatform" /v "SkipRearm"  %nul6% ' )  do  if  /i  %% b NEQ  0x0 (  
						 
					
						
							
								
									
										
										
										
											2022-07-25 18:03:00 +00:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								reg add " HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\SoftwareProtectionPlatform "  /v " SkipRearm "  /t REG_DWORD /d " 0 "  /f %nul% 
							 
						 
					
						
							
								
									
										
										
										
											2023-09-25 13:46:19 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								call  : dk_color  %Red%  " Checking SkipRearm                      [Default 0 Value Not Found. Changing To 0] "  
						 
					
						
							
								
									
										
										
										
											2024-11-03 03:01:56 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								%psc%  " Start-Job { Stop-Service sppsvc -force } | Wait-Job -Timeout 20 | Out-Null "  
						 
					
						
							
								
									
										
										
										
											2022-07-25 18:03:00 +00:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								)  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2022-11-07 20:33:01 +00:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2023-03-16 18:11:04 +00:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								reg query " HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\SoftwareProtectionPlatform\Plugins\Objects\msft:rm/algorithm/hwid/4.0 "  /f ba02fed39662 /d %nul%  ||  ( 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								call  : dk_color  %Red%  " Checking SPP Registry Key               [Incorrect ModuleId Found] "  
						 
					
						
							
								
									
										
										
										
											2024-07-12 22:26:18 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								set  fixes = %fixes%  %mas% issues_due_to_gaming_spoofers 
						 
					
						
							
								
									
										
										
										
											2025-03-15 21:34:40 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								call  : dk_color2  %Blue%  " Most likely caused by gaming spoofers. Check this webpage for help -  "  %_Yellow%  "   %mas% issues_due_to_gaming_spoofers "  
						 
					
						
							
								
									
										
										
										
											2023-09-25 13:46:19 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								set  error = 1 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								set  showfix = 1 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								)  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								set  tokenstore =  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								for  /f  " skip=2 tokens=2* "  %% a in  ( 'reg query "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\SoftwareProtectionPlatform" /v TokenStore  %nul6% ' )  do  call  set  " tokenstore= %% b "  
						 
					
						
							
								
									
										
										
										
											2024-07-12 22:26:18 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								if  %winbuild%  LSS  9200 set  " tokenstore= %Systemdrive% \Windows\ServiceProfiles\NetworkService\AppData\Roaming\Microsoft\SoftwareProtectionPlatform "  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								if  %winbuild%  GEQ  9200 if  /i  not  " %tokenstore% " == " %SysPath% \spp\store "  if  /i  not  " %tokenstore% " == " %SysPath% \spp\store\2.0 "  if  /i  not  " %tokenstore% " == " %SysPath% \spp\store_test\2.0 "  (  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								set  toerr = 1 
						 
					
						
							
								
									
										
										
										
											2023-03-16 18:11:04 +00:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								set  error = 1 
						 
					
						
							
								
									
										
										
										
											2024-07-12 22:26:18 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								set  showfix = 1 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								call  : dk_color  %Red%  " Checking TokenStore Registry Key        [Correct Path Not Found] [ %tokenstore% ] "  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								set  fixes = %fixes%  %mas% troubleshoot 
						 
					
						
							
								
									
										
										
										
											2025-03-15 21:34:40 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								call  : dk_color2  %Blue%  " Check this webpage for help -  "  %_Yellow%  "   %mas% troubleshoot "  
						 
					
						
							
								
									
										
										
										
											2024-07-12 22:26:18 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								)  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								: :  This code creates token folder only if it's missing and sets default permission for it  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								if  not  defined  toerr  if  not  exist  " %tokenstore% \ "  (  
						 
					
						
							
								
									
										
										
										
											2023-09-25 13:46:19 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								mkdir  " %tokenstore% "  %nul%  
						 
					
						
							
								
									
										
										
										
											2024-07-12 22:26:18 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								if  %winbuild%  LSS  9200 set  " d=$sddl = 'O:NSG:NSD:AI(A;OICIID;FA;;;SY)(A;OICIID;FA;;;BA)(A;OICIID;FA;;;NS)'; "  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								if  %winbuild%  GEQ  9200 set  " d=$sddl = 'O:BAG:BAD:PAI(A;OICI;FA;;;SY)(A;OICI;FA;;;BA)(A;OICIIO;GR;;;BU)(A;;FR;;;BU)(A;OICI;FA;;;S-1-5-80-123231216-2592883651-3715271367-3753151631-4175906628)'; "  
						 
					
						
							
								
									
										
										
										
											2023-09-25 13:46:19 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								set  " d=!d! $AclObject = New-Object System.Security.AccessControl.DirectorySecurity; "  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								set  " d=!d! $AclObject.SetSecurityDescriptorSddlForm($sddl); "  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								set  " d=!d! Set-Acl -Path  %tokenstore%  -AclObject $AclObject; "  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								%psc%  " !d! "  %nul%  
						 
					
						
							
								
									
										
										
										
											2024-07-12 22:26:18 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								if  exist  " %tokenstore% \ "  (  
						 
					
						
							
								
									
										
										
										
											2024-08-20 17:15:06 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								call  : dk_color  %Gray%  " Checking SPP Token Folder               [Not Found, Created Now] [ %tokenstore% \] "  
						 
					
						
							
								
									
										
										
										
											2024-07-12 22:26:18 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								) else (  
						 
					
						
							
								
									
										
										
										
											2024-08-20 17:15:06 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								call  : dk_color  %Red%  " Checking SPP Token Folder               [Not Found, Failed to Create] [ %tokenstore% \] "  
						 
					
						
							
								
									
										
										
										
											2024-07-12 22:26:18 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								set  error = 1 
						 
					
						
							
								
									
										
										
										
											2024-08-14 01:14:43 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								set  showfix = 1 
						 
					
						
							
								
									
										
										
										
											2024-07-12 22:26:18 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								)  
						 
					
						
							
								
									
										
										
										
											2023-03-16 18:11:04 +00:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								)  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2025-01-17 16:28:29 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								if  not  defined  notwinact  (  
						 
					
						
							
								
									
										
										
										
											2024-07-12 22:26:18 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								call  : dk_actid  55c92734-d682-4d71-983e-d6ec3f16059f 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								if  not  defined  apps  (  
						 
					
						
							
								
									
										
										
										
											2024-11-03 03:01:56 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								%psc%  " Start-Job { Stop-Service sppsvc -force } | Wait-Job -Timeout 20 | Out-Null; $sls = Get-WmiObject SoftwareLicensingService; $f=[io.file]::ReadAllText('!_batp!') -split ':xrm\:.*';iex ($f[1]); ReinstallLicenses "  %nul%  
						 
					
						
							
								
									
										
										
										
											2024-07-12 22:26:18 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								call  : dk_actid  55c92734-d682-4d71-983e-d6ec3f16059f 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								if  not  defined  apps  (  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								set  " _notfoundids=Key Not Installed / Act ID Not Found "  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								call  : dk_actids  55c92734-d682-4d71-983e-d6ec3f16059f 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								if  not  defined  allapps  (  
						 
					
						
							
								
									
										
										
										
											2025-01-08 19:14:02 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								set  error = 1 
						 
					
						
							
								
									
										
										
										
											2024-07-12 22:26:18 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								set  " _notfoundids=Not found "  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								)  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								call  : dk_color  %Red%  " Checking Activation IDs                 [!_notfoundids!] "  
						 
					
						
							
								
									
										
										
										
											2022-11-07 20:33:01 +00:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								)  
						 
					
						
							
								
									
										
										
										
											2022-07-25 18:03:00 +00:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								)  
						 
					
						
							
								
									
										
										
										
											2025-01-17 16:28:29 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								)  
						 
					
						
							
								
									
										
										
										
											2022-07-25 18:03:00 +00:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2022-11-07 20:33:01 +00:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2023-03-16 18:11:04 +00:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								if  exist  " %tokenstore% \ "  if  not  exist  " %tokenstore% \tokens.dat "  (  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								set  error = 1 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								call  : dk_color  %Red%  " Checking SPP tokens.dat                 [Not Found] [ %tokenstore% \] "  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								)  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2024-07-12 22:26:18 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								if  %winbuild%  GEQ  9200 if  not  exist  " %SystemRoot% \Servicing\Packages\Microsoft-Windows-*EvalEdition~*.mum "  (  
						 
					
						
							
								
									
										
										
										
											2025-01-29 19:21:46 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								%psc%  " Get-WmiObject -Query 'SELECT Description FROM SoftwareLicensingProduct WHERE PartialProductKey IS NOT NULL AND LicenseDependsOn IS NULL' | Select-Object -Property Description "  %nul2%  |  findstr /i " KMS_ "  %nul1%  ||  (  
						 
					
						
							
								
									
										
										
										
											2024-07-12 22:26:18 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								for  /f  " delims= "  %% a in  ( ' %psc%  "(Get-ScheduledTask -TaskName 'SvcRestartTask' -TaskPath '\Microsoft\Windows\SoftwareProtectionPlatform\' ) .State"   %nul6% ') do (set taskinfo= %% a)  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								echo  !taskinfo!  |  find /i " Ready "  %nul%  ||  (  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								reg delete " HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\SoftwareProtectionPlatform "  /v " actionlist "  /f %nul% 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								reg query " HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Schedule\TaskCache\Tree\Microsoft\Windows\SoftwareProtectionPlatform\SvcRestartTask "  %nul%  ||  set  taskinfo = Removed
							 
						 
					
						
							
								
									
										
										
										
											2024-09-27 01:55:54 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								if  " !taskinfo! " == " "  set  " taskinfo=Not Found "  
						 
					
						
							
								
									
										
										
										
											2024-08-31 21:09:12 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								call  : dk_color  %Red%  " Checking SvcRestartTask Status          [!taskinfo!, System might deactivate later] "  
						 
					
						
							
								
									
										
										
										
											2025-01-17 16:28:29 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								if  not  defined  error  call  : dk_color  %Blue%  " Reboot your machine using the restart option. "  
						 
					
						
							
								
									
										
										
										
											2024-07-12 22:26:18 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								)  
						 
					
						
							
								
									
										
										
										
											2023-03-16 18:11:04 +00:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								)  
						 
					
						
							
								
									
										
										
										
											2025-01-29 19:21:46 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								)  
						 
					
						
							
								
									
										
										
										
											2023-03-16 18:11:04 +00:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2024-07-17 23:06:50 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								: :  This code checks if SPP has permission access to tokens folder and required registry keys. It's often caused by gaming spoofers.  
						 
					
						
							
								
									
										
										
										
											2023-03-16 18:11:04 +00:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								set  permerror =  
						 
					
						
							
								
									
										
										
										
											2024-10-30 04:59:31 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								if  %winbuild%  GEQ  9200 if  not  defined  ps32onArm  (  
						 
					
						
							
								
									
										
										
										
											2024-07-17 23:06:50 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								for  %% # in  (  
						 
					
						
							
								
									
										
										
										
											2024-07-12 22:26:18 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								" %tokenstore% +FullControl "  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								" HKLM:\SYSTEM\WPA+QueryValues, EnumerateSubKeys, WriteKey "  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								" HKLM:\SOFTWARE\Microsoft\Windows NT\CurrentVersion\SoftwareProtectionPlatform+SetValue "  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								) do for /f "tokens=1,2 delims=+" %%A in (%%#) do if not defined permerror (  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								%psc%  " $acl = (Get-Acl ' %% A' | fl | Out-String); if (-not ($acl -match 'NT SERVICE\\sppsvc Allow   %% B') -or ($acl -match 'NT SERVICE\\sppsvc Deny')) {Exit 2} "  %nul%  
						 
					
						
							
								
									
										
										
										
											2024-08-17 22:45:20 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								if  !errorlevel! == 2 (  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								if  " %% A " == " %tokenstore% "  (  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								set  " permerror=Error Found In Token Folder "  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								) else (  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								set  " permerror=Error Found In SPP Registries "  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								)  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								)  
						 
					
						
							
								
									
										
										
										
											2022-07-25 18:03:00 +00:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								)  
						 
					
						
							
								
									
										
										
										
											2024-07-12 22:26:18 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2024-07-19 14:36:52 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								REM  https://learn.microsoft.com/office/troubleshoot/activation/license-issue-when-start-office-application  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2024-07-17 23:06:50 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								if  not  defined  permerror  (  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								reg query " HKU\S-1-5-20\Software\Microsoft\Windows NT\CurrentVersion "  %nul%  &&  ( 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								set  " pol=HKU\S-1-5-20\Software\Microsoft\Windows NT\CurrentVersion\SoftwareProtectionPlatform\Policies "  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								reg query " !pol! "  %nul%  ||  reg add " !pol! "  %nul% 
							 
						 
					
						
							
								
									
										
										
										
											2024-07-28 13:52:13 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								%psc%  " $netServ = (New-Object Security.Principal.SecurityIdentifier('S-1-5-20')).Translate([Security.Principal.NTAccount]).Value; $aclString = Get-Acl 'Registry::!pol!' | Format-List | Out-String; if (-not ($aclString.Contains($netServ + ' Allow  FullControl') -or $aclString.Contains('NT SERVICE\sppsvc Allow  FullControl')) -or ($aclString.Contains('Deny'))) {Exit 3} "  %nul%  
						 
					
						
							
								
									
										
										
										
											2024-07-17 23:06:50 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								if  !errorlevel! == 3 set  " permerror=Error Found In S-1-5-20 SPP "  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								)  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								)  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								if  defined  permerror  (  
						 
					
						
							
								
									
										
										
										
											2023-11-15 21:03:20 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								set  error = 1 
						 
					
						
							
								
									
										
										
										
											2024-07-17 23:06:50 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								call  : dk_color  %Red%  " Checking SPP Permissions                [!permerror!] "  
						 
					
						
							
								
									
										
										
										
											2024-07-12 22:26:18 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								if  not  defined  showfix  call  : dk_color  %Blue%  " %_fixmsg% "  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								set  showfix = 1 
						 
					
						
							
								
									
										
										
										
											2023-11-15 21:03:20 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								)  
						 
					
						
							
								
									
										
										
										
											2024-07-17 23:06:50 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								)  
						 
					
						
							
								
									
										
										
										
											2023-11-15 21:03:20 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2023-03-16 18:11:04 +00:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2024-07-12 22:26:18 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								: :  If required services are not disabled or corrupted + if there is any error + SoftwareLicensingService errorlevel is not Zero + no fix was shown before  
						 
					
						
							
								
									
										
										
										
											2023-11-15 21:03:20 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								if  not  defined  serv_cor  if  not  defined  serv_cste  if  defined  error  if  /i  not  %error_code% == 0 if  not  defined  showfix  (  
						 
					
						
							
								
									
										
										
										
											2024-07-12 22:26:18 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								if  not  defined  permerror  if  defined  wpaerror  ( call  : dk_color  %Blue%  " Go back to Main Menu, select Troubleshoot and run Fix WPA Registry option. "  &  set  showfix = 1)  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								if  not  defined  showfix  (  
						 
					
						
							
								
									
										
										
										
											2023-03-16 18:11:04 +00:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								set  showfix = 1 
						 
					
						
							
								
									
										
										
										
											2023-09-25 13:46:19 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								call  : dk_color  %Blue%  " %_fixmsg% "  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								if  not  defined  permerror  call  : dk_color  %Blue%  " If activation still fails then run Fix WPA Registry option. "  
						 
					
						
							
								
									
										
										
										
											2022-07-25 18:03:00 +00:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								)  
						 
					
						
							
								
									
										
										
										
											2024-07-12 22:26:18 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								)  
						 
					
						
							
								
									
										
										
										
											2023-03-16 18:11:04 +00:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2023-11-15 21:03:20 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								if  not  defined  showfix  if  defined  wpaerror  (  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								set  showfix = 1 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								call  : dk_color  %Blue%  " If activation fails then go back to Main Menu, select Troubleshoot and run Fix WPA Registry option. "  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								)  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2022-07-25 18:03:00 +00:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								exit  /b 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2023-11-15 21:03:20 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								: :  This code checks for invalid registry keys in HKLM\SYSTEM\WPA. This issue may appear even on healthy systems  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								: wpatest :  
						 
					
						
							
								
									
										
										
										
											2024-07-12 22:26:18 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								$wpaKey = [Microsoft.Win32.RegistryKey]::OpenRemoteBaseKey('LocalMachine', $env:COMPUTERNAME).OpenSubKey(" SYSTEM\\WPA " )
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								$count = 0
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								foreach ($subkeyName in $wpaKey.GetSubKeyNames()) {
							 
						 
					
						
							
								
									
										
										
										
											2025-03-15 21:04:10 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    if    - m a t c h   ' 8 D E C 0 A F 1 - 0 3 4 1 - 4 b 9 3 - 8 5 C D - 7 2 6 0 6 C 2 D F 9 4 C . * ' )   { 
							 
						 
					
						
							
								
									
										
										
										
											2024-07-12 22:26:18 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								        $count++
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    }
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								}
							 
						 
					
						
							
								
									
										
										
										
											2023-11-15 21:03:20 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								$osVersion = [System.Environment]::OSVersion.Version
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								$minBuildNumber = 14393
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								if    - g e   $ m i n B u i l d N u m b e r )   {  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    $subkeyHashTable = @{}
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    foreach ($subkeyName in $wpaKey.GetSubKeyNames()) {
							 
						 
					
						
							
								
									
										
										
										
											2025-03-15 21:04:10 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								        if    - m a t c h   ' 8 D E C 0 A F 1 - 0 3 4 1 - 4 b 9 3 - 8 5 C D - 7 2 6 0 6 C 2 D F 9 4 C . * ' )   { 
							 
						 
					
						
							
								
									
										
										
										
											2024-07-12 22:26:18 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								            $keyNumber = $subkeyName -replace '.*-', ''
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								            $subkeyHashTable[$keyNumber] = $true
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        }
							 
						 
					
						
							
								
									
										
										
										
											2023-11-15 21:03:20 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    }
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    for  ($i=1; $i -le $count; $i++) {
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        if    $ s u b k e y H a s h T a b l e . C o n t a i n s K e y ( " $ i " ) )   { 
							 
						 
					
						
							
								
									
										
										
										
											2024-08-20 17:15:06 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								            Write-Output " Total Keys $count. Error Found - $i key does not exist. " 
							 
						 
					
						
							
								
									
										
										
										
											2023-11-15 21:03:20 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
											$wpaKey.Close()
							 
						 
					
						
							
								
									
										
										
										
											2024-07-12 22:26:18 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
											exit 
							 
						 
					
						
							
								
									
										
										
										
											2023-11-15 21:03:20 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								        }
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    }
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								}
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								$wpaKey.GetSubKeyNames() |  ForEach-Object {
							 
						 
					
						
							
								
									
										
										
										
											2025-03-15 21:04:10 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    if    - m a t c h   ' 8 D E C 0 A F 1 - 0 3 4 1 - 4 b 9 3 - 8 5 C D - 7 2 6 0 6 C 2 D F 9 4 C . * ' )   { 
							 
						 
					
						
							
								
									
										
										
										
											2024-07-12 22:26:18 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								        if    - l t   3 )   { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								            cmd /c " reg query  " HKLM\SYSTEM\WPA\$_"  /ve /t REG_BINARY >nul 2>&1 " 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											if    - n e   0 )   { 
							 
						 
					
						
							
								
									
										
										
										
											2024-08-20 17:15:06 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								            Write-Host " Total Keys $count. Error Found - Binary Data is corrupt. " 
							 
						 
					
						
							
								
									
										
										
										
											2024-07-12 22:26:18 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
											$wpaKey.Close()
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											exit 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											}
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        } else {
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								            $subkey = $wpaKey.OpenSubKey($_)
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								            $p = $subkey.GetValueNames()
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								            if    |   W h e r e - O b j e c t   {   $ s u b k e y . G e t V a l u e K i n d ( $ _ )   - e q   [ M i c r o s o f t . W i n 3 2 . R e g i s t r y V a l u e K i n d ] : : B i n a r y   } ) . C o u n t   - e q   0 )   { 
							 
						 
					
						
							
								
									
										
										
										
											2024-08-20 17:15:06 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								                Write-Host " Total Keys $count. Error Found - Binary Data is corrupt. " 
							 
						 
					
						
							
								
									
										
										
										
											2024-07-12 22:26:18 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
												$wpaKey.Close()
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
												exit 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								            }
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        }
							 
						 
					
						
							
								
									
										
										
										
											2023-11-15 21:03:20 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    }
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								}
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								$count
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								$wpaKey.Close()
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								: wpatest :  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2022-07-25 18:03:00 +00:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								: :========================================================================================================================================  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								: dk_color  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								if  %_NCS%  EQU  1 (  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								echo  %esc% [%~1 %~2 %esc% [0m 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								) else (  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								%psc%  write-host -back '%1 ' -fore '%2 ' '%3 ' 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								)  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								exit  /b 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								: dk_color2  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								if  %_NCS%  EQU  1 (  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								echo  %esc% [%~1 %~2 %esc% [%~3 %~4 %esc% [0m 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								) else (  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								%psc%  write-host -back '%1 ' -fore '%2 ' '%3 ' -NoNewline; write-host -back '%4 ' -fore '%5 ' '%6 ' 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								)  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								exit  /b 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								: :========================================================================================================================================  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								: dk_done  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								echo : 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								if  %_unattended% == 1 timeout /t 2 &  exit  /b 
						 
					
						
							
								
									
										
										
										
											2024-07-12 22:26:18 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								if  defined  fixes  (  
						 
					
						
							
								
									
										
										
										
											2024-11-07 23:51:08 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								call  : dk_color  %White%  " Follow ALL the ABOVE blue lines.    "  
						 
					
						
							
								
									
										
										
										
											2024-09-27 02:34:25 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								call  : dk_color2  %Blue%  " Press [1] to Open Support Webpage  "  %Gray%  "  Press [0] to Ignore "  
						 
					
						
							
								
									
										
										
										
											2024-07-12 22:26:18 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								choice /C:10 /N
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								if  !errorlevel! == 1 ( for  %% # in  ( %fixes% )  do  ( start  %% #) )  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								)  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								if  defined  terminal  (  
						 
					
						
							
								
									
										
										
										
											2024-08-20 17:15:06 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								call  : dk_color  %_Yellow%  " Press [0] key to  %_exitmsg% ... "  
						 
					
						
							
								
									
										
										
										
											2024-07-12 22:26:18 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								choice /c 0 /n
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								) else (  
						 
					
						
							
								
									
										
										
										
											2022-07-25 18:03:00 +00:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								call  : dk_color  %_Yellow%  " Press any key to  %_exitmsg% ... "  
						 
					
						
							
								
									
										
										
										
											2023-09-25 13:46:19 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								pause  %nul1%  
						 
					
						
							
								
									
										
										
										
											2024-07-12 22:26:18 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								)  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2022-07-25 18:03:00 +00:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								exit  /b 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								: :========================================================================================================================================  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								: :  1st column = Activation ID  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								: :  2nd column = Generic Retail/OEM/MAK Key  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								: :  3rd column = SKU ID  
						 
					
						
							
								
									
										
										
										
											2022-11-07 20:33:01 +00:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								: :  4th column = Key part number  
						 
					
						
							
								
									
										
										
										
											2024-07-12 22:26:18 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								: :  5th column = Ticket signature value. It's as it is, it's not encoded. (Check mass grave[.]dev/hwid#manual-activation to see how it's generated)  
						 
					
						
							
								
									
										
										
										
											2022-11-07 20:33:01 +00:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								: :  6th column = 1 = activation is not working (at the time of writing this), 0 = activation is working  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								: :  7th column = Key Type  
						 
					
						
							
								
									
										
										
										
											2023-09-25 13:46:19 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								: :  8th column = WMI Edition ID (For reference only)  
						 
					
						
							
								
									
										
										
										
											2022-11-07 20:33:01 +00:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								: :  9th column = Version name incase same Edition ID is used in different OS versions with different key  
						 
					
						
							
								
									
										
										
										
											2022-07-25 18:03:00 +00:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								: :  Separator  = _  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								: hwiddata  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2023-03-16 18:11:04 +00:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								set  f =  
						 
					
						
							
								
									
										
										
										
											2022-07-25 18:03:00 +00:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								for  %% # in  (  
						 
					
						
							
								
									
										
										
										
											2024-07-12 22:26:18 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								8b351c9c-f398-4515-9900-09df49427262_XGVPP-NMH47-7TTHJ-W3FW7-8H%f% V2C___4_X19-99683_HGNKjkKcKQHO6n8srMUrDh/MElffBZarLqCMD9rWtgFKf3YzYOLDPEMGhuO/auNMKCeiU7ebFbQALS/MyZ7TvidMQ2dvzXeXXKzPBjfwQx549WJUU7qAQ9Txg9cR9SAT8b12Pry2iBk+nZWD9VtHK3kOnEYkvp5WTCTsrSi6Re4_0_OEM:NONSLP_Enterprise
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								c83cef07-6b72-4bbc-a28f-a00386872839_3V6Q6-NQXCX-V8YXR-9QCYV-QP%f% FCT__27_X19-98746_NHn2n0N1UfVf00CfaI5LCDMDsKdVAWpD/HAfUrcTAKsw9d2Sks4h5MhyH/WUx+B6dFi8ol7D3AHorR8y9dqVS1Bd2FdZNJl/tTR1PGwYn6KL88NS19aHmFNdX8s4438vaa+Ty8Qk8EDcwm/wscC8lQmi3/RgUKYdyGFvpbGSVlk_0_Volume:MAK_EnterpriseN
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								4de7cb65-cdf1-4de9-8ae8-e3cce27b9f2c_VK7JG-NPHTM-C97JM-9MPGT-3V%f% 66T__48_X19-98841_Yl/jNfxJ1SnaIZCIZ4m6Pf3ySNoQXifNeqfltNaNctx+onwiivOx7qcSn8dFtURzgMzSOFnsRQzb5IrvuqHoxWWl1S3JIQn56FvKsvSx7aFXIX3+2Q98G1amPV/WEQ0uHA5d7Ya6An+g0Z0zRP7evGoomTs4YuweaWiZQjQzSpA_0_____Retail_Professional
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								9fbaf5d6-4d83-4422-870d-fdda6e5858aa_2B87N-8KFHP-DKV6R-Y2C8J-PK%f% CKT__49_X19-98859_Ge0mRQbW8ALk7T09V+1k1yg66qoS0lhkgPIROOIOgxKmWPAvsiLAYPKDqM4+neFCA/qf1dHFmdh0VUrwFBPYsK251UeWuElj4bZFVISL6gUt1eZwbGfv5eurQ0i+qZiFv+CcQOEFsd5DD4Up6xPLLQS3nAXODL5rSrn2sHRoCVY_0_____Retail_ProfessionalN
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								f742e4ff-909d-4fe9-aacb-3231d24a0c58_4CPRK-NM3K3-X6XXQ-RXX86-WX%f% CHW__98_X19-98877_vel4ytVtnE8FhvN87Cflz9sbh5QwHD1YGOeej9QP7hF3vlBR4EX2/S/09gRneeXVbQnjDOCd2KFMKRUWHLM7ZhFBk8AtlG+kvUawPZ+CIrwrD3mhi7NMv8UX/xkLK3HnBupMEuEwsMJgCUD8Pn6om1mEiQebHBAqu4cT7GN9Y0g_0_____Retail_CoreN
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								1d1bac85-7365-4fea-949a-96978ec91ae0_N2434-X9D7W-8PF6X-8DV9T-8T%f% YMD__99_X19-99652_Nv17eUTrr1TmUX6frlI7V69VR6yWb7alppCFJPcdjfI+xX4/Cf2np3zm7jmC+zxFb9nELUs477/ydw2KCCXFfM53bKpBQZKHE5+MdGJGxebOCcOtJ3hrkDJtwlVxTQmUgk5xnlmpk8PHg82M2uM5B7UsGLxGKK4d3hi0voSyKeI_0_____Retail_CoreCountrySpecific
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								3ae2cc14-ab2d-41f4-972f-5e20142771dc_BT79Q-G7N6G-PGBYW-4YWX6-6F%f% 4BT_100_X19-99661_FV2Eao/R5v8sGrfQeOjQ4daokVlNOlqRCDZXuaC45bQd5PsNU3t1b4AwWeYM8TAwbHauzr4tPG0UlsUqUikCZHy0poROx35bBBMBym6Zbm9wDBVyi7nCzBtwS86eOonQ3cU6WfZxhZRze0POdR33G3QTNPrnVIM2gf6nZJYqDOA_0_____Retail_CoreSingleLanguage
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								2b1f36bb-c1cd-4306-bf5c-a0367c2d97d8_YTMG3-N6DKC-DKB77-7M9GH-8H%f% VX7_101_X19-98868_GH/jwFxIcdQhNxJIlFka8c1H48PF0y7TgJwaryAUzqSKXynONLw7MVciDJFVXTkCjbXSdxLSWpPIC50/xyy1rAf8aC7WuN/9cRNAvtFPC1IVAJaMeq1vf4mCqRrrxJQP6ZEcuAeHFzLe/LLovGWCd8rrs6BbBwJXCvAqXImvycQ_0_____Retail_Core
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								2a6137f3-75c0-4f26-8e3e-d83d802865a4_XKCNC-J26Q9-KFHD2-FKTHY-KD%f% 72Y_119_X19-99606_hci78IRWDLBtdbnAIKLDgV9whYgtHc1uYyp9y6FszE9wZBD5Nc8CUD2pI2s2RRd3M04C4O7M3tisB3Ov/XVjpAbxlX3MWfUR5w4MH0AphbuQX0p5MuHEDYyfqlRgBBRzOKePF06qfYvPQMuEfDpKCKFwNojQxBV8O0Arf5zmrIw_0_OEM:NONSLP_PPIPro
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								e558417a-5123-4f6f-91e7-385c1c7ca9d4_YNMGQ-8RYV3-4PGQ3-C8XTP-7C%f% FBY_121_X19-98886_x9tPFDZmjZMf29zFeHV5SHbXj8Wd8YAcCn/0hbpLcId4D7OWqkQKXxXHIegRlwcWjtII0sZ6WYB0HQV2KH3LvYRnWKpJ5SxeOgdzBIJ6fhegYGGyiXsBv9sEb3/zidPU6ZK9LugVGAcRZ6HQOiXyOw+Yf5H35iM+2oDZXSpjvJw_0_____Retail_Education
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								c5198a66-e435-4432-89cf-ec777c9d0352_84NGF-MHBT6-FXBX8-QWJK7-DR%f% R8H_122_X19-98892_jkL4YZkmBCJtvL1fT30ZPBcjmzshBSxjwrE0Q00AZ1hYnhrH+npzo1MPCT6ZRHw19ZLTz7wzyBb0qqcBVbtEjZW0Xs2MYLxgriyoONkhnPE6KSUJBw7C0enFVLHEqnVu/nkaOFfockN3bc+Eouw6W2lmHjklPHc9c6Clo04jul0_0_____Retail_EducationN
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								f6e29426-a256-4316-88bf-cc5b0f95ec0c_PJB47-8PN2T-MCGDY-JTY3D-CB%f% CPV_125_X23-50331_OPGhsyx+Ctw7w/KLMRNrY+fNBmKPjUG0R9RqkWk4e8ez+ExSJxSLLex5WhO5QSNgXLmEra+cCsN6C638aLjIdH2/L7D+8z/C6EDgRvbHMmidHg1lX3/O8lv0JudHkGtHJYewjorn/xXGY++vOCTQdZNk6qzEgmYSvPehKfdg8js_1_Volume:MAK_EnterpriseS_Ge
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								cce9d2de-98ee-4ce2-8113-222620c64a27_KCNVH-YKWX8-GJJB9-H9FDT-6F%f% 7W2_125_X22-66075_GCqWmJOsTVun9z4QkE9n2XqBvt3ZWSPl9QmIh9Q2mXMG/QVt2IE7S+ES/NWlyTSNjLVySr1D2sGjxgEzy9kLwn7VENQVJ736h1iOdMj/3rdqLMSpTa813+nPSQgKpqJ3uMuvIvRP0FdB7Y4qt8qf9kNKK25A1QknioD/6YubL/4_1_Volume:MAK_EnterpriseS_VB
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								d06934ee-5448-4fd1-964a-cd077618aa06_43TBQ-NH92J-XKTM7-KT3KK-P3%f% 9PB_125_X21-83233_EpB6qOCo8pRgO5kL4vxEHck2J1vxyd9OqvxUenDnYO9AkcGWat/D74ZcFg5SFlIya1U8l5zv+tsvZ4wAvQ1IaFW1PwOKJLOaGgejqZ41TIMdFGGw+G+s1RHsEnrWr3UOakTodby1aIMUMoqf3NdaM5aWFo8fOmqWC5/LnCoighs_0_OEM:NONSLP_EnterpriseS_RS5
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								706e0cfd-23f4-43bb-a9af-1a492b9f1302_NK96Y-D9CD8-W44CQ-R8YTK-DY%f% JWX_125_X21-05035_ntcKmazIvLpZOryft28gWBHu1nHSbR+Gp143f/BiVe+BD2UjHBZfSR1q405xmQZsygz6VRK6+zm8FPR++71pkmArgCLhodCQJ5I4m7rAJNw/YX99pILphi1yCRcvHsOTGa825GUVXgf530tHT6hr0HQ1lGeGgG1hPekpqqBbTlg_0_OEM:NONSLP_EnterpriseS_RS1
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								faa57748-75c8-40a2-b851-71ce92aa8b45_FWN7H-PF93Q-4GGP8-M8RF3-MD%f% WWW_125_X19-99617_Fe9CDClilrAmwwT7Yhfx67GafWRQEpwyj8R+a4eaTqbpPcAt7d1hv1rx8Sa9AzopEGxIrb7IhiPoDZs0XaT1HN0/olJJ/MnD73CfBP4sdQdLTsSJE3dKMWYTQHpnjqRaS/pNBYRr8l9Mv8yfcP8uS2MjIQ1cRTqRmC7WMpShyCg_0_OEM:NONSLP_EnterpriseS_TH
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								3d1022d8-969f-4222-b54b-327f5a5af4c9_2DBW3-N2PJG-MVHW3-G7TDK-9H%f% KR4_126_X21-04921_zLPNvcl1iqOefy0VLg+WZgNtRNhuGpn8+BFKjMqjaNOSKiuDcR6GNDS5FF1Aqk6/e6shJ+ohKzuwrnmYq3iNQ3I2MBlYjM5kuNfKs8Vl9dCjSpQr//GBGps6HtF2xrG/2g/yhtYC7FbtGDIE16uOeNKFcVg+XMb0qHE/5Etyfd8_0_Volume:MAK_EnterpriseSN_RS1
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								60c243e1-f90b-4a1b-ba89-387294948fb6_NTX6B-BRYC2-K6786-F6MVQ-M7%f% V2X_126_X19-98770_kbXfe0z9Vi1S0yfxMWzI5+UtWsJKzxs7wLGUDLjrckFDn1bDQb4MvvuCK1w+Qrq33lemiGpNDspa+ehXiYEeSPFcCvUBpoMlGBFfzurNCHWiv3o1k3jBoawJr/VoDoVZfxhkps0fVoubf9oy6C6AgrkZ7PjCaS58edMcaUWvYYg_0_Volume:MAK_EnterpriseSN_TH
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								01eb852c-424d-4060-94b8-c10d799d7364_3XP6D-CRND4-DRYM2-GM84D-4G%f% G8Y_139_X23-37869_PVW0XnRJnsWYjTqxb6StCi2tge/uUwegjdiFaFUiZpwdJ620RK+MIAsSq5S+egXXzIWNntoy2fB6BO8F1wBFmxP/mm/3rn5C33jtF5QrbNqY7X9HMbqSiC7zhs4v4u2Xa4oZQx8JQkwr8Q2c/NgHrOJKKRASsSckhunxZ+WVEuM_1_____Retail_ProfessionalCountrySpecific_Zn
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								eb6d346f-1c60-4643-b960-40ec31596c45_DXG7C-N36C4-C4HTG-X4T3X-2Y%f% V77_161_X21-43626_MaVqTkRrGnOqYizl15whCOKWzx01+BZTVAalvEuHXM+WV55jnIfhWmd/u1GqCd5OplqXdU959zmipK2Iwgu2nw/g91nW//sQiN/cUcvg1Lxo6pC3gAo1AjTpHmGIIf9XlZMYlD+Vl6gXsi/Auwh3yrSSFh5s7gOczZoDTqQwHXA_0_____Retail_ProfessionalWorkstation
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								89e87510-ba92-45f6-8329-3afa905e3e83_WYPNQ-8C467-V2W6J-TX4WX-WT%f% 2RQ_162_X21-43644_JVGQowLiCcPtGY9ndbBDV+rTu/q5ljmQTwQWZgBIQsrAeQjLD8jLEk/qse7riZ7tMT6PKFVNXeWqF7PhLAmACbE8O3Lvp65XMd/Oml9Daynj5/4n7unsffFHIHH8TGyO5j7xb4dkFNqC5TX3P8/1gQEkTIdZEOTQQXFu0L2SP5c_0_____Retail_ProfessionalWorkstationN
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								62f0c100-9c53-4e02-b886-a3528ddfe7f6_8PTT6-RNW4C-6V7J2-C2D3X-MH%f% BPB_164_X21-04955_CEDgxI8f/fxMBiwmeXw5Of55DG32sbGALzHihXkdbYTDaE3pY37oAA4zwGHALzAFN/t254QImGPYR6hATgl+Cp804f7serJqiLeXY965Zy67I4CKIMBm49lzHLFJeDnVTjDB0wVyN29pvgO3+HLhZ22KYCpkRHFFMy2OKxS68Yc_0_____Retail_ProfessionalEducation
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								13a38698-4a49-4b9e-8e83-98fe51110953_GJTYN-HDMQY-FRR76-HVGC7-QP%f% F8P_165_X21-04956_r35zp9OfxKSBcTxKWon3zFtbOiCufAPo6xRGY5DJqCRFKdB0jgZalNQitvjmaZ/Rlez2vjRJnEart4LrvyW4d9rrukAjR3+c3UkeTKwoD3qBl9AdRJbXCa2BdsoXJs1WVS4w4LuVzpB/SZDuggZt0F2DlMB427F5aflook/n1pY_0_____Retail_ProfessionalEducationN
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								df96023b-dcd9-4be2-afa0-c6c871159ebe_NJCF7-PW8QT-3324D-688JX-2Y%f% V66_175_X21-41295_rVpetYUmiRB48YJfCvJHiaZapJ0bO8gQDRoql+rq5IobiSRu//efV1VXqVpBkwILQRKgKIVONSTUF5y2TSxlDLbDSPKp7UHfbz17g6vRKLwOameYEz0ZcK3NTbApN/cMljHvvF/mBag1+sHjWu+eoFzk8H89k9nw8LMeVOPJRDc_0_____Retail_ServerRdsh
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								d4ef7282-3d2c-4cf0-9976-8854e64a8d1e_V3WVW-N2PV2-CGWC3-34QGF-VM%f% J2C_178_X21-32983_Xzme9hDZR6H0Yx0deURVdE6LiTOkVqWng5W/OTbkxRc0rq+mSYpo/f/yqhtwYlrkBPWx16Yok5Bvcb34vbKHvEAtxfYp4te20uexLzVOtBcoeEozARv4W/6MhYfl+llZtR5efsktj4N4/G4sVbuGvZ9nzNfQO9TwV6NGgGEj2Ec_0_____Retail_Cloud
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								af5c9381-9240-417d-8d35-eb40cd03e484_NH9J3-68WK7-6FB93-4K3DF-DJ%f% 4F6_179_X21-32987_QGRDZOU/VZhYLOSdp2xDnFs8HInNZctcQlWCIrORVnxTQr55IJwN4vK3PJHjkfRLQ/bgUrcEIhyFbANqZFUq8yD1YNubb2bjNORgI/m8u85O9V7nDGtxzO/viEBSWyEHnrzLKKWYqkRQKbbSW3ungaZR0Ti5O2mAUI4HzAFej50_0_____Retail_CloudN
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								8ab9bdd1-1f67-4997-82d9-8878520837d9_XQQYW-NFFMW-XJPBH-K8732-CK%f% FFD_188_X21-99378_djy0od0uuKd2rrIl+V1/2+MeRltNgW7FEeTNQsPMkVSL75NBphgoso4uS0JPv2D7Y1iEEvmVq6G842Kyt52QOwXgFWmP/IQ6Sq1dr+fHK/4Et7bEPrrGBEZoCfWqk0kdcZRPBij2KN6qCRWhrk1hX2g+U40smx/EYCLGh9HCi24_0_____OEM:DM_IoTEnterprise
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								ed655016-a9e8-4434-95d9-4345352c2552_QPM6N-7J2WJ-P88HH-P3YRH-YY%f% 74H_191_X21-99682_qHs/PzfhYWdtSys2edzcz4h+Qs8aDqb8BIiQ/mJ/+0uyoJh1fitbRCIgiFh2WAGZXjdgB8hZeheNwHibd8ChXaXg4u+0XlOdFlaDTgTXblji8fjETzDBk9aGkeMCvyVXRuUYhTSdp83IqGHz7XuLwN2p/6AUArx9JZCoLGV8j3w_0_OEM:NONSLP_IoTEnterpriseS_VB
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								6c4de1b8-24bb-4c17-9a77-7b939414c298_CGK42-GYN6Y-VD22B-BX98W-J8%f% JXD_191_X23-12617_J/fpIRynsVQXbp4qZNKp6RvOgZ/P2klILUKQguMlcwrBZybwNkHg/kM5LNOF/aDzEktbPnLnX40GEvKkYT6/qP4cMhn/SOY0/hYOkIdR34ilzNlVNq5xP7CMjCjaUYJe+6ydHPK6FpOuEoWOYYP5BZENKNGyBy4w4shkMAw19mA_0_OEM:NONSLP_IoTEnterpriseS_Ge
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								d4bdc678-0a4b-4a32-a5b3-aaa24c3b0f24_K9VKN-3BGWV-Y624W-MCRMQ-BH%f% DCD_202_X22-53884_kyoNx2s93U6OUSklB1xn+GXcwCJO1QTEtACYnChi8aXSoxGQ6H2xHfUdHVCwUA1OR0UeNcRrMmOzZBOEUBtdoGWSYPg9AMjvxlxq9JOzYAH+G6lT0UbCWgMSGGrqdcIfmshyEak3aUmsZK6l+uIAFCCZZ/HbbCRkkHC5rWKstMI_0_____Retail_CloudEditionN
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								92fb8726-92a8-4ffc-94ce-f82e07444653_KY7PN-VR6RX-83W6Y-6DDYQ-T6%f% R4W_203_X22-53847_gD6HnT4jP4rcNu9u83gvDiQq1xs7QSujcDbo60Di5iSVa9/ihZ7nlhnA0eDEZfnoDXriRiPPqc09T6AhSnFxLYitAkOuPJqL5UMobIrab9dwTKlowqFolxoHhLOO4V92Hsvn/9JLy7rEzoiAWHhX/0cpMr3FCzVYPeUW1OyLT1A_0_____Retail_CloudEdition
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								5a85300a-bfce-474f-ac07-a30983e3fb90_N979K-XWD77-YW3GB-HBGH6-D3%f% 2MH_205_X23-15042_blZopkUuayCTgZKH4bOFiisH9GTAHG5/js6UX/qcMWWc3sWNxKSX1OLp1k3h8Xx1cFuvfG/fNAw/I83ssEtPY+A0Gx1JF4QpRqsGOqJ5ruQ2tGW56CJcCVHkB+i46nJAD759gYmy3pEYMQbmpWbhLx3MJ6kvwxKfU+0VCio8k50_0_____OEM:DM_IoTEnterpriseSK
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								80083eae-7031-4394-9e88-4901973d56fe_P8Q7T-WNK7X-PMFXY-VXHBG-RR%f% K69_206_X23-62084_habUJ0hhAG0P8iIKaRQ74/wZQHyAdFlwHmrejNjOSRG08JeqilJlTM6V8G9UERLJ92/uMDVHIVOPXfN8Zdh8JuYO8oflPnqymIRmff/pU+Gpb871jV2JDA4Cft5gmn+ictKoN4VoSfEZRR+R5hzF2FsoCExDNNw6gLdjtiX94uA_0_____OEM:DM_IoTEnterpriseK
							 
						 
					
						
							
								
									
										
										
										
											2022-07-25 18:03:00 +00:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								) do (  
						 
					
						
							
								
									
										
										
										
											2023-09-25 13:46:19 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								for  /f  " tokens=1-9 delims=_ "  %% A in  ( " %% # " )  do  (  
						 
					
						
							
								
									
										
										
										
											2022-11-07 20:33:01 +00:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2023-09-25 13:46:19 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								REM Detect key  
						 
					
						
							
								
									
										
										
										
											2022-11-07 20:33:01 +00:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2023-09-25 13:46:19 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								if  %1 == key if  %osSKU% == %% C if  not  defined  key  (  
						 
					
						
							
								
									
										
										
										
											2024-07-12 22:26:18 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								echo  " !allapps!  !altapplist! "  |  find /i " %% A "  %nul1%  &&  (  
						 
					
						
							
								
									
										
										
										
											2022-11-07 20:33:01 +00:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								if  %% F== 1 set  notworking = 1 
						 
					
						
							
								
									
										
										
										
											2022-07-25 18:03:00 +00:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								set  key = %% B 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								)  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								)  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2022-11-07 20:33:01 +00:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								REM Generate ticket  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								if  %1 == ticket if  " %key% " == " %% B "  (  
						 
					
						
							
								
									
										
										
										
											2023-10-03 10:31:31 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								set  " string=OSMajorVersion=5;OSMinorVersion=1;OSPlatformId=2;PP=0;Pfn=Microsoft.Windows. %% C. %% D_8wekyb3d8bbwe;PKeyIID=465145217131314304264339481117862266242033457260311819664735280;$([char]0) "  
						 
					
						
							
								
									
										
										
										
											2023-03-16 18:11:04 +00:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								for  /f  " tokens=* delims= "  %% i in  ( ' %psc%  [conv %f% ert]::ToBas %f% e64String([Text.En %f% coding]::Uni %f% code.GetBytes("""!string!"""^)^)' )  do  set  " encoded= %% i "  
						 
					
						
							
								
									
										
										
										
											2023-09-25 13:46:19 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								echo  " !encoded! "  |  find " AAAA "  %nul1%  ||  exit  /b 
						 
					
						
							
								
									
										
										
										
											2022-11-07 20:33:01 +00:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								< nul set  /p  " =<?xml version= " 1.0"  encoding= " utf-8" ?><genuineAuthorization xmlns= " http://www.microsoft.com/DRM/SL/GenuineAuthorization/1.0" ><version>1.0</version><genuineProperties origin= " sppclient" ><properties>OA3xOriginalProductId=;OA3xOriginalProductKey=;SessionId=!encoded!;TimeStampClient=2022-10-11T12:00:00Z</properties><signatures><signature name= " clientLockboxKey"  method= " rsa-sha256" > %% E=</signature></signatures></genuineProperties></genuineAuthorization> "  > " %tdir% \GenuineTicket "  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								)  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2022-07-25 18:03:00 +00:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								)  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								)  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								exit  /b 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								: :========================================================================================================================================  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								: :  Below code is used to get alternate edition name and key if current edition doesn't support HWID activation  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2022-11-07 20:33:01 +00:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								: :  1st column = Current SKU ID  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								: :  2nd column = Current Edition Name  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								: :  3rd column = Current Edition Activation ID  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								: :  4th column = Alternate Edition Activation ID  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								: :  5th column = Alternate Edition HWID Key  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								: :  6th column = Alternate Edition Name  
						 
					
						
							
								
									
										
										
										
											2022-07-25 18:03:00 +00:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								: :  Separator  = _  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								: hwidfallback  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2022-11-07 20:33:01 +00:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								set  notfoundaltactID =  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								if  %_NoEditionChange% == 1 exit  /b 
						 
					
						
							
								
									
										
										
										
											2022-07-25 18:03:00 +00:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								for  %% # in  (  
						 
					
						
							
								
									
										
										
										
											2024-07-12 22:26:18 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								125_EnterpriseS-2021_______________cce9d2de-98ee-4ce2-8113-222620c64a27_ed655016-a9e8-4434-95d9-4345352c2552_QPM6N-7J2WJ-P88HH-P3YRH-YY%f% 74H_IoTEnterpriseS-2021
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								125_EnterpriseS-2024_______________f6e29426-a256-4316-88bf-cc5b0f95ec0c_6c4de1b8-24bb-4c17-9a77-7b939414c298_CGK42-GYN6Y-VD22B-BX98W-J8%f% JXD_IoTEnterpriseS-2024
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								138_ProfessionalSingleLanguage_____a48938aa-62fa-4966-9d44-9f04da3f72f2_4de7cb65-cdf1-4de9-8ae8-e3cce27b9f2c_VK7JG-NPHTM-C97JM-9MPGT-3V%f% 66T_Professional
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								139_ProfessionalCountrySpecific____f7af7d09-40e4-419c-a49b-eae366689ebd_4de7cb65-cdf1-4de9-8ae8-e3cce27b9f2c_VK7JG-NPHTM-C97JM-9MPGT-3V%f% 66T_Professional
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								139_ProfessionalCountrySpecific-Zn_01eb852c-424d-4060-94b8-c10d799d7364_4de7cb65-cdf1-4de9-8ae8-e3cce27b9f2c_VK7JG-NPHTM-C97JM-9MPGT-3V%f% 66T_Professional
							 
						 
					
						
							
								
									
										
										
										
											2022-07-25 18:03:00 +00:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								) do (  
						 
					
						
							
								
									
										
										
										
											2022-11-07 20:33:01 +00:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								for  /f  " tokens=1-6 delims=_ "  %% A in  ( " %% # " )  do  if  %osSKU% == %% A (  
						 
					
						
							
								
									
										
										
										
											2024-07-12 22:26:18 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								echo  " !allapps!  !altapplist! "  |  find /i " %% C "  %nul1%  &&  (  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								echo  " !allapps! "  |  find /i " %% D "  %nul1%  &&  (  
						 
					
						
							
								
									
										
										
										
											2022-11-07 20:33:01 +00:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								set  altkey = %% E 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								set  altedition = %% F 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								) || (  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								set  altedition = %% F 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								set  notfoundaltactID = 1 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								)  
						 
					
						
							
								
									
										
										
										
											2022-07-25 18:03:00 +00:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								)  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								)  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								)  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								exit  /b 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2023-09-25 13:46:19 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								: :========================================================================================================================================  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								: : Leave empty line below