From 7e25b9492e8ef4df61d3ec1f7b9e9e0e2b48758d Mon Sep 17 00:00:00 2001 From: Joe Date: Fri, 30 Sep 2022 19:57:58 -0700 Subject: [PATCH] Update to v1.2 Add Enable/Disable Notification Center function Add Enable/Disable desktop notifications function Change tasklist filtering to hopefully work with different system languages Change some functions that ask to restart to instead ask to sign out Change wording from "needed" to "required" on some text Improve WSH function Add slight delay to image selection for lockscreen and profile image functions for a slightly improved user experience Revamp back-end menu system Various minor code improvements --- amecs.cmd | 1007 ++++++++++++++++++++++++++++++----------------------- 1 file changed, 571 insertions(+), 436 deletions(-) diff --git a/amecs.cmd b/amecs.cmd index e32d4c8..80985f6 100644 --- a/amecs.cmd +++ b/amecs.cmd @@ -188,7 +188,7 @@ IF NOT "%~1"=="-debug" ( ) COLOR 70 TITLE Central AME Script -SET "ver=v1.1" +SET "ver=v1.2" IF "%~1"=="permsCheck" EXIT 0 REM Allows for more flexibility with these two variables @@ -264,8 +264,8 @@ IF %ERRORLEVEL% GTR 0 ( EXIT /B 0 ) ELSE ( SET "adminPrivs=false" - TASKLIST /FI "WINDOWTITLE eq Central AME Script" /FI "PID ne %scriptPID%" 2>&1 | FINDSTR /i /c:"ERROR:" /c:"INFO: No tasks are running">NUL 2>&1 && TASKLIST /FI "WINDOWTITLE eq Administrator: Central AME Script" /FI "PID ne %scriptPID%" 2>&1 | FINDSTR /i /c:"ERROR:" /c:"INFO: No tasks are running" > NUL 2>&1 - IF NOT ERRORLEVEL 1 DEL /Q /F "%TEMP%\[amecs]*" > NUL 2>&1 + TASKLIST /FI "WINDOWTITLE eq Central AME Script" /FI "PID ne %scriptPID%" 2>&1 | FINDSTR /i /c:".exe">NUL 2>&1 || TASKLIST /FI "WINDOWTITLE eq Administrator: Central AME Script" /FI "PID ne %scriptPID%" 2>&1 | FINDSTR /i /c:".exe" > NUL 2>&1 + IF ERRORLEVEL 1 DEL /Q /F "%TEMP%\[amecs]*" > NUL 2>&1 GOTO HOME-MAINMENU ) ) @@ -286,50 +286,9 @@ IF "%adminPrivs%"=="false" GOTO HOME-LIMMAINMENU CLS & ECHO. & ECHO __________________________________________________________ & ECHO. & ECHO ^| Central AME Script %ver% ^| & ECHO. & ECHO. -CALL :AUX-ELEVATIONCHECK - IF %ERRORLEVEL% EQU 0 ( - SET "homeElevMsg=De-elevate User" - SET "homeElevLoc=ELEVATE-REVOKE" - ) ELSE ( - SET "homeElevMsg=Elevate User to Administrator" - SET "homeElevLoc=ELEVATE-ELEVATE" - ) - -REG QUERY "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System" /v dontdisplaylastusername 2>&1 | FINDSTR /R /X /C:".*dontdisplaylastusername[ ].*REG_DWORD[ ].*0x1" > NUL 2>&1 - IF %ERRORLEVEL% EQU 0 ( - SET "homeNUMsg=Disable Username Login Requirement" - SET "homeNULoc=NOUSERNAME-DISABLE" - ) ELSE ( - SET "homeNUMsg=Enable Username Login Requirement" - SET "homeNULoc=NOUSERNAME-ENABLE" - ) - - -REG QUERY "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon" /v "DefaultUsername" 2>&1 | FINDSTR /c:"%currentUsername%" > NUL 2>&1 - IF %ERRORLEVEL% EQU 0 ( - REG QUERY "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon" /v "AutoAdminLogon" 2>&1 | FINDSTR /R /X /C:".*AutoAdminLogon[ ].*REG_SZ.*[ ]0" > NUL 2>&1 - IF ERRORLEVEL 1 ( - SET "homeALMsg=Disable AutoLogon" - SET "homeALLoc=AUTOLOGON-DISABLE" - ) ELSE ( - SET "homeALMsg=Enable AutoLogon" - SET "homeALLoc=AUTOLOGON-ENABLE" - ) - ) ELSE ( - SET "homeALMsg=Enable AutoLogon" - SET "homeALLoc=AUTOLOGON-ENABLE" - ) - -POWERSHELL -NoP -C "Write-Host """ [1] Change Username or Password`n [2] Change Lockscreen Image`n [3] Change Profile Image`n [4] Manage Language Settings`n [5] %homeElevMsg%`n [6] %homeNUMsg%`n [7] %homeALMsg%`n`n [E] Extra`n [X] Exit`n`n __________________________________________________________`n`n Choose a menu option: """ -NoNewLine; [Console]::CursorVisible = $True; CHOICE /C 1234567EX /N /M '%BS%'; [Console]::CursorVisible = $False; EXIT $LastExitCode" - IF %ERRORLEVEL%==1 GOTO USERPASS-MENU - IF %ERRORLEVEL%==2 GOTO LOCKSCREEN-GRABIMAGE - IF %ERRORLEVEL%==3 GOTO PFP-GRABIMAGE - IF %ERRORLEVEL%==4 GOTO HOME-LANGUAGE - IF %ERRORLEVEL%==5 GOTO %homeElevLoc% - IF %ERRORLEVEL%==6 GOTO %homeNULoc% - IF %ERRORLEVEL%==7 GOTO %homeALLoc% - IF %ERRORLEVEL%==8 GOTO HOME-EXTRA - IF %ERRORLEVEL%==9 EXIT /B 0 +CALL :MO-CHOICE -InitChoices "1234567EX" "+GOTO USERPASS-MENU+GOTO LOCKSCREEN-GRABIMAGE+GOTO PFP-GRABIMAGE+GOTO HOME-LANGUAGE+GOTO !homeElevLoc!+GOTO !homeNULoc!+GOTO !homeALLoc!+GOTO HOME-EXTRA+EXIT /B 0+" +CALL :MO-MAINMENU +CALL :MO-CHOICE -StartChoices "$(' '.padleft(17, ' '))[1] Change Username or Password`n$(' '.padleft(17, ' '))[2] Change Lockscreen Image`n$(' '.padleft(17, ' '))[3] Change Profile Image`n$(' '.padleft(17, ' '))[4] Manage Language Settings`n$(' '.padleft(17, ' '))[5] %homeElevMsg%`n$(' '.padleft(17, ' '))[6] %homeNUMsg%`n$(' '.padleft(17, ' '))[7] %homeALMsg%`n`n$(' '.padleft(17, ' '))[E] Extra`n$(' '.padleft(17, ' '))[X] Exit`n" :HOME-EXTRA @@ -337,172 +296,9 @@ IF "%adminPrivs%"=="false" GOTO HOME-LIMEXTRA CLS & ECHO. & ECHO __________________________________________________________ & ECHO. & ECHO ^| Central AME Script %ver% ^| & ECHO. & ECHO. -REG QUERY "HKLM\SYSTEM\CurrentControlSet\Control\Power" /v HibernateEnabled 2>&1 | FINDSTR /R /X /C:".*HibernateEnabled[ ].*REG_DWORD[ ].*0x1" > NUL 2>&1 - IF %ERRORLEVEL% EQU 0 ( - REG QUERY "HKLM\SYSTEM\CurrentControlSet\Control\Power" /v HiberFileType 2>&1 | FINDSTR /R /X /C:".*HiberFileType[ ].*REG_DWORD[ ].*0x1" > NUL 2>&1 - IF NOT ERRORLEVEL 1 ( - SET "homeHIBMsg=Disable Hibernation" - SET "homeHIBLoc=HIBERNATE-DISABLE" - ) ELSE ( - SET "homeHIBMsg=Enable Hibernation" - SET "homeHIBLoc=HIBERNATE-ENABLE" - ) - ) ELSE ( - SET "homeHIBMsg=Enable Hibernation" - SET "homeHIBLoc=HIBERNATE-ENABLE" - ) - -REG QUERY "HKLM\SOFTWARE\Microsoft\Windows Script Host\Settings" /v Enabled 2>&1 | FINDSTR /R /X /C:".*Enabled[ ].*REG_DWORD[ ].*0x0" > NUL 2>&1 - IF %ERRORLEVEL% EQU 0 ( - REG QUERY "HKEY_USERS\%userSID%\SOFTWARE\Microsoft\Windows Script Host\Settings" /v Enabled 2>&1 | FINDSTR /R /X /C:".*Enabled[ ].*REG_DWORD[ ].*0x1" > NUL 2>&1 - IF ERRORLEVEL 1 ( - SET "homeWSHMsg=Enable Windows Script Host [WSH] (Legacy^)" - SET "homeWSHLoc=WSH-ENABLE" - ) ELSE ( - SET "homeWSHMsg=Disable Windows Script Host [WSH] (Legacy^)" - SET "homeWSHLoc=WSH-DISABLE" - - ) - ) ELSE ( - REG QUERY "HKEY_USERS\%userSID%\SOFTWARE\Microsoft\Windows Script Host\Settings" /v Enabled 2>&1 | FINDSTR /R /X /C:".*Enabled[ ].*REG_DWORD[ ].*0x0" > NUL 2>&1 - IF NOT ERRORLEVEL 1 ( - SET "homeWSHMsg=Enable Windows Script Host [WSH] (Legacy^)" - SET "homeWSHLoc=WSH-ENABLE" - ) ELSE ( - SET "homeWSHMsg=Disable Windows Script Host [WSH] (Legacy^)" - SET "homeWSHLoc=WSH-DISABLE" - - ) - ) - -ASSOC .vbs 2>&1| FINDSTR /I /X /c:".vbs=VBSFile" > NUL 2>&1 - IF %ERRORLEVEL% EQU 0 ( - SET "homeVBSMsg=Disable Visual Basic Script [VBS] (Legacy^)" - SET "homeVBSLoc=VBS-DISABLE" - ) ELSE ( - SET "homeVBSMsg=Enable Visual Basic Script [VBS] (Legacy^)" - SET "homeVBSLoc=VBS-ENABLE" - ) - -REG QUERY "HKLM\SYSTEM\CurrentControlSet\Services\NlaSvc\Parameters\Internet" /v EnableActiveProbing 2>&1 | FINDSTR /R /X /C:".*EnableActiveProbing[ ].*REG_DWORD[ ].*0x1" > NUL 2>&1 - IF %ERRORLEVEL% EQU 0 ( - SET "homeNCSIMsg=Disable NCSI Active Probing (Legacy^)" - SET "homeNCSILoc=NCSI-DISABLE" - ) ELSE ( - SET "homeNCSIMsg=Enable NCSI Active Probing (Legacy^)" - SET "homeNCSILoc=NCSI-ENABLE" - ) - -SET "homeExtCh=12345670X" - -SET "homeNVCPMsg=Write-Host ' [7] Install NVIDIA Control Panel'" -IF EXIST "%SYSTEMDRIVE%\Program Files\NVIDIA Control Panel\nvcplui.exe" ( - SET "homeNVCPLoc=NVCP-UNINSTALL" - SET "homeNVCPMsg=Write-Host ' [7] Uninstall NVIDIA Control Panel'" -) ELSE ( - SET "homeNVCPLoc=NVCP-INSTALL" - WMIC path win32_VideoController get name | FINDSTR "NVIDIA GeForce GTX RTX" > NUL 2>&1 - IF ERRORLEVEL 1 ( - SET "homeExtCh=1234560X" - SET "homeNVCPMsg=Write-Host ' [7] Install NVIDIA Control Panel' -NoNewLine -ForegroundColor DarkGray; Write-Host ' [No NVIDIA GPU]' -ForegroundColor Red" - ) ELSE ( - SC query "NVDisplay.ContainerLocalSystem" > NUL 2>&1 - IF ERRORLEVEL 1 ( - SET "homeExtCh=1234560X" - SET "homeNVCPMsg=Write-Host ' [7] Install NVIDIA Control Panel' -NoNewLine -ForegroundColor DarkGray; Write-Host ' [No NVIDIA Driver]' -ForegroundColor Red" - ) ELSE ( - IF EXIST "%SYSTEMDRIVE%\Program Files\WindowsApps" ( - DIR /A:d /B "%SYSTEMDRIVE%\Program Files\WindowsApps" | FINDSTR /c:"NVIDIACorp.NVIDIAControlPanel" > NUL 2>&1 - IF NOT ERRORLEVEL 1 ( - FOR /F "usebackq delims=" %%A IN (`DIR /A:d /B "%SYSTEMDRIVE%\Program Files\WindowsApps" ^| FINDSTR /c:"NVIDIACorp.NVIDIAControlPanel"`) DO ( - DIR /B "%SYSTEMDRIVE%\Program Files\WindowsApps\%%A" | FINDSTR /i /x /c:"nvcplui.exe" > NUL 2>&1 - IF ERRORLEVEL 1 ( - CURL store.rg-adguard.net 2>&1 | FINDSTR /I /c:"Cloudflare Ray ID" > NUL 2>&1 - IF NOT ERRORLEVEL 1 ( - SET "homeExtCh=1234560X" - SET "homeNVCPMsg=Write-Host ' [7] Install NVIDIA Control Panel' -NoNewLine -ForegroundColor DarkGray; Write-Host ' [Server Unavailable]' -ForegroundColor Red" - ) - ) - ) - ) ELSE ( - CURL store.rg-adguard.net 2>&1 | FINDSTR /I /c:"Cloudflare Ray ID" > NUL 2>&1 - IF NOT ERRORLEVEL 1 ( - SET "homeExtCh=1234560X" - SET "homeNVCPMsg=Write-Host ' [7] Install NVIDIA Control Panel' -NoNewLine -ForegroundColor DarkGray; Write-Host ' [Server Unavailable]' -ForegroundColor Red" - ) - ) - ) - ) - ) -) -CMD /C WSL --help 2>&1 | FINDSTR /I /R /c:"-.-.i.n.s.t.a.l.l.*<.O.p.t.i.o.n.s.>" > NUL 2>&1 - IF %ERRORLEVEL% EQU 0 ( - SET "homeExtWSLMsg=""" -ForegroundColor DarkGray -NoNewLine; Write-Host ' [Not Supported]' -ForegroundColor Red -NoNewLine; Write-Host """" - IF "%homeExtCh%"=="1234560X" ( - SET "homeExtCh=234560X" - ) ELSE ( - SET "homeExtCh=2345670X" - ) - ) ELSE ( - SET "homeExtWSLMsg=" - ) - -POWERSHELL -NoP -C "Write-Host """ [1] Manage WSL%homeExtWSLMsg%`n [2] %homeHIBMsg%`n [3] %homeWSHMsg%`n [4] %homeVBSMsg%`n [5] %homeNCSIMsg%`n [6] Create New User (Beta^)"""; %homeNVCPMsg%; Write-Host """`n [0] Return to Menu`n [X] Exit`n`n __________________________________________________________`n`n Choose a menu option: """ -NoNewLine; [Console]::CursorVisible = $True; CHOICE /C %homeExtCh% /N /M '%BS%'; [Console]::CursorVisible = $False; EXIT $LastExitCode" - IF "%homeExtCh%"=="1234560X" ( - IF ERRORLEVEL 8 EXIT /B 0 - IF ERRORLEVEL 7 GOTO HOME-MAINMENU - IF ERRORLEVEL 6 ( - CLS & ECHO. & ECHO __________________________________________________________ & ECHO. & ECHO ^| Central AME Script %ver% ^| - POWERSHELL -NoP -C "Write-Host """`n`n`n WARNING: This is a beta feature, use at your own risk.`n __________________________________________________________`n`n Press any key to continue: """ -NoNewLine; [Console]::CursorVisible = $True; $NULL = $Host.UI.RawUI.ReadKey('NoEcho,IncludeKeyDown')" - GOTO NEWUSER-MENU - ) - IF ERRORLEVEL 5 GOTO %homeNCSILoc% - IF ERRORLEVEL 4 GOTO %homeVBSLoc% - IF ERRORLEVEL 3 GOTO %homeWSHLoc% - IF ERRORLEVEL 2 GOTO %homeHIBLoc% - IF ERRORLEVEL 1 GOTO HOME-WSL - ) - IF "%homeExtCh%"=="234560X" ( - IF ERRORLEVEL 7 EXIT /B 0 - IF ERRORLEVEL 6 GOTO HOME-MAINMENU - IF ERRORLEVEL 5 ( - CLS & ECHO. & ECHO __________________________________________________________ & ECHO. & ECHO ^| Central AME Script %ver% ^| - POWERSHELL -NoP -C "Write-Host """`n`n`n WARNING: This is a beta feature, use at your own risk.`n __________________________________________________________`n`n Press any key to continue: """ -NoNewLine; [Console]::CursorVisible = $True; $NULL = $Host.UI.RawUI.ReadKey('NoEcho,IncludeKeyDown')" - GOTO NEWUSER-MENU - ) - IF ERRORLEVEL 4 GOTO %homeNCSILoc% - IF ERRORLEVEL 3 GOTO %homeVBSLoc% - IF ERRORLEVEL 2 GOTO %homeWSHLoc% - IF ERRORLEVEL 1 GOTO %homeHIBLoc% - ) - IF "%homeExtCh%"=="2345670X" ( - IF ERRORLEVEL 8 EXIT /B 0 - IF ERRORLEVEL 7 GOTO HOME-MAINMENU - IF ERRORLEVEL 6 GOTO %homeNVCPLoc% - IF ERRORLEVEL 5 ( - CLS & ECHO. & ECHO __________________________________________________________ & ECHO. & ECHO ^| Central AME Script %ver% ^| - POWERSHELL -NoP -C "Write-Host """`n`n`n WARNING: This is a beta feature, use at your own risk.`n __________________________________________________________`n`n Press any key to continue: """ -NoNewLine; [Console]::CursorVisible = $True; $NULL = $Host.UI.RawUI.ReadKey('NoEcho,IncludeKeyDown')" - GOTO NEWUSER-MENU - ) - IF ERRORLEVEL 4 GOTO %homeNCSILoc% - IF ERRORLEVEL 3 GOTO %homeVBSLoc% - IF ERRORLEVEL 2 GOTO %homeWSHLoc% - IF ERRORLEVEL 1 GOTO %homeHIBLoc% - ) - IF ERRORLEVEL 9 EXIT /B 0 - IF ERRORLEVEL 8 GOTO HOME-MAINMENU - IF ERRORLEVEL 7 GOTO %homeNVCPLoc% - IF ERRORLEVEL 6 ( - CLS & ECHO. & ECHO __________________________________________________________ & ECHO. & ECHO ^| Central AME Script %ver% ^| - POWERSHELL -NoP -C "Write-Host """`n`n`n WARNING: This is a beta feature, use at your own risk.`n __________________________________________________________`n`n Press any key to continue: """ -NoNewLine; [Console]::CursorVisible = $True; $NULL = $Host.UI.RawUI.ReadKey('NoEcho,IncludeKeyDown')" - GOTO NEWUSER-MENU - ) - IF ERRORLEVEL 5 GOTO %homeNCSILoc% - IF ERRORLEVEL 4 GOTO %homeVBSLoc% - IF ERRORLEVEL 3 GOTO %homeWSHLoc% - IF ERRORLEVEL 2 GOTO %homeHIBLoc% - IF ERRORLEVEL 1 GOTO HOME-WSL - +CALL :MO-CHOICE -InitChoices "1234567890X" "+GOTO HOME-WSL+GOTO !homeHIBLoc!+GOTO !homeNOTIFCENLoc!+GOTO !homeNOTIFLoc!+GOTO !homeWSHLoc!+GOTO !homeVBSLoc!+GOTO !homeNCSILoc!+CLS & ECHO. & ECHO __________________________________________________________ & ECHO. & ECHO | Central AME Script %ver% | & POWERSHELL -NoP -C ""Write-Host """"""""`n`n`n$(' '.padleft(13, ' '))WARNING: This is a beta feature, use at your own risk.`n$(' '.padleft(11, ' '))__________________________________________________________`n`n$(' '.padleft(11, ' '))Press any key to continue: """""""" -NoNewLine; [Console]::CursorVisible = $True; $NULL = $Host.UI.RawUI.ReadKey('NoEcho,IncludeKeyDown')"" & GOTO NEWUSER-MENU+GOTO !homeNVCPLoc!+GOTO HOME-MAINMENU+EXIT /B 0+" +CALL :MO-EXTRA +CALL :MO-CHOICE -StartChoices "$(' '.padleft(17, ' '))[1] Manage WSL%homeExtWSLMsg%`n$(' '.padleft(17, ' '))[2] %homeHIBMsg%`n$(' '.padleft(17, ' '))[3] %homeNOTIFCENMsg%`n$(' '.padleft(17, ' '))[4] %homeNOTIFMsg%`n$(' '.padleft(17, ' '))[5] %homeWSHMsg%`n$(' '.padleft(17, ' '))[6] %homeVBSMsg%`n$(' '.padleft(17, ' '))[7] %homeNCSIMsg%`n$(' '.padleft(17, ' '))[8] Create New User (Beta)""""; %homeNVCPMsg%; Write-Host """"`n$(' '.padleft(17, ' '))[0] Return to Menu`n$(' '.padleft(17, ' '))[X] Exit`n" :HOME-LANGUAGE @@ -510,14 +306,8 @@ IF "%adminPrivs%"=="false" GOTO HOME-LIMLANGUAGE CLS & ECHO. & ECHO __________________________________________________________ & ECHO. & ECHO ^| Central AME Script %ver% ^| & ECHO. & ECHO. -POWERSHELL -NoP -C "Write-Host """ [1] Change Display Language`n [2] Add Keyboard Language`n [3] Remove Keyboard Language`n [4] Install Language Pack`n [5] Uninstall Language Pack`n`n [0] Return to Menu`n [X] Exit`n`n __________________________________________________________`n`n Choose a menu option: """ -NoNewLine; [Console]::CursorVisible = $True; CHOICE /C 123450X /N /M '%BS%'; [Console]::CursorVisible = $False; EXIT $LastExitCode" - IF %ERRORLEVEL%==1 SET "lpStatus=" & GOTO DISPLANG-MENUP1 - IF %ERRORLEVEL%==2 SET "kbLangLoc=:COMM:& GOTO KBLANG-PRESET" & GOTO KBLANG-LANGS - IF %ERRORLEVEL%==3 SET "kbLangLoc=:COMM:& GOTO KBLANG-REMOVELANG" & GOTO KBLANG-LANGS - IF %ERRORLEVEL%==4 SET "lpStatus=added" & GOTO DISPLANG-MENUP1 - IF %ERRORLEVEL%==5 SET "lpStatus=removed" & GOTO DISPLANG-MENUP1 - IF %ERRORLEVEL%==6 GOTO HOME-MAINMENU - IF %ERRORLEVEL%==7 EXIT /B 0 +CALL :MO-CHOICE -InitChoices "123450X" "+SET ""lpStatus="" & GOTO DISPLANG-MENUP1+SET ""kbLangLoc=:COMM:& GOTO KBLANG-PRESET"" & GOTO KBLANG-LANGS+SET ""kbLangLoc=:COMM:& GOTO KBLANG-REMOVELANG"" & GOTO KBLANG-LANGS+SET ""lpStatus=added"" & GOTO DISPLANG-MENUP1+SET ""lpStatus=removed"" & GOTO DISPLANG-MENUP1+GOTO HOME-MAINMENU+EXIT /B 0+" +CALL :MO-CHOICE -StartChoices "$(' '.padleft(17, ' '))[1] Change Display Language`n$(' '.padleft(17, ' '))[2] Add Keyboard Language`n$(' '.padleft(17, ' '))[3] Remove Keyboard Language`n$(' '.padleft(17, ' '))[4] Install Language Pack`n$(' '.padleft(17, ' '))[5] Uninstall Language Pack`n`n$(' '.padleft(17, ' '))[0] Return to Menu`n$(' '.padleft(17, ' '))[X] Exit`n" :HOME-WSL @@ -525,207 +315,57 @@ IF "%adminPrivs%"=="false" GOTO HOME-LIMWSL CLS & ECHO. & ECHO __________________________________________________________ & ECHO. & ECHO ^| Central AME Script %ver% ^| & ECHO. & ECHO. -SET "homeWSLChPos=16" -SET "homeWSLStatus=`n`n" -DISM /Online /Get-FeatureInfo:Microsoft-Windows-Subsystem-Linux | FINDSTR /x /c:"State : Enabled" > NUL 2>&1 - IF %ERRORLEVEL% NEQ 0 ( - SET "homeWSLMsg=Enable WSL" - SET "homeWSLLoc=WSL-ENABLE" - ) ELSE ( - SET "homeWSLMsg=Disable WSL" - SET "homeWSLLoc=WSL-DISABLE" - WHERE WSL.exe > NUL 2>&1 - IF ERRORLEVEL 1 ( - SET "homeWSLStatus="""; Write-Host """`n A restart is required for WSL functionality.""" -ForegroundColor Red; Write-Host """" - SET "homeWSLChPos=17" - ) - ) - -SET "homeWSLCh=1230X" -SET "wslUnattend=" - - -WHERE WSL.exe > NUL 2>&1 - IF %ERRORLEVEL% NEQ 0 ( - SET "homeWSLCh=1U0X" - SET "homeWSLDistroMsgs="""; Write-Host """ [2] Install WSL Distro`n [3] Remove WSL Distro`n""" -ForegroundColor DarkGray; Write-Host """ [U] Unattended Distro Install [Disabled]""" -NoNewLine; Write-Host """ " - ) ELSE ( - SET "homeWSLDistroMsgs=`n [2] Install WSL Distro`n [3] Remove WSL Distro`n" - ) +CALL :MO-CHOICE -InitChoices "123U0X" "+GOTO !homeWSLLoc!+SET ""wslMenuLoc=WSL-DISTROINSTALL"" & GOTO WSL-DISTROMENUP1+SET ""wslMenuLoc=WSL-DISTROREMOVE"" & GOTO WSL-DISTROMENUP1+POWERSHELL -NoP -C ""[Console]::SetCursorPosition(17,10); Write-Host '[U] Unattended Distro Install (Enabled) ' -NoNewLine -ForegroundColor Green; [Console]::SetCursorPosition(17,7); Write-Host '[2] Install WSL Distro' -NoNewLine; [Console]::SetCursorPosition(0,!homeWSLChPos!); Write-Host ' Choose a menu option: ' -NoNewLine; [Console]::SetCursorPosition(33,!homeWSLChPos!)"" & SET ""wslUnattend=true"" & GOTO INTERNAL-HOME_WSL-MARKER+GOTO HOME-MAINMENU+EXIT /B 0+" +CALL :MO-WSL +CALL :MO-CHOICE -StartChoices "$(' '.padleft(17, ' '))[1] %homeWSLMsg%%homeWSLDistroMsgs%`n$(' '.padleft(17, ' '))[0] Return to Menu`n$(' '.padleft(17, ' '))[X] Exit%homeWSLStatus%" -POWERSHELL -NoP -C "Write-Host """ [1] %homeWSLMsg%%homeWSLDistroMsgs%`n [0] Return to Menu`n [X] Exit%homeWSLStatus% __________________________________________________________`n`n Choose a menu option: """ -NoNewLine; [Console]::CursorVisible = $True; CHOICE /C %homeWSLCh% /N /M '%BS%'; [Console]::CursorVisible = $False; EXIT $LastExitCode" - -:HOME-WSLMARKER +:INTERNAL-HOME_WSL-MARKER IF "%wslUnattend%"=="true" ( POWERSHELL -NoP -C "[Console]::CursorVisible = $True; CHOICE /C 12U0X /N /M '%BS%'; [Console]::CursorVisible = $False; EXIT $LastExitCode" IF ERRORLEVEL 5 EXIT /B 0 IF ERRORLEVEL 4 GOTO HOME-MAINMENU - IF ERRORLEVEL 3 POWERSHELL -NoP -C "[Console]::SetCursorPosition(17,10); Write-Host '[U] Unattended Distro Install (Disabled)' -NoNewLine; [Console]::SetCursorPosition(17,7); Write-Host '[2] Install WSL Distro' -ForegroundColor DarkGray -NoNewLine; [Console]::SetCursorPosition(0,%homeWSLChPos%); Write-Host ' Choose a menu option: ' -NoNewLine; [Console]::SetCursorPosition(33,%homeWSLChPos%)" & SET "wslUnattend=false" & GOTO HOME-WSLMARKER + IF ERRORLEVEL 3 POWERSHELL -NoP -C "[Console]::SetCursorPosition(17,10); Write-Host '[U] Unattended Distro Install (Disabled)' -NoNewLine; [Console]::SetCursorPosition(17,7); Write-Host '[2] Install WSL Distro' -ForegroundColor DarkGray -NoNewLine; [Console]::SetCursorPosition(0,%homeWSLChPos%); Write-Host ' Choose a menu option: ' -NoNewLine; [Console]::SetCursorPosition(33,%homeWSLChPos%)" & SET "wslUnattend=false" & GOTO INTERNAL-HOME_WSL-MARKER IF ERRORLEVEL 2 SET "wslMenuLoc=WSL-DISTROINSTALL" & GOTO WSL-DISTROMENUP1 IF ERRORLEVEL 1 GOTO %homeWSLLoc% ) -IF "%homeWSLCh%"=="1U0X" ( - IF NOT "%wslUnattend%"=="" POWERSHELL -NoP -C "[Console]::CursorVisible = $True; CHOICE /C 1U0X /N /M '%BS%'; [Console]::CursorVisible = $False; EXIT $LastExitCode" - IF ERRORLEVEL 4 EXIT /B 0 - IF ERRORLEVEL 3 GOTO HOME-MAINMENU - IF ERRORLEVEL 2 POWERSHELL -NoP -C "[Console]::SetCursorPosition(17,10); Write-Host '[U] Unattended Distro Install (Enabled) ' -NoNewLine -ForegroundColor Green; [Console]::SetCursorPosition(17,7); Write-Host '[2] Install WSL Distro' -NoNewLine; [Console]::SetCursorPosition(0,%homeWSLChPos%); Write-Host ' Choose a menu option: ' -NoNewLine; [Console]::SetCursorPosition(33,%homeWSLChPos%)" & SET "wslUnattend=true" & GOTO HOME-WSLMARKER - IF ERRORLEVEL 1 GOTO %homeWSLLoc% -) - IF ERRORLEVEL 5 EXIT /B 0 - IF ERRORLEVEL 4 GOTO HOME-MAINMENU - IF ERRORLEVEL 3 SET "wslMenuLoc=WSL-DISTROREMOVE" & GOTO WSL-DISTROMENUP1 - IF ERRORLEVEL 2 SET "wslMenuLoc=WSL-DISTROINSTALL" & GOTO WSL-DISTROMENUP1 + +IF NOT "%wslUnattend%"=="" POWERSHELL -NoP -C "[Console]::CursorVisible = $True; CHOICE /C 1U0X /N /M '%BS%'; [Console]::CursorVisible = $False; EXIT $LastExitCode" + IF ERRORLEVEL 4 EXIT /B 0 + IF ERRORLEVEL 3 GOTO HOME-MAINMENU + IF ERRORLEVEL 2 POWERSHELL -NoP -C "[Console]::SetCursorPosition(17,10); Write-Host '[U] Unattended Distro Install (Enabled) ' -NoNewLine -ForegroundColor Green; [Console]::SetCursorPosition(17,7); Write-Host '[2] Install WSL Distro' -NoNewLine; [Console]::SetCursorPosition(0,%homeWSLChPos%); Write-Host ' Choose a menu option: ' -NoNewLine; [Console]::SetCursorPosition(33,%homeWSLChPos%)" & SET "wslUnattend=true" & GOTO INTERNAL-HOME_WSL-MARKER IF ERRORLEVEL 1 GOTO %homeWSLLoc% :HOME-LIMMAINMENU CLS & ECHO. & ECHO __________________________________________________________ & ECHO. & ECHO ^| Central AME Script %ver% ^| & ECHO. & ECHO. -CALL :AUX-ELEVATIONCHECK - IF %ERRORLEVEL% EQU 0 ( - SET "homeElevMsg=De-elevate User" - ) ELSE ( - SET "homeElevMsg=Elevate User to Administrator" - ) - -REG QUERY "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System" /v dontdisplaylastusername 2>&1 | FINDSTR /R /X /C:".*dontdisplaylastusername[ ].*REG_DWORD[ ].*0x1" > NUL 2>&1 - IF %ERRORLEVEL% EQU 0 ( - SET "homeNUMsg=Disable Username Login Requirement" - ) ELSE ( - SET "homeNUMsg=Enable Username Login Requirement" - ) - -REG QUERY "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon" /v "DefaultUsername" 2>&1 | FINDSTR /c:"%currentUsername%" > NUL 2>&1 - IF %ERRORLEVEL% EQU 0 ( - REG QUERY "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon" /v "AutoAdminLogon" 2>&1 | FINDSTR /R /X /C:".*AutoAdminLogon[ ].*REG_SZ.*[ ]0" > NUL 2>&1 - IF ERRORLEVEL 1 ( - SET "homeALMsg=Disable AutoLogon" - ) ELSE ( - SET "homeALMsg=Enable AutoLogon" - ) - ) ELSE ( - SET "homeALMsg=Enable AutoLogon" - ) - -POWERSHELL -NoP -C "Write-Host """ [1] Change Username or Password""" -NoNewLine -ForegroundColor DarkGray; Write-Host ' [Admin Required]' -ForegroundColor Red; Write-Host """ [2] Change Lockscreen Image""" -NoNewLine -ForegroundColor DarkGray; Write-Host ' [Admin Required]' -ForegroundColor Red; Write-Host """ [3] Change Profile Image""" -NoNewLine -ForegroundColor DarkGray; Write-Host ' [Admin Required]' -ForegroundColor Red; Write-Host """ [4] Manage Language Settings"""; Write-Host """ [5] %homeElevMsg%""" -NoNewLine -ForegroundColor DarkGray; Write-Host ' [Admin Required]' -ForegroundColor Red; Write-Host """ [6] %homeNUMsg%""" -NoNewLine -ForegroundColor DarkGray; Write-Host ' [Admin Required]' -ForegroundColor Red; Write-Host """ [7] %homeALMsg%""" -NoNewLine -ForegroundColor DarkGray; Write-Host ' [Admin Required]' -ForegroundColor Red; Write-Host """`n [E] Extra`n [X] Exit`n`n __________________________________________________________`n`n Choose a menu option: """ -NoNewLine; [Console]::CursorVisible = $True; CHOICE /C 4EX /N /M '%BS%'; [Console]::CursorVisible = $False; EXIT $LastExitCode" - IF %ERRORLEVEL%==1 GOTO HOME-LIMLANGUAGE - IF %ERRORLEVEL%==2 GOTO HOME-EXTRA - IF %ERRORLEVEL%==3 EXIT /B 0 +CALL :MO-CHOICE -InitChoices "4EX" "+GOTO HOME-LIMLANGUAGE+GOTO HOME-EXTRA+EXIT /B 0+" +CALL :MO-LIMMAINMENU +CALL :MO-CHOICE -StartChoices "$(' '.padleft(17, ' '))[1] Change Username or Password"""" -NoNewLine -ForegroundColor DarkGray; Write-Host ' [Admin Required]' -ForegroundColor Red; Write-Host """"$(' '.padleft(17, ' '))[2] Change Lockscreen Image"""" -NoNewLine -ForegroundColor DarkGray; Write-Host ' [Admin Required]' -ForegroundColor Red; Write-Host """"$(' '.padleft(17, ' '))[3] Change Profile Image"""" -NoNewLine -ForegroundColor DarkGray; Write-Host ' [Admin Required]' -ForegroundColor Red; Write-Host """"$(' '.padleft(17, ' '))[4] Manage Language Settings""""; Write-Host """"$(' '.padleft(17, ' '))[5] %homeElevMsg%"""" -NoNewLine -ForegroundColor DarkGray; Write-Host ' [Admin Required]' -ForegroundColor Red; Write-Host """"$(' '.padleft(17, ' '))[6] %homeNUMsg%"""" -NoNewLine -ForegroundColor DarkGray; Write-Host ' [Admin Required]' -ForegroundColor Red; Write-Host """"$(' '.padleft(17, ' '))[7] %homeALMsg%"""" -NoNewLine -ForegroundColor DarkGray; Write-Host ' [Admin Required]' -ForegroundColor Red; Write-Host """"`n$(' '.padleft(17, ' '))[E] Extra`n$(' '.padleft(17, ' '))[X] Exit`n" :HOME-LIMEXTRA CLS & ECHO. & ECHO __________________________________________________________ & ECHO. & ECHO ^| Central AME Script %ver% ^| & ECHO. & ECHO. -REG QUERY "HKLM\SYSTEM\CurrentControlSet\Control\Power" /v HibernateEnabled 2>&1 | FINDSTR /R /X /C:".*HibernateEnabled[ ].*REG_DWORD[ ].*0x1" > NUL 2>&1 - IF %ERRORLEVEL% EQU 0 ( - REG QUERY "HKLM\SYSTEM\CurrentControlSet\Control\Power" /v HiberFileType 2>&1 | FINDSTR /R /X /C:".*HiberFileType[ ].*REG_DWORD[ ].*0x1" > NUL 2>&1 - IF NOT ERRORLEVEL 1 ( - SET "homeHIBMsg=Disable Hibernation" - ) ELSE ( - SET "homeHIBMsg=Enable Hibernation" - ) - ) ELSE ( - SET "homeHIBMsg=Enable Hibernation" - ) - -REG QUERY "HKLM\SOFTWARE\Microsoft\Windows Script Host\Settings" /v Enabled 2>&1 | FINDSTR /R /X /C:".*Enabled[ ].*REG_DWORD[ ].*0x0" > NUL 2>&1 - IF %ERRORLEVEL% EQU 0 ( - REG QUERY "HKEY_USERS\%userSID%\SOFTWARE\Microsoft\Windows Script Host\Settings" /v Enabled 2>&1 | FINDSTR /R /X /C:".*Enabled[ ].*REG_DWORD[ ].*0x1" > NUL 2>&1 - IF ERRORLEVEL 1 ( - SET "homeWSHMsg=Enable Windows Script Host [WSH] (Legacy^)" - ) ELSE ( - SET "homeWSHMsg=Disable Windows Script Host [WSH] (Legacy^)" - - ) - ) ELSE ( - REG QUERY "HKEY_USERS\%userSID%\SOFTWARE\Microsoft\Windows Script Host\Settings" /v Enabled 2>&1 | FINDSTR /R /X /C:".*Enabled[ ].*REG_DWORD[ ].*0x0" > NUL 2>&1 - IF NOT ERRORLEVEL 1 ( - SET "homeWSHMsg=Enable Windows Script Host [WSH] (Legacy^)" - ) ELSE ( - SET "homeWSHMsg=Disable Windows Script Host [WSH] (Legacy^)" - - ) - ) - -ASSOC .vbs 2>&1| FINDSTR /I /X /c:".vbs=VBSFile" > NUL 2>&1 - IF %ERRORLEVEL% EQU 0 ( - SET "homeVBSMsg=Disable Visual Basic Script [VBS] (Legacy^)" - SET "homeVBSLoc=VBS-DISABLE" - ) ELSE ( - SET "homeVBSMsg=Enable Visual Basic Script [VBS] (Legacy^)" - SET "homeVBSLoc=VBS-ENABLE" - ) - -REG QUERY "HKLM\SYSTEM\CurrentControlSet\Services\NlaSvc\Parameters\Internet" /v EnableActiveProbing 2>&1 | FINDSTR /R /X /C:".*EnableActiveProbing[ ].*REG_DWORD[ ].*0x1" > NUL 2>&1 - IF %ERRORLEVEL% EQU 0 ( - SET "homeNCSIMsg=Disable NCSI Active Probing (Legacy^)" - ) ELSE ( - SET "homeNCSIMsg=Enable NCSI Active Probing (Legacy^)" - ) - -SET "homeNVCPMsg=Write-Host ' [7] Install NVIDIA Control Panel' -NoNewLine -ForegroundColor DarkGray; Write-Host ' [Admin Required]' -ForegroundColor Red" -IF EXIST "%SYSTEMDRIVE%\Program Files\NVIDIA Control Panel\nvcplui.exe" ( - SET "homeNVCPMsg=Write-Host ' [7] Uninstall NVIDIA Control Panel' -NoNewLine -ForegroundColor DarkGray; Write-Host ' [Admin Required]' -ForegroundColor Red" -) - -CMD /C WSL --help 2>&1 | FINDSTR /I /R /c:"-.-.i.n.s.t.a.l.l.*<.O.p.t.i.o.n.s.>" > NUL 2>&1 - IF %ERRORLEVEL% EQU 0 ( - SET "homeExtWSLMsg= -ForegroundColor DarkGray -NoNewLine; Write-Host ' [Not Supported]' -ForegroundColor Red" - SET "homeExtCh=0X" - ) ELSE ( - SET "homeExtCh=10X" - SET "homeExtWSLMsg=" - ) - -POWERSHELL -NoP -C "Write-Host """ [1] Manage WSL"""%homeExtWSLMsg%; Write-Host """ [2] %homeHIBMsg%""" -NoNewLine -ForegroundColor DarkGray; Write-Host ' [Admin Required]' -ForegroundColor Red; Write-Host """ [3] %homeWSHMsg%""" -NoNewLine -ForegroundColor DarkGray; Write-Host ' [Admin Required]' -ForegroundColor Red; Write-Host """ [4] %homeVBSMsg%""" -NoNewLine -ForegroundColor DarkGray; Write-Host ' [Admin Required]' -ForegroundColor Red; Write-Host """ [5] %homeNCSIMsg%""" -NoNewLine -ForegroundColor DarkGray; Write-Host ' [Admin Required]' -ForegroundColor Red; Write-Host """ [6] Create New User (Beta^)""" -NoNewLine -ForegroundColor DarkGray; Write-Host ' [Admin Required]' -ForegroundColor Red; %homeNVCPMsg%; Write-Host """`n [0] Return to Menu`n [X] Exit`n`n __________________________________________________________`n`n Choose a menu option: """ -NoNewLine; [Console]::CursorVisible = $True; CHOICE /C %homeExtCh% /N /M '%BS%'; [Console]::CursorVisible = $False; EXIT $LastExitCode" - IF "%homeExtCh%"=="0X" ( - IF %ERRORLEVEL%==1 GOTO HOME-MAINMENU - IF %ERRORLEVEL%==2 EXIT /B 0 - ) - IF %ERRORLEVEL%==1 GOTO HOME-LIMWSL - IF %ERRORLEVEL%==2 GOTO HOME-MAINMENU - IF %ERRORLEVEL%==3 EXIT /B 0 +CALL :MO-CHOICE -InitChoices "140X" "+GOTO HOME-LIMWSL+GOTO !homeNOTIFLoc!+GOTO HOME-MAINMENU+EXIT /B 0+" +CALL :MO-LIMEXTRA +CALL :MO-CHOICE -StartChoices "$(' '.padleft(17, ' '))[1] Manage WSL""""%homeExtWSLMsg%; Write-Host """"$(' '.padleft(17, ' '))[2] %homeHIBMsg%"""" -NoNewLine -ForegroundColor DarkGray; Write-Host ' [Admin Required]' -ForegroundColor Red; Write-Host """"$(' '.padleft(17, ' '))[3] %%homeNOTIFCENMsg%%"""" -NoNewLine -ForegroundColor DarkGray; Write-Host ' [Admin Required]' -ForegroundColor Red; Write-Host """"$(' '.padleft(17, ' '))[4] %%homeNOTIFMsg%%""""; Write-Host """"$(' '.padleft(17, ' '))[5] %homeWSHMsg%"""" -NoNewLine -ForegroundColor DarkGray; Write-Host ' [Admin Required]' -ForegroundColor Red; Write-Host """"$(' '.padleft(17, ' '))[6] %homeVBSMsg%"""" -NoNewLine -ForegroundColor DarkGray; Write-Host ' [Admin Required]' -ForegroundColor Red; Write-Host """"$(' '.padleft(17, ' '))[7] %homeNCSIMsg%"""" -NoNewLine -ForegroundColor DarkGray; Write-Host ' [Admin Required]' -ForegroundColor Red; Write-Host """"$(' '.padleft(17, ' '))[8] Create New User (Beta)"""" -NoNewLine -ForegroundColor DarkGray; Write-Host ' [Admin Required]' -ForegroundColor Red; %homeNVCPMsg%; Write-Host """"`n$(' '.padleft(17, ' '))[0] Return to Menu`n$(' '.padleft(17, ' '))[X] Exit`n" :HOME-LIMLANGUAGE CLS & ECHO. & ECHO __________________________________________________________ & ECHO. & ECHO ^| Central AME Script %ver% ^| & ECHO. & ECHO. -POWERSHELL -NoP -C "Write-Host """ [1] Change Display Language""" -NoNewLine -ForegroundColor DarkGray; Write-Host ' [Admin Required]' -ForegroundColor Red; Write-Host """ [2] Add Keyboard Language`n [3] Remove Keyboard Language"""; Write-Host """ [4] Install Language Pack""" -NoNewLine -ForegroundColor DarkGray; Write-Host ' [Admin Required]' -ForegroundColor Red; Write-Host """ [5] Uninstall Language Pack""" -NoNewLine -ForegroundColor DarkGray; Write-Host ' [Admin Required]' -ForegroundColor Red; Write-Host """`n [0] Return to Menu`n [X] Exit`n`n __________________________________________________________`n`n Choose a menu option: """ -NoNewLine; [Console]::CursorVisible = $True; CHOICE /C 230X /N /M '%BS%'; [Console]::CursorVisible = $False; EXIT $LastExitCode" - IF %ERRORLEVEL%==1 SET "kbLangLoc=:COMM:& GOTO KBLANG-PRESET" & GOTO KBLANG-LANGS - IF %ERRORLEVEL%==2 SET "kbLangLoc=:COMM:& GOTO KBLANG-REMOVELANG" & GOTO KBLANG-LANGS - IF %ERRORLEVEL%==3 GOTO HOME-MAINMENU - IF %ERRORLEVEL%==4 EXIT /B 0 +CALL :MO-CHOICE -InitChoices "230X" "+SET ""kbLangLoc=:COMM:& GOTO KBLANG-PRESET"" & GOTO KBLANG-LANGS+SET ""kbLangLoc=:COMM:& GOTO KBLANG-REMOVELANG"" & GOTO KBLANG-LANGS+GOTO HOME-MAINMENU+EXIT /B 0+" +CALL :MO-CHOICE -StartChoices "$(' '.padleft(17, ' '))[1] Change Display Language"""" -NoNewLine -ForegroundColor DarkGray; Write-Host ' [Admin Required]' -ForegroundColor Red; Write-Host """"$(' '.padleft(17, ' '))[2] Add Keyboard Language`n$(' '.padleft(17, ' '))[3] Remove Keyboard Language""""; Write-Host """"$(' '.padleft(17, ' '))[4] Install Language Pack"""" -NoNewLine -ForegroundColor DarkGray; Write-Host ' [Admin Required]' -ForegroundColor Red; Write-Host """"$(' '.padleft(17, ' '))[5] Uninstall Language Pack"""" -NoNewLine -ForegroundColor DarkGray; Write-Host ' [Admin Required]' -ForegroundColor Red; Write-Host """"`n$(' '.padleft(17, ' '))[0] Return to Menu`n$(' '.padleft(17, ' '))[X] Exit`n" :HOME-LIMWSL CLS & ECHO. & ECHO __________________________________________________________ & ECHO. & ECHO ^| Central AME Script %ver% ^| & ECHO. & ECHO. -WHERE WSL.exe > NUL 2>&1 - IF %ERRORLEVEL% NEQ 0 ( - SET "homeWSLMsg=Enable WSL" - ) ELSE ( - SET "homeWSLMsg=Disable WSL" - ) - -SET "homeLIMWSLCh=230X" - -WHERE WSL.exe > NUL 2>&1 - IF %ERRORLEVEL% NEQ 0 ( - SET "homeLIMWSLCh=0X" - SET "homeWSLDistroMsgs= [2] Install WSL Distro`n [3] Remove WSL Distro`n`n [U] Unattended Distro Install""" -ForegroundColor DarkGray -NoNewLine; Write-Host """ [Admin Required]""" -ForegroundColor Red -NoNewLine; Write-Host """" - ) ELSE ( - SET "homeWSLDistroMsgs= [2] Install WSL Distro`n [3] Remove WSL Distro`n" - ) -POWERSHELL -NoP -C "Write-Host """ [1] %homeWSLMsg%""" -NoNewLine -ForegroundColor DarkGray; Write-Host ' [Admin Required]' -ForegroundColor Red; Write-Host """%homeWSLDistroMsgs%`n [0] Return to Menu`n [X] Exit`n`n __________________________________________________________`n`n Choose a menu option: """ -NoNewLine; [Console]::CursorVisible = $True; CHOICE /C %homeLIMWSLCh% /N /M '%BS%'; [Console]::CursorVisible = $False; EXIT $LastExitCode" - IF "%homeWSLCh%"=="0X" ( - IF ERRORLEVEL 2 EXIT /B 0 - IF ERRORLEVEL 1 GOTO HOME-MAINMENU - ) - IF ERRORLEVEL 4 EXIT /B 0 - IF ERRORLEVEL 3 GOTO HOME-MAINMENU - IF ERRORLEVEL 2 SET "wslMenuLoc=WSL-DISTROREMOVE" & GOTO WSL-DISTROMENUP1 - IF ERRORLEVEL 1 SET "wslMenuLoc=WSL-DISTROINSTALL" & GOTO WSL-DISTROMENUP1 +CALL :MO-CHOICE -InitChoices "230X" "+SET ""wslMenuLoc=WSL-DISTROINSTALL"" & GOTO WSL-DISTROMENUP1+SET ""wslMenuLoc=WSL-DISTROREMOVE"" & GOTO WSL-DISTROMENUP1+GOTO HOME-MAINMENU+EXIT /B 0+" +CALL :MO-LIMWSL +CALL :MO-CHOICE -StartChoices "$(' '.padleft(17, ' '))[1] %homeWSLMsg%"""" -NoNewLine -ForegroundColor DarkGray; Write-Host ' [Admin Required]' -ForegroundColor Red; Write-Host """"%homeWSLDistroMsgs%`n$(' '.padleft(17, ' '))[0] Return to Menu`n$(' '.padleft(17, ' '))[X] Exit`n" REM --------------------------MENU-END-------------------------- @@ -756,7 +396,7 @@ CALL :AUX-INPUTLOOP "newUsername" "Enter new username, or 'Cancel' to quit" "0" IF %ERRORLEVEL% EQU 3 ENDLOCAL & GOTO HOME-MAINMENU ENDLOCAL & SET "currentUsername=%newUsername%" -CALL :AUX-RETURN "Username changed successfully" -HNR -R -L "A restart is recommended." +CALL :AUX-RETURN "Username changed successfully" -HNR R:L.sign-out -L "A sign-out is recommended." :USERPASS-PASSWORD @@ -793,7 +433,7 @@ ECHO. & ECHO Select your image DIR /B "%SYSTEMDRIVE%\Users" | FINDSTR /x "%possibleUserDir%" > NUL 2>&1 IF %ERRORLEVEL% LEQ 0 SET "UserPath=\%possibleUserDir%" -FOR /F "usebackq delims=" %%I in (`POWERSHELL -NoP -C "[System.Reflection.Assembly]::LoadWithPartialName('System.windows.forms')|Out-Null;$OFD = New-Object System.Windows.Forms.OpenFileDialog;$OFD.Multiselect = $False;$OFD.Filter = 'Image Files (*.jpg; *.jpeg; *.png; *.bmp; *.jfif)| *.jpg; *.jpeg; *.png; *.bmp; *.jfif';$OFD.InitialDirectory = '%SYSTEMDRIVE%\Users%UserPath%';$OFD.ShowDialog()|out-null;$OFD.FileNames"`) DO SET "lockImgPath=%%~I" +FOR /F "usebackq delims=" %%I in (`POWERSHELL -NoP -C "Start-Sleep -Milliseconds 200; [System.Reflection.Assembly]::LoadWithPartialName('System.windows.forms')|Out-Null;$OFD = New-Object System.Windows.Forms.OpenFileDialog;$OFD.Multiselect = $False;$OFD.Filter = 'Image Files (*.jpg; *.jpeg; *.png; *.bmp; *.jfif)| *.jpg; *.jpeg; *.png; *.bmp; *.jfif';$OFD.InitialDirectory = '%SYSTEMDRIVE%\Users%UserPath%';$OFD.ShowDialog()|out-null;$OFD.FileNames"`) DO SET "lockImgPath=%%~I" IF "%lockImgPath%"=="" CALL :AUX-RETURN "You must select an image." -H -E POWERSHELL -NoP -C "Write-Host """`n Remove lockscreen blur? (Y/N): """ -NoNewLine; [Console]::CursorVisible = $True; CHOICE /C YN /N /M '%BS%'; [Console]::CursorVisible = $False; EXIT $LastExitCode" @@ -837,7 +477,7 @@ REM Used for default starting directory for file selection window DIR /B "%SYSTEMDRIVE%\Users" | FINDSTR /x "%possibleUserDir%" > NUL 2>&1 IF %ERRORLEVEL% LEQ 0 SET "UserPath=\%possibleUserDir%" -FOR /F "usebackq delims=" %%I in (`POWERSHELL -NoP -C "[System.Reflection.Assembly]::LoadWithPartialName('System.windows.forms')|Out-Null;$OFD = New-Object System.Windows.Forms.OpenFileDialog;$OFD.Multiselect = $False;$OFD.Filter = 'Image Files (*.jpg; *.jpeg; *.png; *.bmp; *.jfif)| *.jpg; *.jpeg; *.png; *.bmp; *.jfif';$OFD.InitialDirectory = '%SYSTEMDRIVE%\Users%UserPath%';$OFD.ShowDialog()|out-null;$OFD.FileNames"`) DO SET "pfpImgPath=%%~I" +FOR /F "usebackq delims=" %%I in (`POWERSHELL -NoP -C "Start-Sleep -Milliseconds 200; [System.Reflection.Assembly]::LoadWithPartialName('System.windows.forms')|Out-Null;$OFD = New-Object System.Windows.Forms.OpenFileDialog;$OFD.Multiselect = $False;$OFD.Filter = 'Image Files (*.jpg; *.jpeg; *.png; *.bmp; *.jfif)| *.jpg; *.jpeg; *.png; *.bmp; *.jfif';$OFD.InitialDirectory = '%SYSTEMDRIVE%\Users%UserPath%';$OFD.ShowDialog()|out-null;$OFD.FileNames"`) DO SET "pfpImgPath=%%~I" IF "%pfpImgPath%"=="" CALL :AUX-RETURN "You must select an image." -H -E :PFP-DEPLOY @@ -893,31 +533,31 @@ REM -------------------------ELEVATION-------------------------- SETLOCAL -IF "%userStatus%"=="Elevated" CALL :AUX-RETURN "The current user is already an Administrator." -H -E - CLS & ECHO. & ECHO __________________________________________________________ & ECHO. & ECHO ^| Central AME Script %ver% ^| & ECHO. ECHO. & ECHO Granting Admin rights to the current user... +IF "%userStatus%"=="Elevated" CALL :AUX-RETURN "The current user is already an Administrator." -H -E + TIMEOUT /T 2 /NOBREAK > NUL NET localgroup administrators "%currentUsername%" /add > NUL 2>&1 IF %ERRORLEVEL% GTR 0 CALL :AUX-RETURN "Failed to change user permissions" -H -L "A restart may fix this." -E - IF %ERRORLEVEL% LEQ 0 ENDLOCAL & SET "userStatus=Elevated" & CALL :AUX-RETURN "The current user is now an Administrator" -HNR -R -L "A restart is needed to take effect." + IF %ERRORLEVEL% LEQ 0 ENDLOCAL & SET "userStatus=Elevated" & CALL :AUX-RETURN "The current user is now an Administrator" -HNR R:L.sign-out -L "A sign-out is required to take effect." :ELEVATE-REVOKE SETLOCAL -IF "%userStatus%"=="Not Elevated" CALL :AUX-RETURN "The current user is not an Administrator." -H -E - CLS & ECHO. & ECHO __________________________________________________________ & ECHO. & ECHO ^| Central AME Script %ver% ^| & ECHO. ECHO. & ECHO Revoking Admin rights from the current user... +IF "%userStatus%"=="Not Elevated" CALL :AUX-RETURN "The current user is not an Administrator." -H -E + TIMEOUT /T 2 /NOBREAK > NUL 2>&1 NET localgroup administrators "%currentUsername%" /delete > NUL 2>&1 IF %ERRORLEVEL% GTR 0 CALL :AUX-RETURN "Failed to change user permissions" -H -L "A restart may fix this." -E - IF %ERRORLEVEL% LEQ 0 ENDLOCAL & SET "userStatus=Not Elevated" & CALL :AUX-RETURN "Admin rights have been revoked for the current user" -HNR -R -L "A restart is needed to take effect." + IF %ERRORLEVEL% LEQ 0 ENDLOCAL & SET "userStatus=Not Elevated" & CALL :AUX-RETURN "Admin rights have been revoked for the current user" -HNR R:L.sign-out -L "A sign-out is required to take effect." REM -----------------------ELEVATION-END------------------------ @@ -1038,8 +678,8 @@ IF NOT "%dispChoco%"=="true" ( IF NOT "%dispSkip0%"=="rem " CALL :AUX-RETURN "7-Zip or Chocolatey must be installed." "HOME-LANGUAGE" -E ) -TASKLIST /FI "IMAGENAME eq lpksetup.exe" 2>&1 | FINDSTR /c:"INFO: No tasks are running" > NUL 2>&1 - IF %ERRORLEVEL% NEQ 0 CALL :AUX-RETURN "All instances of lpksetup.exe must be closed." "HOME-LANGUAGE" -E +TASKLIST /FI "IMAGENAME eq lpksetup.exe" 2>&1 | FINDSTR /i /c:"lpksetup.exe" > NUL 2>&1 + IF %ERRORLEVEL% EQU 0 CALL :AUX-RETURN "All instances of lpksetup.exe must be closed." "HOME-LANGUAGE" -E IF "%dispDl%"=="2480000" POWERSHELL -NoP -C "Write-Host """`n A ~2.5GB Language Packs ISO must be downloaded`n Continue? (Y/N): """ -NoNewLine; [Console]::CursorVisible = $True; CHOICE /C YN /N /M '%BS%'; [Console]::CursorVisible = $False; EXIT $LastExitCode" IF "%dispDl%"=="2900000" POWERSHELL -NoP -C "Write-Host """`n A ~2.9GB Language Packs ISO must be downloaded`n Continue? (Y/N): """ -NoNewLine; [Console]::CursorVisible = $True; CHOICE /C YN /N /M '%BS%'; [Console]::CursorVisible = $False; EXIT $LastExitCode" IF "%dispDl%"=="3230000" POWERSHELL -NoP -C "Write-Host """`n A ~3.2GB Language Packs ISO must be downloaded`n Continue? (Y/N): """ -NoNewLine; [Console]::CursorVisible = $True; CHOICE /C YN /N /M '%BS%'; [Console]::CursorVisible = $False; EXIT $LastExitCode" @@ -1131,7 +771,7 @@ IF "%makeKBDef%"=="false" POWERSHELL -NoP -C "Set-WinDefaultInputMethodOverride ENDLOCAL IF /I "%~1"=="LangSet" ECHO Golden> "%TEMP%\[amecs]-LangComm%rndOut%.txt" & EXIT 0 -CALL :AUX-RETURN "Display language changed to %langSel%" -H -R -L "A restart is needed to take effect." +CALL :AUX-RETURN "Display language changed to %langSel%" -H "R:R -T 0.restart" -L "A restart is required to take effect." :DISPLANG-LPCOMPLETE @@ -1166,7 +806,7 @@ CALL :AUX-ALTSTART "SetDispLang" "CMD /C 'START /min '' '|Script|' LangSet %lang CALL :AUX-WAITLOOP "-C:Golden" "%userTemp%\[amecs]-LangComm%rndOut%.txt" -TME "30" IF %ERRORLEVEL% NEQ 0 CALL :AUX-RETURN "Failed to set language settings." "HOME-LANGUAGE" -C -E - CALL :AUX-RETURN "Display language changed to %langSel%" -H -R -L "A restart is needed to take effect." -C + CALL :AUX-RETURN "Display language changed to %langSel%" -H "R:R -T 0.restart" -L "A restart is required to take effect." -C REM ------------------------DISPLANG-END------------------------ @@ -1475,7 +1115,7 @@ ECHO. & ECHO Enabling username login requirement... TIMEOUT /T 2 /NOBREAK > NUL REG ADD "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System" /v dontdisplaylastusername /t REG_DWORD /d 1 /f > NUL 2>&1 -CALL :AUX-RETURN "The username login requirement is now enabled" -H -R -L "A restart is required to take effect." +CALL :AUX-RETURN "The username login requirement is now enabled" -H R:L.sign-out -L "A sign-out is required to take effect." REM -----------------------NOUSERNAME-END----------------------- @@ -1504,8 +1144,8 @@ POWERSHELL -NoP -C "EXIT (Start-Process '%TEMP:'=''%\[amecs]-AutoLogon%rndOut%.e REG QUERY "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon" /v "DefaultUsername" 2>&1 | FINDSTR /c:"%currentUsername%" > NUL 2>&1 IF %ERRORLEVEL% EQU 0 ( - REG QUERY "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon" /v "AutoAdminLogon" 2>&1 | FINDSTR /R /X /C:".*AutoAdminLogon[ ].*REG_SZ.*[ ]0" > NUL 2>&1 - IF ERRORLEVEL 1 CALL :AUX-RETURN "Failed to enable AutoLogon. (3)" -H -E -C + REG QUERY "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon" /v "AutoAdminLogon" 2>&1 | FINDSTR /R /X /C:".*AutoAdminLogon[ ].*REG_SZ.*[ ]1" > NUL 2>&1 + IF NOT ERRORLEVEL 1 CALL :AUX-RETURN "Failed to enable AutoLogon. (3)" -H -E -C ) IF NOT "%userPassword%"=="" ( @@ -1549,8 +1189,8 @@ POWERSHELL -NoP -C "EXIT (Start-Process '%TEMP:'=''%\[amecs]-AutoLogon%rndOut%.e REG QUERY "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon" /v "DefaultUsername" 2>&1 | FINDSTR /I /E /c:" %currentUsername%" > NUL 2>&1 IF %ERRORLEVEL% EQU 0 ( - REG QUERY "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon" /v "AutoAdminLogon" 2>&1 | FINDSTR /R /X /C:".*AutoAdminLogon[ ].*REG_SZ.*[ ]0" > NUL 2>&1 - IF ERRORLEVEL 1 CALL :AUX-RETURN "Failed to disable AutoLogon. (3)" -H -E -C + REG QUERY "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon" /v "AutoAdminLogon" 2>&1 | FINDSTR /R /X /C:".*AutoAdminLogon[ ].*REG_SZ.*[ ]1" > NUL 2>&1 + IF NOT ERRORLEVEL 1 CALL :AUX-RETURN "Failed to disable AutoLogon. (3)" -H -E -C ) CALL :AUX-RETURN "Disabled AutoLogon successfully" -H -C @@ -1585,7 +1225,7 @@ DISM /Online /Get-FeatureInfo /FeatureName:Microsoft-Windows-Subsystem-Linux | F WHERE wsl.exe > NUL 2>&1 IF %ERRORLEVEL% EQU 0 CALL :AUX-RETURN "Enabled WSL successfully" -H -CALL :AUX-RETURN "Enabled WSL successfully" -H -R -L "A restart is required to complete the setup." +CALL :AUX-RETURN "Enabled WSL successfully" -H "R:R -T 0.restart" -L "A restart is required to complete the setup." :WSL-DISABLE @@ -1608,7 +1248,7 @@ DISM /Online /Get-FeatureInfo /FeatureName:Microsoft-Windows-Subsystem-Linux | F WHERE wsl.exe > NUL 2>&1 IF %ERRORLEVEL% NEQ 0 CALL :AUX-RETURN "Disabled WSL successfully" -H -CALL :AUX-RETURN "Disabled WSL successfully" -H -R -L "A restart is required to complete the setup." +CALL :AUX-RETURN "Disabled WSL successfully" -H "R:R -T 0.restart" -L "A restart is required to complete the setup." :WSL-DISTROMENUP1 @@ -1864,7 +1504,7 @@ POWERSHELL -NoP -C "[console]::OutputEncoding = [Text.UnicodeEncoding]::Unicode; GOTO WSL-DISTROCONFIG ) -TASKLIST /FI "IMAGENAME eq cmd.exe" /FI "PID eq %distroHostPID%" 2>&1 | FINDSTR /i /c:"ERROR:" /c:"INFO: No tasks are running">NUL 2>&1 && SET /A "count1=%count1%+50" +TASKLIST /FI "IMAGENAME eq cmd.exe" /FI "PID eq %distroHostPID%" 2>&1 | FINDSTR /i /c:"cmd.exe">NUL 2>&1 || SET /A "count1=%count1%+50" SET /A "count1=%count1%+1" GOTO WSL-DISTROPROGRESS @@ -2042,8 +1682,64 @@ REM --------------------------WSL-END--------------------------- -REM -------------------------HIBERNATE------------------------- -:HIBERNATE-ENABLE +REM ---------------------------NOTIF---------------------------- +:NOTIF-ENABLE + +SETLOCAL + +CLS & ECHO. & ECHO __________________________________________________________ & ECHO. & ECHO ^| Central AME Script %ver% ^| & ECHO. + +ECHO. & ECHO Enabling desktop notifications... + +TIMEOUT /T 2 /NOBREAK > NUL +REG ADD "HKU\%userSID%\SOFTWARE\Microsoft\Windows\CurrentVersion\PushNotifications" /v ToastEnabled /t REG_DWORD /d 1 /f > NUL +CALL :AUX-RETURN "Desktop notifications are now enabled" -H R:L.sign-out -L "A sign-out is required to take effect." + +:NOTIF-DISABLE + +SETLOCAL + +CLS & ECHO. & ECHO __________________________________________________________ & ECHO. & ECHO ^| Central AME Script %ver% ^| & ECHO. + +ECHO. & ECHO Disabling desktop notifications... + +TIMEOUT /T 2 /NOBREAK > NUL +REG ADD "HKU\%userSID%\SOFTWARE\Microsoft\Windows\CurrentVersion\PushNotifications" /v ToastEnabled /t REG_DWORD /d 0 /f > NUL +CALL :AUX-RETURN "Desktop notifications are now disabled" -H R:L.sign-out -L "A sign-out is required to take effect." +REM -------------------------NOTIF-END------------------------- + + + +REM -------------------------NOTIFCEN-------------------------- +:NOTIFCEN-ENABLE + +SETLOCAL + +CLS & ECHO. & ECHO __________________________________________________________ & ECHO. & ECHO ^| Central AME Script %ver% ^| & ECHO. + +ECHO. & ECHO Enabling Notification Center... + +TIMEOUT /T 2 /NOBREAK > NUL +REG ADD "HKU\%userSID%\Software\Policies\Microsoft\Windows\Explorer" /v DisableNotificationCenter /t REG_DWORD /d 0 /f > NUL +CALL :AUX-RETURN "The Notification Center is now enabled" -H R:L.sign-out -L "A sign-out is required to take effect." + +:NOTIFCEN-DISABLE + +SETLOCAL + +CLS & ECHO. & ECHO __________________________________________________________ & ECHO. & ECHO ^| Central AME Script %ver% ^| & ECHO. + +ECHO. & ECHO Disabling Notification Center... + +TIMEOUT /T 2 /NOBREAK > NUL +REG ADD "HKU\%userSID%\Software\Policies\Microsoft\Windows\Explorer" /v DisableNotificationCenter /t REG_DWORD /d 1 /f > NUL +CALL :AUX-RETURN "The Notification Center is now disabled" -H R:L.sign-out -L "A sign-out is required to take effect." +REM -----------------------NOTIFCEN-END------------------------ + + + +REM -------------------------HIBERNATE------------------------- +:HIBERNATE-ENABLE SETLOCAL @@ -2084,10 +1780,12 @@ CLS & ECHO. & ECHO __________________________________________________ ECHO. & ECHO Enabling Windows Script Host... TIMEOUT /T 2 /NOBREAK > NUL -REG ADD "HKEY_USERS\%userSID%\SOFTWARE\Microsoft\Windows Script Host\Settings" /v Enabled /t REG_DWORD /d 1 /f > NUL +REG ADD "HKU\%userSID%\SOFTWARE\Microsoft\Windows Script Host\Settings" /v Enabled /t REG_DWORD /d 1 /f > NUL +REG ADD "HKCU\SOFTWARE\Microsoft\Windows Script Host\Settings" /v Enabled /t REG_DWORD /d 1 /f > NUL REG ADD "HKLM\SOFTWARE\Microsoft\Windows Script Host\Settings" /v Enabled /t REG_DWORD /d 1 /f > NUL -CALL :AUX-RETURN "WSH is now enabled" -H -R -L "A restart is required to complete the setup." +CALL :AUX-RETURN "WSH is now enabled" -H +REM R:L.sign-out -L "A sign-out is required to complete the setup." :WSH-DISABLE @@ -2098,10 +1796,12 @@ CLS & ECHO. & ECHO __________________________________________________ ECHO. & ECHO Disabling Windows Script Host... TIMEOUT /T 2 /NOBREAK > NUL -REG ADD "HKEY_USERS\%userSID%\SOFTWARE\Microsoft\Windows Script Host\Settings" /v Enabled /t REG_DWORD /d 0 /f > NUL +REG ADD "HKU\%userSID%\SOFTWARE\Microsoft\Windows Script Host\Settings" /v Enabled /t REG_DWORD /d 0 /f > NUL +REG ADD "HKCU\SOFTWARE\Microsoft\Windows Script Host\Settings" /v Enabled /t REG_DWORD /d 0 /f > NUL REG ADD "HKLM\SOFTWARE\Microsoft\Windows Script Host\Settings" /v Enabled /t REG_DWORD /d 0 /f > NUL -CALL :AUX-RETURN "WSH is now disabled" -H -R -L "A restart is required to complete." +CALL :AUX-RETURN "WSH is now disabled" -H +REM "R:R -T 0.restart" -L "A sign-out is required to complete." REM --------------------------WSH-END-------------------------- @@ -2406,6 +2106,441 @@ CALL :AUX-RETURN "Uninstalled NVIDIA Control Panel successfully" -H REM --------------------------NVCP-END------------------------- + REM ------------ + REM Menu Options + REM ------------ + + +REM ----------------------------------------------------------- +:MO-MAINMENU + +CALL :AUX-ELEVATIONCHECK + IF %ERRORLEVEL% EQU 0 ( + SET "homeElevMsg=De-elevate User" + SET "homeElevLoc=ELEVATE-REVOKE" + ) ELSE ( + SET "homeElevMsg=Elevate User to Administrator" + SET "homeElevLoc=ELEVATE-ELEVATE" + ) + +REG QUERY "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System" /v dontdisplaylastusername 2>&1 | FINDSTR /R /X /C:".*dontdisplaylastusername[ ].*REG_DWORD[ ].*0x1" > NUL 2>&1 + IF %ERRORLEVEL% EQU 0 ( + SET "homeNUMsg=Disable Username Login Requirement" + SET "homeNULoc=NOUSERNAME-DISABLE" + ) ELSE ( + SET "homeNUMsg=Enable Username Login Requirement" + SET "homeNULoc=NOUSERNAME-ENABLE" + ) + + +REG QUERY "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon" /v "DefaultUsername" 2>&1 | FINDSTR /c:"%currentUsername%" > NUL 2>&1 + IF %ERRORLEVEL% EQU 0 ( + REG QUERY "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon" /v "AutoAdminLogon" 2>&1 | FINDSTR /R /X /C:".*AutoAdminLogon[ ].*REG_SZ.*[ ]1" > NUL 2>&1 + IF NOT ERRORLEVEL 1 ( + SET "homeALMsg=Disable AutoLogon" + SET "homeALLoc=AUTOLOGON-DISABLE" + ) ELSE ( + SET "homeALMsg=Enable AutoLogon" + SET "homeALLoc=AUTOLOGON-ENABLE" + ) + ) ELSE ( + SET "homeALMsg=Enable AutoLogon" + SET "homeALLoc=AUTOLOGON-ENABLE" + ) +EXIT /B 0 +REM ----------------------------------------------------------- + + + +REM ----------------------------------------------------------- +:MO-EXTRA + +REG QUERY "HKU\%userSID%\SOFTWARE\Microsoft\Windows\CurrentVersion\PushNotifications" /v ToastEnabled 2>&1 | FINDSTR /R /X /C:".*ToastEnabled[ ].*REG_DWORD[ ].*0x0" > NUL 2>&1 + IF %ERRORLEVEL% NEQ 0 ( + SET "homeNOTIFMsg=Disable Desktop Notifications" + SET "homeNOTIFLoc=NOTIF-DISABLE" + ) ELSE ( + SET "homeNOTIFMsg=Enable Desktop Notifications" + SET "homeNOTIFLoc=NOTIF-ENABLE" + ) + +REG QUERY "HKU\%userSID%\SOFTWARE\Policies\Microsoft\Windows\Explorer" /v DisableNotificationCenter 2>&1 | FINDSTR /R /X /C:".*DisableNotificationCenter[ ].*REG_DWORD[ ].*0x1" > NUL 2>&1 + IF %ERRORLEVEL% EQU 0 ( + SET "homeNOTIFCENMsg=Enable Notification Center" + SET "homeNOTIFCENLoc=NOTIFCEN-ENABLE" + ) ELSE ( + SET "homeNOTIFCENMsg=Disable Notification Center" + SET "homeNOTIFCENLoc=NOTIFCEN-DISABLE" + ) + +REG QUERY "HKLM\SYSTEM\CurrentControlSet\Control\Power" /v HibernateEnabled 2>&1 | FINDSTR /R /X /C:".*HibernateEnabled[ ].*REG_DWORD[ ].*0x1" > NUL 2>&1 + IF %ERRORLEVEL% EQU 0 ( + REG QUERY "HKLM\SYSTEM\CurrentControlSet\Control\Power" /v HiberFileType 2>&1 | FINDSTR /R /X /C:".*HiberFileType[ ].*REG_DWORD[ ].*0x1" > NUL 2>&1 + IF NOT ERRORLEVEL 1 ( + SET "homeHIBMsg=Disable Hibernation" + SET "homeHIBLoc=HIBERNATE-DISABLE" + ) ELSE ( + SET "homeHIBMsg=Enable Hibernation" + SET "homeHIBLoc=HIBERNATE-ENABLE" + ) + ) ELSE ( + SET "homeHIBMsg=Enable Hibernation" + SET "homeHIBLoc=HIBERNATE-ENABLE" + ) + +REG QUERY "HKLM\SOFTWARE\Microsoft\Windows Script Host\Settings" /v Enabled 2>&1 | FINDSTR /R /X /C:".*Enabled[ ].*REG_DWORD[ ].*0x0" > NUL 2>&1 + IF %ERRORLEVEL% EQU 0 ( + REG QUERY "HKU\%userSID%\SOFTWARE\Microsoft\Windows Script Host\Settings" /v Enabled 2>&1 | FINDSTR /R /X /C:".*Enabled[ ].*REG_DWORD[ ].*0x1" > NUL 2>&1 + IF ERRORLEVEL 1 ( + SET "homeWSHMsg=Enable Windows Script Host [WSH] (Legacy)" + SET "homeWSHLoc=WSH-ENABLE" + ) ELSE ( + SET "homeWSHMsg=Disable Windows Script Host [WSH] (Legacy)" + SET "homeWSHLoc=WSH-DISABLE" + + ) + ) ELSE ( + REG QUERY "HKU\%userSID%\SOFTWARE\Microsoft\Windows Script Host\Settings" /v Enabled 2>&1 | FINDSTR /R /X /C:".*Enabled[ ].*REG_DWORD[ ].*0x0" > NUL 2>&1 + IF NOT ERRORLEVEL 1 ( + SET "homeWSHMsg=Enable Windows Script Host [WSH] (Legacy)" + SET "homeWSHLoc=WSH-ENABLE" + ) ELSE ( + SET "homeWSHMsg=Disable Windows Script Host [WSH] (Legacy)" + SET "homeWSHLoc=WSH-DISABLE" + + ) + ) + +ASSOC .vbs 2>&1| FINDSTR /I /X /c:".vbs=VBSFile" > NUL 2>&1 + IF %ERRORLEVEL% EQU 0 ( + SET "homeVBSMsg=Disable Visual Basic Script [VBS] (Legacy)" + SET "homeVBSLoc=VBS-DISABLE" + ) ELSE ( + SET "homeVBSMsg=Enable Visual Basic Script [VBS] (Legacy)" + SET "homeVBSLoc=VBS-ENABLE" + ) + +REG QUERY "HKLM\SYSTEM\CurrentControlSet\Services\NlaSvc\Parameters\Internet" /v EnableActiveProbing 2>&1 | FINDSTR /R /X /C:".*EnableActiveProbing[ ].*REG_DWORD[ ].*0x1" > NUL 2>&1 + IF %ERRORLEVEL% EQU 0 ( + SET "homeNCSIMsg=Disable NCSI Active Probing (Legacy)" + SET "homeNCSILoc=NCSI-DISABLE" + ) ELSE ( + SET "homeNCSIMsg=Enable NCSI Active Probing (Legacy)" + SET "homeNCSILoc=NCSI-ENABLE" + ) + +SET "homeNVCPMsg=Write-Host ' [9] Install NVIDIA Control Panel'" +IF EXIST "%SYSTEMDRIVE%\Program Files\NVIDIA Control Panel\nvcplui.exe" ( + SET "homeNVCPLoc=NVCP-UNINSTALL" + SET "homeNVCPMsg=Write-Host ' [9] Uninstall NVIDIA Control Panel'" +) ELSE ( + SET "homeNVCPLoc=NVCP-INSTALL" + WMIC path win32_VideoController get name | FINDSTR "NVIDIA GeForce GTX RTX" > NUL 2>&1 + IF ERRORLEVEL 1 ( + CALL :MO-CHOICE -DelChoice 9 + SET "homeNVCPMsg=Write-Host ' [9] Install NVIDIA Control Panel' -NoNewLine -ForegroundColor DarkGray; Write-Host ' [No NVIDIA GPU]' -ForegroundColor Red" + ) ELSE ( + SC query "NVDisplay.ContainerLocalSystem" > NUL 2>&1 + IF ERRORLEVEL 1 ( + CALL :MO-CHOICE -DelChoice 9 + SET "homeNVCPMsg=Write-Host ' [9] Install NVIDIA Control Panel' -NoNewLine -ForegroundColor DarkGray; Write-Host ' [No NVIDIA Driver]' -ForegroundColor Red" + ) ELSE ( + IF EXIST "%SYSTEMDRIVE%\Program Files\WindowsApps" ( + DIR /A:d /B "%SYSTEMDRIVE%\Program Files\WindowsApps" | FINDSTR /c:"NVIDIACorp.NVIDIAControlPanel" > NUL 2>&1 + IF NOT ERRORLEVEL 1 ( + FOR /F "usebackq delims=" %%A IN (`DIR /A:d /B "%SYSTEMDRIVE%\Program Files\WindowsApps" ^| FINDSTR /c:"NVIDIACorp.NVIDIAControlPanel"`) DO ( + DIR /B "%SYSTEMDRIVE%\Program Files\WindowsApps\%%A" | FINDSTR /i /x /c:"nvcplui.exe" > NUL 2>&1 + IF ERRORLEVEL 1 ( + CURL store.rg-adguard.net 2>&1 | FINDSTR /I /c:"Cloudflare Ray ID" > NUL 2>&1 + IF NOT ERRORLEVEL 1 CALL :MO-CHOICE -DelChoice 9 & SET "homeNVCPMsg=Write-Host ' [9] Install NVIDIA Control Panel' -NoNewLine -ForegroundColor DarkGray; Write-Host ' [Server Unavailable]' -ForegroundColor Red" + ) + ) + ) ELSE ( + CURL store.rg-adguard.net 2>&1 | FINDSTR /I /c:"Cloudflare Ray ID" > NUL 2>&1 + IF NOT ERRORLEVEL 1 CALL :MO-CHOICE -DelChoice 9 & SET "homeNVCPMsg=Write-Host ' [9] Install NVIDIA Control Panel' -NoNewLine -ForegroundColor DarkGray; Write-Host ' [Server Unavailable]' -ForegroundColor Red" + ) + ) + ) + ) +) +CMD /C WSL --help 2>&1 | FINDSTR /I /R /c:"-.-.i.n.s.t.a.l.l.*<.O.p.t.i.o.n.s.>" > NUL 2>&1 + IF %ERRORLEVEL% EQU 0 ( + CALL :MO-CHOICE -DelChoice 1 + SET "homeExtWSLMsg=""" -ForegroundColor DarkGray -NoNewLine; Write-Host ' [Not Supported]' -ForegroundColor Red -NoNewLine; Write-Host """" + ) ELSE ( + SET "homeExtWSLMsg=" + ) +EXIT /B 0 +REM ----------------------------------------------------------- + + + +REM ----------------------------------------------------------- +:MO-LANGUAGE + +REM NULL +EXIT /B 0 +REM ----------------------------------------------------------- + + + +REM ----------------------------------------------------------- +:MO-WSL + + +SET "wslUnattend=" +SET "homeWSLChPos=16" +SET "homeWSLStatus=`n" + +DISM /Online /Get-FeatureInfo:Microsoft-Windows-Subsystem-Linux | FINDSTR /x /c:"State : Enabled" > NUL 2>&1 + IF %ERRORLEVEL% NEQ 0 ( + SET "homeWSLMsg=Enable WSL" + SET "homeWSLLoc=WSL-ENABLE" + ) ELSE ( + SET "homeWSLMsg=Disable WSL" + SET "homeWSLLoc=WSL-DISABLE" + WHERE WSL.exe > NUL 2>&1 + IF ERRORLEVEL 1 ( + SET "homeWSLStatus=""""; Write-Host """"`n$(' '.padleft('18', ' '))A restart is required for WSL functionality."""" -ForegroundColor Red -NoNewLine; Write-Host """"" + SET "homeWSLChPos=17" + ) + ) + +WHERE WSL.exe > NUL 2>&1 + IF %ERRORLEVEL% NEQ 0 ( + CALL :MO-CHOICE -DelChoice 2 + CALL :MO-CHOICE -DelChoice 3 + SET "homeWSLDistroMsgs=""""; Write-Host """"$(' '.padleft('17', ' '))[2] Install WSL Distro`n$(' '.padleft('17', ' '))[3] Remove WSL Distro`n"""" -ForegroundColor DarkGray; Write-Host """"$(' '.padleft('17', ' '))[U] Unattended Distro Install [Disabled]"""" -NoNewLine; Write-Host """" " + ) ELSE ( + CALL :MO-CHOICE -DelChoice U + SET "homeWSLDistroMsgs=`n$(' '.padleft('17', ' '))[2] Install WSL Distro`n$(' '.padleft('17', ' '))[3] Remove WSL Distro`n" + ) +EXIT /B 0 +REM ----------------------------------------------------------- + + + +REM ----------------------------------------------------------- +:MO-LIMMAINMENU + +CALL :AUX-ELEVATIONCHECK + IF %ERRORLEVEL% EQU 0 ( + SET "homeElevMsg=De-elevate User" + ) ELSE ( + SET "homeElevMsg=Elevate User to Administrator" + ) + +REG QUERY "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System" /v dontdisplaylastusername 2>&1 | FINDSTR /R /X /C:".*dontdisplaylastusername[ ].*REG_DWORD[ ].*0x1" > NUL 2>&1 + IF %ERRORLEVEL% EQU 0 ( + SET "homeNUMsg=Disable Username Login Requirement" + ) ELSE ( + SET "homeNUMsg=Enable Username Login Requirement" + ) + +REG QUERY "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon" /v "DefaultUsername" 2>&1 | FINDSTR /c:"%currentUsername%" > NUL 2>&1 + IF %ERRORLEVEL% EQU 0 ( + REG QUERY "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon" /v "AutoAdminLogon" 2>&1 | FINDSTR /R /X /C:".*AutoAdminLogon[ ].*REG_SZ.*[ ]1" > NUL 2>&1 + IF NOT ERRORLEVEL 1 ( + SET "homeALMsg=Disable AutoLogon" + ) ELSE ( + SET "homeALMsg=Enable AutoLogon" + ) + ) ELSE ( + SET "homeALMsg=Enable AutoLogon" + ) +EXIT /B 0 +REM ----------------------------------------------------------- + + + +REM ----------------------------------------------------------- +:MO-LIMEXTRA + +REG QUERY "HKU\%userSID%\SOFTWARE\Microsoft\Windows\CurrentVersion\PushNotifications" /v ToastEnabled 2>&1 | FINDSTR /R /X /C:".*ToastEnabled[ ].*REG_DWORD[ ].*0x1" > NUL 2>&1 + IF %ERRORLEVEL% EQU 0 ( + SET "homeNOTIFMsg=Disable Desktop Notifications" + SET "homeNOTIFLoc=NOTIF-DISABLE" + ) ELSE ( + SET "homeNOTIFMsg=Enable Desktop Notifications" + SET "homeNOTIFLoc=NOTIF-ENABLE" + ) + +REG QUERY "HKU\%userSID%\SOFTWARE\Policies\Microsoft\Windows\Explorer" /v DisableNotificationCenter 2>&1| FINDSTR /R /X /C:".*DisableNotificationCenter[ ].*REG_DWORD[ ].*0x1" > NUL 2>&1 + IF %ERRORLEVEL% EQU 0 ( + SET "homeNOTIFCENMsg=Enable Notification Center" + ) ELSE ( + SET "homeNOTIFCENMsg=Disable Notification Center" + ) + +REG QUERY "HKLM\SYSTEM\CurrentControlSet\Control\Power" /v HibernateEnabled 2>&1 | FINDSTR /R /X /C:".*HibernateEnabled[ ].*REG_DWORD[ ].*0x1" > NUL 2>&1 + IF %ERRORLEVEL% EQU 0 ( + REG QUERY "HKLM\SYSTEM\CurrentControlSet\Control\Power" /v HiberFileType 2>&1 | FINDSTR /R /X /C:".*HiberFileType[ ].*REG_DWORD[ ].*0x1" > NUL 2>&1 + IF NOT ERRORLEVEL 1 ( + SET "homeHIBMsg=Disable Hibernation" + ) ELSE ( + SET "homeHIBMsg=Enable Hibernation" + ) + ) ELSE ( + SET "homeHIBMsg=Enable Hibernation" + ) + +REG QUERY "HKLM\SOFTWARE\Microsoft\Windows Script Host\Settings" /v Enabled 2>&1 | FINDSTR /R /X /C:".*Enabled[ ].*REG_DWORD[ ].*0x0" > NUL 2>&1 + IF %ERRORLEVEL% EQU 0 ( + REG QUERY "HKEY_USERS\%userSID%\SOFTWARE\Microsoft\Windows Script Host\Settings" /v Enabled 2>&1 | FINDSTR /R /X /C:".*Enabled[ ].*REG_DWORD[ ].*0x1" > NUL 2>&1 + IF ERRORLEVEL 1 ( + SET "homeWSHMsg=Enable Windows Script Host [WSH] (Legacy)" + ) ELSE ( + SET "homeWSHMsg=Disable Windows Script Host [WSH] (Legacy)" + + ) + ) ELSE ( + REG QUERY "HKEY_USERS\%userSID%\SOFTWARE\Microsoft\Windows Script Host\Settings" /v Enabled 2>&1 | FINDSTR /R /X /C:".*Enabled[ ].*REG_DWORD[ ].*0x0" > NUL 2>&1 + IF NOT ERRORLEVEL 1 ( + SET "homeWSHMsg=Enable Windows Script Host [WSH] (Legacy)" + ) ELSE ( + SET "homeWSHMsg=Disable Windows Script Host [WSH] (Legacy)" + ) + ) + +ASSOC .vbs 2>&1| FINDSTR /I /X /c:".vbs=VBSFile" > NUL 2>&1 + IF %ERRORLEVEL% EQU 0 ( + SET "homeVBSMsg=Disable Visual Basic Script [VBS] (Legacy)" + SET "homeVBSLoc=VBS-DISABLE" + ) ELSE ( + SET "homeVBSMsg=Enable Visual Basic Script [VBS] (Legacy)" + SET "homeVBSLoc=VBS-ENABLE" + ) + +REG QUERY "HKLM\SYSTEM\CurrentControlSet\Services\NlaSvc\Parameters\Internet" /v EnableActiveProbing 2>&1 | FINDSTR /R /X /C:".*EnableActiveProbing[ ].*REG_DWORD[ ].*0x1" > NUL 2>&1 + IF %ERRORLEVEL% EQU 0 ( + SET "homeNCSIMsg=Disable NCSI Active Probing (Legacy)" + ) ELSE ( + SET "homeNCSIMsg=Enable NCSI Active Probing (Legacy)" + ) + +SET "homeNVCPMsg=Write-Host ' [9] Install NVIDIA Control Panel' -NoNewLine -ForegroundColor DarkGray; Write-Host ' [Admin Required]' -ForegroundColor Red" +IF EXIST "%SYSTEMDRIVE%\Program Files\NVIDIA Control Panel\nvcplui.exe" ( + SET "homeNVCPMsg=Write-Host ' [9] Uninstall NVIDIA Control Panel' -NoNewLine -ForegroundColor DarkGray; Write-Host ' [Admin Required]' -ForegroundColor Red" +) + +CMD /C WSL --help 2>&1 | FINDSTR /I /R /c:"-.-.i.n.s.t.a.l.l.*<.O.p.t.i.o.n.s.>" > NUL 2>&1 + IF %ERRORLEVEL% EQU 0 ( + SET "homeExtWSLMsg= -ForegroundColor DarkGray -NoNewLine; Write-Host ' [Not Supported]' -ForegroundColor Red" + ) ELSE ( + SET "homeExtWSLMsg=" + ) +EXIT /B 0 +REM ----------------------------------------------------------- + + + +REM ----------------------------------------------------------- +:MO-LIMLANGUAGE + +REM NULL +EXIT /B 0 +REM ----------------------------------------------------------- + + + +REM ----------------------------------------------------------- +:MO-LIMWSL + +WHERE WSL.exe > NUL 2>&1 + IF %ERRORLEVEL% NEQ 0 ( + SET "homeWSLMsg=Enable WSL" + ) ELSE ( + SET "homeWSLMsg=Disable WSL" + ) + +SET "homeLIMWSLCh=230X" + +WHERE WSL.exe > NUL 2>&1 + IF %ERRORLEVEL% NEQ 0 ( + CALL :MO-CHOICE -DelChoice 2 + CALL :MO-CHOICE -DelChoice 3 + SET "homeWSLDistroMsgs=$(' '.padleft(17, ' '))[2] Install WSL Distro`n$(' '.padleft(17, ' '))[3] Remove WSL Distro`n`n$(' '.padleft(17, ' '))[U] Unattended Distro Install"""" -ForegroundColor DarkGray -NoNewLine; Write-Host ' [Admin Required]' -ForegroundColor Red -NoNewLine; Write-Host """"" + ) ELSE ( + SET "homeWSLDistroMsgs=$(' '.padleft(17, ' '))[2] Install WSL Distro`n$(' '.padleft(17, ' '))[3] Remove WSL Distro`n" + ) +EXIT /B 0 +REM ----------------------------------------------------------- +:MO-CHOICE + +IF "%~1"=="-InitChoices" CALL :INTERNAL-MO_CHOICE-InitChoices "%~2" "%~3" +IF "%~1"=="-DelChoice" CALL :INTERNAL-MO_CHOICE-DelChoice "%~2" +IF "%~1"=="-StartChoices" CALL :INTERNAL-MO_CHOICE-StartChoices "%~2" + +EXIT /B 0 +:INTERNAL-MO_CHOICE-InitChoices + +SET "moChoices=%~1" +FOR /F "usebackq tokens=2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17 delims=+" %%A IN (`ECHO "%~2"`) DO SET "MOCHI1=%%A" & SET "MOCHI2=%%B" & SET "MOCHI3=%%C" & SET "MOCHI4=%%D" & SET "MOCHI5=%%E" & SET "MOCHI6=%%F" & SET "MOCHI7=%%G" & SET "MOCHI8=%%H" & SET "MOCHI9=%%I" & SET "MOCHI10=%%J" & SET "MOCHI11=%%K" & SET "MOCHI12=%%L" & SET "MOCHI13=%%M" & SET "MOCHI14=%%N" & SET "MOCHI15=%%O" & SET "MOCHI16=%%P" + +EXIT /B 0 + +:INTERNAL-MO_CHOICE-DelChoice + +FOR /F "usebackq tokens=1,2 delims=%~1" %%A IN (`ECHO %moChoices%`) DO ( + SET "moChoices=%%A%%B" + IF NOT "%%B"=="" ( + CALL :AUX-LENGTHFETCH "%%A:" + ) ELSE ( + IF "%moChoices:~0,1%"=="%~1" ( + SET "chRemove=1" + ) ELSE ( + CALL :AUX-LENGTHFETCH "%%A:" + ) + ) +) +IF NOT "%chRemove%"=="1" SET "chRemove=%lenOut%" + +SET /A "chShift=%chRemove%+1" +CALL SET "MOCHI%chRemove%=%%MOCHI%chShift%%%" +SET /A "chShiftAlt=%chShift%+1" +CALL SET "MOCHI%chShift%=%%MOCHI%chShiftAlt%%%" +SET /A "chShift=%chShiftAlt%+1" +CALL SET "MOCHI%chShiftAlt%=%%MOCHI%chShift%%%" +SET /A "chShiftAlt=%chShift%+1" +CALL SET "MOCHI%chShift%=%%MOCHI%chShiftAlt%%%" +SET /A "chShift=%chShiftAlt%+1" +CALL SET "MOCHI%chShiftAlt%=%%MOCHI%chShift%%%" +SET /A "chShiftAlt=%chShift%+1" +CALL SET "MOCHI%chShift%=%%MOCHI%chShiftAlt%%%" +SET /A "chShift=%chShiftAlt%+1" +CALL SET "MOCHI%chShiftAlt%=%%MOCHI%chShift%%%" +SET /A "chShiftAlt=%chShift%+1" +CALL SET "MOCHI%chShift%=%%MOCHI%chShiftAlt%%%" +SET /A "chShift=%chShiftAlt%+1" +CALL SET "MOCHI%chShiftAlt%=%%MOCHI%chShift%%%" +SET /A "chShiftAlt=%chShift%+1" +CALL SET "MOCHI%chShift%=%%MOCHI%chShiftAlt%%%" +SET /A "chShift=%chShiftAlt%+1" +CALL SET "MOCHI%chShiftAlt%=%%MOCHI%chShift%%%" +SET /A "chShiftAlt=%chShift%+1" +CALL SET "MOCHI%chShift%=%%MOCHI%chShiftAlt%%%" +SET /A "chShift=%chShiftAlt%+1" +CALL SET "MOCHI%chShiftAlt%=%%MOCHI%chShift%%%" +SET /A "chShiftAlt=%chShift%+1" +CALL SET "MOCHI%chShift%=%%MOCHI%chShiftAlt%%%" +SET /A "chShift=%chShiftAlt%+1" +CALL SET "MOCHI%chShiftAlt%=%%MOCHI%chShift%%%" +SET /A "chShiftAlt=%chShift%+1" +CALL SET "MOCHI%chShift%=%%MOCHI%chShiftAlt%%%" + +EXIT /B 0 + +:INTERNAL-MO_CHOICE-StartChoices + +SETLOCAL ENABLEDELAYEDEXPANSION +POWERSHELL -NoP -C "Write-Host """"%~1`n$(' '.padleft(11, ' '))__________________________________________________________`n`n$(' '.padleft(11, ' '))Choose a menu option: """" -NoNewLine; [Console]::CursorVisible = $True; CHOICE /C %moChoices% /N /M '%BS%'; [Console]::CursorVisible = $False; EXIT $LastExitCode" +CALL SET "moChoice=%%MOCHI%ERRORLEVEL%%%" +SET "moChoice=%moChoice:|=^|%" + +ENDLOCAL & (GOTO) 2>NUL & (GOTO) 2>NUL & %moChoice:""="% +REM ----------------------------------------------------------- + + REM ---------------- REM Script Functions REM ---------------- @@ -2494,25 +2629,25 @@ IF "%cenOut%"=="" ( SET "returnMsg=Write-Host """`n"""; Write-Host '%returnOutComm%'%errorColor%; Write-Host '%cenOut%'%errorColor%; Write-Host """ __________________________________________________________`n"""; " ) -IF /I "%~3"=="-R" ( - POWERSHELL -NoP -C "%returnMsg%Write-Host """ Would you like to restart now? ^(Y/N^): """ -NoNewLine; [Console]::CursorVisible = $True; CHOICE /C NY /N /M '%BS%'; [Console]::CursorVisible = $False; EXIT $LastExitCode" - IF ERRORLEVEL 2 SHUTDOWN -R -T 0 & EXIT 0 +IF /I "%~d3"=="R:" ( + POWERSHELL -NoP -C "%returnMsg%Write-Host """ Would you like to $^('%~x3'.replace^('.'^, ''^).replace('-',' '^)^) now? ^(Y/N^): """ -NoNewLine; [Console]::CursorVisible = $True; CHOICE /C NY /N /M '%BS%'; [Console]::CursorVisible = $False; EXIT $LastExitCode" + IF ERRORLEVEL 2 SHUTDOWN -%~n3 & EXIT 0 ) ELSE ( - IF /I "%~4"=="-R" ( - POWERSHELL -NoP -C "%returnMsg%Write-Host """ Would you like to restart now? ^(Y/N^): """ -NoNewLine; [Console]::CursorVisible = $True; CHOICE /C NY /N /M '%BS%'; [Console]::CursorVisible = $False; EXIT $LastExitCode" - IF ERRORLEVEL 2 SHUTDOWN -R -T 0 & EXIT 0 + IF /I "%~d4"=="R:" ( + POWERSHELL -NoP -C "%returnMsg%Write-Host """ Would you like to $^('%~x4'.replace^('.'^, ''^).replace('-',' '^)^) now? ^(Y/N^): """ -NoNewLine; [Console]::CursorVisible = $True; CHOICE /C NY /N /M '%BS%'; [Console]::CursorVisible = $False; EXIT $LastExitCode" + IF ERRORLEVEL 2 SHUTDOWN -%~n4 & EXIT 0 ) ELSE ( - IF /I "%~5"=="-R" ( - POWERSHELL -NoP -C "%returnMsg%Write-Host """ Would you like to restart now? ^(Y/N^): """ -NoNewLine; [Console]::CursorVisible = $True; CHOICE /C NY /N /M '%BS%'; [Console]::CursorVisible = $False; EXIT $LastExitCode" - IF ERRORLEVEL 2 SHUTDOWN -R -T 0 & EXIT 0 + IF /I "%~d5"=="R:" ( + POWERSHELL -NoP -C "%returnMsg%Write-Host """ Would you like to $^('%~x5'.replace^('.'^, ''^).replace('-',' '^)^) now? ^(Y/N^): """ -NoNewLine; [Console]::CursorVisible = $True; CHOICE /C NY /N /M '%BS%'; [Console]::CursorVisible = $False; EXIT $LastExitCode" + IF ERRORLEVEL 2 SHUTDOWN -%~n5 & EXIT 0 ) ELSE ( - IF /I "%~6"=="-R" ( - POWERSHELL -NoP -C "%returnMsg%Write-Host """ Would you like to restart now? ^(Y/N^): """ -NoNewLine; [Console]::CursorVisible = $True; CHOICE /C NY /N /M '%BS%'; [Console]::CursorVisible = $False; EXIT $LastExitCode" - IF ERRORLEVEL 2 SHUTDOWN -R -T 0 & EXIT 0 + IF /I "%~d6"=="R:" ( + POWERSHELL -NoP -C "%returnMsg%Write-Host """ Would you like to $^('%~x6'.replace^('.'^, ''^).replace('-',' '^)^) now? ^(Y/N^): """ -NoNewLine; [Console]::CursorVisible = $True; CHOICE /C NY /N /M '%BS%'; [Console]::CursorVisible = $False; EXIT $LastExitCode" + IF ERRORLEVEL 2 SHUTDOWN -%~n6 & EXIT 0 ) ELSE ( - IF /I "%~7"=="-R" ( - POWERSHELL -NoP -C "%returnMsg%Write-Host """ Would you like to restart now? ^(Y/N^): """ -NoNewLine; [Console]::CursorVisible = $True; CHOICE /C NY /N /M '%BS%'; [Console]::CursorVisible = $False; EXIT $LastExitCode" - IF ERRORLEVEL 2 SHUTDOWN -R -T 0 & EXIT 0 + IF /I "%~d7"=="R:" ( + POWERSHELL -NoP -C "%returnMsg%Write-Host """ Would you like to $^('%~x7'.replace^('.'^, ''^).replace('-',' '^)^) now? ^(Y/N^): """ -NoNewLine; [Console]::CursorVisible = $True; CHOICE /C NY /N /M '%BS%'; [Console]::CursorVisible = $False; EXIT $LastExitCode" + IF ERRORLEVEL 2 SHUTDOWN -%~n7 & EXIT 0 ) ELSE ( POWERSHELL -NoP -C "%returnMsg%Write-Host -NoNewLine ' Press any key to return to the Menu: '; [Console]::CursorVisible = $True; $NULL = $Host.UI.RawUI.ReadKey('NoEcho,IncludeKeyDown'); [Console]::CursorVisible = $False" ) @@ -3403,7 +3538,7 @@ FINDSTR "1 2 3 4 5 6 7 8 9 0" "%userTemp%\[amecs]-DistroPID%rndOut%.txt" > NUL 2 FINDSTR /X /c:"AME-ERROR" "%userTemp%\[amecs]-WSLCom%rndOut%.txt">NUL 2>&1 && SET /A "count2=%count2%+500" FINDSTR /X /c:"AME-INPUTREQ" "%userTemp%\[amecs]-WSLCom%rndOut%.txt">NUL 2>&1 && GOTO ALTPARENT-WSL-CONFIG -TASKLIST /FI "IMAGENAME eq cmd.exe" /FI "PID eq %altRunPID%" 2>&1 | FINDSTR /i /c:"ERROR:" /c:"INFO: No tasks are running">NUL 2>&1 && SET /A "count1=%count1%+70" +TASKLIST /FI "IMAGENAME eq cmd.exe" /FI "PID eq %altRunPID%" 2>&1 | FINDSTR /i /c:"cmd.exe">NUL 2>&1 || SET /A "count1=%count1%+70" TIMEOUT /T 2 /NOBREAK > NUL 2>&1 SET /A "count1=%count2%+1" GOTO ALTPARENT-WSL-DISTROPROGRESS @@ -3514,7 +3649,7 @@ POWERSHELL -NoP -C "[console]::OutputEncoding = [Text.UnicodeEncoding]::Unicode; GOTO ALTCHILD-WSL-CONFIG ) -TASKLIST /FI "IMAGENAME eq cmd.exe" /FI "PID eq %distroHostPID%" 2>&1 | FINDSTR /i /c:"ERROR:" /c:"INFO: No tasks are running">NUL 2>&1 && SET /A "count1=%count1%+50" +TASKLIST /FI "IMAGENAME eq cmd.exe" /FI "PID eq %distroHostPID%" 2>&1 | FINDSTR /i /c:"cmd.exe">NUL 2>&1 || SET /A "count1=%count1%+50" SET /A "count1=%count1%+1" GOTO ALTCHILD-WSL-DISTROPROGRESS