Tree:
ba9e833bed
dev
master
1.2
1.3
1.4
1.5
1.6
1.7
1.8
1.9
2.0
2.1
2.2
2.3
2.4
2.5
2.6
2.7
2.8
2.9
3.0
3.1
3.10
3.2
3.3
3.4
3.5
3.6
3.7
3.8
3.9
${ noResults }
30 Commits (ba9e833bed6c47c4e73adb52ded0bde86f5572f1)
| Author | SHA1 | Message | Date |
|---|---|---|---|
|
|
ba9e833bed
|
Delete Activate.cmd
@setlocal DisableDelayedExpansion @echo off ::======================================================================================================================================== :: change to 1 to enable debug mode set _Debug=0 :: change to 0 to turn OFF Windows or Office activation via the script :: note: this is not effective if Windows and/or Office installation is already Volume (GVLK installed) set ActWindows=1 set ActOffice=1 :: change to 0 to revert Windows 10 KMS38 to normal KMS set SkipKMS38=1 :: change to 0 to turn OFF auto conversion for Office C2R Retail to Volume set AutoR2V=1 :: set the script to use only one specific KMS server address. :: paste the server address after the = sign in below line. set KMS_Server= :: Change to 1 to clear KMS cache after the activation. :: - Registered KMS server address (cache) enables the system to automatically renew the license (for every next 180 days) every 7 days, as long as the server is online. :: - This process is same as how the legal KMS suppose to work, so no security program will flag this behaviour. :: - Changing this option here won't have any effect if manual (Desktop Context menu) and/or auto, renewal activation script is installed. [default (0)]. :: - I recommend to leave this option as default (0). set Clear-KMS-Cache=0 :: ### Advanced KMS Options ### :: change KMS auto renewal schedule, range in minutes: from 15 to 43200 :: example: 10080 = weekly, 1440 = daily, 43200 = monthly set KMS_RenewalInterval=10080 :: change KMS reattempt schedule for failed activation or unactivated, range in minutes: from 15 to 43200 set KMS_ActivationInterval=120 :: change Hardware Hash for KMS emulator server (only affect Windows 8.1 and 10) set KMS_HWID=0x3A1C049600B60076 :: change KMS TCP port set KMS_Port=1688 : ################################################################## : # NORMALY THERE IS NO NEED TO CHANGE ANYTHING BELOW THIS COMMENT # : ################################################################## ::======================================================================================================================================== : Credits: :: This script is a fork of 'KMS_VL_ALL - Smart Activation Script' Project :: The main project is maintained by @abbodi1406 :: https://forums.mydigitallife.net/posts/838808 :: This fork was made to avoid having any KMS binary files and system can be activated using :: some manual commands or transparent batch script files. :: Thanks to @RPO (MDL), for providing great help in making of this fork. ::-------------------------------------------------------------------------------------------------------- :: 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 Online KMS Activation set Unattended= set _args= set _elev= set Task= 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 if /i "%%A"=="Task" set Task=1&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 "EchoRed=%_psc% write-host -back Black -fore Red" set "EchoGreen=%_psc% write-host -back Black -fore Green" set "ELine=echo: & %EchoRed% ==== ERROR ==== &echo:" ::======================================================================================================================================== for %%i in (powershell.exe) do if "%%~$path:i"=="" ( echo: &echo ==== ERROR ==== &echo: echo Powershell is not installed in the system. echo Aborting... goto Done ) ::======================================================================================================================================== if %winbuild% LSS 7600 ( %ELine% echo Unsupported OS version Detected. echo Project is supported only for Windows 7/8/8.1/10 and their Server equivalent. goto Done ) ::======================================================================================================================================== :: Fix for the special characters limitation in path name :: Written by @abbodi1406 set "_batf=%~f0" set "_vbsf=%temp%\admin.vbs" set _PSarg="""%~f0""" -el if defined _args set _PSarg="""%~f0""" -el """%_args%""" setlocal EnableDelayedExpansion :: 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 ) ( 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% if "!_batf!"=="%ProgramData%\Online_KMS_Activation\Activate.cmd" ( echo Unable to elevate the script as admin. echo Try to manually run the file as admin - "%ProgramData%\Online_KMS_Activation\Activate.cmd" ) else ( echo This script require administrator privileges. echo To do so, right click on this script and select 'Run as administrator'. ) goto Done :Passed ::======================================================================================================================================== if defined Task ( set DateTime=1 set Renewal_Task=1 reg query "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Schedule\taskcache\tasks" /f Path /s | find /i "\Online_KMS_Activation_Script-Run_Once" >nul && ( set Renewal_Task= set Run_Once=1 ) ) If defined Task call :_Start_>>"%ProgramData%\Online_KMS_Activation\Logs.txt" & exit :_Start_ If defined Task call :Activation_Start & echo Exiting... & echo: & exit /b ::======================================================================================================================================== :: Set buffer height independently of window height :: https://stackoverflow.com/a/13351373 :: Written by @dbenham (stackoverflow) mode con: cols=98 lines=30 if "!_batf!"=="%ProgramData%\Online_KMS_Activation\Activate.cmd" title Online KMS Activation [%ProgramData%\Online_KMS_Activation\] %nul% %_psc% "&{$H=get-host;$W=$H.ui.rawui;$B=$W.buffersize;$B.height=150;$W.buffersize=$B;}" ::======================================================================================================================================== cls setlocal call :Activation_Start @echo off endlocal setlocal call :Clear-KMS-Cache endlocal ::======================================================================================================================================== :Done echo: if %_Debug% EQU 1 exit /b 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 ::======================================================================================================================================== :Clear-KMS-Cache if exist "%ProgramData%\Online_KMS_Activation\Activate.cmd" exit /b if %Clear-KMS-Cache% NEQ 1 exit /b :: Clear-KMS-Cache.cmd :: https://forums.mydigitallife.net/posts/1511883 :: Written by @abbodi1406 (MDL) set "SysPath=%Windir%\System32" if exist "%Windir%\Sysnative\reg.exe" (set "SysPath=%Windir%\Sysnative") set "Path=%SysPath%;%Windir%;%SysPath%\Wbem;%SysPath%\WindowsPowerShell\v1.0\" set "OSPP=SOFTWARE\Microsoft\OfficeSoftwareProtectionPlatform" set "SPPk=SOFTWARE\Microsoft\Windows NT\CurrentVersion\SoftwareProtectionPlatform" wmic path SoftwareLicensingProduct where (Description like '%%KMSCLIENT%%') get Name 2>nul | findstr /i Windows 1>nul && (set SppHook=1) || (set SppHook=0) wmic path SoftwareLicensingProduct where (Description like '%%KMSCLIENT%%') get Name 2>nul | findstr /i Office 1>nul && (set SppHook=1) wmic path OfficeSoftwareProtectionService get Version >nul 2>&1 && (set OsppHook=1) || (set OsppHook=0) if %SppHook% NEQ 0 call :cKMS SoftwareLicensingProduct SoftwareLicensingService SPP if %OsppHook% NEQ 0 call :cKMS OfficeSoftwareProtectionProduct OfficeSoftwareProtectionService OSPP call :cREG >nul 2>&1 %EchoGreen% Cleared KMS Cache successfully. exit /b :cKMS set spp=%1 set sps=%2 for /f "tokens=2 delims==" %%G in ('"wmic path %spp% where (Description like '%%KMSCLIENT%%') get ID /VALUE" 2^>nul') do (set app=%%G&call :cAPP) for /f "tokens=2 delims==" %%A in ('"wmic path %sps% get Version /VALUE"') do set ver=%%A wmic path %sps% where version='%ver%' call ClearKeyManagementServiceMachine >nul 2>&1 wmic path %sps% where version='%ver%' call ClearKeyManagementServicePort >nul 2>&1 wmic path %sps% where version='%ver%' call DisableKeyManagementServiceDnsPublishing 1 >nul 2>&1 wmic path %sps% where version='%ver%' call DisableKeyManagementServiceHostCaching 1 >nul 2>&1 goto :eof :cAPP wmic path %spp% where ID='%app%' call ClearKeyManagementServiceMachine >nul 2>&1 wmic path %spp% where ID='%app%' call ClearKeyManagementServicePort >nul 2>&1 goto :eof :cREG reg delete "HKLM\%SPPk%\55c92734-d682-4d71-983e-d6ec3f16059f" /f reg delete "HKLM\%SPPk%\0ff1ce15-a989-479d-af46-f275c6370663" /f reg delete "HKLM\%SPPk%" /f /v KeyManagementServiceName reg delete "HKLM\%SPPk%" /f /v KeyManagementServicePort reg delete "HKU\S-1-5-20\%SPPk%\55c92734-d682-4d71-983e-d6ec3f16059f" /f reg delete "HKU\S-1-5-20\%SPPk%\0ff1ce15-a989-479d-af46-f275c6370663" /f reg delete "HKLM\%OSPP%\59a52881-a989-479d-af46-f275c6370663" /f reg delete "HKLM\%OSPP%\0ff1ce15-a989-479d-af46-f275c6370663" /f reg delete "HKLM\%OSPP%" /f /v KeyManagementServiceName reg delete "HKLM\%OSPP%" /f /v KeyManagementServicePort if %OsppHook% NEQ 1 ( reg delete "HKLM\%OSPP%" /f reg delete "HKU\S-1-5-20\%OSPP%" /f ) goto :eof ::======================================================================================================================================== :========================================================================================================================================= :========================================================================================================================================= :========================================================================================================================================= :========================================================================================================================================= :Activation_Start @setlocal DisableDelayedExpansion set Silent=0 set Logger=0 set Unattend=1 if %Silent% EQU 1 set Unattend=1 set "_run=nul" if %Logger% EQU 1 set _run="%~dpn0_Silent.log" set "SysPath=%SystemRoot%\System32" if exist "%SystemRoot%\Sysnative\reg.exe" (set "SysPath=%SystemRoot%\Sysnative") set "Path=%SysPath%;%SystemRoot%;%SysPath%\Wbem;%SysPath%\WindowsPowerShell\v1.0\" set "_err===== ERROR ====" set "xOS=x64" set "xBit=x64" if /i %PROCESSOR_ARCHITECTURE%==x86 (if not defined PROCESSOR_ARCHITEW6432 ( set "xOS=x86" set "xBit=x86" ) ) set "_temp=%SystemRoot%\Temp" set "_log=%~dpn0" set "_work=%~dp0" if "%_work:~-1%"=="\" set "_work=%_work:~0,-1%" for /f "skip=2 tokens=2*" %%a in ('reg query "HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\User Shell Folders" /v Desktop') do call set "_dsk=%%b" if exist "%SystemDrive%\Users\Public\Desktop\desktop.ini" set "_dsk=%SystemDrive%\Users\Public\Desktop" setlocal EnableDelayedExpansion if %_Debug% EQU 0 ( set "_Nul1=1>nul" set "_Nul2=2>nul" set "_Nul6=2^>nul" set "_Nul3=1>nul 2>nul" set "_Pause=pause >nul" if %Unattend% EQU 1 set "_Pause=" if %Silent% EQU 0 (call :Begin) else (call :Begin >!_run! 2>&1) ) else ( set "_Nul1=" set "_Nul2=" set "_Nul6=" set "_Nul3=" set "_Pause=" copy /y nul "!_work!\#.rw" 1>nul 2>nul && (if exist "!_work!\#.rw" del /f /q "!_work!\#.rw") || (set "_log=!_dsk!\%~n0") if %Silent% EQU 0 ( echo: echo Running in Debug Mode... if not defined _args (echo The window will be closed when finished) else (echo please wait...) echo: echo writing debug log to: echo "!_log!_Debug.log" ) @echo on @prompt $G @call :Begin >"!_log!_tmp.log" 2>&1 &cmd /u /c type "!_log!_tmp.log">"!_log!_Debug.log"&del "!_log!_tmp.log" ) @echo off @exit /b :Begin ::======================================================================================================================================== :: Multi KMS servers integration :: 1688 Port Test, Internet Test with Powershell :: Thanks @RPO If defined Renewal_Task set T_Name=Renewal_Task If defined Run_Once set T_Name=Run_Once_[Activation_Task] if defined DateTime ( echo ======================================================================================================== echo ---------------------------- Echo %T_Name% echo ---------------------------- echo ---------------------------------------------- echo Date : %date% Time : %time% echo ---------------------------------------------- ) set /a loop=1 set /a max_loop=1 if defined Renewal_Task set /a max_loop=3 if defined Run_Once set /a max_loop=5 :repeat powershell "If([Activator]::CreateInstance([Type]::GetTypeFromCLSID([Guid]'{DCB00C01-570F-4A9B-8D69-199FDBA5723B}')).IsConnectedToInternet){Exit 0}Else{Exit 1}" if %errorlevel%==0 (goto IntConnected) if %loop%== %max_loop% ( %ELine% echo Internet is not connected. echo: &exit /b 1 ) echo Checking: Internet is not connected. echo Waiting 30 s timeout /t 30 >nul set /a loop=%loop%+1 goto repeat :IntConnected if defined KMS_Server ( echo: set "KMS_IP=%KMS_Server%" set /a online_server_count=1 set /a activation_ok=1 goto gotserv ) :: Primary servers randomization :: Thanks to @abbodi1406 set "srvpri=" set "srvsec=" set "srvpri=%srvpri%kms.srv.cr" set "srvpri=%srvpri%soo.com" set "srvpri=%srvpri% kms.lol" set "srvpri=%srvpri%i.beer" set "srvpri=%srvpri% kms8.MSGu" set "srvpri=%srvpri%ides.com" set "srvsec=%srvsec% kms9.MSGui" set "srvsec=%srvsec%des.com" set "srvsec=%srvsec% kms.zhuxi" set "srvsec=%srvsec%aole.org" set "srvsec=%srvsec% kms.lol" set "srvsec=%srvsec%ico.moe" set "srvsec=%srvsec% kms.moec" set "srvsec=%srvsec%lub.org" set n=1 for %%a in (%srvpri%) do (set server!n!=%%a&set /a n+=1) for %%a in (%srvsec%) do (set server!n!=%%a&set /a n+=1) set /a max_servers=n-1 set /a srvpri_num=1 set /a server_num=1 set /a online_server_count=0 echo: :server if %online_server_count% equ 2 ( %EchoRed% Error: Activation was not successful. echo Restart the system and try again. echo Read the troubleshoot guide in ReadMe. echo: echo ------------------------------------------------------------------ echo: exit /b 1 ) if %server_num% gtr !max_servers! ( echo ------------------------------------------------------------------ echo: %EchoRed% Error: Internet is not connected. echo: echo ------------------------------------------------------------------ echo: exit /b 1 ) set /a activation_ok=1 if %srvpri_num% gtr 3 goto :srvsec :srvpri if %srvpri_num% gtr 3 goto :srvsec set /a rand=%Random%%%(3+1-1)+1 if defined !server%rand%! goto :srvpri set KMS_IP=!server%rand%! set !server%rand%!=1 set /a srvpri_num+=1 goto :testserv :srvsec set KMS_IP=!server%server_num%! goto :testserv :testserv set /a server_num+=1 pathping -h 1 -n -p 1 -q 1 -w 1 %KMS_IP% 1>nul Net.Sockets.TcpClient;try{$t.Connect("""%KMS_IP%""", 1688)}catch{};$t.Connected" | findstr /i true 1>nul if %errorlevel% NEQ 0 ( goto :server ) else ( goto :gotserv ) :gotserv set /a online_server_count+=1 echo KMS Server: ^(%KMS_IP%^) ::======================================================================================================================================== if %_Debug% EQU 1 if defined _args echo %_args% set "_wApp=55c92734-d682-4d71-983e-d6ec3f16059f" set "_oApp=0ff1ce15-a989-479d-af46-f275c6370663" set "_oA14=59a52881-a989-479d-af46-f275c6370663" set "IFEO=HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File Execution Options" set "OPPk=SOFTWARE\Microsoft\OfficeSoftwareProtectionPlatform" set "SPPk=SOFTWARE\Microsoft\Windows NT\CurrentVersion\SoftwareProtectionPlatform" for /f "tokens=6 delims=[]. " %%G in ('ver') do set winbuild=%%G set SSppHook=0 for /f %%A in ('dir /b /ad %SysPath%\spp\tokens\skus') do ( if %winbuild% GEQ 9200 if exist "%SysPath%\spp\tokens\skus\%%A\*GVLK*.xrm-ms" set SSppHook=1 if %winbuild% LSS 9200 if exist "%SysPath%\spp\tokens\skus\%%A\*VLKMS*.xrm-ms" set SSppHook=1 if %winbuild% LSS 9200 if exist "%SysPath%\spp\tokens\skus\%%A\*VL-BYPASS*.xrm-ms" set SSppHook=1 ) set OsppHook=1 sc query osppsvc %_Nul3% if %errorlevel% EQU 1060 set OsppHook=0 if %winbuild% GEQ 9200 ( set OSType=Win8 set SppVer=SppExtComObj.exe ) else if %winbuild% GEQ 7600 ( set OSType=Win7 set SppVer=sppsvc.exe ) else ( goto :UnsupportedVersion ) if %OSType% EQU Win8 reg query "%IFEO%\sppsvc.exe" %_Nul3% && ( reg delete "%IFEO%\sppsvc.exe" /f %_Nul3% call :StopService sppsvc ) if %ActWindows% EQU 0 if %ActOffice% EQU 0 set "ActWindows=1" set AUR=1 if %winbuild% GEQ 9600 ( reg add "HKLM\SOFTWARE\Policies\Microsoft\Windows NT\CurrentVersion\Software Protection Platform" /f /v NoGenTicket /t REG_DWORD /d 1 %_Nul3% ) call :StopService sppsvc if %OsppHook% NEQ 0 call :StopService osppsvc :ReturnHook call :UpdateOSPPEntry osppsvc.exe SET Win10Gov=0 IF %winbuild% LSS 14393 if %SSppHook% NEQ 0 GOTO :Main SET "EditionWMI=" SET "EditionID=" SET "RegKey=HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Component Based Servicing\Packages" SET "Pattern=Microsoft-Windows-*Edition~31bf3856ad364e35" SET "EditionPKG=NUL" FOR /F "TOKENS=8 DELIMS=\" %%A IN ('REG QUERY "%RegKey%" /f "%Pattern%" /k %_Nul6% ^| FIND /I "CurrentVersion"') DO ( REG QUERY "%RegKey%\%%A" /v "CurrentState" %_Nul2% | FIND /I "0x70" %_Nul1% && ( FOR /F "TOKENS=3 DELIMS=-~" %%B IN ('ECHO %%A') DO SET "EditionPKG=%%B" ) ) IF /I "%EditionPKG:~-7%"=="Edition" ( SET "EditionID=%EditionPKG:~0,-7%" ) ELSE ( FOR /F "TOKENS=3 DELIMS=: " %%A IN ('DISM /English /Online /Get-CurrentEdition %_Nul6% ^| FIND /I "Current Edition :"') DO SET "EditionID=%%A" ) FOR /F "TOKENS=2 DELIMS==" %%A IN ('"WMIC PATH SoftwareLicensingProduct WHERE (ApplicationID='%_wApp%' AND PartialProductKey is not NULL) GET LicenseFamily /VALUE" %_Nul6%') DO IF NOT ERRORLEVEL 1 SET "EditionWMI=%%A" IF NOT DEFINED EditionWMI ( IF %winbuild% GEQ 17063 FOR /F "SKIP=2 TOKENS=2*" %%A IN ('REG QUERY "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion" /v EditionId') DO SET "EditionID=%%B" IF %winbuild% LSS 14393 FOR /F "SKIP=2 TOKENS=2*" %%A IN ('REG QUERY "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion" /v EditionId') DO SET "EditionID=%%B" GOTO :Main ) FOR %%A IN (Cloud,CloudN,IoTEnterprise,IoTEnterpriseS,ProfessionalSingleLanguage,ProfessionalCountrySpecific) DO (IF /I "%EditionWMI%"=="%%A" GOTO :Main) SET "EditionID=%EditionWMI%" :Main IF DEFINED EditionID FOR %%A IN (EnterpriseG,EnterpriseGN) DO (IF /I "%EditionID%"=="%%A" SET Win10Gov=1) if defined EditionID (set "_winos=Windows %EditionID% edition") else (set "_winos=Detected Windows") for /f "skip=2 tokens=2*" %%a in ('reg query "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion" /v ProductName %_Nul6%') do if not errorlevel 1 set "_winos=%%b" set "nKMS=does not support KMS activation..." set "nEval=Evaluation Editions cannot be activated. Please install full Windows OS." if defined EditionID echo %EditionID%| findstr /I /E Eval %_Nul1% && ( set _eval=1 echo %EditionID%| findstr /I /B Server %_Nul1% && (set "nEval=Server Evaluation cannot be activated. Please convert to full Server OS.") ) set "_C16R=" reg query HKLM\SOFTWARE\Microsoft\Office\ClickToRun /v InstallPath %_Nul3% && ( reg query HKLM\SOFTWARE\Microsoft\Office\ClickToRun\Configuration /v ProductReleaseIds %_Nul3% && set "_C16R=HKLM\SOFTWARE\Microsoft\Office\ClickToRun\Configuration" ) set "_C15R=" reg query HKLM\SOFTWARE\Microsoft\Office\15.0\ClickToRun /v InstallPath %_Nul3% && ( reg query HKLM\SOFTWARE\Microsoft\Office\15.0\ClickToRun\Configuration /v ProductReleaseIds %_Nul3% && set "_C15R=HKLM\SOFTWARE\Microsoft\Office\15.0\ClickToRun\Configuration" if not defined _C15R reg query HKLM\SOFTWARE\Microsoft\Office\15.0\ClickToRun\propertyBag /v productreleaseid %_Nul3% && set "_C15R=HKLM\SOFTWARE\Microsoft\Office\15.0\ClickToRun\propertyBag" ) set _V16Ids=Mondo,ProPlus,ProjectPro,VisioPro,Standard,ProjectStd,VisioStd,Access,SkypeforBusiness,OneNote,Excel,Outlook,PowerPoint,Publisher,Word set _R16Ids=%_V16Ids%,Professional,HomeBusiness,HomeStudent,O365Business,O365SmallBusPrem,O365HomePrem,O365EduCloud set _O16MSI=0 set _O15MSI=0 for %%A in (14,15,16,19) do call :officeLoc %%A call :RunSPP if %ActOffice% NEQ 0 call :RunOSPP if %ActOffice% EQU 0 (echo:&echo Office activation is OFF...) if exist "!_temp!\crv*.txt" del /f /q "!_temp!\crv*.txt" if exist "!_temp!\*chk.txt" del /f /q "!_temp!\*chk.txt" if exist "!_temp!\slmgr.vbs" del /f /q "!_temp!\slmgr.vbs" call :StopService sppsvc if %OsppHook% NEQ 0 call :StopService osppsvc sc start sppsvc trigger=timer;sessionid=0 %_Nul3% echo: if %activation_ok%==0 ( echo ------------------------------------------------------------------ &echo: if not %online_server_count%==2 ( echo Activation wasn't successful. Trying another server...&echo: echo ------------------------------------------------------------------ &echo: ) goto :server ) if defined Run_Once ( echo Deleting Scheduled Task Online_KMS_Activation_Script-Run_Once schtasks /delete /tn Online_KMS_Activation_Script-Run_Once /f 1>nul 2>nul ) goto :TheEnd :RunSPP set spp=SoftwareLicensingProduct set sps=SoftwareLicensingService set W1nd0ws=1 set WinPerm=0 set WinVL=0 set Off1ce=0 set RunR2V=0 if %winbuild% GEQ 9200 if %ActOffice% NEQ 0 call :sppoff wmic path %spp% where (Description like '%%KMSCLIENT%%') get Name %_Nul2% | findstr /i Windows %_Nul1% && ( set WinVL=1 ) || ( if %ActWindows% EQU 0 ( echo:&echo Windows activation is OFF... ) else ( echo:&echo %_winos% %nKMS% if defined _eval echo %nEval% ) ) if %Off1ce% EQU 0 if %WinVL% EQU 0 exit /b wmic path %spp% where (ApplicationID='%_wApp%' and Description like '%%KMSCLIENT%%' and PartialProductKey is not NULL) get Name %_Nul2% | findstr /i Windows %_Nul1% && (set _gvlk=1) || (set _gvlk=0) set gpr=0 if %winbuild% GEQ 10240 if %SkipKMS38% NEQ 0 if %_gvlk% EQU 1 for /f "tokens=2 delims==" %%A in ('"wmic path %spp% where (ApplicationID='%_wApp%' and Description like '%%KMSCLIENT%%' and PartialProductKey is not NULL) get GracePeriodRemaining /VALUE" %_Nul6%') do set "gpr=%%A" if %gpr% NEQ 0 if %gpr% GTR 259200 ( set W1nd0ws=0 wmic path %spp% where "ApplicationID='%_wApp%' and Description like '%%KMSCLIENT%%' and PartialProductKey is not NULL" get LicenseFamily %_Nul2% | findstr /i EnterpriseG %_Nul1% && (call set W1nd0ws=1) ) for /f "tokens=2 delims==" %%A in ('"wmic path %sps% get Version /VALUE"') do set ver=%%A wmic path %sps% where version='%ver%' call SetKeyManagementServiceMachine MachineName="%KMS_IP%" %_Nul3% wmic path %sps% where version='%ver%' call SetKeyManagementServicePort %KMS_Port% %_Nul3% if %W1nd0ws% EQU 0 for /f "tokens=2 delims==" %%G in ('"wmic path %spp% where (ApplicationID='%_wApp%' and Description like '%%KMSCLIENT%%') get ID /VALUE"') do (set app=%%G&call :sppchkwin) if %W1nd0ws% EQU 1 if %ActWindows% NEQ 0 for /f "tokens=2 delims==" %%G in ('"wmic path %spp% where (ApplicationID='%_wApp%' and Description like '%%KMSCLIENT%%') get ID /VALUE"') do (set app=%%G&call :sppchkwin) if %W1nd0ws% EQU 1 if %ActWindows% EQU 0 (echo:&echo Windows activation is OFF...) if %Off1ce% EQU 1 if %ActOffice% NEQ 0 for /f "tokens=2 delims==" %%G in ('"wmic path %spp% where (ApplicationID='%_oApp%' and Description like '%%KMSCLIENT%%') get ID /VALUE"') do (set app=%%G&call :sppchkoff) wmic path %sps% where version='%ver%' call DisableKeyManagementServiceDnsPublishing 0 %_Nul3% wmic path %sps% where version='%ver%' call DisableKeyManagementServiceHostCaching 0 %_Nul3% exit /b :sppoff set _sC2R=sppoff set _fC2R=ReturnSPP set vol_off15=0&set vol_off16=0&set vol_off19=0 wmic path %spp% where (Description like '%%KMSCLIENT%%' AND NOT Name like '%%MondoR_KMS_Automation%%') get Name > "!_temp!\sppchk.txt" 2>&1 find /i "Office 19" "!_temp!\sppchk.txt" %_Nul1% && (set vol_off19=1) find /i "Office 16" "!_temp!\sppchk.txt" %_Nul1% && (set vol_off16=1) find /i "Office 15" "!_temp!\sppchk.txt" %_Nul1% && (set vol_off15=1) for %%A in (15,16,19) do if !loc_off%%A! EQU 0 set vol_off%%A=0 if %vol_off16% EQU 1 find /i "Office16MondoVL_KMS_Client" "!_temp!\sppchk.txt" %_Nul1% && ( wmic path %spp% where 'ApplicationID="%_oApp%" AND LicenseFamily like "Office16O365%%"' get LicenseFamily %_Nul2% | find /i "O365" %_Nul1% || (set vol_off16=0) ) if %vol_off15% EQU 1 find /i "OfficeMondoVL_KMS_Client" "!_temp!\sppchk.txt" %_Nul1% && ( wmic path %spp% where 'ApplicationID="%_oApp%" AND LicenseFamily like "OfficeO365%%"' get LicenseFamily %_Nul2% | find /i "O365" %_Nul1% || (set vol_off15=0) ) set ret_off15=0&set ret_off16=0&set ret_off19=0 wmic path %spp% where (ApplicationID='%_oApp%' AND NOT Name like '%%O365%%') get Name > "!_temp!\sppchk.txt" 2>&1 find /i "R_Retail" "!_temp!\sppchk.txt" %_Nul2% | find /i "Office 19" %_Nul1% && (set ret_off19=1) find /i "R_Retail" "!_temp!\sppchk.txt" %_Nul2% | find /i "Office 16" %_Nul1% && (set ret_off16=1) find /i "R_Retail" "!_temp!\sppchk.txt" %_Nul2% | find /i "Office 15" %_Nul1% && (set ret_off15=1) if %ret_off19% EQU 1 if %_O16MSI% EQU 0 set vol_off19=0 if %ret_off16% EQU 1 if %_O16MSI% EQU 0 set vol_off16=0 if %ret_off15% EQU 1 if %_O15MSI% EQU 0 set vol_off15=0 set loc_offgl=1 if %loc_off19% EQU 0 if %loc_off16% EQU 0 if %loc_off15% EQU 0 set loc_offgl=0 if %loc_offgl% EQU 1 set Off1ce=1 set vol_offgl=1 if %vol_off19% EQU 0 if %vol_off16% EQU 0 if %vol_off15% EQU 0 set vol_offgl=0 :: mixed Volume + Retail scenario if %loc_off19% EQU 1 if %vol_off19% EQU 0 if %RunR2V% EQU 0 if %AutoR2V% EQU 1 goto :C2RR2V if %loc_off16% EQU 1 if %vol_off16% EQU 0 if %vol_off19% EQU 0 if %RunR2V% EQU 0 if %AutoR2V% EQU 1 goto :C2RR2V if %loc_off15% EQU 1 if %vol_off15% EQU 0 if %RunR2V% EQU 0 if %AutoR2V% EQU 1 goto :C2RR2V :: all Volume scenario if %vol_offgl% EQU 1 exit /b set Off1ce=0 :: nothing installed scenario if %loc_offgl% EQU 0 (echo:&echo No Installed Office 2013/2016/2019 Product Detected...&exit /b) :: Retail C2R scenario if %RunR2V% EQU 0 if %AutoR2V% EQU 1 goto :C2RR2V :ReturnSPP :: Retail MSI scenario or failed C2R-R2V scenario echo: if %loc_off15% EQU 1 if %vol_off15% EQU 0 echo Detected Office 2013 %nKMS% if %loc_off16% EQU 1 if %vol_off16% EQU 0 echo Detected Office 2016 %nKMS% if %loc_off19% EQU 1 if %vol_off19% EQU 0 echo Detected Office 2019 %nKMS% echo Retail Products need to be converted to Volume first. exit /b :sppchkoff wmic path %spp% where ID='%app%' get Name > "!_temp!\sppchk.txt" find /i "Office 15" "!_temp!\sppchk.txt" %_Nul1% && (if %loc_off15% EQU 0 exit /b) find /i "Office 16" "!_temp!\sppchk.txt" %_Nul1% && (if %loc_off16% EQU 0 exit /b) find /i "Office 19" "!_temp!\sppchk.txt" %_Nul1% && (if %loc_off19% EQU 0 exit /b) set _office=1 wmic path %spp% where (PartialProductKey is not NULL) get ID %_Nul2% | findstr /i "%app%" %_Nul1% && (echo:&call :activate&exit /b) for /f "tokens=3 delims==, " %%G in ('"wmic path %spp% where ID='%app%' get Name /value"') do set OffVer=%%G call :offchk%OffVer% exit /b :sppchkwin set _office=0 if %winbuild% GEQ 14393 if %_gvlk% EQU 0 wmic path %spp% where (ApplicationID='%_wApp%' and Description like '%%KMSCLIENT%%' and PartialProductKey is not NULL) get Name %_Nul2% | findstr /i Windows %_Nul1% && (set _gvlk=1) wmic path %spp% where ID='%app%' get LicenseStatus %_Nul2% | findstr "1" %_Nul1% && (echo:&call :activate&exit /b) wmic path %spp% where (PartialProductKey is not NULL) get ID %_Nul2% | findstr /i "%app%" %_Nul1% && (echo:&call :activate&exit /b) if %_gvlk% EQU 1 exit /b if %WinPerm% EQU 1 exit /b if %winbuild% LSS 10240 (call :winchk&exit /b) for %%A in ( b71515d9-89a2-4c60-88c8-656fbcca7f3a,af43f7f0-3b1e-4266-a123-1fdb53f4323b,075aca1f-05d7-42e5-a3ce-e349e7be7078 11a37f09-fb7f-4002-bd84-f3ae71d11e90,43f2ab05-7c87-4d56-b27c-44d0f9a3dabd,2cf5af84-abab-4ff0-83f8-f040fb2576eb 6ae51eeb-c268-4a21-9aae-df74c38b586d,ff808201-fec6-4fd4-ae16-abbddade5706,34260150-69ac-49a3-8a0d-4a403ab55763 4dfd543d-caa6-4f69-a95f-5ddfe2b89567,5fe40dd6-cf1f-4cf2-8729-92121ac2e997,903663f7-d2ab-49c9-8942-14aa9e0a9c72 2cc171ef-db48-4adc-af09-7c574b37f139,5b2add49-b8f4-42e0-a77c-adad4efeeeb1 ) do ( if /i '%app%' EQU '%%A' exit /b ) if not defined EditionID (call :winchk&exit /b) if %winbuild% LSS 14393 (call :winchk&exit /b) if /i '%app%' EQU '0df4f814-3f57-4b8b-9a9d-fddadcd69fac' if /i %EditionID% NEQ CloudE exit /b if /i '%app%' EQU 'e0c42288-980c-4788-a014-c080d2e1926e' if /i %EditionID% NEQ Education exit /b if /i '%app%' EQU '73111121-5638-40f6-bc11-f1d7b0d64300' if /i %EditionID% NEQ Enterprise exit /b if /i '%app%' EQU '2de67392-b7a7-462a-b1ca-108dd189f588' if /i %EditionID% NEQ Professional exit /b if /i '%app%' EQU '3f1afc82-f8ac-4f6c-8005-1d233e606eee' if /i %EditionID% NEQ ProfessionalEducation exit /b if /i '%app%' EQU '82bbc092-bc50-4e16-8e18-b74fc486aec3' if /i %EditionID% NEQ ProfessionalWorkstation exit /b if /i '%app%' EQU '3c102355-d027-42c6-ad23-2e7ef8a02585' if /i %EditionID% NEQ EducationN exit /b if /i '%app%' EQU 'e272e3e2-732f-4c65-a8f0-484747d0d947' if /i %EditionID% NEQ EnterpriseN exit /b if /i '%app%' EQU 'a80b5abf-76ad-428b-b05d-a47d2dffeebf' if /i %EditionID% NEQ ProfessionalN exit /b if /i '%app%' EQU '5300b18c-2e33-4dc2-8291-47ffcec746dd' if /i %EditionID% NEQ ProfessionalEducationN exit /b if /i '%app%' EQU '4b1571d3-bafb-4b40-8087-a961be2caf65' if /i %EditionID% NEQ ProfessionalWorkstationN exit /b if /i '%app%' EQU '58e97c99-f377-4ef1-81d5-4ad5522b5fd8' if /i %EditionID% NEQ Core exit /b if /i '%app%' EQU 'cd918a57-a41b-4c82-8dce-1a538e221a83' if /i %EditionID% NEQ CoreSingleLanguage exit /b if /i '%app%' EQU 'ec868e65-fadf-4759-b23e-93fe37f2cc29' if /i %EditionID% NEQ ServerRdsh exit /b if /i '%app%' EQU 'e4db50ea-bda1-4566-b047-0ca50abc6f07' if /i %EditionID% NEQ ServerRdsh exit /b if /i '%app%' EQU 'e4db50ea-bda1-4566-b047-0ca50abc6f07' ( wmic path %spp% where 'Description like "%%KMSCLIENT%%"' get ID | findstr /i "ec868e65-fadf-4759-b23e-93fe37f2cc29" %_Nul3% && (exit /b) ) call :winchk exit /b :winchk if not defined tok (if %winbuild% GEQ 9200 (set "tok=4") else (set "tok=7")) wmic path %spp% where (LicenseStatus='1' and Description like '%%KMSCLIENT%%') get Name %_Nul2% | findstr /i "Windows" %_Nul3% && (exit /b) echo: wmic path %spp% where (LicenseStatus='1' and GracePeriodRemaining='0' and PartialProductKey is not NULL) get Name %_Nul2% | findstr /i "Windows" %_Nul3% && ( set WinPerm=1 ) if %WinPerm% EQU 0 ( wmic path %spp% where "ApplicationID='%_wApp%' and LicenseStatus='1'" get Name %_Nul2% | findstr /i "Windows" %_Nul3% && ( for /f "tokens=%tok% delims=, " %%G in ('"wmic path %spp% where (ApplicationID='%_wApp%' and LicenseStatus='1') get Description /VALUE"') do set "channel=%%G" for %%A in (VOLUME_MAK, RETAIL, OEM_DM, OEM_SLP, OEM_COA, OEM_COA_SLP, OEM_COA_NSLP, OEM_NONSLP, OEM) do if /i "%%A"=="!channel!" set WinPerm=1 ) ) if %WinPerm% EQU 0 ( copy /y %SysPath%\slmgr.vbs "!_temp!\slmgr.vbs" %_Nul3% cscript //nologo "!_temp!\slmgr.vbs" /xpr %_Nul2% | findstr /i "permanently" %_Nul3% && set WinPerm=1 ) if %WinPerm% EQU 1 ( for /f "tokens=2 delims==" %%x in ('"wmic path %spp% where (ApplicationID='%_wApp%' and LicenseStatus='1') get Name /VALUE"') do echo Checking: %%x echo Product is Permanently Activated. exit /b ) call :insKey exit /b :RunOSPP set spp=OfficeSoftwareProtectionProduct set sps=OfficeSoftwareProtectionService set Off1ce=0 set RunR2V=0 if %winbuild% LSS 9200 (set "aword=2010/2013/2016/2019") else (set "aword=2010") if %OsppHook% EQU 0 (echo:&echo No Installed Office %aword% Product Detected...&exit /b) if %winbuild% GEQ 9200 if %loc_off14% EQU 0 (echo:&echo No Installed Office %aword% Product Detected...&exit /b) if %winbuild% GEQ 9200 wmic path %spp% get Description %_Nul2% | findstr /i KMSCLIENT %_Nul1% || (echo:&echo Detected Office %aword% %nKMS%&echo Retail Products need to be converted to Volume first.&exit /b) if %winbuild% GEQ 9200 set Off1ce=1 if %winbuild% LSS 9200 call :win7off if %Off1ce% EQU 0 exit /b set "vPrem="&set "vProf=" if %loc_off14% EQU 1 ( for /f "tokens=2 delims==" %%A in ('"wmic path %spp% where (LicenseFamily='OfficeVisioPrem-MAK') get LicenseStatus /VALUE" %_Nul6%') do set vPrem=%%A for /f "tokens=2 delims==" %%A in ('"wmic path %spp% where (LicenseFamily='OfficeVisioPro-MAK') get LicenseStatus /VALUE" %_Nul6%') do set vProf=%%A ) for /f "tokens=2 delims==" %%A in ('"wmic path %sps% get Version /VALUE" %_Nul6%') do set ver=%%A wmic path %sps% where version='%ver%' call SetKeyManagementServiceMachine MachineName="%KMS_IP%" %_Nul3% wmic path %sps% where version='%ver%' call SetKeyManagementServicePort %KMS_Port% %_Nul3% for /f "tokens=2 delims==" %%G in ('"wmic path %spp% where (Description like '%%KMSCLIENT%%') get ID /VALUE"') do (set app=%%G&call :osppchk) wmic path %sps% where version='%ver%' call DisableKeyManagementServiceDnsPublishing 0 %_Nul3% wmic path %sps% where version='%ver%' call DisableKeyManagementServiceHostCaching 0 %_Nul3% exit /b :win7off set _sC2R=win7off set _fC2R=ReturnOSPP set vol_off14=0&set vol_off15=0&set vol_off16=0&set vol_off19=0 wmic path %spp% where (Description like '%%KMSCLIENT%%' AND NOT Name like '%%MondoR_KMS_Automation%%') get Name > "!_temp!\sppchk.txt" 2>&1 find /i "Office 19" "!_temp!\sppchk.txt" %_Nul1% && (set vol_off19=1) find /i "Office 16" "!_temp!\sppchk.txt" %_Nul1% && (set vol_off16=1) find /i "Office 15" "!_temp!\sppchk.txt" %_Nul1% && (set vol_off15=1) find /i "Office 14" "!_temp!\sppchk.txt" %_Nul1% && (set vol_off14=1) for %%A in (14,15,16,19) do if !loc_off%%A! EQU 0 set vol_off%%A=0 if %vol_off16% EQU 1 find /i "Office16MondoVL_KMS_Client" "!_temp!\sppchk.txt" %_Nul1% && ( wmic path %spp% where 'ApplicationID="%_oApp%" AND LicenseFamily like "Office16O365%%"' get LicenseFamily %_Nul2% | find /i "O365" %_Nul1% || (set vol_off16=0) ) if %vol_off15% EQU 1 find /i "OfficeMondoVL_KMS_Client" "!_temp!\sppchk.txt" %_Nul1% && ( wmic path %spp% where 'ApplicationID="%_oApp%" AND LicenseFamily like "OfficeO365%%"' get LicenseFamily %_Nul2% | find /i "O365" %_Nul1% || (set vol_off15=0) ) set ret_off15=0&set ret_off16=0&set ret_off19=0 wmic path %spp% where (ApplicationID='%_oApp%' AND NOT Name like '%%O365%%') get Name > "!_temp!\sppchk.txt" 2>&1 find /i "R_Retail" "!_temp!\sppchk.txt" %_Nul2% | find /i "Office 19" %_Nul1% && (set ret_off19=1) find /i "R_Retail" "!_temp!\sppchk.txt" %_Nul2% | find /i "Office 16" %_Nul1% && (set ret_off16=1) find /i "R_Retail" "!_temp!\sppchk.txt" %_Nul2% | find /i "Office 15" %_Nul1% && (set ret_off15=1) if %ret_off19% EQU 1 if %_O16MSI% EQU 0 set vol_off19=0 if %ret_off16% EQU 1 if %_O16MSI% EQU 0 set vol_off16=0 if %ret_off15% EQU 1 if %_O15MSI% EQU 0 set vol_off15=0 set loc_offgl=1 if %loc_off19% EQU 0 if %loc_off16% EQU 0 if %loc_off15% EQU 0 if %loc_off14% EQU 0 set loc_offgl=0 if %loc_offgl% EQU 1 set Off1ce=1 set vol_offgl=1 :: mixed Volume + Retail scenario if %vol_off19% EQU 0 if %vol_off16% EQU 0 if %vol_off15% EQU 0 if %vol_off14% EQU 0 set vol_offgl=0 if %loc_off19% EQU 1 if %vol_off19% EQU 0 if %RunR2V% EQU 0 if %AutoR2V% EQU 1 goto :C2RR2V if %loc_off16% EQU 1 if %vol_off16% EQU 0 if %vol_off19% EQU 0 if %RunR2V% EQU 0 if %AutoR2V% EQU 1 goto :C2RR2V if %loc_off15% EQU 1 if %vol_off15% EQU 0 if %RunR2V% EQU 0 if %AutoR2V% EQU 1 goto :C2RR2V :: all Volume scenario if %vol_offgl% EQU 1 exit /b set Off1ce=0 :: nothing installed scenario if %loc_offgl% EQU 0 (echo:&echo No Installed Office %aword% Product Detected...&exit /b) :: Retail C2R scenario if %RunR2V% EQU 0 if %AutoR2V% EQU 1 goto :C2RR2V :ReturnOSPP :: Retail MSI scenario or failed C2R-R2V scenario echo: if %loc_off14% EQU 1 if %vol_off14% EQU 0 echo Detected Office 2010 %nKMS% if %loc_off15% EQU 1 if %vol_off15% EQU 0 echo Detected Office 2013 %nKMS% if %loc_off16% EQU 1 if %vol_off16% EQU 0 echo Detected Office 2016 %nKMS% if %loc_off19% EQU 1 if %vol_off19% EQU 0 echo Detected Office 2019 %nKMS% echo Retail Products need to be converted to Volume first. exit /b :osppchk wmic path %spp% where ID='%app%' get Name > "!_temp!\sppchk.txt" find /i "Office 14" "!_temp!\sppchk.txt" %_Nul1% && (if %loc_off14% EQU 0 exit /b) find /i "Office 15" "!_temp!\sppchk.txt" %_Nul1% && (if %loc_off15% EQU 0 exit /b) find /i "Office 16" "!_temp!\sppchk.txt" %_Nul1% && (if %loc_off16% EQU 0 exit /b) find /i "Office 19" "!_temp!\sppchk.txt" %_Nul1% && (if %loc_off19% EQU 0 exit /b) set _office=0 wmic path %spp% where (PartialProductKey is not NULL) get ID %_Nul2% | findstr /i "%app%" %_Nul1% && (echo:&call :activate&exit /b) for /f "tokens=3 delims==, " %%G in ('"wmic path %spp% where ID='%app%' get Name /value"') do set OffVer=%%G call :offchk%OffVer% exit /b :offchk set ls=0 set ls2=0 for /f "tokens=2 delims==" %%A in ('"wmic path %spp% where (LicenseFamily='Office%~1') get LicenseStatus /VALUE" %_Nul6%') do set /a ls=%%A if "%~3" NEQ "" ( for /f "tokens=2 delims==" %%A in ('"wmic path %spp% where (LicenseFamily='Office%~3') get LicenseStatus /VALUE" %_Nul6%') do set /a ls2=%%A ) if "%ls2%" EQU "1" ( echo Checking: %~4 echo Product is Permanently Activated. exit /b ) if "%ls%" EQU "1" ( echo Checking: %~2 echo Product is Permanently Activated. exit /b ) call :insKey exit /b :offchk19 if /i '%app%' EQU '0bc88885-718c-491d-921f-6f214349e79c' exit /b if /i '%app%' EQU 'fc7c4d0c-2e85-4bb9-afd4-01ed1476b5e9' exit /b if /i '%app%' EQU '500f6619-ef93-4b75-bcb4-82819998a3ca' exit /b if /i '%app%' EQU '85dd8b5f-eaa4-4af3-a628-cce9e77c9a03' ( call :offchk "19ProPlus2019VL_MAK_AE" "Office ProPlus 2019" exit /b ) if /i '%app%' EQU '6912a74b-a5fb-401a-bfdb-2e3ab46f4b02' ( call :offchk "19Standard2019VL_MAK_AE" "Office Standard 2019" exit /b ) if /i '%app%' EQU '2ca2bf3f-949e-446a-82c7-e25a15ec78c4' ( call :offchk "19ProjectPro2019VL_MAK_AE" "Project Pro 2019" exit /b ) if /i '%app%' EQU '1777f0e3-7392-4198-97ea-8ae4de6f6381' ( call :offchk "19ProjectStd2019VL_MAK_AE" "Project Standard 2019" exit /b ) if /i '%app%' EQU '5b5cf08f-b81a-431d-b080-3450d8620565' ( call :offchk "19VisioPro2019VL_MAK_AE" "Visio Pro 2019" exit /b ) if /i '%app%' EQU 'e06d7df3-aad0-419d-8dfb-0ac37e2bdf39' ( call :offchk "19VisioStd2019VL_MAK_AE" "Visio Standard 2019" exit /b ) call :insKey exit /b :offchk16 if /i '%app%' EQU 'd450596f-894d-49e0-966a-fd39ed4c4c64' ( call :offchk "16ProPlusVL_MAK" "Office ProPlus 2016" exit /b ) if /i '%app%' EQU 'dedfa23d-6ed1-45a6-85dc-63cae0546de6' ( call :offchk "16StandardVL_MAK" "Office Standard 2016" exit /b ) if /i '%app%' EQU '4f414197-0fc2-4c01-b68a-86cbb9ac254c' ( call :offchk "16ProjectProVL_MAK" "Project Pro 2016" exit /b ) if /i '%app%' EQU 'da7ddabc-3fbe-4447-9e01-6ab7440b4cd4' ( call :offchk "16ProjectStdVL_MAK" "Project Standard 2016" exit /b ) if /i '%app%' EQU '6bf301c1-b94a-43e9-ba31-d494598c47fb' ( call :offchk "16VisioProVL_MAK" "Visio Pro 2016" exit /b ) if /i '%app%' EQU 'aa2a7821-1827-4c2c-8f1d-4513a34dda97' ( call :offchk "16VisioStdVL_MAK" "Visio Standard 2016" exit /b ) if /i '%app%' EQU '829b8110-0e6f-4349-bca4-42803577788d' ( call :offchk "16ProjectProXC2RVL_MAKC2R" "Project Pro 2016 C2R" exit /b ) if /i '%app%' EQU 'cbbaca45-556a-4416-ad03-bda598eaa7c8' ( call :offchk "16ProjectStdXC2RVL_MAKC2R" "Project Standard 2016 C2R" exit /b ) if /i '%app%' EQU 'b234abe3-0857-4f9c-b05a-4dc314f85557' ( call :offchk "16VisioProXC2RVL_MAKC2R" "Visio Pro 2016 C2R" exit /b ) if /i '%app%' EQU '361fe620-64f4-41b5-ba77-84f8e079b1f7' ( call :offchk "16VisioStdXC2RVL_MAKC2R" "Visio Standard 2016 C2R" exit /b ) call :insKey exit /b :offchk15 if /i '%app%' EQU 'b322da9c-a2e2-4058-9e4e-f59a6970bd69' ( call :offchk "ProPlusVL_MAK" "Office ProPlus 2013" exit /b ) if /i '%app%' EQU 'b13afb38-cd79-4ae5-9f7f-eed058d750ca' ( call :offchk "StandardVL_MAK" "Office Standard 2013" exit /b ) if /i '%app%' EQU '4a5d124a-e620-44ba-b6ff-658961b33b9a' ( call :offchk "ProjectProVL_MAK" "Project Pro 2013" exit /b ) if /i '%app%' EQU '427a28d1-d17c-4abf-b717-32c780ba6f07' ( call :offchk "ProjectStdVL_MAK" "Project Standard 2013" exit /b ) if /i '%app%' EQU 'e13ac10e-75d0-4aff-a0cd-764982cf541c' ( call :offchk "VisioProVL_MAK" "Visio Pro 2013" exit /b ) if /i '%app%' EQU 'ac4efaf0-f81f-4f61-bdf7-ea32b02ab117' ( call :offchk "VisioStdVL_MAK" "Visio Standard 2013" exit /b ) call :insKey exit /b :offchk14 if /i '%app%' EQU '6f327760-8c5c-417c-9b61-836a98287e0c' ( call :offchk "ProPlus-MAK" "Office ProPlus 2010" "ProPlusAcad-MAK" "Office Professional Academic 2010" exit /b ) if /i '%app%' EQU '9da2a678-fb6b-4e67-ab84-60dd6a9c819a' ( call :offchk "Standard-MAK" "Office Standard 2010" "StandardAcad-MAK" "Office Standard Academic 2010" exit /b ) if /i '%app%' EQU 'ea509e87-07a1-4a45-9edc-eba5a39f36af' ( call :offchk "SmallBusBasics-MAK" "Office Small Business Basics 2010" exit /b ) if /i '%app%' EQU 'df133ff7-bf14-4f95-afe3-7b48e7e331ef' ( call :offchk "ProjectPro-MAK" "Project Pro 2010" exit /b ) if /i '%app%' EQU '5dc7bf61-5ec9-4996-9ccb-df806a2d0efe' ( call :offchk "ProjectStd-MAK" "Project Standard 2010" "ProjectStd-MAK2" "Project Standard 2010" exit /b ) if /i '%app%' EQU '92236105-bb67-494f-94c7-7f7a607929bd' ( call :offchk "VisioPrem-MAK" "Visio Premium 2010" "VisioPro-MAK" "Visio Pro 2010" exit /b ) if defined vPrem exit /b if /i '%app%' EQU 'e558389c-83c3-4b29-adfe-5e4d7f46c358' ( call :offchk "VisioPro-MAK" "Visio Pro 2010" "VisioStd-MAK" "Visio Standard 2010" exit /b ) if defined vProf exit /b if /i '%app%' EQU '9ed833ff-4f92-4f36-b370-8683a4f13275' ( call :offchk "VisioStd-MAK" "Visio Standard 2010" exit /b ) call :insKey exit /b :officeLoc set loc_off%1=0 if %1 EQU 19 ( if defined _C16R reg query %_C16R% /v ProductReleaseIds %_Nul2% | findstr 2019 %_Nul1% && set loc_off%1=1 exit /b ) for /f "skip=2 tokens=2*" %%a in ('"reg query HKLM\SOFTWARE\Microsoft\Office\%1.0\Common\InstallRoot /v Path" %_Nul6%') do if exist "%%b\OSPP.VBS" ( set loc_off%1=1 if %1 EQU 16 set _O16MSI=1 if %1 EQU 15 set _O15MSI=1 ) for /f "skip=2 tokens=2*" %%a in ('"reg query HKLM\SOFTWARE\Wow6432Node\Microsoft\Office\%1.0\Common\InstallRoot /v Path" %_Nul6%') do if exist "%%b\OSPP.VBS" ( set loc_off%1=1 if %1 EQU 16 set _O16MSI=1 if %1 EQU 15 set _O15MSI=1 ) if %1 EQU 16 if defined _C16R ( for /f "skip=2 tokens=2*" %%a in ('reg query %_C16R% /v ProductReleaseIds') do echo %%b> "!_temp!\c2rchk.txt" for %%a in (%_V16Ids%,ProjectProX,ProjectStdX,VisioProX,VisioStdX) do ( findstr /I /C:"%%aVolume" "!_temp!\c2rchk.txt" %_Nul1% && set loc_off%1=1 ) for %%a in (%_R16Ids%) do ( findstr /I /C:"%%aRetail" "!_temp!\c2rchk.txt" %_Nul1% && set loc_off%1=1 ) exit /b ) if %1 EQU 15 if defined _C15R ( set loc_off%1=1 exit /b ) if exist "%ProgramFiles%\Microsoft Office\Office%1\OSPP.VBS" set loc_off%1=1 if %xOS%==x64 if exist "%ProgramW6432%\Microsoft Office\Office%1\OSPP.VBS" set loc_off%1=1 if %xOS%==x64 if exist "%ProgramFiles(x86)%\Microsoft Office\Office%1\OSPP.VBS" set loc_off%1=1 exit /b :insKey echo: set "_key=" for /f "tokens=2 delims==" %%A in ('"wmic path %spp% where ID='%app%' get Name /VALUE"') do echo Installing Key for: %%A call :keys %app% if "%_key%"=="" (echo Could not find matching KMS Client key&exit /b) wmic path %sps% where version='%ver%' call InstallProductKey ProductKey="%_key%" %_Nul3% set ERRORCODE=%ERRORLEVEL% if %ERRORCODE% NEQ 0 ( cmd /c exit /b %ERRORCODE% echo Failed: 0x!=ExitCode! exit /b ) if %sps% EQU SoftwareLicensingService wmic path %sps% where version='%ver%' call RefreshLicenseStatus %_Nul3% :activate wmic path %spp% where ID='%app%' call ClearKeyManagementServiceMachine %_Nul3% wmic path %spp% where ID='%app%' call ClearKeyManagementServicePort %_Nul3% if %W1nd0ws% EQU 0 if %_office% EQU 0 if %sps% EQU SoftwareLicensingService ( wmic path %spp% where ID='%app%' call SetKeyManagementServiceMachine MachineName="127.0.0.2" %_Nul3% wmic path %spp% where ID='%app%' call SetKeyManagementServicePort %KMS_Port% %_Nul3% for /f "tokens=2 delims==" %%x in ('"wmic path %spp% where ID='%app%' get Name /VALUE"') do echo Checking: %%x echo Product is KMS 2038 Activated. exit /b ) for /f "tokens=2 delims==" %%x in ('"wmic path %spp% where ID='%app%' get Name /VALUE"') do echo Activating: %%x wmic path %spp% where ID='%app%' call Activate %_Nul3% call set ERRORCODE=%ERRORLEVEL% if %ERRORCODE% NEQ 0 ( if %sps% EQU SoftwareLicensingService (call :StopService sppsvc) else (call :StopService osppsvc) wmic path %spp% where ID='%app%' call Activate %_Nul3% call set ERRORCODE=!ERRORLEVEL! ) if %sps% EQU SoftwareLicensingService wmic path %sps% where version='%ver%' call RefreshLicenseStatus %_Nul3% set gpr=0 set gpr2=0 for /f "tokens=2 delims==" %%x in ('"wmic path %spp% where ID='%app%' get GracePeriodRemaining /VALUE"') do (set gpr=%%x&set /a "gpr2=(%%x+1440-1)/1440") if %gpr% EQU 43200 if %_office% EQU 0 if %winbuild% GEQ 9200 ( %EchoGreen% Product Activation Successful echo Remaining Period: %gpr2% days ^(%gpr% minutes^) exit /b ) if %gpr% EQU 64800 ( %EchoGreen% Product Activation Successful echo Remaining Period: %gpr2% days ^(%gpr% minutes^) exit /b ) if %gpr% GTR 259200 if %Win10Gov% EQU 1 ( %EchoGreen% Product Activation Successful echo Remaining Period: %gpr2% days ^(%gpr% minutes^) exit /b ) if %gpr% EQU 259200 ( %EchoGreen% Product Activation Successful echo Remaining Period: %gpr2% days ^(%gpr% minutes^) exit /b ) cmd /c exit /b %ERRORCODE% if %ERRORCODE% NEQ 0 (%EchoRed% Product Activation Failed: 0x!=ExitCode!) else (%EchoRed% Product Activation Failed) echo Remaining Period: %gpr2% days ^(%gpr% minutes^) set activation_ok=0 exit /b :StopService sc query %1 | find /i "STOPPED" %_Nul1% || net stop %1 /y %_Nul3% sc query %1 | find /i "STOPPED" %_Nul1% || sc stop %1 %_Nul3% goto :eof :UpdateOSPPEntry if /i %1 EQU osppsvc.exe ( reg add "HKLM\%OPPk%" /f /v KeyManagementServiceName /t REG_SZ /d %KMS_IP% %_Nul3% reg add "HKLM\%OPPk%" /f /v KeyManagementServicePort /t REG_SZ /d %KMS_Port% %_Nul3% ) goto :eof :C2RR2V set RunR2V=1 set "_SLMGR=%SysPath%\slmgr.vbs" if %_Debug% EQU 0 ( set "_cscript=cscript //Nologo //B" ) else ( set "_cscript=cscript //Nologo" ) sc query ClickToRunSvc %_Nul3% set error1=%errorlevel% sc query OfficeSvc %_Nul3% set error2=%errorlevel% if %error1% EQU 1060 if %error2% EQU 1060 ( goto :%_fC2R% ) set _Office16=0 for /f "skip=2 tokens=2*" %%a in ('"reg query HKLM\SOFTWARE\Microsoft\Office\ClickToRun /v InstallPath" %_Nul6%') do if exist "%%b\root\Licenses16\ProPlus*.xrm-ms" ( set _Office16=1 ) set _Office15=0 for /f "skip=2 tokens=2*" %%a in ('"reg query HKLM\SOFTWARE\Microsoft\Office\15.0\ClickToRun /v InstallPath" %_Nul6%') do if exist "%%b\root\Licenses\ProPlus*.xrm-ms" ( set _Office15=1 ) if %_Office16% EQU 0 if %_Office15% EQU 0 ( goto :%_fC2R% ) :Reg16istry if %_Office16% EQU 0 goto :Reg15istry set "_InstallRoot=" set "_ProductIds=" set "_GUID=" set "_Config=" set "_PRIDs=" set "_LicensesPath=" set "_Integrator=" for /f "skip=2 tokens=2*" %%a in ('"reg query HKLM\SOFTWARE\Microsoft\Office\ClickToRun /v InstallPath" %_Nul6%') do if not errorlevel 1 (set "_InstallRoot=%%b\root") if not "%_InstallRoot%"=="" ( for /f "skip=2 tokens=2*" %%a in ('"reg query HKLM\SOFTWARE\Microsoft\Office\ClickToRun /v PackageGUID" %_Nul6%') do if not errorlevel 1 (set "_GUID=%%b") for /f "skip=2 tokens=2*" %%a in ('"reg query HKLM\SOFTWARE\Microsoft\Office\ClickToRun\Configuration /v ProductReleaseIds" %_Nul6%') do if not errorlevel 1 (set "_ProductIds=%%b") set "_Config=HKLM\SOFTWARE\Microsoft\Office\ClickToRun\Configuration" set "_PRIDs=HKLM\SOFTWARE\Microsoft\Office\ClickToRun\ProductReleaseIDs" ) set "_LicensesPath=%_InstallRoot%\Licenses16" set "_Integrator=%_InstallRoot%\integration\integrator.exe" for /f "skip=2 tokens=2*" %%a in ('"reg query %_PRIDs% /v ActiveConfiguration" %_Nul6%') do set "_PRIDs=%_PRIDs%\%%b" if "%_ProductIds%"=="" ( if %_Office15% EQU 0 (goto :%_fC2R%) else (goto :Reg15istry) ) if not exist "%_LicensesPath%\ProPlus*.xrm-ms" ( if %_Office15% EQU 0 (goto :%_fC2R%) else (goto :Reg15istry) ) if not exist "%_Integrator%" ( if %_Office15% EQU 0 (goto :%_fC2R%) else (goto :Reg15istry) ) if exist "%_LicensesPath%\Word2019VL_KMS_Client_AE*.xrm-ms" (set "_tag=2019"&set "_ons= 2019") else (set "_tag="&set "_ons= 2016") if %_Office15% EQU 0 goto :CheckC2R :Reg15istry set "_Install15Root=" set "_Product15Ids=" set "_Con15fig=" set "_PR15IDs=" set "_OSPP15Ready=" set "_Licenses15Path=" for /f "skip=2 tokens=2*" %%a in ('"reg query HKLM\SOFTWARE\Microsoft\Office\15.0\ClickToRun /v InstallPath" %_Nul6%') do if not errorlevel 1 (set "_Install15Root=%%b\root") if not "%_Install15Root%"=="" ( for /f "skip=2 tokens=2*" %%a in ('"reg query HKLM\SOFTWARE\Microsoft\Office\15.0\ClickToRun\Configuration /v ProductReleaseIds" %_Nul6%') do if not errorlevel 1 (set "_Product15Ids=%%b") set "_Con15fig=HKLM\SOFTWARE\Microsoft\Office\15.0\ClickToRun\Configuration /v ProductReleaseIds" set "_PR15IDs=HKLM\SOFTWARE\Microsoft\Office\15.0\ClickToRun\ProductReleaseIDs" set "_OSPP15Ready=HKLM\SOFTWARE\Microsoft\Office\15.0\ClickToRun\Configuration" ) set "_OSPP15ReadT=REG_SZ" if "%_Product15Ids%"=="" ( for /f "skip=2 tokens=2*" %%a in ('"reg query HKLM\SOFTWARE\Microsoft\Office\15.0\ClickToRun\propertyBag /v productreleaseid" %_Nul6%') do if not errorlevel 1 (set "_Product15Ids=%%b") set "_Con15fig=HKLM\SOFTWARE\Microsoft\Office\15.0\ClickToRun\propertyBag /v productreleaseid" set "_OSPP15Ready=HKLM\SOFTWARE\Microsoft\Office\15.0\ClickToRun" set "_OSPP15ReadT=REG_DWORD" ) set "_Licenses15Path=%_Install15Root%\Licenses" if exist "%ProgramFiles%\Microsoft Office\Office15\OSPP.VBS" ( set "_OSPP15VBS=%ProgramFiles%\Microsoft Office\Office15\OSPP.VBS" ) else if exist "%ProgramW6432%\Microsoft Office\Office15\OSPP.VBS" ( set "_OSPP15VBS=%ProgramW6432%\Microsoft Office\Office15\OSPP.VBS" ) else if exist "%ProgramFiles(x86)%\Microsoft Office\Office15\OSPP.VBS" ( set "_OSPP15VBS=%ProgramFiles(x86)%\Microsoft Office\Office15\OSPP.VBS" ) if "%_Product15Ids%"=="" ( if %_Office16% EQU 0 (goto :%_fC2R%) else (goto :CheckC2R) ) if not exist "%_Licenses15Path%\ProPlus*.xrm-ms" ( if %_Office16% EQU 0 (goto :%_fC2R%) else (goto :CheckC2R) ) if %winbuild% LSS 9200 if not exist "%_OSPP15VBS%" ( if %_Office16% EQU 0 (goto :%_fC2R%) else (goto :CheckC2R) ) :CheckC2R set _OMSI=0 if %_Office16% EQU 0 ( for /f "skip=2 tokens=2*" %%a in ('"reg query HKLM\SOFTWARE\Microsoft\Office\16.0\Common\InstallRoot /v Path" %_Nul6%') do if exist "%%b\OSPP.VBS" set _OMSI=1 for /f "skip=2 tokens=2*" %%a in ('"reg query HKLM\SOFTWARE\Wow6432Node\Microsoft\Office\16.0\Common\InstallRoot /v Path" %_Nul6%') do if exist "%%b\OSPP.VBS" set _OMSI=1 ) if %_Office15% EQU 0 ( for /f "skip=2 tokens=2*" %%a in ('"reg query HKLM\SOFTWARE\Microsoft\Office\15.0\Common\InstallRoot /v Path" %_Nul6%') do if exist "%%b\OSPP.VBS" set _OMSI=1 for /f "skip=2 tokens=2*" %%a in ('"reg query HKLM\SOFTWARE\Wow6432Node\Microsoft\Office\15.0\Common\InstallRoot /v Path" %_Nul6%') do if exist "%%b\OSPP.VBS" set _OMSI=1 ) if %winbuild% GEQ 9200 ( set _spp=SoftwareLicensingProduct set _sps=SoftwareLicensingService set "_vbsi=%_SLMGR% /ilc " ) else ( set _spp=OfficeSoftwareProtectionProduct set _sps=OfficeSoftwareProtectionService set _vbsi="!_OSPP15VBS!" /inslic: ) set "_wmi=" for /f "tokens=2 delims==" %%# in ('"wmic path %_sps% get version /value" %_Nul6%') do if not errorlevel 1 set "_wmi=%%#" if not defined _wmi ( goto :%_fC2R% ) set _Retail=0 wmic path %_spp% where "ApplicationID='%_oApp%' AND LicenseStatus='1' AND PartialProductKey<>NULL" get Description %_Nul2% |findstr /V /R "^$" >"!_temp!\crvRetail.txt" find /i "RETAIL channel" "!_temp!\crvRetail.txt" %_Nul1% && set _Retail=1 find /i "RETAIL(MAK) channel" "!_temp!\crvRetail.txt" %_Nul1% && set _Retail=1 find /i "TIMEBASED_SUB channel" "!_temp!\crvRetail.txt" %_Nul1% && set _Retail=1 set "_copp=" if exist "%SysPath%\msvcr100.dll" ( set _copp=1 ) else if exist "!_InstallRoot!\vfs\System\msvcr100.dll" ( set _copp="!_InstallRoot!\vfs\System" ) else if exist "!_Install15Root!\vfs\System\msvcr100.dll" ( set _copp="!_Install15Root!\vfs\System" ) else if exist "%SystemRoot%\SysWOW64\msvcr100.dll" ( set _copp=1 set xBit=x86 ) else if exist "!_InstallRoot!\vfs\SystemX86\msvcr100.dll" ( set _copp="!_InstallRoot!\vfs\SystemX86" set xBit=x86 ) else if exist "!_Install15Root!\vfs\SystemX86\msvcr100.dll" ( set _copp="!_Install15Root!\vfs\SystemX86" set xBit=x86 ) if not exist "!_work!\bin\cleanospp%xBit%.exe" ( set "_copp=" ) if %_Retail% EQU 0 if %_OMSI% EQU 0 if defined _copp ( if "!_copp!"=="1" ( %_Nul3% "!_work!\bin\cleanospp%xBit%.exe" -Licenses ) else ( pushd %_copp% %_Nul3% copy /y "!_work!\bin\cleanospp%xBit%.exe" cleanospp.exe %_Nul3% cleanospp.exe -Licenses %_Nul3% del /f /q cleanospp.exe popd ) ) set _O16O365=0 if %_Retail% EQU 1 wmic path %_spp% where "ApplicationID='%_oApp%' AND LicenseStatus='1' AND PartialProductKey<>NULL" get LicenseFamily %_Nul2% |findstr /V /R "^$" >"!_temp!\crvRetail.txt" wmic path %_spp% where "ApplicationID='%_oApp%'" get LicenseFamily %_Nul2% |findstr /V /R "^$" >"!_temp!\crvVolume.txt" 2>&1 if %_Office16% EQU 0 goto :R15V set _O19Ids=ProPlus2019,ProjectPro2019,VisioPro2019,Standard2019,ProjectStd2019,VisioStd2019,Access2019,SkypeforBusiness2019 set _O16Ids=ProjectPro,VisioPro,Standard,ProjectStd,VisioStd,Access,SkypeforBusiness set _A19Ids=Excel2019,Outlook2019,PowerPoint2019,Publisher2019,Word2019 set _A16Ids=Excel,Outlook,PowerPoint,Publisher,Word set _V19Ids=%_O19Ids%,%_A19Ids% set _V16Ids=Mondo,%_O16Ids%,%_A16Ids%,OneNote set _R16Ids=%_V16Ids%,Professional,HomeBusiness,HomeStudent,O365ProPlus,O365Business,O365SmallBusPrem,O365HomePrem,O365EduCloud set _RetIds=%_V19Ids%,Professional2019,HomeBusiness2019,HomeStudent2019,%_R16Ids% echo %_ProductIds%>"!_temp!\crvProductIds.txt" for %%a in (%_RetIds%,ProPlus) do ( set _%%a=0 ) for %%a in (%_RetIds%) do ( findstr /I /C:"%%aRetail" "!_temp!\crvProductIds.txt" %_Nul1% && set _%%a=1 ) for %%a in (%_V19Ids%) do ( findstr /I /C:"%%aVolume" "!_temp!\crvProductIds.txt" %_Nul1% && ( find /i "Office19%%aVL_KMS_Client" "!_temp!\crvVolume.txt" %_Nul1% && (set _%%a=0) || (set _%%a=1) ) ) for %%a in (%_V16Ids%) do ( findstr /I /C:"%%aVolume" "!_temp!\crvProductIds.txt" %_Nul1% && ( find /i "Office16%%aVL_KMS_Client" "!_temp!\crvVolume.txt" %_Nul1% && (set _%%a=0) || (set _%%a=1) ) ) reg query %_PRIDs%\ProPlusRetail.16 %_Nul3% && ( find /i "Office16ProPlusVL_KMS_Client" "!_temp!\crvVolume.txt" %_Nul1% && (set _ProPlus=0) || (set _ProPlus=1) ) reg query %_PRIDs%\ProPlusVolume.16 %_Nul3% && ( find /i "Office16ProPlusVL_KMS_Client" "!_temp!\crvVolume.txt" %_Nul1% && (set _ProPlus=0) || (set _ProPlus=1) ) if %_Retail% EQU 1 for %%a in (%_RetIds%) do ( findstr /I /C:"%%aRetail" "!_temp!\crvProductIds.txt" %_Nul1% && ( find /i "Office16%%aR_Retail" "!_temp!\crvRetail.txt" %_Nul1% && set _%%a=0 find /i "Office16%%aR_OEM" "!_temp!\crvRetail.txt" %_Nul1% && set _%%a=0 find /i "Office16%%aR_Sub" "!_temp!\crvRetail.txt" %_Nul1% && set _%%a=0 find /i "Office16%%aR_PIN" "!_temp!\crvRetail.txt" %_Nul1% && set _%%a=0 find /i "Office16%%aE5R_" "!_temp!\crvRetail.txt" %_Nul1% && set _%%a=0 find /i "Office16%%aEDUR_" "!_temp!\crvRetail.txt" %_Nul1% && set _%%a=0 find /i "Office16%%aMSDNR_" "!_temp!\crvRetail.txt" %_Nul1% && set _%%a=0 find /i "Office16%%aO365R_" "!_temp!\crvRetail.txt" %_Nul1% && set _%%a=0 find /i "Office16%%aCO365R_" "!_temp!\crvRetail.txt" %_Nul1% && set _%%a=0 find /i "Office16%%aVL_MAK" "!_temp!\crvRetail.txt" %_Nul1% && set _%%a=0 find /i "Office16%%aXC2RVL_MAKC2R" "!_temp!\crvRetail.txt" %_Nul1% && set _%%a=0 find /i "Office19%%aR_Retail" "!_temp!\crvRetail.txt" %_Nul1% && set _%%a=0 find /i "Office19%%aR_OEM" "!_temp!\crvRetail.txt" %_Nul1% && set _%%a=0 find /i "Office19%%aMSDNR_" "!_temp!\crvRetail.txt" %_Nul1% && set _%%a=0 find /i "Office19%%aVL_MAK" "!_temp!\crvRetail.txt" %_Nul1% && set _%%a=0 ) ) if %_Retail% EQU 1 reg query %_PRIDs%\ProPlusRetail.16 %_Nul3% && ( find /i "Office16ProPlusR_Retail" "!_temp!\crvRetail.txt" %_Nul1% && set _ProPlus=0 find /i "Office16ProPlusR_OEM" "!_temp!\crvRetail.txt" %_Nul1% && set _ProPlus=0 find /i "Office16ProPlusMSDNR_" "!_temp!\crvRetail.txt" %_Nul1% && set _ProPlus=0 find /i "Office16ProPlusVL_MAK" "!_temp!\crvRetail.txt" %_Nul1% && set _ProPlus=0 ) set _C16Msg=0 for %%a in (%_RetIds%,ProPlus) do if !_%%a! EQU 1 ( set _C16Msg=1 ) if %_C16Msg% EQU 1 ( echo: echo Converting Office C2R Retail-to-Volume: ) if %_C16Msg% EQU 0 (if %_Office15% EQU 1 (goto :R15V) else (goto :GVLKC2R)) if !_Mondo! EQU 1 ( call :InsLic Mondo ) if !_O365ProPlus! EQU 1 ( echo O365ProPlus 2016 Suite ^<-^> Mondo 2016 Licenses call :InsLic O365ProPlus DRNV7-VGMM2-B3G9T-4BF84-VMFTK if !_Mondo! EQU 0 call :InsLic Mondo ) if !_O365Business! EQU 1 if !_O365ProPlus! EQU 0 ( set _O365ProPlus=1 echo O365Business 2016 Suite ^<-^> Mondo 2016 Licenses call :InsLic O365Business NCHRJ-3VPGW-X73DM-6B36K-3RQ6B if !_Mondo! EQU 0 call :InsLic Mondo ) if !_O365SmallBusPrem! EQU 1 if !_O365Business! EQU 0 if !_O365ProPlus! EQU 0 ( set _O365ProPlus=1 echo O365SmallBusPrem 2016 Suite ^<-^> Mondo 2016 Licenses call :InsLic O365SmallBusPrem 3FBRX-NFP7C-6JWVK-F2YGK-H499R if !_Mondo! EQU 0 call :InsLic Mondo ) if !_O365HomePrem! EQU 1 if !_O365SmallBusPrem! EQU 0 if !_O365Business! EQU 0 if !_O365ProPlus! EQU 0 ( set _O365ProPlus=1 echo O365HomePrem 2016 Suite ^<-^> Mondo 2016 Licenses call :InsLic O365HomePrem 9FNY8-PWWTY-8RY4F-GJMTV-KHGM9 if !_Mondo! EQU 0 call :InsLic Mondo ) if !_O365EduCloud! EQU 1 if !_O365HomePrem! EQU 0 if !_O365SmallBusPrem! EQU 0 if !_O365Business! EQU 0 if !_O365ProPlus! EQU 0 ( set _O365ProPlus=1 echo O365EduCloud 2016 Suite ^<-^> Mondo 2016 Licenses call :InsLic O365EduCloud 8843N-BCXXD-Q84H8-R4Q37-T3CPT if !_Mondo! EQU 0 call :InsLic Mondo ) if !_O365ProPlus! EQU 1 set _O16O365=1 if !_Mondo! EQU 1 if !_O365ProPlus! EQU 0 ( echo Mondo 2016 Suite call :InsLic O365ProPlus DRNV7-VGMM2-B3G9T-4BF84-VMFTK if %_Office15% EQU 1 (goto :R15V) else (goto :GVLKC2R) ) if !_ProPlus2019! EQU 1 if !_O365ProPlus! EQU 0 ( echo ProPlus 2019 Suite call :InsLic ProPlus%_tag% ) if !_ProPlus! EQU 1 if !_O365ProPlus! EQU 0 if !_ProPlus2019! EQU 0 ( echo ProPlus 2016 Suite -^> ProPlus%_ons% Licenses call :InsLic ProPlus%_tag% ) if !_Professional2019! EQU 1 if !_O365ProPlus! EQU 0 if !_ProPlus2019! EQU 0 if !_ProPlus! EQU 0 ( echo Professional 2019 Suite -^> ProPlus%_ons% Licenses call :InsLic ProPlus%_tag% ) if !_Professional! EQU 1 if !_O365ProPlus! EQU 0 if !_ProPlus2019! EQU 0 if !_ProPlus! EQU 0 if !_Professional2019! EQU 0 ( echo Professional 2016 Suite -^> ProPlus%_ons% Licenses call :InsLic ProPlus%_tag% ) if !_Standard2019! EQU 1 if !_O365ProPlus! EQU 0 if !_ProPlus2019! EQU 0 if !_ProPlus! EQU 0 if !_Professional2019! EQU 0 if !_Professional! EQU 0 ( echo Standard 2019 Suite call :InsLic Standard2019 ) if !_Standard! EQU 1 if !_O365ProPlus! EQU 0 if !_ProPlus2019! EQU 0 if !_ProPlus! EQU 0 if !_Professional2019! EQU 0 if !_Professional! EQU 0 if !_Standard2019! EQU 0 ( echo Standard 2016 Suite -^> Standard%_ons% Licenses call :InsLic Standard%_tag% ) for %%a in (ProjectPro,VisioPro,ProjectStd,VisioStd) do if !_%%a2019! EQU 1 ( echo %%a 2019 SKU if defined _tag (call :InsLic %%a2019) else (call :InsLic %%a) ) for %%a in (ProjectPro,VisioPro,ProjectStd,VisioStd) do if !_%%a! EQU 1 ( if !_%%a2019! EQU 0 ( echo %%a 2016 SKU -^> %%a%_ons% Licenses call :InsLic %%a%_tag% ) ) for %%a in (HomeBusiness2019,HomeStudent2019) do if !_%%a! EQU 1 ( if !_O365ProPlus! EQU 0 if !_ProPlus2019! EQU 0 if !_ProPlus! EQU 0 if !_Professional2019! EQU 0 if !_Professional! EQU 0 if !_Standard2019! EQU 0 if !_Standard! EQU 0 ( set _Standard2019=1 echo %%a Suite -^> Standard 2019 Licenses call :InsLic Standard2019 ) ) for %%a in (HomeBusiness,HomeStudent) do if !_%%a! EQU 1 ( if !_O365ProPlus! EQU 0 if !_ProPlus2019! EQU 0 if !_ProPlus! EQU 0 if !_Professional2019! EQU 0 if !_Professional! EQU 0 if !_Standard2019! EQU 0 if !_Standard! EQU 0 if !_%%a2019! EQU 0 ( set _Standard2019=1 echo %%a 2016 Suite -^> Standard%_ons% Licenses call :InsLic Standard%_tag% ) ) for %%a in (%_A19Ids%,OneNote) do if !_%%a! EQU 1 ( if !_O365ProPlus! EQU 0 if !_ProPlus2019! EQU 0 if !_ProPlus! EQU 0 if !_Professional2019! EQU 0 if !_Professional! EQU 0 if !_Standard2019! EQU 0 if !_Standard! EQU 0 ( echo %%a App call :InsLic %%a ) ) for %%a in (%_A16Ids%) do if !_%%a! EQU 1 ( if !_O365ProPlus! EQU 0 if !_ProPlus2019! EQU 0 if !_ProPlus! EQU 0 if !_Professional2019! EQU 0 if !_Professional! EQU 0 if !_Standard2019! EQU 0 if !_Standard! EQU 0 if !_%%a2019! EQU 0 ( echo %%a 2016 App call :InsLic %%a%_tag% ) ) for %%a in (Access2019) do if !_%%a! EQU 1 ( if !_O365ProPlus! EQU 0 if !_ProPlus2019! EQU 0 if !_ProPlus! EQU 0 if !_Professional2019! EQU 0 if !_Professional! EQU 0 ( echo %%a App call :InsLic %%a ) ) for %%a in (Access) do if !_%%a! EQU 1 ( if !_O365ProPlus! EQU 0 if !_ProPlus2019! EQU 0 if !_ProPlus! EQU 0 if !_Professional2019! EQU 0 if !_Professional! EQU 0 if !_%%a2019! EQU 0 ( echo %%a 2016 App call :InsLic %%a%_tag% ) ) for %%a in (SkypeforBusiness2019) do if !_%%a! EQU 1 ( if !_O365ProPlus! EQU 0 if !_ProPlus2019! EQU 0 if !_ProPlus! EQU 0 ( echo %%a App call :InsLic %%a ) ) for %%a in (SkypeforBusiness) do if !_%%a! EQU 1 ( if !_O365ProPlus! EQU 0 if !_ProPlus2019! EQU 0 if !_ProPlus! EQU 0 if !_%%a2019! EQU 0 ( echo %%a 2016 App call :InsLic %%a%_tag% ) ) if %_Office15% EQU 1 (goto :R15V) else (goto :GVLKC2R) :R15V for %%# in ("!_Licenses15Path!\client-issuance-*.xrm-ms") do ( %_cscript% %_vbsi%"!_Licenses15Path!\%%~nx#" ) %_cscript% %_vbsi%"!_Licenses15Path!\pkeyconfig-office.xrm-ms" set _O15Ids=Standard,ProjectPro,VisioPro,ProjectStd,VisioStd,Access,Lync set _A15Ids=Excel,Groove,InfoPath,OneNote,Outlook,PowerPoint,Publisher,Word set _R15Ids=SPD,Mondo,%_O15Ids%,%_A15Ids%,Professional,HomeBusiness,HomeStudent,O365ProPlus,O365Business,O365SmallBusPrem,O365HomePrem set _V15Ids=Mondo,%_O15Ids%,%_A15Ids% echo %_Product15Ids%>"!_temp!\crvProduct15s.txt" for %%a in (%_R15Ids%,ProPlus) do ( set _%%a=0 ) for %%a in (%_R15Ids%) do ( findstr /I /C:"%%aRetail" "!_temp!\crvProduct15s.txt" %_Nul1% && set _%%a=1 ) for %%a in (%_V15Ids%) do ( findstr /I /C:"%%aVolume" "!_temp!\crvProduct15s.txt" %_Nul1% && ( find /i "Office%%aVL_KMS_Client" "!_temp!\crvVolume.txt" %_Nul1% && (set _%%a=0) || (set _%%a=1) ) ) reg query %_PR15IDs%\Active\ProPlusRetail\x-none %_Nul3% && ( find /i "OfficeProPlusVL_KMS_Client" "!_temp!\crvVolume.txt" %_Nul1% && (set _ProPlus=0) || (set _ProPlus=1) ) reg query %_PR15IDs%\Active\ProPlusVolume\x-none %_Nul3% && ( find /i "OfficeProPlusVL_KMS_Client" "!_temp!\crvVolume.txt" %_Nul1% && (set _ProPlus=0) || (set _ProPlus=1) ) if %_Retail% EQU 1 for %%a in (%_R15Ids%) do ( findstr /I /C:"%%aRetail" "!_temp!\crvProduct15s.txt" %_Nul1% && ( find /i "Office%%aR_Retail" "!_temp!\crvRetail.txt" %_Nul1% && set _%%a=0 find /i "Office%%aR_OEM" "!_temp!\crvRetail.txt" %_Nul1% && set _%%a=0 find /i "Office%%aR_Sub" "!_temp!\crvRetail.txt" %_Nul1% && set _%%a=0 find /i "Office%%aR_PIN" "!_temp!\crvRetail.txt" %_Nul1% && set _%%a=0 find /i "Office%%aMSDNR_" "!_temp!\crvRetail.txt" %_Nul1% && set _%%a=0 find /i "Office%%aO365R_" "!_temp!\crvRetail.txt" %_Nul1% && set _%%a=0 find /i "Office%%aCO365R_" "!_temp!\crvRetail.txt" %_Nul1% && set _%%a=0 find /i "Office%%aVL_MAK" "!_temp!\crvRetail.txt" %_Nul1% && set _%%a=0 ) ) if %_Retail% EQU 1 reg query %_PR15IDs%\Active\ProPlusRetail\x-none %_Nul3% && ( find /i "OfficeProPlusR_Retail" "!_temp!\crvRetail.txt" %_Nul1% && set _ProPlus=0 find /i "OfficeProPlusR_OEM" "!_temp!\crvRetail.txt" %_Nul1% && set _ProPlus=0 find /i "OfficeProPlusMSDNR_" "!_temp!\crvRetail.txt" %_Nul1% && set _ProPlus=0 find /i "OfficeProPlusVL_MAK" "!_temp!\crvRetail.txt" %_Nul1% && set _ProPlus=0 ) set _C15Msg=0 for %%a in (%_R15Ids%,ProPlus) do if !_%%a! EQU 1 ( set _C15Msg=1 ) if %_C15Msg% EQU 1 if %_C16Msg% EQU 0 ( echo: echo Converting Office C2R Retail-to-Volume: ) if %_C15Msg% EQU 0 goto :GVLKC2R if !_Mondo! EQU 1 ( call :Ins15Lic Mondo ) if !_O365ProPlus! EQU 1 if !_O16O365! EQU 0 ( echo O365ProPlus 2013 Suite ^<-^> Mondo 2013 Licenses call :Ins15Lic O365ProPlus DRNV7-VGMM2-B3G9T-4BF84-VMFTK if !_Mondo! EQU 0 call :Ins15Lic Mondo ) if !_O365SmallBusPrem! EQU 1 if !_O365ProPlus! EQU 0 if !_O16O365! EQU 0 ( set _O365ProPlus=1 echo O365SmallBusPrem 2013 Suite ^<-^> Mondo 2013 Licenses call :Ins15Lic O365SmallBusPrem 3FBRX-NFP7C-6JWVK-F2YGK-H499R if !_Mondo! EQU 0 call :Ins15Lic Mondo ) if !_O365HomePrem! EQU 1 if !_O365SmallBusPrem! EQU 0 if !_O365ProPlus! EQU 0 if !_O16O365! EQU 0 ( set _O365ProPlus=1 echo O365HomePrem 2013 Suite ^<-^> Mondo 2013 Licenses call :Ins15Lic O365HomePrem 9FNY8-PWWTY-8RY4F-GJMTV-KHGM9 if !_Mondo! EQU 0 call :Ins15Lic Mondo ) if !_O365Business! EQU 1 if !_O365HomePrem! EQU 0 if !_O365SmallBusPrem! EQU 0 if !_O365ProPlus! EQU 0 if !_O16O365! EQU 0 ( set _O365ProPlus=1 echo O365Business 2013 Suite ^<-^> Mondo 2013 Licenses call :Ins15Lic O365Business MCPBN-CPY7X-3PK9R-P6GTT-H8P8Y if !_Mondo! EQU 0 call :Ins15Lic Mondo ) if !_Mondo! EQU 1 if !_O365ProPlus! EQU 0 if !_O16O365! EQU 0 ( echo Mondo 2013 Suite call :Ins15Lic O365ProPlus DRNV7-VGMM2-B3G9T-4BF84-VMFTK goto :GVLKC2R ) if !_SPD! EQU 1 if !_Mondo! EQU 0 if !_O365ProPlus! EQU 0 ( echo SharePoint Designer 2013 App -^> Mondo 2013 Licenses call :Ins15Lic Mondo goto :GVLKC2R ) if !_ProPlus! EQU 1 if !_O365ProPlus! EQU 0 ( echo ProPlus 2013 Suite call :Ins15Lic ProPlus ) if !_Professional! EQU 1 if !_O365ProPlus! EQU 0 if !_ProPlus! EQU 0 ( echo Professional 2013 Suite -^> ProPlus 2013 Licenses call :Ins15Lic ProPlus ) if !_Standard! EQU 1 if !_O365ProPlus! EQU 0 if !_ProPlus! EQU 0 if !_Professional! EQU 0 ( echo Standard 2013 Suite call :Ins15Lic Standard ) for %%a in (ProjectPro,VisioPro,ProjectStd,VisioStd) do if !_%%a! EQU 1 ( echo %%a 2013 SKU call :Ins15Lic %%a ) for %%a in (HomeBusiness,HomeStudent) do if !_%%a! EQU 1 ( if !_O365ProPlus! EQU 0 if !_ProPlus! EQU 0 if !_Professional! EQU 0 if !_Standard! EQU 0 ( set _Standard=1 echo %%a 2013 Suite -^> Standard 2013 Licenses call :Ins15Lic Standard ) ) for %%a in (%_A15Ids%) do if !_%%a! EQU 1 ( if !_O365ProPlus! EQU 0 if !_ProPlus! EQU 0 if !_Professional! EQU 0 if !_Standard! EQU 0 ( echo %%a 2013 App call :Ins15Lic %%a ) ) for %%a in (Access) do if !_%%a! EQU 1 ( if !_O365ProPlus! EQU 0 if !_ProPlus! EQU 0 if !_Professional! EQU 0 ( echo %%a 2013 App call :Ins15Lic %%a ) ) for %%a in (Lync) do if !_%%a! EQU 1 ( if !_O365ProPlus! EQU 0 if !_ProPlus! EQU 0 ( echo SkypeforBusiness 2015 App call :Ins15Lic %%a ) ) goto :GVLKC2R :InsLic set "_ID=%1Volume" set "_pkey=" if not "%2"=="" ( set "_ID=%1Retail" set "_pkey=PidKey=%2" ) reg delete %_Config% /f /v %_ID%.OSPPReady %_Nul3% "!_Integrator!" /I /License PRIDName=%_ID%.16 %_pkey% PackageGUID="%_GUID%" PackageRoot="!_InstallRoot!" %_Nul1% reg add %_Config% /f /v %_ID%.OSPPReady /t REG_SZ /d 1 %_Nul1% reg query %_Config% /v ProductReleaseIds | findstr /I "%_ID%" %_Nul1% if %errorlevel% NEQ 0 ( for /f "skip=2 tokens=2*" %%a in ('reg query %_Config% /v ProductReleaseIds') do reg add %_Config% /v ProductReleaseIds /t REG_SZ /d "%%b,%_ID%" /f %_Nul1% ) exit /b :Ins15Lic set "_ID=%1Volume" set "_patt=%1VL_" set "_pkey=" if not "%2"=="" ( set "_ID=%1Retail" set "_patt=%1R_" set "_pkey=%2" ) reg delete %_OSPP15Ready% /f /v %_ID%.OSPPReady %_Nul3% for %%# in ("!_Licenses15Path!\%_patt%*.xrm-ms") do ( %_cscript% %_vbsi%"!_Licenses15Path!\%%~nx#" ) if defined _pkey wmic path %_sps% where version='%_wmi%' call InstallProductKey ProductKey="%_pkey%" %_Nul3% reg add %_OSPP15Ready% /f /v %_ID%.OSPPReady /t %_OSPP15ReadT% /d 1 %_Nul1% reg query %_Con15fig% | findstr /I "%_ID%" %_Nul1% if %errorlevel% NEQ 0 ( for /f "skip=2 tokens=2*" %%a in ('reg query %_Con15fig%') do reg add %_Con15fig% /t REG_SZ /d "%%b,%_ID%" /f %_Nul1% ) exit /b :GVLKC2R if %_Office16% EQU 1 ( for %%a in (%_RetIds%,ProPlus) do set "_%%a=" ) if %_Office15% EQU 1 ( for %%a in (%_R15Ids%,ProPlus) do set "_%%a=" ) if %winbuild% GEQ 9200 wmic path %_sps% where version='%_wmi%' call RefreshLicenseStatus %_Nul3% if exist "%SysPath%\spp\store_test\2.0\tokens.dat" if defined _copp ( %_cscript% %_SLMGR% /rilc ) goto :%_sC2R% :keys if "%~1"=="" exit /b goto :%1 %_Nul2% :: Windows 10 [RS5] :32d2fab3-e4a8-42c2-923b-4bf4fd13e6ee set "_key=M7XTQ-FN8P6-TTKYV-9D4CC-J462D" &:: Enterprise LTSC 2019 exit /b :7103a333-b8c8-49cc-93ce-d37c09687f92 set "_key=92NFX-8DJQP-P6BBQ-THF9C-7CG2H" &:: Enterprise LTSC 2019 N exit /b :ec868e65-fadf-4759-b23e-93fe37f2cc29 set "_key=CPWHC-NT2C7-VYW78-DHDB2-PG3GK" &:: Enterprise for Virtual Desktops exit /b :0df4f814-3f57-4b8b-9a9d-fddadcd69fac set "_key=NBTWJ-3DR69-3C4V8-C26MC-GQ9M6" &:: Lean exit /b :: Windows 10 [RS3] :82bbc092-bc50-4e16-8e18-b74fc486aec3 set "_key=NRG8B-VKK3Q-CXVCJ-9G2XF-6Q84J" &:: Pro Workstation exit /b :4b1571d3-bafb-4b40-8087-a961be2caf65 set "_key=9FNHH-K3HBT-3W4TD-6383H-6XYWF" &:: Pro Workstation N exit /b :e4db50ea-bda1-4566-b047-0ca50abc6f07 set "_key=7NBT4-WGBQX-MP4H7-QXFF8-YP3KX" &:: Enterprise Remote Server exit /b :: Windows 10 [RS2] :e0b2d383-d112-413f-8a80-97f373a5820c set "_key=YYVX9-NTFWV-6MDM3-9PT4T-4M68B" &:: Enterprise G exit /b :e38454fb-41a4-4f59-a5dc-25080e354730 set "_key=44RPN-FTY23-9VTTB-MP9BX-T84FV" &:: Enterprise G N exit /b :: Windows 10 [RS1] :2d5a5a60-3040-48bf-beb0-fcd770c20ce0 set "_key=DCPHK-NFMTC-H88MJ-PFHPY-QJ4BJ" &:: Enterprise 2016 LTSB exit /b :9f776d83-7156-45b2-8a5c-359b9c9f22a3 set "_key=QFFDN-GRT3P-VKWWX-X7T3R-8B639" &:: Enterprise 2016 LTSB N exit /b :3f1afc82-f8ac-4f6c-8005-1d233e606eee set "_key=6TP4R-GNPTD-KYYHQ-7B7DP-J447Y" &:: Pro Education exit /b :5300b18c-2e33-4dc2-8291-47ffcec746dd set "_key=YVWGF-BXNMC-HTQYQ-CPQ99-66QFC" &:: Pro Education N exit /b :: Windows 10 [TH] :58e97c99-f377-4ef1-81d5-4ad5522b5fd8 set "_key=TX9XD-98N7V-6WMQ6-BX7FG-H8Q99" &:: Home exit /b :7b9e1751-a8da-4f75-9560-5fadfe3d8e38 set "_key=3KHY7-WNT83-DGQKR-F7HPR-844BM" &:: Home N exit /b :cd918a57-a41b-4c82-8dce-1a538e221a83 set "_key=7HNRX-D7KGG-3K4RQ-4WPJ4-YTDFH" &:: Home Single Language exit /b :a9107544-f4a0-4053-a96a-1479abdef912 set "_key=PVMJN-6DFY6-9CCP6-7BKTT-D3WVR" &:: Home China exit /b :2de67392-b7a7-462a-b1ca-108dd189f588 set "_key=W269N-WFGWX-YVC9B-4J6C9-T83GX" &:: Pro exit /b :a80b5abf-76ad-428b-b05d-a47d2dffeebf set "_key=MH37W-N47XK-V7XM9-C7227-GCQG9" &:: Pro N exit /b :e0c42288-980c-4788-a014-c080d2e1926e set "_key=NW6C2-QMPVW-D7KKK-3GKT6-VCFB2" &:: Education exit /b :3c102355-d027-42c6-ad23-2e7ef8a02585 set "_key=2WH4N-8QGBV-H22JP-CT43Q-MDWWJ" &:: Education N exit /b :73111121-5638-40f6-bc11-f1d7b0d64300 set "_key=NPPR9-FWDCX-D2C8J-H872K-2YT43" &:: Enterprise exit /b :e272e3e2-732f-4c65-a8f0-484747d0d947 set "_key=DPH2V-TTNVB-4X9Q3-TJR4H-KHJW4" &:: Enterprise N exit /b :7b51a46c-0c04-4e8f-9af4-8496cca90d5e set "_key=WNMTR-4C88C-JK8YV-HQ7T2-76DF9" &:: Enterprise 2015 LTSB exit /b :87b838b7-41b6-4590-8318-5797951d8529 set "_key=2F77B-TNFGY-69QQF-B8YKP-D69TJ" &:: Enterprise 2015 LTSB N exit /b :: Windows Server 2019 [RS5] :de32eafd-aaee-4662-9444-c1befb41bde2 set "_key=N69G4-B89J2-4G8F4-WWYCC-J464C" &:: Standard exit /b :34e1ae55-27f8-4950-8877-7a03be5fb181 set "_key=WMDGN-G9PQG-XVVXX-R3X43-63DFG" &:: Datacenter exit /b :034d3cbb-5d4b-4245-b3f8-f84571314078 set "_key=WVDHN-86M7X-466P6-VHXV7-YY726" &:: Essentials exit /b :a99cc1f0-7719-4306-9645-294102fbff95 set "_key=FDNH6-VW9RW-BXPJ7-4XTYG-239TB" &:: Azure Core exit /b :73e3957c-fc0c-400d-9184-5f7b6f2eb409 set "_key=N2KJX-J94YW-TQVFB-DG9YT-724CC" &:: Standard ACor exit /b :90c362e5-0da1-4bfd-b53b-b87d309ade43 set "_key=6NMRW-2C8FM-D24W7-TQWMY-CWH2D" &:: Datacenter ACor exit /b :8de8eb62-bbe0-40ac-ac17-f75595071ea3 set "_key=GRFBW-QNDC4-6QBHG-CCK3B-2PR88" &:: ServerARM64 exit /b :: Windows Server 2016 [RS4] :43d9af6e-5e86-4be8-a797-d072a046896c set "_key=K9FYF-G6NCK-73M32-XMVPY-F9DRR" &:: ServerARM64 exit /b :: Windows Server 2016 [RS3] :61c5ef22-f14f-4553-a824-c4b31e84b100 set "_key=PTXN8-JFHJM-4WC78-MPCBR-9W4KR" &:: Standard ACor exit /b :e49c08e7-da82-42f8-bde2-b570fbcae76c set "_key=2HXDN-KRXHB-GPYC7-YCKFJ-7FVDG" &:: Datacenter ACor exit /b :: Windows Server 2016 [RS1] :8c1c5410-9f39-4805-8c9d-63a07706358f set "_key=WC2BQ-8NRM3-FDDYY-2BFGV-KHKQY" &:: Standard exit /b :21c56779-b449-4d20-adfc-eece0e1ad74b set "_key=CB7KF-BWN84-R7R2Y-793K2-8XDDG" &:: Datacenter exit /b :2b5a1b0f-a5ab-4c54-ac2f-a6d94824a283 set "_key=JCKRF-N37P4-C2D82-9YXRT-4M63B" &:: Essentials exit /b :7b4433f4-b1e7-4788-895a-c45378d38253 set "_key=QN4C6-GBJD2-FB422-GHWJK-GJG2R" &:: Cloud Storage exit /b :3dbf341b-5f6c-4fa7-b936-699dce9e263f set "_key=VP34G-4NPPG-79JTQ-864T4-R3MQX" &:: Azure Core exit /b :: Windows 8.1 :fe1c3238-432a-43a1-8e25-97e7d1ef10f3 set "_key=M9Q9P-WNJJT-6PXPY-DWX8H-6XWKK" &:: Core exit /b :78558a64-dc19-43fe-a0d0-8075b2a370a3 set "_key=7B9N3-D94CG-YTVHR-QBPX3-RJP64" &:: Core N exit /b :c72c6a1d-f252-4e7e-bdd1-3fca342acb35 set "_key=BB6NG-PQ82V-VRDPW-8XVD2-V8P66" &:: Core Single Language exit /b :db78b74f-ef1c-4892-abfe-1e66b8231df6 set "_key=NCTT7-2RGK8-WMHRF-RY7YQ-JTXG3" &:: Core China exit /b :ffee456a-cd87-4390-8e07-16146c672fd0 set "_key=XYTND-K6QKT-K2MRH-66RTM-43JKP" &:: Core ARM exit /b :c06b6981-d7fd-4a35-b7b4-054742b7af67 set "_key=GCRJD-8NW9H-F2CDX-CCM8D-9D6T9" &:: Pro exit /b :7476d79f-8e48-49b4-ab63-4d0b813a16e4 set "_key=HMCNV-VVBFX-7HMBH-CTY9B-B4FXY" &:: Pro N exit /b :096ce63d-4fac-48a9-82a9-61ae9e800e5f set "_key=789NJ-TQK6T-6XTH8-J39CJ-J8D3P" &:: Pro with Media Center exit /b :81671aaf-79d1-4eb1-b004-8cbbe173afea set "_key=MHF9N-XY6XB-WVXMC-BTDCT-MKKG7" &:: Enterprise exit /b :113e705c-fa49-48a4-beea-7dd879b46b14 set "_key=TT4HM-HN7YT-62K67-RGRQJ-JFFXW" &:: Enterprise N exit /b :0ab82d54-47f4-4acb-818c-cc5bf0ecb649 set "_key=NMMPB-38DD4-R2823-62W8D-VXKJB" &:: Embedded Industry Pro exit /b :cd4e2d9f-5059-4a50-a92d-05d5bb1267c7 set "_key=FNFKF-PWTVT-9RC8H-32HB2-JB34X" &:: Embedded Industry Enterprise exit /b :f7e88590-dfc7-4c78-bccb-6f3865b99d1a set "_key=VHXM3-NR6FT-RY6RT-CK882-KW2CJ" &:: Embedded Industry Automotive exit /b :e9942b32-2e55-4197-b0bd-5ff58cba8860 set "_key=3PY8R-QHNP9-W7XQD-G6DPH-3J2C9" &:: with Bing exit /b :c6ddecd6-2354-4c19-909b-306a3058484e set "_key=Q6HTR-N24GM-PMJFP-69CD8-2GXKR" &:: with Bing N exit /b :b8f5e3a3-ed33-4608-81e1-37d6c9dcfd9c set "_key=KF37N-VDV38-GRRTV-XH8X6-6F3BB" &:: with Bing Single Language exit /b :ba998212-460a-44db-bfb5-71bf09d1c68b set "_key=R962J-37N87-9VVK2-WJ74P-XTMHR" &:: with Bing China exit /b :e58d87b5-8126-4580-80fb-861b22f79296 set "_key=MX3RK-9HNGX-K3QKC-6PJ3F-W8D7B" &:: Pro for Students exit /b :cab491c7-a918-4f60-b502-dab75e334f40 set "_key=TNFGH-2R6PB-8XM3K-QYHX2-J4296" &:: Pro for Students N exit /b :: Windows Server 2012 R2 :b3ca044e-a358-4d68-9883-aaa2941aca99 set "_key=D2N9P-3P6X9-2R39C-7RTCD-MDVJX" &:: Standard exit /b :00091344-1ea4-4f37-b789-01750ba6988c set "_key=W3GGN-FT8W3-Y4M27-J84CP-Q3VJ9" &:: Datacenter exit /b :21db6ba4-9a7b-4a14-9e29-64a60c59301d set "_key=KNC87-3J2TX-XB4WP-VCPJV-M4FWM" &:: Essentials exit /b :b743a2be-68d4-4dd3-af32-92425b7bb623 set "_key=3NPTF-33KPT-GGBPR-YX76B-39KDD" &:: Cloud Storage exit /b :: Windows 8 :c04ed6bf-55c8-4b47-9f8e-5a1f31ceee60 set "_key=BN3D2-R7TKB-3YPBD-8DRP2-27GG4" &:: Core exit /b :197390a0-65f6-4a95-bdc4-55d58a3b0253 set "_key=8N2M2-HWPGY-7PGT9-HGDD8-GVGGY" &:: Core N exit /b :8860fcd4-a77b-4a20-9045-a150ff11d609 set "_key=2WN2H-YGCQR-KFX6K-CD6TF-84YXQ" &:: Core Single Language exit /b :9d5584a2-2d85-419a-982c-a00888bb9ddf set "_key=4K36P-JN4VD-GDC6V-KDT89-DYFKP" &:: Core China exit /b :af35d7b7-5035-4b63-8972-f0b747b9f4dc set "_key=DXHJF-N9KQX-MFPVR-GHGQK-Y7RKV" &:: Core ARM exit /b :a98bcd6d-5343-4603-8afe-5908e4611112 set "_key=NG4HW-VH26C-733KW-K6F98-J8CK4" &:: Pro exit /b :ebf245c1-29a8-4daf-9cb1-38dfc608a8c8 set "_key=XCVCF-2NXM9-723PB-MHCB7-2RYQQ" &:: Pro N exit /b :a00018a3-f20f-4632-bf7c-8daa5351c914 set "_key=GNBB8-YVD74-QJHX6-27H4K-8QHDG" &:: Pro with Media Center exit /b :458e1bec-837a-45f6-b9d5-925ed5d299de set "_key=32JNW-9KQ84-P47T8-D8GGY-CWCK7" &:: Enterprise exit /b :e14997e7-800a-4cf7-ad10-de4b45b578db set "_key=JMNMF-RHW7P-DMY6X-RF3DR-X2BQT" &:: Enterprise N exit /b :10018baf-ce21-4060-80bd-47fe74ed4dab set "_key=RYXVT-BNQG7-VD29F-DBMRY-HT73M" &:: Embedded Industry Pro exit /b :18db1848-12e0-4167-b9d7-da7fcda507db set "_key=NKB3R-R2F8T-3XCDP-7Q2KW-XWYQ2" &:: Embedded Industry Enterprise exit /b :: Windows Server 2012 :f0f5ec41-0d55-4732-af02-440a44a3cf0f set "_key=XC9B7-NBPP2-83J2H-RHMBY-92BT4" &:: Standard exit /b :d3643d60-0c42-412d-a7d6-52e6635327f6 set "_key=48HP8-DN98B-MYWDG-T2DCC-8W83P" &:: Datacenter exit /b :7d5486c7-e120-4771-b7f1-7b56c6d3170c set "_key=HM7DN-YVMH3-46JC3-XYTG7-CYQJJ" &:: MultiPoint Standard exit /b :95fd1c83-7df5-494a-be8b-1300e1c9d1cd set "_key=XNH6W-2V9GX-RGJ4K-Y8X6F-QGJ2G" &:: MultiPoint Premium exit /b :: Windows 7 :b92e9980-b9d5-4821-9c94-140f632f6312 set "_key=FJ82H-XT6CR-J8D7P-XQJJ2-GPDD4" &:: Professional exit /b :54a09a0d-d57b-4c10-8b69-a842d6590ad5 set "_key=MRPKT-YTG23-K7D7T-X2JMM-QY7MG" &:: Professional N exit /b :5a041529-fef8-4d07-b06f-b59b573b32d2 set "_key=W82YF-2Q76Y-63HXB-FGJG9-GF7QX" &:: Professional E exit /b :ae2ee509-1b34-41c0-acb7-6d4650168915 set "_key=33PXH-7Y6KF-2VJC9-XBBR8-HVTHH" &:: Enterprise exit /b :1cb6d605-11b3-4e14-bb30-da91c8e3983a set "_key=YDRBP-3D83W-TY26F-D46B2-XCKRJ" &:: Enterprise N exit /b :46bbed08-9c7b-48fc-a614-95250573f4ea set "_key=C29WB-22CC8-VJ326-GHFJW-H9DH4" &:: Enterprise E exit /b :db537896-376f-48ae-a492-53d0547773d0 set "_key=YBYF6-BHCR3-JPKRB-CDW7B-F9BK4" &:: Embedded POSReady 7 exit /b :e1a8296a-db37-44d1-8cce-7bc961d59c54 set "_key=XGY72-BRBBT-FF8MH-2GG8H-W7KCW" &:: Embedded Standard exit /b :aa6dd3aa-c2b4-40e2-a544-a6bbb3f5c395 set "_key=73KQT-CD9G6-K7TQG-66MRP-CQ22C" &:: Embedded ThinPC exit /b :: Windows Server 2008 R2 :a78b8bd9-8017-4df5-b86a-09f756affa7c set "_key=6TPJF-RBVHG-WBW2R-86QPH-6RTM4" &:: Web exit /b :cda18cf3-c196-46ad-b289-60c072869994 set "_key=TT8MH-CG224-D3D7Q-498W2-9QCTX" &:: HPC exit /b :68531fb9-5511-4989-97be-d11a0f55633f set "_key=YC6KT-GKW9T-YTKYR-T4X34-R7VHC" &:: Standard exit /b :7482e61b-c589-4b7f-8ecc-46d455ac3b87 set "_key=74YFP-3QFB3-KQT8W-PMXWJ-7M648" &:: Datacenter exit /b :620e2b3d-09e7-42fd-802a-17a13652fe7a set "_key=489J6-VHDMP-X63PK-3K798-CPX3Y" &:: Enterprise exit /b :8a26851c-1c7e-48d3-a687-fbca9b9ac16b set "_key=GT63C-RJFQ3-4GMB6-BRFB9-CB83V" &:: Itanium exit /b :f772515c-0e87-48d5-a676-e6962c3e1195 set "_key=736RG-XDKJK-V34PF-BHK87-J6X3K" &:: MultiPoint Server ServerEmbeddedSolution exit /b :: Office 2019 :0bc88885-718c-491d-921f-6f214349e79c set "_key=VQ9DP-NVHPH-T9HJC-J9PDT-KTQRG" &:: Professional Plus C2R-P exit /b :fc7c4d0c-2e85-4bb9-afd4-01ed1476b5e9 set "_key=XM2V9-DN9HH-QB449-XDGKC-W2RMW" &:: Project Professional C2R-P exit /b :500f6619-ef93-4b75-bcb4-82819998a3ca set "_key=N2CG9-YD3YK-936X4-3WR82-Q3X4H" &:: Visio Professional C2R-P exit /b :85dd8b5f-eaa4-4af3-a628-cce9e77c9a03 set "_key=NMMKJ-6RK4F-KMJVX-8D9MJ-6MWKP" &:: Professional Plus exit /b :6912a74b-a5fb-401a-bfdb-2e3ab46f4b02 set "_key=6NWWJ-YQWMR-QKGCB-6TMB3-9D9HK" &:: Standard exit /b :2ca2bf3f-949e-446a-82c7-e25a15ec78c4 set "_key=B4NPR-3FKK7-T2MBV-FRQ4W-PKD2B" &:: Project Professional exit /b :1777f0e3-7392-4198-97ea-8ae4de6f6381 set "_key=C4F7P-NCP8C-6CQPT-MQHV9-JXD2M" &:: Project Standard exit /b :5b5cf08f-b81a-431d-b080-3450d8620565 set "_key=9BGNQ-K37YR-RQHF2-38RQ3-7VCBB" &:: Visio Professional exit /b :e06d7df3-aad0-419d-8dfb-0ac37e2bdf39 set "_key=7TQNQ-K3YQQ-3PFH7-CCPPM-X4VQ2" &:: Visio Standard exit /b :9e9bceeb-e736-4f26-88de-763f87dcc485 set "_key=9N9PT-27V4Y-VJ2PD-YXFMF-YTFQT" &:: Access exit /b :237854e9-79fc-4497-a0c1-a70969691c6b set "_key=TMJWT-YYNMB-3BKTF-644FC-RVXBD" &:: Excel exit /b :c8f8a301-19f5-4132-96ce-2de9d4adbd33 set "_key=7HD7K-N4PVK-BHBCQ-YWQRW-XW4VK" &:: Outlook exit /b :3131fd61-5e4f-4308-8d6d-62be1987c92c set "_key=RRNCX-C64HY-W2MM7-MCH9G-TJHMQ" &:: PowerPoint exit /b :9d3e4cca-e172-46f1-a2f4-1d2107051444 set "_key=G2KWX-3NW6P-PY93R-JXK2T-C9Y9V" &:: Publisher exit /b :734c6c6e-b0ba-4298-a891-671772b2bd1b set "_key=NCJ33-JHBBY-HTK98-MYCV8-HMKHJ" &:: Skype for Business exit /b :059834fe-a8ea-4bff-b67b-4d006b5447d3 set "_key=PBX3G-NWMT6-Q7XBW-PYJGG-WXD33" &:: Word exit /b :: Office 2016 :829b8110-0e6f-4349-bca4-42803577788d set "_key=WGT24-HCNMF-FQ7XH-6M8K7-DRTW9" &:: Project Professional C2R-P exit /b :cbbaca45-556a-4416-ad03-bda598eaa7c8 set "_key=D8NRQ-JTYM3-7J2DX-646CT-6836M" &:: Project Standard C2R-P exit /b :b234abe3-0857-4f9c-b05a-4dc314f85557 set "_key=69WXN-MBYV6-22PQG-3WGHK-RM6XC" &:: Visio Professional C2R-P exit /b :361fe620-64f4-41b5-ba77-84f8e079b1f7 set "_key=NY48V-PPYYH-3F4PX-XJRKJ-W4423" &:: Visio Standard C2R-P exit /b :e914ea6e-a5fa-4439-a394-a9bb3293ca09 set "_key=DMTCJ-KNRKX-26982-JYCKT-P7KB6" &:: MondoR exit /b :9caabccb-61b1-4b4b-8bec-d10a3c3ac2ce set "_key=HFTND-W9MK4-8B7MJ-B6C4G-XQBR2" &:: Mondo exit /b :d450596f-894d-49e0-966a-fd39ed4c4c64 set "_key=XQNVK-8JYDB-WJ9W3-YJ8YR-WFG99" &:: Professional Plus exit /b :dedfa23d-6ed1-45a6-85dc-63cae0546de6 set "_key=JNRGM-WHDWX-FJJG3-K47QV-DRTFM" &:: Standard exit /b :4f414197-0fc2-4c01-b68a-86cbb9ac254c set "_key=YG9NW-3K39V-2T3HJ-93F3Q-G83KT" &:: Project Professional exit /b :da7ddabc-3fbe-4447-9e01-6ab7440b4cd4 set "_key=GNFHQ-F6YQM-KQDGJ-327XX-KQBVC" &:: Project Standard exit /b :6bf301c1-b94a-43e9-ba31-d494598c47fb set "_key=PD3PC-RHNGV-FXJ29-8JK7D-RJRJK" &:: Visio Professional exit /b :aa2a7821-1827-4c2c-8f1d-4513a34dda97 set "_key=7WHWN-4T7MP-G96JF-G33KR-W8GF4" &:: Visio Standard exit /b :67c0fc0c-deba-401b-bf8b-9c8ad8395804 set "_key=GNH9Y-D2J4T-FJHGG-QRVH7-QPFDW" &:: Access exit /b :c3e65d36-141f-4d2f-a303-a842ee756a29 set "_key=9C2PK-NWTVB-JMPW8-BFT28-7FTBF" &:: Excel exit /b :d8cace59-33d2-4ac7-9b1b-9b72339c51c8 set "_key=DR92N-9HTF2-97XKM-XW2WJ-XW3J6" &:: OneNote exit /b :ec9d9265-9d1e-4ed0-838a-cdc20f2551a1 set "_key=R69KK-NTPKF-7M3Q4-QYBHW-6MT9B" &:: Outlook exit /b :d70b1bba-b893-4544-96e2-b7a318091c33 set "_key=J7MQP-HNJ4Y-WJ7YM-PFYGF-BY6C6" &:: Powerpoint exit /b :041a06cb-c5b8-4772-809f-416d03d16654 set "_key=F47MM-N3XJP-TQXJ9-BP99D-8K837" &:: Publisher exit /b :83e04ee1-fa8d-436d-8994-d31a862cab77 set "_key=869NQ-FJ69K-466HW-QYCP2-DDBV6" &:: Skype for Business exit /b :bb11badf-d8aa-470e-9311-20eaf80fe5cc set "_key=WXY84-JN2Q9-RBCCQ-3Q3J3-3PFJ6" &:: Word exit /b :: Office 2013 :dc981c6b-fc8e-420f-aa43-f8f33e5c0923 set "_key=42QTK-RN8M7-J3C4G-BBGYM-88CYV" &:: Mondo exit /b :b322da9c-a2e2-4058-9e4e-f59a6970bd69 set "_key=YC7DK-G2NP3-2QQC3-J6H88-GVGXT" &:: Professional Plus exit /b :b13afb38-cd79-4ae5-9f7f-eed058d750ca set "_key=KBKQT-2NMXY-JJWGP-M62JB-92CD4" &:: Standard exit /b :4a5d124a-e620-44ba-b6ff-658961b33b9a set "_key=FN8TT-7WMH6-2D4X9-M337T-2342K" &:: Project Professional exit /b :427a28d1-d17c-4abf-b717-32c780ba6f07 set "_key=6NTH3-CW976-3G3Y2-JK3TX-8QHTT" &:: Project Standard exit /b :e13ac10e-75d0-4aff-a0cd-764982cf541c set "_key=C2FG9-N6J68-H8BTJ-BW3QX-RM3B3" &:: Visio Professional exit /b :ac4efaf0-f81f-4f61-bdf7-ea32b02ab117 set "_key=J484Y-4NKBF-W2HMG-DBMJC-PGWR7" &:: Visio Standard exit /b :6ee7622c-18d8-4005-9fb7-92db644a279b set "_key=NG2JY-H4JBT-HQXYP-78QH9-4JM2D" &:: Access exit /b :f7461d52-7c2b-43b2-8744-ea958e0bd09a set "_key=VGPNG-Y7HQW-9RHP7-TKPV3-BG7GB" &:: Excel exit /b :fb4875ec-0c6b-450f-b82b-ab57d8d1677f set "_key=H7R7V-WPNXQ-WCYYC-76BGV-VT7GH" &:: Groove exit /b :a30b8040-d68a-423f-b0b5-9ce292ea5a8f set "_key=DKT8B-N7VXH-D963P-Q4PHY-F8894" &:: InfoPath exit /b :1b9f11e3-c85c-4e1b-bb29-879ad2c909e3 set "_key=2MG3G-3BNTT-3MFW9-KDQW3-TCK7R" &:: Lync exit /b :efe1f3e6-aea2-4144-a208-32aa872b6545 set "_key=TGN6P-8MMBC-37P2F-XHXXK-P34VW" &:: OneNote exit /b :771c3afa-50c5-443f-b151-ff2546d863a0 set "_key=QPN8Q-BJBTJ-334K3-93TGY-2PMBT" &:: Outlook exit /b :8c762649-97d1-4953-ad27-b7e2c25b972e set "_key=4NT99-8RJFH-Q2VDH-KYG2C-4RD4F" &:: Powerpoint exit /b :00c79ff1-6850-443d-bf61-71cde0de305f set "_key=PN2WF-29XG2-T9HJ7-JQPJR-FCXK4" &:: Publisher exit /b :d9f5b1c6-5386-495a-88f9-9ad6b41ac9b3 set "_key=6Q7VD-NX8JD-WJ2VH-88V73-4GBJ7" &:: Word exit /b :: Office 2010 :09ed9640-f020-400a-acd8-d7d867dfd9c2 set "_key=YBJTT-JG6MD-V9Q7P-DBKXJ-38W9R" &:: Mondo exit /b :ef3d4e49-a53d-4d81-a2b1-2ca6c2556b2c set "_key=7TC2V-WXF6P-TD7RT-BQRXR-B8K32" &:: Mondo2 exit /b :6f327760-8c5c-417c-9b61-836a98287e0c set "_key=VYBBJ-TRJPB-QFQRF-QFT4D-H3GVB" &:: Professional Plus exit /b :9da2a678-fb6b-4e67-ab84-60dd6a9c819a set "_key=V7QKV-4XVVR-XYV4D-F7DFM-8R6BM" &:: Standard exit /b :df133ff7-bf14-4f95-afe3-7b48e7e331ef set "_key=YGX6F-PGV49-PGW3J-9BTGG-VHKC6" &:: Project Professional exit /b :5dc7bf61-5ec9-4996-9ccb-df806a2d0efe set "_key=4HP3K-88W3F-W2K3D-6677X-F9PGB" &:: Project Standard exit /b :92236105-bb67-494f-94c7-7f7a607929bd set "_key=D9DWC-HPYVV-JGF4P-BTWQB-WX8BJ" &:: Visio Premium exit /b :e558389c-83c3-4b29-adfe-5e4d7f46c358 set "_key=7MCW8-VRQVK-G677T-PDJCM-Q8TCP" &:: Visio Professional exit /b :9ed833ff-4f92-4f36-b370-8683a4f13275 set "_key=767HD-QGMWX-8QTDB-9G3R2-KHFGJ" &:: Visio Standard exit /b :8ce7e872-188c-4b98-9d90-f8f90b7aad02 set "_key=V7Y44-9T38C-R2VJK-666HK-T7DDX" &:: Access exit /b :cee5d470-6e3b-4fcc-8c2b-d17428568a9f set "_key=H62QG-HXVKF-PP4HP-66KMR-CW9BM" &:: Excel exit /b :8947d0b8-c33b-43e1-8c56-9b674c052832 set "_key=QYYW6-QP4CB-MBV6G-HYMCJ-4T3J4" &:: Groove (SharePoint Workspace) exit /b :ca6b6639-4ad6-40ae-a575-14dee07f6430 set "_key=K96W8-67RPQ-62T9Y-J8FQJ-BT37T" &:: InfoPath exit /b :ab586f5c-5256-4632-962f-fefd8b49e6f4 set "_key=Q4Y4M-RHWJM-PY37F-MTKWH-D3XHX" &:: OneNote exit /b :ecb7c192-73ab-4ded-acf4-2399b095d0cc set "_key=7YDC2-CWM8M-RRTJC-8MDVC-X3DWQ" &:: Outlook exit /b :45593b1d-dfb1-4e91-bbfb-2d5d0ce2227a set "_key=RC8FX-88JRY-3PF7C-X8P67-P4VTT" &:: Powerpoint exit /b :b50c4f75-599b-43e8-8dcd-1081a7967241 set "_key=BFK7F-9MYHM-V68C7-DRQ66-83YTP" &:: Publisher exit /b :2d0882e7-a4e7-423b-8ccc-70d91e0158b1 set "_key=HVHB3-C6FV7-KQX9W-YQG79-CRY7T" &:: Word exit /b :ea509e87-07a1-4a45-9edc-eba5a39f36af set "_key=D6QFG-VBYP2-XQHM7-J97RH-VVRCK" &:: Small Business Basics exit /b :TheEnd if %Unattend% EQU 0 echo Press any key to exit. %_Pause% exit /b 0 ::======================================================================================================================================== |
5 years ago |
|
|
2b1a3af5a1
|
Update README.md
|
5 years ago |
|
|
5437958fd2
|
Update README.md
|
5 years ago |
|
|
a49a5cf358
|
Update README.md
|
5 years ago |
|
|
a03754a676
|
Update README.md
|
5 years ago |
|
|
ff64060957
|
Update README.md
|
5 years ago |
|
|
fb37d27024
|
Update README.md
|
5 years ago |
|
|
de0fb31d28
|
Update README.md
|
6 years ago |
|
|
4af8aae1e7
|
Update README.md
|
6 years ago |
|
|
333cf9c6c1
|
Update README.md
|
6 years ago |
|
|
6d2b3c12ca
|
Update README.md
|
6 years ago |
|
|
d4b8f942ec
|
Added HWID support for Windows 10 LTSC 2019
- Now Microsoft support HWID (Digital License) for Windows 10 LTSC 2019, added key for it in the script. - Some minor improvements. |
6 years ago |
|
|
118379f292
|
Update README.md
|
6 years ago |
|
|
fdb5155092
|
Update README.md
|
6 years ago |
|
|
af621ad8ab
|
Update README.md
|
6 years ago |
|
|
b65004daf0
|
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 |
6 years ago |
|
|
564d22662e
|
Update README.md
|
6 years ago |
|
|
292a63f6c8
|
Update README.md
|
6 years ago |
|
|
660806958f
|
Update README.md
|
6 years ago |
|
|
185e0bb9fe |
Update README.md
|
6 years ago |
|
|
17b13a725a |
Update README.md
|
6 years ago |
|
|
4a03e2831c |
Update README.md
|
6 years ago |
|
|
67664d392c |
Update README.md
|
6 years ago |
|
|
591ee4cdcd |
Update README.md
|
6 years ago |
|
|
c90f21c8a9 |
Update README.md
|
6 years ago |
|
|
235371f55b |
Update README.md
|
6 years ago |
|
|
5d946ec590 |
Update README.md
|
6 years ago |
|
|
a999440868 |
Update README.md
|
6 years ago |
|
|
77c6574507 |
Add README.md
|
6 years ago |
|
|
d076838483 |
Initial commit
|
6 years ago |