summaryrefslogtreecommitdiff
path: root/MAS_1.4/Separate-Files-Version/Extras/OEMRET-Install_W10_Key.cmd
diff options
context:
space:
mode:
authorWindowsAddict2020-08-14 03:59:32 +0000
committerGitHub2020-08-14 03:59:32 +0000
commitd4b8f942eccdd1570b829b68863acdc9d60b944b (patch)
tree82e76cae15fa7bc2ebcdc7b533aa168c81d88338 /MAS_1.4/Separate-Files-Version/Extras/OEMRET-Install_W10_Key.cmd
parent118379f292aec7682bd50301e266c0d648a2c50c (diff)
downloadMicrosoft-Activation-Scripts-d4b8f942eccdd1570b829b68863acdc9d60b944b.zip
Added HWID support for Windows 10 LTSC 2019 1.4
- Now Microsoft support HWID (Digital License) for Windows 10 LTSC 2019, added key for it in the script. - Some minor improvements.
Diffstat (limited to 'MAS_1.4/Separate-Files-Version/Extras/OEMRET-Install_W10_Key.cmd')
-rw-r--r--MAS_1.4/Separate-Files-Version/Extras/OEMRET-Install_W10_Key.cmd324
1 files changed, 324 insertions, 0 deletions
diff --git a/MAS_1.4/Separate-Files-Version/Extras/OEMRET-Install_W10_Key.cmd b/MAS_1.4/Separate-Files-Version/Extras/OEMRET-Install_W10_Key.cmd
new file mode 100644
index 0000000..1cc347a
--- /dev/null
+++ b/MAS_1.4/Separate-Files-Version/Extras/OEMRET-Install_W10_Key.cmd
@@ -0,0 +1,324 @@
+@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"
+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"
+if "%winbuild%" EQU "17763" set "key=43TBQ-NH92J-XKTM7-KT3KK-P39PB"
+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"
+if "%winbuild%" EQU "17763" set "key=M33WV-NHY3C-R7FPM-BQGPT-239PG"
+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