|
|
@ -215,7 +215,7 @@ goto dk_done |
|
|
|
|
|
|
|
|
|
|
|
::pstst $ExecutionContext.SessionState.LanguageMode :pstst |
|
|
|
::pstst $ExecutionContext.SessionState.LanguageMode :pstst |
|
|
|
|
|
|
|
|
|
|
|
for /f "delims=" %%a in ('%psc% "if ($PSVersionTable.PSEdition -ne 'Core') {$f=[io.f%blank%ile]::ReadA%blank%llText('!_batp!') -sp%blank%lit ':pstst';ie%blank%x ($f[1])}" %nul6%') do (set tstresult=%%a) |
|
|
|
for /f "delims=" %%a in ('%psc% "if ($PSVersionTable.PSEdition -ne 'Core') {$f=[System.IO.File]::ReadAllText('!_batp!') -split ':pstst';& ([scriptblock]::Create($f[1]))}" %nul6%') do (set tstresult=%%a) |
|
|
|
|
|
|
|
|
|
|
|
if /i not "%tstresult%"=="FullLanguage" ( |
|
|
|
if /i not "%tstresult%"=="FullLanguage" ( |
|
|
|
%eline% |
|
|
|
%eline% |
|
|
@ -260,6 +260,10 @@ echo PowerShell is not working properly. Aborting... |
|
|
|
if /i "!tstresult2!"=="FullLanguage" ( |
|
|
|
if /i "!tstresult2!"=="FullLanguage" ( |
|
|
|
echo: |
|
|
|
echo: |
|
|
|
echo Your antivirus software might be blocking the script, or PowerShell on your system might be corrupted. |
|
|
|
echo Your antivirus software might be blocking the script, or PowerShell on your system might be corrupted. |
|
|
|
|
|
|
|
echo: |
|
|
|
|
|
|
|
sc query sense | find /i "RUNNING" %nul% && ( |
|
|
|
|
|
|
|
echo Installed Antivirus - Microsoft Defender for Endpoint |
|
|
|
|
|
|
|
) |
|
|
|
cmd /c "%psc% ""$av = Get-WmiObject -Namespace root\SecurityCenter2 -Class AntiVirusProduct; $n = @(); foreach ($i in $av) { $n += $i.displayName }; if ($n) { Write-Host ('Installed Antivirus - ' + ($n -join ', '))}""" |
|
|
|
cmd /c "%psc% ""$av = Get-WmiObject -Namespace root\SecurityCenter2 -Class AntiVirusProduct; $n = @(); foreach ($i in $av) { $n += $i.displayName }; if ($n) { Write-Host ('Installed Antivirus - ' + ($n -join ', '))}""" |
|
|
|
) |
|
|
|
) |
|
|
|
|
|
|
|
|
|
|
@ -574,7 +578,7 @@ set "_dir=!desktop!\$OEM$\$$\Setup\Scripts" |
|
|
|
md "!_dir!\" |
|
|
|
md "!_dir!\" |
|
|
|
|
|
|
|
|
|
|
|
:: Add random data on top to create unique file which helps in avoiding AV's detections |
|
|
|
:: Add random data on top to create unique file which helps in avoiding AV's detections |
|
|
|
%psc% "$f=[io.f%blank%ile]::ReadA%blank%llText('!_batp!'); [io.file]::WriteAllText('!_pdesk!\$OEM$\$$\Setup\Scripts\MAS_AIO.cmd', '@::RANDOM-' + [Guid]::NewGuid().Guid + [Environment]::NewLine + $f, [System.Text.Encoding]::ASCII)" |
|
|
|
%psc% "$f=[System.IO.File]::ReadAllText('!_batp!'); [io.file]::WriteAllText('!_pdesk!\$OEM$\$$\Setup\Scripts\MAS_AIO.cmd', '@::RANDOM-' + [Guid]::NewGuid().Guid + [Environment]::NewLine + $f, [System.Text.Encoding]::ASCII)" |
|
|
|
|
|
|
|
|
|
|
|
( |
|
|
|
( |
|
|
|
echo @echo off |
|
|
|
echo @echo off |
|
|
@ -797,7 +801,7 @@ set notworking= |
|
|
|
call :dk_actids 55c92734-d682-4d71-983e-d6ec3f16059f |
|
|
|
call :dk_actids 55c92734-d682-4d71-983e-d6ec3f16059f |
|
|
|
if defined allapps call :hwiddata key |
|
|
|
if defined allapps call :hwiddata key |
|
|
|
if not defined key ( |
|
|
|
if not defined key ( |
|
|
|
for /f "delims=" %%a in ('%psc% "$f=[io.f%blank%ile]::ReadA%blank%llText('!_batp!') -sp%blank%lit ':getactivationid\:.*';ie%blank%x ($f[1])"') do (set altapplist=%%a) |
|
|
|
for /f "delims=" %%a in ('%psc% "$f=[System.IO.File]::ReadAllText('!_batp!') -split ':getactivationid\:.*';& ([scriptblock]::Create($f[1]))"') do (set altapplist=%%a) |
|
|
|
if defined altapplist call :hwiddata key |
|
|
|
if defined altapplist call :hwiddata key |
|
|
|
) |
|
|
|
) |
|
|
|
|
|
|
|
|
|
|
@ -1208,7 +1212,7 @@ for /f "tokens=3 delims=." %%a in ('reg query "HKLM\SYSTEM\CurrentControlSet\Con |
|
|
|
if %_wmic% EQU 1 for /f "tokens=2 delims==" %%a in ('"wmic Path Win32_OperatingSystem Get OperatingSystemSKU /format:LIST" %nul6%') do if not errorlevel 1 set "wmiSKU=%%a" |
|
|
|
if %_wmic% EQU 1 for /f "tokens=2 delims==" %%a in ('"wmic Path Win32_OperatingSystem Get OperatingSystemSKU /format:LIST" %nul6%') do if not errorlevel 1 set "wmiSKU=%%a" |
|
|
|
if %_wmic% EQU 0 for /f "tokens=1" %%a in ('%psc% "([WMI]'Win32_OperatingSystem=@').OperatingSystemSKU" %nul6%') do if not errorlevel 1 set "wmiSKU=%%a" |
|
|
|
if %_wmic% EQU 0 for /f "tokens=1" %%a in ('%psc% "([WMI]'Win32_OperatingSystem=@').OperatingSystemSKU" %nul6%') do if not errorlevel 1 set "wmiSKU=%%a" |
|
|
|
|
|
|
|
|
|
|
|
if %winbuild% GEQ 15063 %psc% "$f=[io.f%blank%ile]::ReadA%blank%llText('!_batp!') -sp%blank%lit ':winsubstatus\:.*';ie%blank%x ($f[1])" %nul2% | find /i "Subscription_is_activated" %nul% && ( |
|
|
|
if %winbuild% GEQ 15063 %psc% "$f=[System.IO.File]::ReadAllText('!_batp!') -split ':winsubstatus\:.*';& ([scriptblock]::Create($f[1]))" %nul2% | find /i "Subscription_is_activated" %nul% && ( |
|
|
|
if defined regSKU if defined slcSKU if not "%regSKU%"=="%slcSKU%" ( |
|
|
|
if defined regSKU if defined slcSKU if not "%regSKU%"=="%slcSKU%" ( |
|
|
|
set winsub=1 |
|
|
|
set winsub=1 |
|
|
|
set osSKU=%regSKU% |
|
|
|
set osSKU=%regSKU% |
|
|
@ -1655,7 +1659,7 @@ call :dk_color2 %Red% "Checking WinPE " %Blue% "[WinPE |
|
|
|
|
|
|
|
|
|
|
|
set wpainfo= |
|
|
|
set wpainfo= |
|
|
|
set wpaerror= |
|
|
|
set wpaerror= |
|
|
|
for /f "delims=" %%a in ('%psc% "$f=[io.f%blank%ile]::ReadA%blank%llText('!_batp!') -sp%blank%lit ':wpatest\:.*';ie%blank%x ($f[1])" %nul6%') do (set wpainfo=%%a) |
|
|
|
for /f "delims=" %%a in ('%psc% "$f=[System.IO.File]::ReadAllText('!_batp!') -split ':wpatest\:.*';& ([scriptblock]::Create($f[1]))" %nul6%') do (set wpainfo=%%a) |
|
|
|
echo "%wpainfo%" | find /i "Error Found" %nul% && ( |
|
|
|
echo "%wpainfo%" | find /i "Error Found" %nul% && ( |
|
|
|
set error=1 |
|
|
|
set error=1 |
|
|
|
set wpaerror=1 |
|
|
|
set wpaerror=1 |
|
|
@ -1845,7 +1849,7 @@ set showfix=1 |
|
|
|
if not defined notwinact ( |
|
|
|
if not defined notwinact ( |
|
|
|
call :dk_actid 55c92734-d682-4d71-983e-d6ec3f16059f |
|
|
|
call :dk_actid 55c92734-d682-4d71-983e-d6ec3f16059f |
|
|
|
if not defined apps ( |
|
|
|
if not defined apps ( |
|
|
|
%psc% "if (-not $env:_vis) {Start-Job { Stop-Service %_slser% -force } | Wait-Job -Timeout 20 | Out-Null}; $sls = Get-WmiObject SoftwareLicensingService; $f=[io.f%blank%ile]::ReadA%blank%llText('!_batp!') -sp%blank%lit ':xrm\:.*';ie%blank%x ($f[1]); ReinstallLicenses" %nul% |
|
|
|
%psc% "if (-not $env:_vis) {Start-Job { Stop-Service %_slser% -force } | Wait-Job -Timeout 20 | Out-Null}; $sls = Get-WmiObject SoftwareLicensingService; $f=[System.IO.File]::ReadAllText('!_batp!') -split ':xrm\:.*';& ([scriptblock]::Create($f[1])); ReinstallLicenses" %nul% |
|
|
|
call :dk_actid 55c92734-d682-4d71-983e-d6ec3f16059f |
|
|
|
call :dk_actid 55c92734-d682-4d71-983e-d6ec3f16059f |
|
|
|
if not defined apps ( |
|
|
|
if not defined apps ( |
|
|
|
set "_notfoundids=Key Not Installed / Act ID Not Found" |
|
|
|
set "_notfoundids=Key Not Installed / Act ID Not Found" |
|
|
@ -2872,7 +2876,7 @@ for %%# in ("!_oLPath!\%_License%*.xrm-ms") do ( |
|
|
|
if defined _arr (set "_arr=!_arr!;"!_oLPath!\%%~nx#"") else (set "_arr="!_oLPath!\%%~nx#"") |
|
|
|
if defined _arr (set "_arr=!_arr!;"!_oLPath!\%%~nx#"") else (set "_arr="!_oLPath!\%%~nx#"") |
|
|
|
) |
|
|
|
) |
|
|
|
|
|
|
|
|
|
|
|
%psc% "$sls = Get-WmiObject %sps%; $f=[io.f%blank%ile]::ReadA%blank%llText('!_batp!') -sp%blank%lit ':xrm\:.*';ie%blank%x ($f[1]); InstallLicenseArr '!_arr!'; InstallLicenseFile '"!_oLPath!\pkeyconfig-office.xrm-ms"'" %nul% |
|
|
|
%psc% "$sls = Get-WmiObject %sps%; $f=[System.IO.File]::ReadAllText('!_batp!') -split ':xrm\:.*';& ([scriptblock]::Create($f[1])); InstallLicenseArr '!_arr!'; InstallLicenseFile '"!_oLPath!\pkeyconfig-office.xrm-ms"'" %nul% |
|
|
|
|
|
|
|
|
|
|
|
call :dk_actids 0ff1ce15-a989-479d-af46-f275c6370663 |
|
|
|
call :dk_actids 0ff1ce15-a989-479d-af46-f275c6370663 |
|
|
|
echo "!allapps!" | find /i "!_actid!" %nul1% || ( |
|
|
|
echo "!allapps!" | find /i "!_actid!" %nul1% || ( |
|
|
@ -3384,8 +3388,8 @@ exit /b |
|
|
|
:oh_licrefresh |
|
|
|
:oh_licrefresh |
|
|
|
|
|
|
|
|
|
|
|
if exist "%SysPath%\spp\store_test\2.0\tokens.dat" ( |
|
|
|
if exist "%SysPath%\spp\store_test\2.0\tokens.dat" ( |
|
|
|
%psc% "Stop-Service sppsvc -force; $sls = Get-WmiObject SoftwareLicensingService; $f=[io.f%blank%ile]::ReadA%blank%llText('!_batp!') -sp%blank%lit ':xrm\:.*';ie%blank%x ($f[1]); ReinstallLicenses" %nul% |
|
|
|
%psc% "Stop-Service sppsvc -force; $sls = Get-WmiObject SoftwareLicensingService; $f=[System.IO.File]::ReadAllText('!_batp!') -split ':xrm\:.*';& ([scriptblock]::Create($f[1])); ReinstallLicenses" %nul% |
|
|
|
if !errorlevel! NEQ 0 %psc% "$sls = Get-WmiObject SoftwareLicensingService; $f=[io.f%blank%ile]::ReadA%blank%llText('!_batp!') -sp%blank%lit ':xrm\:.*';ie%blank%x ($f[1]); ReinstallLicenses" %nul% |
|
|
|
if !errorlevel! NEQ 0 %psc% "$sls = Get-WmiObject SoftwareLicensingService; $f=[System.IO.File]::ReadAllText('!_batp!') -split ':xrm\:.*';& ([scriptblock]::Create($f[1])); ReinstallLicenses" %nul% |
|
|
|
) |
|
|
|
) |
|
|
|
exit /b |
|
|
|
exit /b |
|
|
|
|
|
|
|
|
|
|
@ -3721,7 +3725,7 @@ exit /b |
|
|
|
:oh_extractdll |
|
|
|
:oh_extractdll |
|
|
|
|
|
|
|
|
|
|
|
set b= |
|
|
|
set b= |
|
|
|
%psc% "$f=[io.f%blank%ile]::ReadA%blank%llText('!_batp!') -sp%blank%lit ':%_hook%\:.*';$encoded = ($f[1]) -replace '-', 'A' -replace '_', 'a';$bytes = [Con%b%vert]::FromBas%b%e64String($encoded); $PePath='%1'; $offset='%2'; $m=[io.f%blank%ile]::ReadA%blank%llText('!_batp!') -sp%blank%lit ':hexedit\:.*';ie%blank%x ($m[1])" %nul2% | find /i "Error found" %nul1% && set hasherror=1 |
|
|
|
%psc% "$f=[System.IO.File]::ReadAllText('!_batp!') -split ':%_hook%\:.*';$encoded = ($f[1]) -replace '-', 'A' -replace '_', 'a';$bytes = [Con%b%vert]::FromBas%b%e64String($encoded); $PePath='%1'; $offset='%2'; $m=[System.IO.File]::ReadAllText('!_batp!') -split ':hexedit\:.*';& ([scriptblock]::Create($m[1]))" %nul2% | find /i "Error found" %nul1% && set hasherror=1 |
|
|
|
exit /b |
|
|
|
exit /b |
|
|
|
|
|
|
|
|
|
|
|
:hexedit: |
|
|
|
:hexedit: |
|
|
@ -4288,7 +4292,7 @@ echo Checking Internet Connection [Connected!ping_f!] |
|
|
|
if /i %_actmethod%==Auto if not %_actman%==1 set tsmethod=KMS4k |
|
|
|
if /i %_actmethod%==Auto if not %_actman%==1 set tsmethod=KMS4k |
|
|
|
if /i !tsmethod!==KMS4k ( |
|
|
|
if /i !tsmethod!==KMS4k ( |
|
|
|
call :dk_color %Gray% "Checking Internet Connection [Not Connected]" |
|
|
|
call :dk_color %Gray% "Checking Internet Connection [Not Connected]" |
|
|
|
call :dk_color %Blue% "Switching To KMS4k method because Internet is needed for StaticCID method." |
|
|
|
call :dk_color %Blue% "Switching To KMS4k Activation Method because Internet is needed for StaticCID method." |
|
|
|
) else ( |
|
|
|
) else ( |
|
|
|
set error=1 |
|
|
|
set error=1 |
|
|
|
call :dk_color %Red% "Checking Internet Connection [Not Connected]" |
|
|
|
call :dk_color %Red% "Checking Internet Connection [Not Connected]" |
|
|
@ -4360,7 +4364,7 @@ if defined _vis goto :ts_winvista |
|
|
|
|
|
|
|
|
|
|
|
set tempid= |
|
|
|
set tempid= |
|
|
|
if /i %tsmethod%==KMS4k (set keytype=ks) else (set keytype=zero) |
|
|
|
if /i %tsmethod%==KMS4k (set keytype=ks) else (set keytype=zero) |
|
|
|
for /f "delims=" %%a in ('%psc% "$f=[io.f%blank%ile]::ReadA%blank%llText('!_batp!') -sp%blank%lit ':wintsid\:.*';ie%blank%x ($f[1])" %nul6%') do ( |
|
|
|
for /f "delims=" %%a in ('%psc% "$f=[System.IO.File]::ReadAllText('!_batp!') -split ':wintsid\:.*';& ([scriptblock]::Create($f[1]))" %nul6%') do ( |
|
|
|
echo "%%a" | findstr /r ".*-.*-.*-.*-.*" %nul1% && (set tsids=!tsids! %%a& set tempid=%%a) |
|
|
|
echo "%%a" | findstr /r ".*-.*-.*-.*-.*" %nul1% && (set tsids=!tsids! %%a& set tempid=%%a) |
|
|
|
) |
|
|
|
) |
|
|
|
|
|
|
|
|
|
|
@ -4650,7 +4654,7 @@ goto :ts_esu |
|
|
|
) |
|
|
|
) |
|
|
|
|
|
|
|
|
|
|
|
set resetstuff=1 |
|
|
|
set resetstuff=1 |
|
|
|
%psc% "$f=[io.f%blank%ile]::ReadA%blank%llText('!_batp!') -sp%blank%lit ':tsforge\:.*';ie%blank%x ($f[1])" |
|
|
|
%psc% "$f=[System.IO.File]::ReadAllText('!_batp!') -split ':tsforge\:.*';& ([scriptblock]::Create($f[1]))" |
|
|
|
set resetstuff= |
|
|
|
set resetstuff= |
|
|
|
if !errorlevel!==3 ( |
|
|
|
if !errorlevel!==3 ( |
|
|
|
set error=1 |
|
|
|
set error=1 |
|
|
@ -5125,10 +5129,10 @@ if %winbuild% GEQ 10586 ( |
|
|
|
for %%# in ("%SysPath%\spp\tokens\skus\%tsedition%\*CSVLK*.xrm-ms") do ( |
|
|
|
for %%# in ("%SysPath%\spp\tokens\skus\%tsedition%\*CSVLK*.xrm-ms") do ( |
|
|
|
if defined _arr (set "_arr=!_arr!;"%SysPath%\spp\tokens\skus\%tsedition%\%%~nx#"") else (set "_arr="%SysPath%\spp\tokens\skus\%tsedition%\%%~nx#"") |
|
|
|
if defined _arr (set "_arr=!_arr!;"%SysPath%\spp\tokens\skus\%tsedition%\%%~nx#"") else (set "_arr="%SysPath%\spp\tokens\skus\%tsedition%\%%~nx#"") |
|
|
|
) |
|
|
|
) |
|
|
|
if defined _arr %psc% "$sls = Get-WmiObject %sps%; $f=[io.f%blank%ile]::ReadA%blank%llText('!_batp!') -sp%blank%lit ':xrm\:.*';ie%blank%x ($f[1]); InstallLicenseArr '!_arr!'" %nul% |
|
|
|
if defined _arr %psc% "$sls = Get-WmiObject %sps%; $f=[System.IO.File]::ReadAllText('!_batp!') -split ':xrm\:.*';& ([scriptblock]::Create($f[1])); InstallLicenseArr '!_arr!'" %nul% |
|
|
|
) |
|
|
|
) |
|
|
|
|
|
|
|
|
|
|
|
for /f "delims=" %%a in ('%psc% "$f=[io.f%blank%ile]::ReadA%blank%llText('!_batp!') -sp%blank%lit ':wintsid\:.*';ie%blank%x ($f[1])" %nul6%') do ( |
|
|
|
for /f "delims=" %%a in ('%psc% "$f=[System.IO.File]::ReadAllText('!_batp!') -split ':wintsid\:.*';& ([scriptblock]::Create($f[1]))" %nul6%') do ( |
|
|
|
echo "%%a" | findstr /r ".*-.*-.*-.*-.*" %nul1% && (set tsids=!tsids! %%a& set tempid=%%a) |
|
|
|
echo "%%a" | findstr /r ".*-.*-.*-.*-.*" %nul1% && (set tsids=!tsids! %%a& set tempid=%%a) |
|
|
|
) |
|
|
|
) |
|
|
|
|
|
|
|
|
|
|
@ -5322,7 +5326,7 @@ echo Processing Reset of Rearm / Timers / Tamper / Lock... |
|
|
|
echo: |
|
|
|
echo: |
|
|
|
|
|
|
|
|
|
|
|
set resetstuff=1 |
|
|
|
set resetstuff=1 |
|
|
|
%psc% "$f=[io.f%blank%ile]::ReadA%blank%llText('!_batp!') -sp%blank%lit ':tsforge\:.*';ie%blank%x ($f[1])" |
|
|
|
%psc% "$f=[System.IO.File]::ReadAllText('!_batp!') -split ':tsforge\:.*';& ([scriptblock]::Create($f[1]))" |
|
|
|
|
|
|
|
|
|
|
|
if %errorlevel%==3 ( |
|
|
|
if %errorlevel%==3 ( |
|
|
|
call :dk_color %Red% "Reset Failed." |
|
|
|
call :dk_color %Red% "Reset Failed." |
|
|
@ -5370,7 +5374,7 @@ if %errorlevel%==1 exit /b |
|
|
|
echo: |
|
|
|
echo: |
|
|
|
echo Fetching Supported Activation IDs list. Please wait... |
|
|
|
echo Fetching Supported Activation IDs list. Please wait... |
|
|
|
|
|
|
|
|
|
|
|
%psc% "$f=[io.f%blank%ile]::ReadA%blank%llText('!_batp!') -sp%blank%lit ':listactids\:.*';ie%blank%x ($f[1])" |
|
|
|
%psc% "$f=[System.IO.File]::ReadAllText('!_batp!') -split ':listactids\:.*';& ([scriptblock]::Create($f[1]))" |
|
|
|
if %errorlevel%==3 ( |
|
|
|
if %errorlevel%==3 ( |
|
|
|
call :dk_color %Gray% "No supported activation ID found, aborting..." |
|
|
|
call :dk_color %Gray% "No supported activation ID found, aborting..." |
|
|
|
goto :dk_done |
|
|
|
goto :dk_done |
|
|
@ -5519,7 +5523,7 @@ echo Writing TrustedStore data... |
|
|
|
if /i %tsmethod%==StaticCID (echo Depositing Static Confirmation ID...) else (echo Depositing Zero Confirmation ID...) |
|
|
|
if /i %tsmethod%==StaticCID (echo Depositing Static Confirmation ID...) else (echo Depositing Zero Confirmation ID...) |
|
|
|
) |
|
|
|
) |
|
|
|
echo: |
|
|
|
echo: |
|
|
|
%psc% "$f=[io.f%blank%ile]::ReadA%blank%llText('!_batp!') -sp%blank%lit ':tsforge\:.*';& ([ScriptBlock]::Create($f[1])) %tsids%" |
|
|
|
%psc% "$f=[System.IO.File]::ReadAllText('!_batp!') -split ':tsforge\:.*';& ([ScriptBlock]::Create($f[1])) %tsids%" |
|
|
|
if !errorlevel!==3 ( |
|
|
|
if !errorlevel!==3 ( |
|
|
|
if %_actman%==0 (if not defined error call :dk_color %Blue% "%_fixmsg%") |
|
|
|
if %_actman%==0 (if not defined error call :dk_color %Blue% "%_fixmsg%") |
|
|
|
set fixes=%fixes% %mas%troubleshoot |
|
|
|
set fixes=%fixes% %mas%troubleshoot |
|
|
@ -5713,7 +5717,7 @@ echo !_License! | find /i "Retail" %nul% && (set keytype=zero) || (set keytype=k |
|
|
|
set keytype=zero |
|
|
|
set keytype=zero |
|
|
|
) |
|
|
|
) |
|
|
|
|
|
|
|
|
|
|
|
for /f "delims=" %%a in ('%psc% "$f=[io.f%blank%ile]::ReadA%blank%llText('!_batp!') -sp%blank%lit ':offtsid\:.*';ie%blank%x ($f[1])" %nul6%') do ( |
|
|
|
for /f "delims=" %%a in ('%psc% "$f=[System.IO.File]::ReadAllText('!_batp!') -split ':offtsid\:.*';& ([scriptblock]::Create($f[1]))" %nul6%') do ( |
|
|
|
echo "%%a" | findstr /r ".*-.*-.*-.*-.*" %nul1% && (set tsids=!tsids! %%a& set _actid=%%a) |
|
|
|
echo "%%a" | findstr /r ".*-.*-.*-.*-.*" %nul1% && (set tsids=!tsids! %%a& set _actid=%%a) |
|
|
|
) |
|
|
|
) |
|
|
|
set "_allactid=!tsids!" |
|
|
|
set "_allactid=!tsids!" |
|
|
@ -12008,7 +12012,7 @@ echo: |
|
|
|
%nul% reg delete "HKU\S-1-5-20\%specific_kms%" /f |
|
|
|
%nul% reg delete "HKU\S-1-5-20\%specific_kms%" /f |
|
|
|
|
|
|
|
|
|
|
|
%nul% reg query "HKLM\%specific_kms%" && ( |
|
|
|
%nul% reg query "HKLM\%specific_kms%" && ( |
|
|
|
%psc% "$f=[io.f%blank%ile]::ReadA%blank%llText('!_batp!') -sp%blank%lit ':regdel\:.*';ie%blank%x ($f[1])" |
|
|
|
%psc% "$f=[System.IO.File]::ReadAllText('!_batp!') -split ':regdel\:.*';& ([scriptblock]::Create($f[1]))" |
|
|
|
%nul% reg delete "HKLM\%specific_kms%" /f |
|
|
|
%nul% reg delete "HKLM\%specific_kms%" /f |
|
|
|
) |
|
|
|
) |
|
|
|
|
|
|
|
|
|
|
@ -12178,7 +12182,7 @@ echo Removing the Added Specific KMS Host [Successful] |
|
|
|
:: Protect KMS38 if opted by the user and conditions are correct |
|
|
|
:: Protect KMS38 if opted by the user and conditions are correct |
|
|
|
|
|
|
|
|
|
|
|
if defined _k38 ( |
|
|
|
if defined _k38 ( |
|
|
|
%psc% "$f=[io.f%blank%ile]::ReadA%blank%llText('!_batp!') -sp%blank%lit ':regdel\:.*';& ([ScriptBlock]::Create($f[1])) -protect" |
|
|
|
%psc% "$f=[System.IO.File]::ReadAllText('!_batp!') -split ':regdel\:.*';& ([ScriptBlock]::Create($f[1])) -protect" |
|
|
|
%nul% reg delete "HKLM\%specific_kms%" /f |
|
|
|
%nul% reg delete "HKLM\%specific_kms%" /f |
|
|
|
%nul% reg query "HKLM\%specific_kms%" && ( |
|
|
|
%nul% reg query "HKLM\%specific_kms%" && ( |
|
|
|
echo Protect KMS38 From KMS [Successful] [Locked a Registry Key] |
|
|
|
echo Protect KMS38 From KMS [Successful] [Locked a Registry Key] |
|
|
@ -12222,7 +12226,7 @@ title Remove KMS38 Protection %masver% |
|
|
|
%nul% reg delete "HKU\S-1-5-20\%specific_kms%" /f |
|
|
|
%nul% reg delete "HKU\S-1-5-20\%specific_kms%" /f |
|
|
|
|
|
|
|
|
|
|
|
%nul% reg query "HKLM\%specific_kms%" && ( |
|
|
|
%nul% reg query "HKLM\%specific_kms%" && ( |
|
|
|
%psc% "$f=[io.f%blank%ile]::ReadA%blank%llText('!_batp!') -sp%blank%lit ':regdel\:.*';ie%blank%x ($f[1])" |
|
|
|
%psc% "$f=[System.IO.File]::ReadAllText('!_batp!') -split ':regdel\:.*';& ([scriptblock]::Create($f[1]))" |
|
|
|
%nul% reg delete "HKLM\%specific_kms%" /f |
|
|
|
%nul% reg delete "HKLM\%specific_kms%" /f |
|
|
|
) |
|
|
|
) |
|
|
|
|
|
|
|
|
|
|
@ -14001,7 +14005,7 @@ if not defined _int (s%nil%cht%nil%asks /cre%nil%ate /tn "Activation-Run_Once" / |
|
|
|
if exist "%_temp%\.*" rmdir /s /q "%_temp%\" %nul% |
|
|
|
if exist "%_temp%\.*" rmdir /s /q "%_temp%\" %nul% |
|
|
|
|
|
|
|
|
|
|
|
call :ks_createInfo.txt |
|
|
|
call :ks_createInfo.txt |
|
|
|
%psc% "$f=[io.f%blank%ile]::ReadA%blank%llText('!_batp!') -sp%blank%lit \":_extracttask\:.*`r`n\"; [io.file]::WriteAllText('%_dest%\Activation_task.cmd', '@::%randguid%' + [Environment]::NewLine + $f[1].Trim(), [System.Text.Encoding]::ASCII)" |
|
|
|
%psc% "$f=[System.IO.File]::ReadAllText('!_batp!') -split \":_extracttask\:.*`r`n\"; [io.file]::WriteAllText('%_dest%\Activation_task.cmd', '@::%randguid%' + [Environment]::NewLine + $f[1].Trim(), [System.Text.Encoding]::ASCII)" |
|
|
|
|
|
|
|
|
|
|
|
::======================================================================================================================================== |
|
|
|
::======================================================================================================================================== |
|
|
|
|
|
|
|
|
|
|
@ -14031,7 +14035,7 @@ exit /b |
|
|
|
|
|
|
|
|
|
|
|
:ks_RenExport |
|
|
|
:ks_RenExport |
|
|
|
|
|
|
|
|
|
|
|
%psc% "$f=[io.f%blank%ile]::ReadA%blank%llText('!_batp!') -sp%blank%lit \":%~1\:.*`r`n\"; [io.file]::WriteAllText('%~2',$f[1].Trim(),[System.Text.Encoding]::%~3);" |
|
|
|
%psc% "$f=[System.IO.File]::ReadAllText('!_batp!') -split \":%~1\:.*`r`n\"; [io.file]::WriteAllText('%~2',$f[1].Trim(),[System.Text.Encoding]::%~3);" |
|
|
|
exit /b |
|
|
|
exit /b |
|
|
|
|
|
|
|
|
|
|
|
::======================================================================================================================================== |
|
|
|
::======================================================================================================================================== |
|
|
@ -14785,7 +14789,7 @@ mode 100, 36 |
|
|
|
%psc% "&{$W=$Host.UI.RawUI.WindowSize;$B=$Host.UI.RawUI.BufferSize;$W.Height=35;$B.Height=300;$Host.UI.RawUI.WindowSize=$W;$Host.UI.RawUI.BufferSize=$B;}" %nul% |
|
|
|
%psc% "&{$W=$Host.UI.RawUI.WindowSize;$B=$Host.UI.RawUI.BufferSize;$W.Height=35;$B.Height=300;$Host.UI.RawUI.WindowSize=$W;$Host.UI.RawUI.BufferSize=$B;}" %nul% |
|
|
|
) |
|
|
|
) |
|
|
|
|
|
|
|
|
|
|
|
%psc% "$f=[io.f%blank%ile]::ReadA%blank%llText('!_batp!') -sp%blank%lit ':sppmgr\:.*';ie%blank%x ($f[1])" |
|
|
|
%psc% "$f=[System.IO.File]::ReadAllText('!_batp!') -split ':sppmgr\:.*';& ([scriptblock]::Create($f[1]))" |
|
|
|
goto dk_done |
|
|
|
goto dk_done |
|
|
|
|
|
|
|
|
|
|
|
:sppmgr: |
|
|
|
:sppmgr: |
|
|
@ -16682,7 +16686,7 @@ echo Checking SPP permission related issues... |
|
|
|
call :checkperms |
|
|
|
call :checkperms |
|
|
|
if defined permerror ( |
|
|
|
if defined permerror ( |
|
|
|
call :dk_color %Red% "[!permerror!]" |
|
|
|
call :dk_color %Red% "[!permerror!]" |
|
|
|
%psc% "$f=[io.f%blank%ile]::ReadA%blank%llText('!_batp!') -sp%blank%lit ':fixsppperms\:.*';ie%blank%x ($f[1])" %nul% |
|
|
|
%psc% "$f=[System.IO.File]::ReadAllText('!_batp!') -split ':fixsppperms\:.*';& ([scriptblock]::Create($f[1]))" %nul% |
|
|
|
call :checkperms |
|
|
|
call :checkperms |
|
|
|
if defined permerror ( |
|
|
|
if defined permerror ( |
|
|
|
call :dk_color %Red% "[!permerror!] [Failed To Fix]" |
|
|
|
call :dk_color %Red% "[!permerror!] [Failed To Fix]" |
|
|
@ -16752,8 +16756,8 @@ if defined _vis ( |
|
|
|
|
|
|
|
|
|
|
|
echo: |
|
|
|
echo: |
|
|
|
echo Reinstalling system licenses... |
|
|
|
echo Reinstalling system licenses... |
|
|
|
%psc% "$sls = Get-WmiObject SoftwareLicensingService; $f=[io.f%blank%ile]::ReadA%blank%llText('!_batp!') -sp%blank%lit ':xrm\:.*';ie%blank%x ($f[1]); ReinstallLicenses" %nul% |
|
|
|
%psc% "$sls = Get-WmiObject SoftwareLicensingService; $f=[System.IO.File]::ReadAllText('!_batp!') -split ':xrm\:.*';& ([scriptblock]::Create($f[1])); ReinstallLicenses" %nul% |
|
|
|
if %errorlevel% NEQ 0 %psc% "$sls = Get-WmiObject SoftwareLicensingService; $f=[io.f%blank%ile]::ReadA%blank%llText('!_batp!') -sp%blank%lit ':xrm\:.*';ie%blank%x ($f[1]); ReinstallLicenses" %nul% |
|
|
|
if %errorlevel% NEQ 0 %psc% "$sls = Get-WmiObject SoftwareLicensingService; $f=[System.IO.File]::ReadAllText('!_batp!') -split ':xrm\:.*';& ([scriptblock]::Create($f[1])); ReinstallLicenses" %nul% |
|
|
|
if %errorlevel% EQU 0 ( |
|
|
|
if %errorlevel% EQU 0 ( |
|
|
|
echo [Successful] |
|
|
|
echo [Successful] |
|
|
|
) else ( |
|
|
|
) else ( |
|
|
@ -17372,7 +17376,7 @@ exit /b |
|
|
|
|
|
|
|
|
|
|
|
:regownstart |
|
|
|
:regownstart |
|
|
|
|
|
|
|
|
|
|
|
%psc% "$f=[io.f%blank%ile]::ReadA%blank%llText('!_batp!') -sp%blank%lit ':regown\:.*';ie%blank%x ($f[1]);" |
|
|
|
%psc% "$f=[System.IO.File]::ReadAllText('!_batp!') -split ':regown\:.*';& ([scriptblock]::Create($f[1]));" |
|
|
|
exit /b |
|
|
|
exit /b |
|
|
|
|
|
|
|
|
|
|
|
:: Below code takes ownership of a volatile registry key and deletes it |
|
|
|
:: Below code takes ownership of a volatile registry key and deletes it |
|
|
@ -17515,7 +17519,7 @@ set _ntarget= |
|
|
|
set _wtarget= |
|
|
|
set _wtarget= |
|
|
|
|
|
|
|
|
|
|
|
if %winbuild% GEQ 10240 for /f "tokens=4" %%a in ('dism /online /english /Get-TargetEditions ^| findstr /i /c:"Target Edition : "') do (if defined _dtarget (set "_dtarget= !_dtarget! %%a ") else (set "_dtarget= %%a ")) |
|
|
|
if %winbuild% GEQ 10240 for /f "tokens=4" %%a in ('dism /online /english /Get-TargetEditions ^| findstr /i /c:"Target Edition : "') do (if defined _dtarget (set "_dtarget= !_dtarget! %%a ") else (set "_dtarget= %%a ")) |
|
|
|
if %winbuild% LSS 10240 for /f "tokens=4" %%a in ('%psc% "$f=[io.f%blank%ile]::ReadA%blank%llText('!_batp!') -sp%blank%lit ':cbsxml\:.*';& ([ScriptBlock]::Create($f[1])) -GetTargetEditions;" ^| findstr /i /c:"Target Edition : "') do (if defined _ptarget (set "_ptarget= !_ptarget! %%a ") else (set "_ptarget= %%a ")) |
|
|
|
if %winbuild% LSS 10240 for /f "tokens=4" %%a in ('%psc% "$f=[System.IO.File]::ReadAllText('!_batp!') -split ':cbsxml\:.*';& ([ScriptBlock]::Create($f[1])) -GetTargetEditions;" ^| findstr /i /c:"Target Edition : "') do (if defined _ptarget (set "_ptarget= !_ptarget! %%a ") else (set "_ptarget= %%a ")) |
|
|
|
|
|
|
|
|
|
|
|
if %winbuild% GEQ 10240 if not exist "%SystemRoot%\Servicing\Packages\Microsoft-Windows-Server*Edition~*.mum" ( |
|
|
|
if %winbuild% GEQ 10240 if not exist "%SystemRoot%\Servicing\Packages\Microsoft-Windows-Server*Edition~*.mum" ( |
|
|
|
if %winbuild% GEQ 17063 call :ced_edilist |
|
|
|
if %winbuild% GEQ 17063 call :ced_edilist |
|
|
@ -17721,7 +17725,7 @@ echo: |
|
|
|
call :ced_prep |
|
|
|
call :ced_prep |
|
|
|
if defined preperror goto dk_done |
|
|
|
if defined preperror goto dk_done |
|
|
|
|
|
|
|
|
|
|
|
%psc% "$f=[io.f%blank%ile]::ReadA%blank%llText('!_batp!') -sp%blank%lit ':dismapi\:.*';& ([ScriptBlock]::Create($f[1])) %targetedition% %key%" |
|
|
|
%psc% "$f=[System.IO.File]::ReadAllText('!_batp!') -split ':dismapi\:.*';& ([ScriptBlock]::Create($f[1])) %targetedition% %key%" |
|
|
|
call :ced_postprep |
|
|
|
call :ced_postprep |
|
|
|
) |
|
|
|
) |
|
|
|
%line% |
|
|
|
%line% |
|
|
@ -17759,7 +17763,7 @@ call :ced_prep |
|
|
|
if defined preperror goto dk_done |
|
|
|
if defined preperror goto dk_done |
|
|
|
|
|
|
|
|
|
|
|
if %_stg%==0 (set stage=) else (set stage=-StageCurrent) |
|
|
|
if %_stg%==0 (set stage=) else (set stage=-StageCurrent) |
|
|
|
%psc% "$f=[io.f%blank%ile]::ReadA%blank%llText('!_batp!') -sp%blank%lit ':cbsxml\:.*';& ([ScriptBlock]::Create($f[1])) -SetEdition %targetedition% %stage%" |
|
|
|
%psc% "$f=[System.IO.File]::ReadAllText('!_batp!') -split ':cbsxml\:.*';& ([ScriptBlock]::Create($f[1])) -SetEdition %targetedition% %stage%" |
|
|
|
call :ced_postprep |
|
|
|
call :ced_postprep |
|
|
|
%line% |
|
|
|
%line% |
|
|
|
|
|
|
|
|
|
|
@ -18503,7 +18507,7 @@ goto :oe_edition |
|
|
|
cls |
|
|
|
cls |
|
|
|
call :ch_getinfo |
|
|
|
call :ch_getinfo |
|
|
|
call :oe_tempcleanup |
|
|
|
call :oe_tempcleanup |
|
|
|
%psc% "$f=[io.f%blank%ile]::ReadA%blank%llText('!_batp!') -sp%blank%lit ':getlist\:.*';ie%blank%x ($f[1])" |
|
|
|
%psc% "$f=[System.IO.File]::ReadAllText('!_batp!') -split ':getlist\:.*';& ([scriptblock]::Create($f[1]))" |
|
|
|
|
|
|
|
|
|
|
|
:oe_editionchange |
|
|
|
:oe_editionchange |
|
|
|
|
|
|
|
|
|
|
@ -18577,7 +18581,7 @@ cls |
|
|
|
set suites= |
|
|
|
set suites= |
|
|
|
echo %list% | find /i "Suites" %nul1% && ( |
|
|
|
echo %list% | find /i "Suites" %nul1% && ( |
|
|
|
set suites=1 |
|
|
|
set suites=1 |
|
|
|
%psc% "$f=[io.f%blank%ile]::ReadA%blank%llText('!_batp!') -sp%blank%lit ':getappnames\:.*';ie%blank%x ($f[1])" |
|
|
|
%psc% "$f=[System.IO.File]::ReadAllText('!_batp!') -split ':getappnames\:.*';& ([scriptblock]::Create($f[1]))" |
|
|
|
if not exist %SystemRoot%\Temp\getAppIds.txt ( |
|
|
|
if not exist %SystemRoot%\Temp\getAppIds.txt ( |
|
|
|
%eline% |
|
|
|
%eline% |
|
|
|
echo Failed to generate available apps list. |
|
|
|
echo Failed to generate available apps list. |
|
|
@ -19058,7 +19062,7 @@ if not defined terminal mode 105, 32 |
|
|
|
:: Get build number for the target FFN, using build number with OfficeC2RClient.exe command to trigger updates provides accurate results |
|
|
|
:: Get build number for the target FFN, using build number with OfficeC2RClient.exe command to trigger updates provides accurate results |
|
|
|
|
|
|
|
|
|
|
|
set build= |
|
|
|
set build= |
|
|
|
for /f "delims=" %%a in ('%psc% "$f=[io.f%blank%ile]::ReadA%blank%llText('!_batp!') -sp%blank%lit ':getbuild\:.*';ie%blank%x ($f[1])" %nul6%') do (set build=%%a) |
|
|
|
for /f "delims=" %%a in ('%psc% "$f=[System.IO.File]::ReadAllText('!_batp!') -split ':getbuild\:.*';& ([scriptblock]::Create($f[1]))" %nul6%') do (set build=%%a) |
|
|
|
echo "%build%" | find /i "16." %nul% || set build= |
|
|
|
echo "%build%" | find /i "16." %nul% || set build= |
|
|
|
|
|
|
|
|
|
|
|
echo: |
|
|
|
echo: |
|
|
|