From b65004daf0a8b44b42e7a8a5939995fea7c41c78 Mon Sep 17 00:00:00 2001 From: WindowsAddict Date: Wed, 22 Jan 2020 06:05:20 +0530 Subject: Add files via upload MAS 1.3 # HWID / KMS38 - Fixed a bug in Enterprise Edition activation. - Updated the ticket generation and applying process. # All - Added a project mirror on github. - Some minor improvements--- .../Extras/OEMRET-Install_W10_Key.cmd | 322 +++++++++++++++++++++ 1 file changed, 322 insertions(+) create mode 100644 MAS_1.3/Separate-Files-Version/Extras/OEMRET-Install_W10_Key.cmd (limited to 'MAS_1.3/Separate-Files-Version/Extras/OEMRET-Install_W10_Key.cmd') diff --git a/MAS_1.3/Separate-Files-Version/Extras/OEMRET-Install_W10_Key.cmd b/MAS_1.3/Separate-Files-Version/Extras/OEMRET-Install_W10_Key.cmd new file mode 100644 index 0000000..8766fe3 --- /dev/null +++ b/MAS_1.3/Separate-Files-Version/Extras/OEMRET-Install_W10_Key.cmd @@ -0,0 +1,322 @@ +@setlocal DisableDelayedExpansion +@echo off + +:: For unattended mode, run the script with /u parameter. + + + + + +:: ======================================================================================================= +:: +:: This script is a part of 'Microsoft Activation Scripts' project. +:: +:: Homepages- +:: NsaneForums: (Login Required) https://www.nsaneforums.com/topic/316668-microsoft-activation-scripts/ +:: GitHub: https://github.com/massgravel/Microsoft-Activation-Scripts +:: GitLab: https://gitlab.com/massgrave/microsoft-activation-scripts +:: +:: Maintained by @WindowsAddict +:: +:: ======================================================================================================= + + + + + + + + + + + +::======================================================================================================================================== + +cls +title Install Windows 10 Retail/OEM Key +set Unattended= +set _args= +set _elev= +set "_arg1=%~1" +if not defined _arg1 goto :NoProgArgs +set "_args=%~1" +set "_arg2=%~2" +if defined _arg2 set "_args=%~1 %~2" +for %%A in (%_args%) do ( +if /i "%%A"=="-el" set _elev=1 +if /i "%%A"=="/u" set Unattended=1) +:NoProgArgs +for /f "tokens=6 delims=[]. " %%G in ('ver') do set winbuild=%%G +set "_psc=powershell -nop -ep bypass -c" +set "nul=1>nul 2>nul" +set "ELine=echo: &echo ==== ERROR ==== &echo:" + +::======================================================================================================================================== + +if %winbuild% LSS 10240 ( +%ELine% +echo Unsupported OS version Detected. +echo Project is supported only for Windows 10. +goto Ins_Done +) + +::======================================================================================================================================== + +:: Elevate script as admin and pass arguments and preventing loop +:: Thanks to @hearywarlot [ https://forums.mydigitallife.net/threads/.74332/ ] for the VBS method. +:: Thanks to @abbodi1406 for the powershell method and solving special characters issue in file path name. + +%nul% reg query HKU\S-1-5-19 && ( + goto :Passed + ) || ( + if defined _elev goto :E_Admin +) + +set "_batf=%~f0" +set "_vbsf=%temp%\admin.vbs" +set _PSarg="""%~f0""" -el +if defined _args set _PSarg="""%~f0""" -el """%_args%""" + +setlocal EnableDelayedExpansion + +( +echo Set strArg=WScript.Arguments.Named +echo Set strRdlproc = CreateObject^("WScript.Shell"^).Exec^("rundll32 kernel32,Sleep"^) +echo With GetObject^("winmgmts:\\.\root\CIMV2:Win32_Process.Handle='" ^& strRdlproc.ProcessId ^& "'"^) +echo With GetObject^("winmgmts:\\.\root\CIMV2:Win32_Process.Handle='" ^& .ParentProcessId ^& "'"^) +echo If InStr ^(.CommandLine, WScript.ScriptName^) ^<^> 0 Then +echo strLine = Mid^(.CommandLine, InStr^(.CommandLine , "/File:"^) + Len^(strArg^("File"^)^) + 8^) +echo End If +echo End With +echo .Terminate +echo End With +echo CreateObject^("Shell.Application"^).ShellExecute "cmd.exe", "/c " ^& chr^(34^) ^& chr^(34^) ^& strArg^("File"^) ^& chr^(34^) ^& strLine ^& chr^(34^), "", "runas", 1 +)>"!_vbsf!" + +(%nul% cscript //NoLogo "!_vbsf!" /File:"!_batf!" -el "!_args!") && ( +del /f /q "!_vbsf!" +exit /b +) || ( +del /f /q "!_vbsf!" +%nul% %_psc% "start cmd.exe -arg '/c \"!_PSarg:'=''!\"' -verb runas" && ( +exit /b +) || ( +goto :E_Admin +) +) +exit /b + +:E_Admin +%ELine% +echo This script require administrator privileges. +echo To do so, right click on this script and select 'Run as administrator'. +goto Ins_Done + +:Passed + +mode con: cols=98 lines=30 +setlocal EnableDelayedExpansion + +::======================================================================================================================================== + +:: Check Windows OS name + +set winos= +for /f "skip=2 tokens=2*" %%a in ('reg query "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion" /v ProductName 2^>nul') do if not errorlevel 1 set "winos=%%b" +if not defined winos for /f "tokens=2* delims== " %%a in ('"wmic os get caption /value" 2^>nul') do if not errorlevel 1 set "winos=%%b" + +:: Check SKU value + +set SKU= +for /f "tokens=2 delims==" %%a IN ('"wmic Path Win32_OperatingSystem Get OperatingSystemSKU /format:LIST" 2^>nul') do if not errorlevel 1 (set osSKU=%%a) +if not defined SKU for /f "tokens=3 delims=." %%a in ('reg query "HKLM\SYSTEM\CurrentControlSet\Control\ProductOptions" /v OSProductPfn 2^>nul') do if not errorlevel 1 (set osSKU=%%a) + +if "%osSKU%"=="" ( +%ELine% +echo SKU value was not detected properly. Aborting... +goto Ins_Done +) + +:: Check Windows Edition with SKU value for better accuracy + +set osedition= +call :CheckEdition %nul% + +if "%osedition%"=="" ( +%ELine% +echo [%winos% ^| %winbuild% ^| SKU:%osSKU%] HWID Activation is Not Supported. +goto Ins_Done +) + +set key= +call :%osedition% %nul% + +if "%key%"=="" ( +%ELine% +echo [%winos% ^| %winbuild%] HWID Activation is Not Supported. +goto Ins_Done +) + +::======================================================================================================================================== + +if defined Unattended goto ContinueKeyInsert + +cls +echo ___________________________________________________________________________________________ +echo: +echo Install [%winos% ^| %winbuild%] Retail/OEM Key +echo [%key%] +echo ___________________________________________________________________________________________ +echo: +choice /C:12 /N /M "[1] Continue [2] Exit : " + +if errorlevel 2 exit /b +if errorlevel 1 goto ContinueKeyInsert + +:ContinueKeyInsert + +cls +echo ___________________________________________________________________________________________ + +:: Thanks to @abbodi1406 for the WMI methods + +set slp=SoftwareLicensingProduct +set sls=SoftwareLicensingService +set wApp=55c92734-d682-4d71-983e-d6ec3f16059f + +wmic path %sls% where __CLASS='%sls%' call InstallProductKey ProductKey="%key%" %nul% && ( +for /f "tokens=2 delims==" %%# in ('wmic path %slp% where "ApplicationID='%wApp%' and PartialProductKey<>null" Get ProductKeyChannel /value 2^>nul') do set "_channel=%%#" +wmic path %sls% where __CLASS='%sls%' call RefreshLicenseStatus %nul% +echo: +echo [%winos% ^| %winbuild%] +call echo Installing %%_channel%% Key [%key%] +echo [Successful] +) || ( +%ELine% +echo Installing Retail/OEM Key [%key%] +echo [Unsuccessful] +) +echo ___________________________________________________________________________________________ + +::======================================================================================================================================== + +:Ins_Done +echo: +if defined Unattended ( +echo Exiting in 3 seconds... +if %winbuild% LSS 7600 (ping -n 3 127.0.0.1 > nul) else (timeout /t 3) +exit /b +) +echo Press any key to exit... +pause >nul +exit /b + +::======================================================================================================================================== + +:: Check Windows Edition with SKU value for better accuracy + +:CheckEdition + +for %%# in ( +4-Enterprise +27-EnterpriseN +48-Professional +49-ProfessionalN +98-CoreN +99-CoreCountrySpecific +100-CoreSingleLanguage +101-Core +121-Education +122-EducationN +125-EnterpriseS +126-EnterpriseSN +161-ProfessionalWorkstation +162-ProfessionalWorkstationN +164-ProfessionalEducation +165-ProfessionalEducationN +175-ServerRdsh +188-IoTEnterprise +) do for /f "tokens=1,2 delims=-" %%A in ("%%#") do ( +if %osSKU%==%%A set "osedition=%%B" +) +exit /b + +::======================================================================================================================================== + +:: Retail/OEM Key List + +:Core +set "key=YTMG3-N6DKC-DKB77-7M9GH-8HVX7" +exit /b + +:CoreCountrySpecific +set "key=N2434-X9D7W-8PF6X-8DV9T-8TYMD" +exit /b + +:CoreN +set "key=4CPRK-NM3K3-X6XXQ-RXX86-WXCHW" +exit /b + +:CoreSingleLanguage +set "key=BT79Q-G7N6G-PGBYW-4YWX6-6F4BT" +exit /b + +:Education +set "key=YNMGQ-8RYV3-4PGQ3-C8XTP-7CFBY" +exit /b + +:EducationN +set "key=84NGF-MHBT6-FXBX8-QWJK7-DRR8H" +exit /b + +:Enterprise +set "key=XGVPP-NMH47-7TTHJ-W3FW7-8HV2C" +exit /b + +:EnterpriseN +set "key=3V6Q6-NQXCX-V8YXR-9QCYV-QPFCT" +exit /b + +:EnterpriseS +if "%winbuild%" EQU "10240" set "key=FWN7H-PF93Q-4GGP8-M8RF3-MDWWW" +if "%winbuild%" EQU "14393" set "key=NK96Y-D9CD8-W44CQ-R8YTK-DYJWX" +exit /b + +:EnterpriseSN +if "%winbuild%" EQU "10240" set "key=8V8WN-3GXBH-2TCMG-XHRX3-9766K" +if "%winbuild%" EQU "14393" set "key=2DBW3-N2PJG-MVHW3-G7TDK-9HKR4" +exit /b + +:Professional +set "key=VK7JG-NPHTM-C97JM-9MPGT-3V66T" +exit /b + +:ProfessionalEducation +set "key=8PTT6-RNW4C-6V7J2-C2D3X-MHBPB" +exit /b + +:ProfessionalEducationN +set "key=GJTYN-HDMQY-FRR76-HVGC7-QPF8P" +exit /b + +:ProfessionalN +set "key=2B87N-8KFHP-DKV6R-Y2C8J-PKCKT" +exit /b + +:ProfessionalWorkstation +set "key=DXG7C-N36C4-C4HTG-X4T3X-2YV77" +exit /b + +:ProfessionalWorkstationN +set "key=WYPNQ-8C467-V2W6J-TX4WX-WT2RQ" +exit /b + +:ServerRdsh +set "key=NJCF7-PW8QT-3324D-688JX-2YV66" +exit /b + +:IoTEnterprise +set "key=XQQYW-NFFMW-XJPBH-K8732-CKFFD" +exit /b + +::======================================================================================================================================== \ No newline at end of file -- cgit v1.2.3