Browse Source

Added profile image function. Added hibernation function. Added beta new user function. Bug fixes and improvements

master
Joe 2 years ago
parent
commit
b978930cb1
2 changed files with 428 additions and 118 deletions
  1. +396
    -112
      CentralAMEScript.cmd
  2. +32
    -6
      README.md

+ 396
- 112
CentralAMEScript.cmd View File

@ -21,7 +21,7 @@ NET SESSION > NUL 2>&1
IF %ERRORLEVEL% GTR 0 GOTO PRE-ADMINCHECK2
CALL :AUX-ELEVATIONCHECK
IF /I "%currentUsername%"=="RestartRequired" (
ECHO Running this script after a username change may cause issues^! & ECHO.
ECHO Running this script after a username change may cause serious damage^! & ECHO.
CHOICE /C YN /N /M "Run anyways? (Y/N): "
IF %ERRORLEVEL%==1 GOTO HOME-MAINMENU
IF %ERRORLEVEL%==2 EXIT /B 0 )
@ -29,7 +29,7 @@ GOTO HOME-MAINMENU
:PRE-ADMINCHECK2
POWERSHELL "Start-Process '%scriptPath%' -Verb RunAs" > NUL 2>&1
POWERSHELL -NoP -C "Start-Process '%scriptPath%' -Verb RunAs" > NUL 2>&1
IF %ERRORLEVEL% GTR 0 CHOICE /C YN /N /M "Elevation canceled, run with limited functionality? (Y/N): "
IF %ERRORLEVEL%==1 SET lim=rem & GOTO HOME-MAINMENU
IF %ERRORLEVEL%==2 EXIT /B 0
@ -48,20 +48,20 @@ REM ----------------------------MENU----------------------------
CLS & ECHO. & ECHO __________________________________________________________ & ECHO. & ECHO ^| Central AME Script %ver% ^| & ECHO. & ECHO.
%lim%ECHO [1] Change Username or Password
%lim%ECHO [2] Change Lockscreen Image
ECHO [3] Change Language Settings
%lim%ECHO [4] Elevate User to Administrator
%lim%ECHO [5] Login w^/o Typing Username
%lim%ECHO [3] Change Profile Image
ECHO [4] Change Language Settings
%lim%ECHO [5] Elevate User to Administrator
%lim%ECHO [6] Login w^/o Typing Username
ECHO.
ECHO [0] Update Script
%lim%ECHO [E] Extra
ECHO [X] Exit & ECHO. & ECHO __________________________________________________________ & ECHO.
CHOICE /C 123450EX8 /N /M "%BS% Choose a menu option: "
CHOICE /C 123456EX8 /N /M "%BS% Choose a menu option: "
%lim%IF %ERRORLEVEL%==1 GOTO USERPASS-MENU
%lim%IF %ERRORLEVEL%==2 GOTO LOCKSCREEN-GRABIMAGE
IF %ERRORLEVEL%==3 GOTO HOME-LANGUAGE
%lim%IF %ERRORLEVEL%==4 GOTO ELEVATE-MENU
%lim%IF %ERRORLEVEL%==5 GOTO NOUSERNAME-MENU
IF %ERRORLEVEL%==6 GOTO AUX-UPDATE
%lim%IF %ERRORLEVEL%==3 GOTO PFP-GRABIMAGE
IF %ERRORLEVEL%==4 GOTO HOME-LANGUAGE
%lim%IF %ERRORLEVEL%==5 GOTO ELEVATE-MENU
%lim%IF %ERRORLEVEL%==6 GOTO NOUSERNAME-MENU
%lim%IF %ERRORLEVEL%==7 GOTO HOME-EXTRA
IF %ERRORLEVEL%==8 EXIT /B 0
GOTO HOME-MAINMENU
@ -69,16 +69,20 @@ ECHO [X] Exit & ECHO. & ECHO _______________________
:HOME-EXTRA
CLS & ECHO. & ECHO __________________________________________________________ & ECHO. & ECHO ^| Central AME Script %ver% ^| & ECHO. & ECHO.
%lim%ECHO [1] Enable Windows Script Host (Legacy)
%lim%ECHO [2] Enable NCSI Active Probing (Legacy)
%lim%ECHO [1] Enable Hibernation
%lim%ECHO [2] Enable Windows Script Host (Legacy)
%lim%ECHO [3] Enable NCSI Active Probing (Legacy)
%lim%ECHO [4] Create New User (Beta)
%lim%ECHO.
ECHO [0] Return to Menu & ECHO [X] Exit & ECHO. & ECHO __________________________________________________________ & ECHO.
CHOICE /C 120X /N /M "%BS% Choose a menu option: "
%lim%IF %ERRORLEVEL%==1 GOTO WSH-MENU
%lim%IF %ERRORLEVEL%==2 GOTO NCSI-MENU
IF %ERRORLEVEL%==3 GOTO HOME-MAINMENU
IF %ERRORLEVEL%==4 EXIT /B 0
GOTO HOME-MAINMENU
CHOICE /C 12340X /N /M "%BS% Choose a menu option: "
%lim%IF %ERRORLEVEL%==1 GOTO HIBERNATE-MENU
%lim%IF %ERRORLEVEL%==2 GOTO WSH-MENU
%lim%IF %ERRORLEVEL%==3 GOTO NCSI-MENU
%lim%IF %ERRORLEVEL%==4 GOTO NEWUSER-MENU
IF %ERRORLEVEL%==5 GOTO HOME-MAINMENU
IF %ERRORLEVEL%==6 EXIT /B 0
GOTO HOME-EXTRA
:HOME-LANGUAGE
@ -107,30 +111,31 @@ REM --------------------------MENU-END--------------------------
REM --------------------------USERPASS--------------------------
:USERPASS-MENU
SETLOCAL
CLS & ECHO. & ECHO __________________________________________________________ & ECHO. & ECHO ^| Central AME Script %ver% ^| & ECHO. & ECHO. & ECHO [1] Change Username & ECHO [2] Change Password & ECHO [3] Change Administrator Password & ECHO. & ECHO [0] Return to Menu & ECHO [X] Exit & ECHO. & ECHO __________________________________________________________ & ECHO.
CHOICE /C 1230X /N /M "%BS% Choose a menu option: "
IF %ERRORLEVEL%==1 GOTO USERPASS-USERNAME
IF %ERRORLEVEL%==2 GOTO USERPASS-PASSWORD
IF %ERRORLEVEL%==3 GOTO USERPASS-ADMINPASSWORD
IF %ERRORLEVEL%==4 GOTO HOME-MAINMENU
IF %ERRORLEVEL%==4 ENDLOCAL & GOTO HOME-MAINMENU
IF %ERRORLEVEL%==5 EXIT /B 0
:USERPASS-USERNAME
CLS & ECHO. & ECHO __________________________________________________________ & ECHO. & ECHO ^| Central AME Script %ver% ^| & ECHO.
SET newUsername=
SET /P newUsername="%BS% Enter the new Username, or enter 'Cancel' to quit: "
IF /I "%newUsername%"=="Cancel" GOTO USERPASS-MENU
SET "newUsername="
SET /P "newUsername=%BS% Enter the new Username, or enter 'Cancel' to quit: "
IF /I "%newUsername%"=="Cancel" ENDLOCAL & GOTO USERPASS-MENU
IF "%newUsername%"=="" (
ECHO. & ECHO. & ECHO Input cannot be blank. & ECHO __________________________________________________________ & ECHO.
PAUSE > NUL|SET /P =%BS% Press any key to return to the Menu:
GOTO USERPASS-MENU )
ENDLOCAL & GOTO USERPASS-MENU )
TIMEOUT /T 1 /NOBREAK > NUL
FOR /F "tokens=3" %%A IN ('WMIC useraccount where "name='%currentUsername%'" rename '%newUsername%'') DO SET "wmicOutput=%%A" > NUL 2>&1
IF "%wmicOutput%"=="0;" SET "currentUsername=%newUsername%" & ECHO. & ECHO Username Changed Successfully & ECHO A restart is recommended.
FOR /F "usebackq tokens=3" %%A IN (`WMIC useraccount where "name='%currentUsername%'" rename '%newUsername%'`) DO SET "wmicOutput=%%A" > NUL 2>&1
IF "%wmicOutput%"=="0;" ENDLOCAL & SET "currentUsername=%newUsername%" & ECHO. & ECHO Username Changed Successfully & ECHO A restart is recommended.
REM This should only happen if the user changes their username AND closes/re-opens the .cmd before restarting.
IF "%wmicOutput%"=="Available." ECHO. & ECHO You must restart before changing your username again.
IF "%wmicOutput%"=="9;" ECHO. & ECHO Invalid input. & SET "loc=USERPASS-MENU"
IF "%wmicOutput%"=="Available." ENDLOCAL & ECHO. & ECHO You must restart before changing your username again.
IF "%wmicOutput%"=="9;" ENDLOCAL & ECHO. & ECHO Invalid input. & SET "loc=USERPASS-MENU"
ECHO __________________________________________________________ & ECHO.
PAUSE > NUL|SET /P =%BS% Press any key to return to the Menu:
GOTO HOME-MAINMENU
@ -138,27 +143,27 @@ GOTO HOME-MAINMENU
:USERPASS-PASSWORD
CLS & ECHO. & ECHO __________________________________________________________ & ECHO. & ECHO ^| Username/Password Changer ^| & ECHO.
SET newPassword=
SET /P newPassword="%BS% Enter the new Password, or enter 'Cancel' to quit: "
IF /I "%newPassword%"=="Cancel" GOTO USERPASS-MENU
SET "newPassword="
SET /P "newPassword=%BS% Enter the new Password, or enter 'Cancel' to quit: "
IF /I "%newPassword%"=="Cancel" ENDLOCAL & GOTO USERPASS-MENU
IF "%newPassword%"=="" (
ECHO. & ECHO Input cannot be blank. :& ECHO __________________________________________________________ & ECHO.
PAUSE > NUL|SET /P =%BS% Press any key to return to the Menu:
GOTO USERPASS-MENU )
ENDLOCAL & GOTO USERPASS-MENU )
TIMEOUT /T 1 /NOBREAK > NUL
NET user "%currentUsername%" "%newPassword%" > NUL 2>&1
IF %ERRORLEVEL% LEQ 0 SET "currentPassword=%newPassword%" & ECHO. & ECHO. & ECHO Password Changed Successfully
IF %ERRORLEVEL% LEQ 0 ECHO. & ECHO. & ECHO Password Changed Successfully
REM This should only happen if the user changes their username AND closes/re-opens the .cmd before restarting.
IF %ERRORLEVEL% GTR 0 ECHO. & ECHO. & ECHO. & ECHO You must restart after changing your username. & ECHO.
ECHO __________________________________________________________ & ECHO.
PAUSE > NUL|SET /P =%BS% Press any key to return to the Menu:
GOTO HOME-MAINMENU
ENDLOCAL & GOTO HOME-MAINMENU
:USERPASS-ADMINPASSWORD
CLS & ECHO. & ECHO __________________________________________________________ & ECHO. & ECHO ^| Username/Password Changer ^| & ECHO.
SET newPassword=
SET /P newPassword="%BS% Enter the new Password, or enter 'Cancel' to quit: "
SET "newPassword="
SET /P "newPassword=%BS% Enter the new Password, or enter 'Cancel' to quit: "
IF /I "%newPassword%"=="Cancel" GOTO USERPASS-MENU
IF "%newPassword%"=="" (
ECHO. & ECHO Input cannot be blank. :& ECHO __________________________________________________________ & ECHO.
@ -166,12 +171,12 @@ SET /P newPassword="%BS% Enter the new Password, or enter 'Cancel' to
GOTO USERPASS-MENU )
TIMEOUT /T 1 /NOBREAK > NUL
NET user "Administrator" "%newPassword%" > NUL 2>&1
IF %ERRORLEVEL% LEQ 0 SET "currentPassword=%newPassword%" & ECHO. & ECHO. & ECHO Admin Password Changed Successfully
IF %ERRORLEVEL% LEQ 0 ECHO. & ECHO. & ECHO Admin Password Changed Successfully
REM This should only happen if the user changes their username AND closes/re-opens the .cmd before restarting.
IF %ERRORLEVEL% GTR 0 ECHO. & ECHO. & ECHO. & ECHO Action failed. & ECHO.
ECHO __________________________________________________________ & ECHO.
PAUSE > NUL|SET /P =%BS% Press any key to return to the Menu:
GOTO HOME-MAINMENU
ENDLOCAL & GOTO HOME-MAINMENU
REM ------------------------USERPASS-END------------------------
@ -179,18 +184,22 @@ REM ------------------------USERPASS-END------------------------
REM -------------------------LOCKSCREEN-------------------------
:LOCKSCREEN-GRABIMAGE
SETLOCAL
REM Original Author & Co-Author: Logan Darklock, lucid
CLS & ECHO. & ECHO __________________________________________________________ & ECHO. & ECHO ^| Central AME Script %ver% ^| & ECHO. & ECHO Select your image & ECHO.
DIR %SYSTEMDRIVE%\Users | FINDSTR "%possibleUserDir%" > NUL 2>&1
IF %ERRORLEVEL% LEQ 0 SET "ImgSelDir=\%possibleUserDir%"
SET "IMAGEPATH=" & SET "IMAGEEXT="
SET LSPSComm=POWERSHELL -NoP -C "[System.Reflection.Assembly]::LoadWithPartialName('System.windows.forms')|Out-Null;$OFD = New-Object System.Windows.Forms.OpenFileDialog;$OFD.Multiselect = $True;$OFD.Filter = 'Image Files (*.jpg; *.jpeg; *.png; *.bmp; *.jfif)| *.jpg; *.jpeg; *.png; *.bmp; *.jfif';$OFD.InitialDirectory = '%SYSTEMDRIVE%\Users%ImgSelDir%';$OFD.ShowDialog()|out-null;$OFD.FileNames"
REM Execute PowerShell command and get results in IMAGEPATH and IMAGEEXT variables
FOR /F "delims=" %%I in ('%LSPSComm%') DO SET "IMAGEPATH=%%~I" & SET "IMAGEEXT=%%~xI"
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 "IMAGEPATH=%%~I"
IF "%IMAGEPATH%" =="" (
ECHO. & ECHO You must select an image & ECHO __________________________________________________________ & ECHO.
PAUSE > NUL|SET /P =%BS% Press any key to return to the Menu:
GOTO HOME-MAINMENU )
ENDLOCAL & GOTO HOME-MAINMENU )
CHOICE /C YN /N /M "%BS% Remove lockscreen blur? (Y/N): "
IF %ERRORLEVEL%==1 REG ADD "HKLM\SOFTWARE\Policies\Microsoft\Windows\System" /v DisableAcrylicBackgroundOnLogon /t REG_DWORD /d 1 /f > NUL
IF %ERRORLEVEL%==2 REG DELETE "HKLM\SOFTWARE\Policies\Microsoft\Windows" /v DisableAcrylicBackgroundOnLogon /f > NUL 2>&1
:LOCKSCREEN-DEPLOY
@ -204,21 +213,88 @@ TAKEOWN /R /D Y /F "%PROGRAMDATA%\Microsoft\Windows\SystemData" > NUL
ICACLS "%PROGRAMDATA%\Microsoft\Windows\SystemData" /reSET /t > NUL
FOR /D %%x in ("%PROGRAMDATA%\Microsoft\Windows\SystemData\*") do (
FOR /D %%y in ("%%x\ReadOnly\LockScreen_*") do rd /s /q "%%y" )
ECHO. & ECHO Wallpaper changed successfully & ECHO __________________________________________________________ & ECHO.
ECHO. & ECHO. & ECHO Wallpaper changed successfully & ECHO __________________________________________________________ & ECHO.
PAUSE > NUL|SET /P =%BS% Press any key to return to the Menu:
GOTO HOME-MAINMENU
ENDLOCAL & GOTO HOME-MAINMENU
REM -----------------------LOCKSCREEN-END-----------------------
REM ----------------------------PFP-----------------------------
:PFP-GRABIMAGE
SETLOCAL
REM Original Author & Co-Author: Logan Darklock, lucid
CLS & ECHO. & ECHO __________________________________________________________ & ECHO. & ECHO ^| Central AME Script %ver% ^| & ECHO. & ECHO Select your image & ECHO.
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 "IMAGE=%%~I"
IF "%IMAGE%"=="" (
ECHO. & ECHO You must select an image & ECHO __________________________________________________________ & ECHO.
PAUSE > NUL|SET /P =%BS% Press any key to return to the Menu:
ENDLOCAL & GOTO HOME-MAINMENU )
:PFP-DEPLOY
ECHO Setting profile image...
FOR /F "usebackq delims=" %%F IN (`WMIC useraccount where "name="%currentUsername%"" get sid ^| FINDSTR "S-"`) DO SET PFPSID=%%F
SET "PFPSID=%PFPSID:~0,-3%"
REM On recent Windows 10 versions, resolutions called for are:
REM 32x32, 40x40, 48x48, 64x64, 96x96, 192x192, 208x208, 240x240, 424x424,
REM 448x448, 1080x1080
SET "FOLDER=%PUBLIC%\AccountPictures\%PFPSID%"
MKDIR "%FOLDER%" > NUL 2>&1
TAKEOWN /r /d Y /f "%FOLDER%" > NUL
ICACLS "%FOLDER%" /reset /t > NUL
DEL /Q /F "%FOLDER%\*" > NUL
POWERSHELL -NoP -C "Add-Type -AssemblyName System.Drawing; $img = [System.Drawing.Image]::FromFile((Get-Item """"%IMAGE%"""")); $a = New-Object System.Drawing.Bitmap(32, 32); $graph = [System.Drawing.Graphics]::FromImage($a); $graph.DrawImage($img, 0, 0, 32, 32); $a.Save("""%FOLDER%\32x32.png"""); $b = New-Object System.Drawing.Bitmap(40, 40); $graph = [System.Drawing.Graphics]::FromImage($b); $graph.DrawImage($img, 0, 0, 40, 40); $b.Save("""%FOLDER%\40x40.png"""); $c = New-Object System.Drawing.Bitmap(48, 48); $graph = [System.Drawing.Graphics]::FromImage($c); $graph.DrawImage($img, 0, 0, 48, 48); $c.Save("""%FOLDER%\48x48.png"""); $d = New-Object System.Drawing.Bitmap(64, 64); $graph = [System.Drawing.Graphics]::FromImage($d); $graph.DrawImage($img, 0, 0, 64, 64); $d.Save("""%FOLDER%\64x64.png"""); $e = New-Object System.Drawing.Bitmap(96, 96); $graph = [System.Drawing.Graphics]::FromImage($e); $graph.DrawImage($img, 0, 0, 96, 96); $e.Save("""%FOLDER%\96x96.png"""); $f = New-Object System.Drawing.Bitmap(192, 192); $graph = [System.Drawing.Graphics]::FromImage($f); $graph.DrawImage($img, 0, 0, 192, 192); $f.Save("""%FOLDER%\192x192.png"""); $g = New-Object System.Drawing.Bitmap(208, 208); $graph = [System.Drawing.Graphics]::FromImage($g); $graph.DrawImage($img, 0, 0, 208, 208); $g.Save("""%FOLDER%\208x208.png"""); $h = New-Object System.Drawing.Bitmap(240, 240); $graph = [System.Drawing.Graphics]::FromImage($h); $graph.DrawImage($img, 0, 0, 240, 240); $h.Save("""%FOLDER%\240x240.png"""); $i = New-Object System.Drawing.Bitmap(424, 424); $graph = [System.Drawing.Graphics]::FromImage($i); $graph.DrawImage($img, 0, 0, 424, 424); $i.Save("""%FOLDER%\424x424.png"""); $j = New-Object System.Drawing.Bitmap(448, 448); $graph = [System.Drawing.Graphics]::FromImage($j); $graph.DrawImage($img, 0, 0, 448, 448); $j.Save("""%FOLDER%\448x448.png"""); $k = New-Object System.Drawing.Bitmap(1080, 1080); $graph = [System.Drawing.Graphics]::FromImage($k); $graph.DrawImage($img, 0, 0, 1080, 1080); $k.Save("""%FOLDER%\1080x1080.png""")"
SET "KEY=HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\AccountPicture\Users\%PFPSID%"
REM Runs the reg delete command as SYSTEM
SCHTASKS /create /tn "AME PFPREG" /tr "CMD /C 'REG DELETE '%KEY%' /f'" /sc MONTHLY /f /rl HIGHEST /ru "SYSTEM" > NUL
SCHTASKS /run /tn "AME PFPREG" > NUL
SCHTASKS /delete /tn "AME PFPREG" /f > NUL
REG ADD "%KEY%" /f > NUL
REG ADD "%KEY%" /v Image32 /t REG_SZ /d "%FOLDER%\32x32.png" /f > NUL
REG ADD "%KEY%" /v Image40 /t REG_SZ /d "%FOLDER%\40x40.png" /f > NUL
REG ADD "%KEY%" /v Image48 /t REG_SZ /d "%FOLDER%\48x48.png" /f > NUL
REG ADD "%KEY%" /v Image64 /t REG_SZ /d "%FOLDER%\64x64.png" /f > NUL
REG ADD "%KEY%" /v Image96 /t REG_SZ /d "%FOLDER%\96x96.png" /f > NUL
REG ADD "%KEY%" /v Image192 /t REG_SZ /d "%FOLDER%\192x192.png" /f > NUL
REG ADD "%KEY%" /v Image208 /t REG_SZ /d "%FOLDER%\208x208.png" /f > NUL
REG ADD "%KEY%" /v Image240 /t REG_SZ /d "%FOLDER%\240x240.png" /f > NUL
REG ADD "%KEY%" /v Image424 /t REG_SZ /d "%FOLDER%\424x424.png" /f > NUL
REG ADD "%KEY%" /v Image448 /t REG_SZ /d "%FOLDER%\448x448.png" /f > NUL
REG ADD "%KEY%" /v Image1080 /t REG_SZ /d "%FOLDER%\1080x1080.png" /f > NUL
REG ADD "HKU\%PFPSID%\SOFTWARE\OpenShell\StartMenu\Settings" /v UserPicturePath /t REG_SZ /d "%FOLDER%\448x448.png" /f > NUL
GPUPDATE /force > NUL
ECHO. & ECHO. & ECHO Profile image changed successfully & ECHO __________________________________________________________ & ECHO.
PAUSE > NUL|SET /P =%BS% Press any key to return to the Menu:
ENDLOCAL & GOTO HOME-MAINMENU
REM --------------------------PFP-END---------------------------
REM -------------------------ELEVATION--------------------------
:ELEVATE-MENU
SETLOCAL
CLS & ECHO %currentUsername%: %userStatus% & ECHO __________________________________________________________ & ECHO. & ECHO ^| Central AME Script %ver% ^| & ECHO. & ECHO. & ECHO [1] Elevate your user & ECHO [2] De-elevate your user & ECHO. & ECHO [0] Return to Menu & ECHO [X] Exit & ECHO. & ECHO __________________________________________________________ & ECHO.
CHOICE /C 120X /N /M "%BS% Choose a menu option: "
IF %ERRORLEVEL%==1 SET "elevMenu=1" & GOTO ELEVATE-ELEVATE
IF %ERRORLEVEL%==2 SET "elevMenu=2" & GOTO ELEVATE-REVOKE
IF %ERRORLEVEL%==3 GOTO HOME-MAINMENU
IF %ERRORLEVEL%==3 ENDLOCAL & GOTO HOME-MAINMENU
IF %ERRORLEVEL%==4 EXIT /B 0
:ELEVATE-ELEVATE
@ -227,7 +303,7 @@ SET "cenStr=%currentUsername% is already an Administrator." & CALL :AUX-CENTERTE
IF "%userStatus%"=="Elevated" (
CLS & ECHO %currentUsername%: %userStatus% & ECHO __________________________________________________________ & ECHO. & ECHO ^| Central AME Script %ver% ^| & ECHO. & ECHO. & ECHO. & ECHO%cenOut% & ECHO __________________________________________________________& ECHO.
PAUSE > NUL|SET /P =%BS% Press any key to return to the Menu:
GOTO ELEVATE-MENU )
ENDLOCAL & GOTO ELEVATE-MENU )
SET "cenStr=Elevating %currentUsername% to Administrator..." & CALL :AUX-CENTERTEXT
CLS & ECHO. & ECHO __________________________________________________________ & ECHO. & ECHO ^| Central AME Script %ver% ^| & ECHO. & ECHO%cenOut%
TIMEOUT /T 2 /NOBREAK > NUL
@ -242,7 +318,7 @@ SET "cenStr=%currentUsername% is not an Administator." & CALL :AUX-CENTERTEXT
IF "%userStatus%"=="Not Elevated" (
CLS & ECHO %currentUsername%: %userStatus% & ECHO __________________________________________________________ & ECHO. & ECHO ^| Central AME Script %ver% ^| & ECHO. & ECHO. & ECHO%cenOut% & ECHO __________________________________________________________& ECHO.
PAUSE > NUL|SET /P =%BS% Press any key to return to the Menu:
GOTO ELEVATE-MENU )
ENDLOCAL & GOTO ELEVATE-MENU )
SET "cenStr=Revoking admin rights for %currentUsername%..." & CALL :AUX-CENTERTEXT
CLS & ECHO. & ECHO __________________________________________________________ & ECHO. & ECHO ^| Central AME Script %ver% ^| & ECHO. & ECHO%cenOut%
TIMEOUT /T 2 /NOBREAK > NUL 2>&1
@ -256,14 +332,14 @@ GOTO ELEVATE-FINISH
IF "%elevFail%"=="true" (
ECHO. & ECHO.& ECHO Action failed. A restart may fix this. & ECHO __________________________________________________________ & ECHO.
PAUSE > NUL|SET /P =%BS% Press any key to return to the Menu:
GOTO HOME-MAINMENU )
ENDLOCAL & GOTO HOME-MAINMENU )
IF "%elevMenu%"=="1" SET "cenStr=%currentUsername% is now an Administrator"
IF "%elevMenu%"=="2" SET "cenStr=Admin rights have been revoked for %currentUsername%"
CALL :AUX-CENTERTEXT
ECHO. & ECHO. & ECHO%cenOut% & ECHO A restart is needed to take effect. & ECHO __________________________________________________________ & ECHO.
CHOICE /C YN /N /M "%BS% Would you like to restart now? (Y/N): "
IF %ERRORLEVEL%==1 SHUTDOWN -R -T 0 & EXIT 0
IF %ERRORLEVEL%==2 GOTO HOME-MAINMENU
IF %ERRORLEVEL%==2 ENDLOCAL & GOTO HOME-MAINMENU
REM -----------------------ELEVATION-END------------------------
@ -377,26 +453,34 @@ SETLOCAL
REM Check if language pack is already installed
CLS & ECHO. & ECHO __________________________________________________________ & ECHO. & ECHO ^| Central AME Script %ver% ^| & ECHO.
IF "%lpStatus%"=="removed" GOTO DISPLANG-LPREMOVE
WHERE 7z.exe>NUL 2>&1 && SET "dispSkip0=rem "
WHERE choco.exe>NUL 2>&1 && SET "dispChoco=true"
DISM /Online /Get-Intl /English | FIND "Installed language(s): %langSel%" > NUL 2>&1
IF %ERRORLEVEL% LEQ 0 GOTO DISPLANG-USERCHECK
FOR /F tokens^=2^ delims^=^" %%A IN ('TASKLIST /FI "IMAGENAME eq lpksetup.exe" /NH /FO csv') DO SET lpkStatus=%%A
IF "%lpkStatus%"=="," (
ECHO. & ECHO. & ECHO All instances of lpksetup.exe must be closed. & ECHO __________________________________________________________ & ECHO. & ENDLOCAL & PAUSE > NUL|SET /P =%BS% Press any key to return to the Menu: & GOTO HOME-MAINMENU )
ECHO A ~%dispDl%GB Language Packs ISO must be downloaded & ECHO.
CHOICE /C YN /N /M "%BS% Continue? (Y/N): "
IF %ERRORLEVEL%==2 ENDLOCAL & GOTO HOME-MAINMENU
PING -n 1 archlinux.org -w 20000 > NUL 2>&1
IF %ERRORLEVEL% GTR 0 (
ECHO. & ECHO. & ECHO An internet connection is required. & ECHO __________________________________________________________ & ECHO. & ENDLOCAL & PAUSE > NUL|SET /P =%BS% Press any key to return to the Menu: & GOTO HOME-MAINMENU )
FOR /F "tokens=2 delims==" %%A IN ('WMIC logicaldisk where "DeviceID='%~d0'" get FreeSpace /format:value') DO SET freeSpace=%%A
SET "freeSpace=%freeSpace:~0,-10%"
IF "%freeSpace%"=="" SET "freeSpace=1"
IF %freeSpace% LSS 5 (
ECHO. & ECHO. & ECHO Not enough free disk space. & ECHO __________________________________________________________ & ECHO. & ENDLOCAL & PAUSE > NUL|SET /P =%BS% Press any key to return to the Menu: & GOTO HOME-MAINMENU )
IF EXIST "%dirPath%LangPacks.ISO" DEL /Q "%dirPath%LangPacks.ISO"
IF EXIST "%dirPath%LangPacks" RMDIR /Q /S "%dirPath%LangPacks"
REM If 7zip must be installed, there will not be enough space to display everything in 25 lines (script height) without this line
%dispSkip0%CLS & ECHO. & ECHO __________________________________________________________ & ECHO. & ECHO ^| Central AME Script %ver% ^|
ECHO. & ECHO Download Progress
@ -408,8 +492,7 @@ FOR %%A IN ("%dirPath%LangPacks.ISO") DO SET "langISOSize=%%~zA"
REM Detects size of ISO file, this essentially allows for a simple error detection.
IF %langISOSize% LSS 700000 (
DEL /Q "%dirPath%LangPacks.ISO" > NUL
ENDLOCAL
GOTO AUX-UPDATEFAILED )
ENDLOCAL & GOTO AUX-DOWNLOADFAILED )
:DISPLANG-INSTALL
@ -480,27 +563,25 @@ IF /I "%~1"=="LangSet" EXIT 0
:DISPLANG-COMPLETE
ECHO. & ECHO. & ECHO Display language changed to %langSel% & ECHO A restart is needed to take effect. & ECHO __________________________________________________________ & ECHO.
ENDLOCAL
CHOICE /C YN /N /M "%BS% Would you like to restart now? (Y/N): "
IF %ERRORLEVEL%==1 SHUTDOWN -R -T 0 & EXIT 0
IF %ERRORLEVEL%==2 GOTO HOME-MAINMENU
IF %ERRORLEVEL%==2 ENDLOCAL & GOTO HOME-MAINMENU
:DISPLANG-LPCOMPLETE
%dispSkip0%ECHO. & ECHO Removing 7zip... & choco uninstall 7zip.install -y --force > NUL
%dispSkip0%choco uninstall 7zip -y --force > NUL
ECHO. & ECHO. & ECHO LanguagePack %langSel% %lpStatus% successfully & ECHO A restart is recommended. & ECHO __________________________________________________________ & ECHO.
ENDLOCAL
PAUSE > NUL|SET /P =%BS% Press any key to return to the Menu:
GOTO HOME-MAINMENU
ENDLOCAL & GOTO HOME-MAINMENU
:DISPLANG-LPREMOVE
SET "dispSkip0=rem "
CLS & ECHO. & ECHO __________________________________________________________ & ECHO. & ECHO ^| Central AME Script %ver% ^| & ECHO.
FOR /F tokens^=2^ delims^=^" %%A IN ('TASKLIST /FI "IMAGENAME eq lpksetup.exe" /NH /FO csv') DO SET "lpkStatus=%%A"
IF "%lpkStatus%"=="," (
ECHO. & ECHO. & ECHO All instances of lpksetup.exe must be closed. & ECHO __________________________________________________________ & ECHO. & PAUSE > NUL|SET /P =%BS% Press any key to return to the Menu: & GOTO HOME-MAINMENU )
IF "%lpkStatus%"=="," ECHO. & ECHO. & ECHO All instances of lpksetup.exe must be closed. & ECHO __________________________________________________________ & ECHO. & ENDLOCAL & PAUSE > NUL|SET /P =%BS% Press any key to return to the Menu: & GOTO HOME-MAINMENU )
FOR /F "tokens=2" %%A IN ('DATE /T') DO SET "dateAfter=%%A"
SET "timeAfter=%TIME:~0,-3%"
ECHO Uninstalling %langSel% LanguagePack...
@ -508,7 +589,7 @@ LPKSETUP /u %langSel% /r
:lpkRemLogLoop
TIMEOUT /T 1 /NOBREAK > NUL
POWERSHELL -command "$timeAfter = Get-Date -Date '%dateAfter% %timeAfter%'; Get-WinEvent -FilterHashtable @{Logname='Microsoft-Windows-LanguagePackSetup/Operational';StartTime=$timeAfter}" | FINDSTR "2014 2008" > NUL
IF %ERRORLEVEL% LSS 1 ECHO. & ECHO. & ECHO Action failed. & ECHO __________________________________________________________ & ECHO. & PAUSE > NUL|SET /P =%BS% Press any key to return to the Menu: & GOTO HOME-MAINMENU
IF %ERRORLEVEL% LSS 1 ECHO. & ECHO. & ECHO Action failed. & ECHO __________________________________________________________ & ECHO. & ENDLOCAL & PAUSE > NUL|SET /P =%BS% Press any key to return to the Menu: & GOTO HOME-MAINMENU
POWERSHELL -command "$timeAfter = Get-Date -Date '%dateAfter% %timeAfter%'; Get-WinEvent -FilterHashtable @{Logname='Microsoft-Windows-LanguagePackSetup/Operational';StartTime=$timeAfter}" | FINDSTR "2001" > NUL
IF %ERRORLEVEL% LSS 1 GOTO DISPLANG-LPCOMPLETE
GOTO lpkRemLogLoop
@ -701,7 +782,7 @@ CHOICE /C %lC1%%lC2%%lC3%%lC4%%lC5%%lC6%%lC7%%lC8%%lC9%%lC10%%lC11%0X /N /M "%BS
%kbDisablePrev%)
SET /A "lEL12=%lEL10%+1"
IF %kbChoice%==%lEL12% (
IF "%kbSub%"=="true" (ENDLOCAL & GOTO KBLANG-LANGS) ELSE (GOTO HOME-MAINMENU)
IF "%kbSub%"=="true" (ENDLOCAL & GOTO KBLANG-LANGS) ELSE (ENDLOCAL & GOTO HOME-MAINMENU)
)
SET /A "lEL13=%lEL10%+2"
IF %kbChoice%==%lEL13% EXIT /B 0
@ -872,8 +953,8 @@ REM Marker
:KBLANG-PRESET
IF /I "%~1"=="kbLangSet" WAITFOR /SI Golden>NUL 2>&1 & SET "kbLangSel=%~2" & SET "kbMakeDef=%~3" & GOTO KBLANG-SETLANG
SETLOCAL
IF /I "%~1"=="kbLangSet" WAITFOR /SI Golden>NUL 2>&1 & SET "kbLangSel=%~2" & SET "kbMakeDef=%~3" & GOTO KBLANG-SETLANG
CLS & ECHO. & ECHO __________________________________________________________ & ECHO. & ECHO ^| Central AME Script %ver% ^| & ECHO. & ECHO.
CHOICE /C YN /N /M "%BS% Make default keyboard language? (Y/N): "
IF %ERRORLEVEL%==2 SET "kbMakeDef=false"
@ -886,7 +967,7 @@ FOR /F tokens^=2^ delims^=^" %%A IN ('TASKLIST /FI "PID eq %scriptPID%" /FI "USE
IF NOT "%processRunOut%"=="," (
REM If %lim% = rem that means the script is NOT being run as administrator. There's a small chance someone attempts to run it as another non-admin user,
REM this would be problematic as schtasks requires admin privilages.
IF "%lim%"=="rem " ECHO. & ECHO. & ECHO Script must be run as the current user & ECHO or with administrator privilages. & ECHO __________________________________________________________ & ECHO. & PAUSE > NUL|SET /P =%BS% Press any key to return to the Menu: & GOTO HOME-MAINMENU
IF "%lim%"=="rem " ECHO. & ECHO. & ECHO Script must be run as the current user & ECHO or with administrator privilages. & ECHO __________________________________________________________ & ECHO. & ENDLOCAL & PAUSE > NUL|SET /P =%BS% Press any key to return to the Menu: & GOTO HOME-MAINMENU
SETLOCAL ENABLEDELAYEDEXPANSION
SCHTASKS /CREATE /tn SetDispLang /tr "CMD /C 'START /min '' '%scriptPath%' kbLangSet %kbLangSel% %kbMakeDef%'" /sc ONSTART /ru "%currentUsername%" /it /f > NUL
REM RUNAS will work, however it requires the user to enter a password, and won't accept a blank one. This is a lot more simple and reliable
@ -894,7 +975,7 @@ FOR /F tokens^=2^ delims^=^" %%A IN ('TASKLIST /FI "PID eq %scriptPID%" /FI "USE
WAITFOR Golden /T 10 > NUL 2>&1
IF !ERRORLEVEL! LSS 1 SCHTASKS /DELETE /tn SetDispLang /f>NUL & GOTO KBLANG-COMPLETE
SCHTASKS /DELETE /tn SetDispLang /f > NUL
ENDLOCAL & ENDLOCAL & ECHO. & ECHO. & ECHO Action failed. & ECHO __________________________________________________________ & ECHO. & PAUSE > NUL|SET /P =%BS% Press any key to return to the Menu: & GOTO HOME-MAINMENU )
ENDLOCAL & ENDLOCAL & ECHO. & ECHO. & ECHO Action may have failed. & ECHO __________________________________________________________ & ECHO. & PAUSE > NUL|SET /P =%BS% Press any key to return to the Menu: & GOTO HOME-MAINMENU )
:KBLANG-SETLANG
@ -905,9 +986,8 @@ IF /I "%~1"=="kbLangSet" EXIT 0
:KBLANG-COMPLETE
ECHO. & ECHO. & ECHO Keyboard language added successfully & ECHO __________________________________________________________ & ECHO.
ENDLOCAL
PAUSE > NUL|SET /P =%BS% Press any key to return to the Menu:
GOTO HOME-MAINMENU
ENDLOCAL & GOTO HOME-MAINMENU
REM -------------------------KBLANG-END-------------------------
@ -915,11 +995,12 @@ REM -------------------------KBLANG-END-------------------------
REM -------------------------NOUSERNAME-------------------------
:NOUSERNAME-MENU
SETLOCAL
CLS & ECHO. & ECHO __________________________________________________________ & ECHO. & ECHO ^| Central AME Script %ver% ^| & ECHO. & ECHO. & ECHO [1] Disable Username Requirement & ECHO [2] Enable Username Requirement & ECHO. & ECHO [0] Return to Menu & ECHO [X] Exit & ECHO. & ECHO __________________________________________________________ & ECHO.
CHOICE /C 120X /N /M "%BS% Choose a menu option: "
IF %ERRORLEVEL%==1 SET "wshMenu=1" & GOTO NOUSERNAME-DISABLE
IF %ERRORLEVEL%==2 SET "wshMenu=2" & GOTO NOUSERNAME-ENABLE
IF %ERRORLEVEL%==3 GOTO HOME-MAINMENU
IF %ERRORLEVEL%==1 GOTO NOUSERNAME-DISABLE
IF %ERRORLEVEL%==2 GOTO NOUSERNAME-ENABLE
IF %ERRORLEVEL%==3 ENDLOCAL & GOTO HOME-MAINMENU
IF %ERRORLEVEL%==4 EXIT /B 0
:NOUSERNAME-DISABLE
@ -930,7 +1011,7 @@ REG DELETE "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System" /v d
ECHO. & ECHO The username login requirement is now disabled & ECHO A restart is needed to take effect. & ECHO __________________________________________________________ & ECHO.
CHOICE /C YN /N /M "%BS% Would you like to restart now? (Y/N): "
IF %ERRORLEVEL%==1 SHUTDOWN -R -T 0 & EXIT 0
IF %ERRORLEVEL%==2 GOTO HOME-MAINMENU
IF %ERRORLEVEL%==2 ENDLOCAL & GOTO HOME-MAINMENU
:NOUSERNAME-ENABLE
@ -940,19 +1021,66 @@ REG ADD "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System" /v dont
ECHO. & ECHO The username login requirement is now enabled & ECHO A restart is needed to take effect. & ECHO __________________________________________________________ & ECHO.
CHOICE /C YN /N /M "%BS% Would you like to restart now? (Y/N): "
IF %ERRORLEVEL%==1 SHUTDOWN -R -T 0 & EXIT 0
IF %ERRORLEVEL%==2 GOTO HOME-MAINMENU
IF %ERRORLEVEL%==2 ENDLOCAL & GOTO HOME-MAINMENU
REM -----------------------NOUSERNAME-END-----------------------
REM -------------------------HIBERNATE-------------------------
:HIBERNATE-MENU
SETLOCAL
CLS & ECHO. & ECHO __________________________________________________________ & ECHO. & ECHO ^| Central AME Script %ver% ^| & ECHO. & ECHO. & ECHO [1] Enable Hibernation & ECHO [2] Disable Hibernation & ECHO. & ECHO [0] Return to Menu & ECHO [X] Exit & ECHO. & ECHO __________________________________________________________ & ECHO.
CHOICE /C 120X /N /M "%BS% Choose a menu option: "
IF %ERRORLEVEL%==1 GOTO HIBERNATE-ENABLE
IF %ERRORLEVEL%==2 GOTO HIBERNATE-DISABLE
IF %ERRORLEVEL%==3 ENDLOCAL & GOTO HOME-MAINMENU
IF %ERRORLEVEL%==4 EXIT /B 0
:HIBERNATE-ENABLE
CLS & ECHO. & ECHO __________________________________________________________ & ECHO. & ECHO ^| Central AME Script %ver% ^| & ECHO. & ECHO Enabling Hibernation...
TIMEOUT /T 2 /NOBREAK > NUL
POWERCFG /HIBERNATE /TYPE FULL > NUL 2>&1
IF %ERRORLEVEL% NEQ 0 (
ECHO. & ECHO. & ECHO Failed to enable hibernation. & ECHO Hibernation may not be supported by your firmware. & ECHO __________________________________________________________ & ECHO.
PAUSE > NUL|SET /P =%BS% Press any key to return to the Menu:
ENDLOCAL & GOTO HOME-MAINMENU
)
SET "hibernate=enable" & GOTO HIBERNATE-FINISH
:HIBERNATE-DISABLE
CLS & ECHO. & ECHO __________________________________________________________ & ECHO. & ECHO ^| Central AME Script %ver% ^| & ECHO. & ECHO Disabling Hibernation...
TIMEOUT /T 2 /NOBREAK > NUL
POWERCFG /HIBERNATE OFF > NUL 2>&1
IF %ERRORLEVEL% NEQ 0 (
ECHO. & ECHO. & ECHO Failed to disable hibernation. & ECHO __________________________________________________________ & ECHO.
PAUSE > NUL|SET /P =%BS% Press any key to return to the Menu:
ENDLOCAL & GOTO HOME-MAINMENU
)
SET "hibernate=disable" & GOTO HIBERNATE-FINISH
:HIBERNATE-FINISH
IF "%hibernate%"=="enable" SET "hibernateResult= Hibernation is now enabled"
IF "%hibernate%"=="disable" SET "hibernateResult= Hibernation is now disabled"
ECHO. & ECHO. & ECHO %hibernateResult% & ECHO __________________________________________________________ & ECHO.
PAUSE > NUL|SET /P =%BS% Press any key to return to the Menu:
ENDLOCAL & GOTO HOME-MAINMENU
REM -----------------------HIBERNATE-END-----------------------
REM ----------------------------WSH-----------------------------
:WSH-MENU
SETLOCAL
CLS & ECHO. & ECHO __________________________________________________________ & ECHO. & ECHO ^| Central AME Script %ver% ^| & ECHO. & ECHO. & ECHO [1] Enable WSH & ECHO [2] Disable WSH & ECHO. & ECHO [0] Return to Menu & ECHO [X] Exit & ECHO. & ECHO __________________________________________________________ & ECHO.
CHOICE /C 120X /N /M "%BS% Choose a menu option: "
IF %ERRORLEVEL%==1 SET "wshMenu=1" & GOTO WSH-ENABLE
IF %ERRORLEVEL%==2 SET "wshMenu=2" & GOTO WSH-DISABLE
IF %ERRORLEVEL%==3 GOTO HOME-MAINMENU
IF %ERRORLEVEL%==1 GOTO WSH-ENABLE
IF %ERRORLEVEL%==2 GOTO WSH-DISABLE
IF %ERRORLEVEL%==3 ENDLOCAL & GOTO HOME-MAINMENU
IF %ERRORLEVEL%==4 EXIT /B 0
:WSH-ENABLE
@ -964,7 +1092,7 @@ FOR /F "tokens=* USEBACKQ" %%F IN (`WMIC useraccount where "name="%currentUserna
SET WSHSID=%WSHSID:~0,-3%
REG ADD "HKEY_USERS\%WSHSID%\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
GOTO WSH-FINISH
SET "wsh=enable" & GOTO WSH-FINISH
:WSH-DISABLE
@ -975,19 +1103,19 @@ FOR /F "tokens=* USEBACKQ" %%F IN (`WMIC useraccount where "name="%currentUserna
SET WSHSID=%WSHSID:~0,-3%
REG ADD "HKEY_USERS\%WSHSID%\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
GOTO WSH-FINISH
SET "wsh=disable" & GOTO WSH-FINISH
:WSH-FINISH
IF "%wshMenu%"=="1" SET "cenStr=WSH is now enabled for %currentUsername%" & SET "wshRestartMsg=& ECHO A restart is required to complete the setup. "
IF "%wshMenu%"=="2" SET "cenStr=WSH is now disabled for %currentUsername%" & SET "wshRestartMsg="
IF "%wsh%"=="enable" SET "cenStr=WSH is now enabled for %currentUsername%" & SET "wshRestartMsg=& ECHO A restart is required to complete the setup. "
IF "%wsh%"=="disable" SET "cenStr=WSH is now disabled for %currentUsername%" & SET "wshRestartMsg="
CALL :AUX-CENTERTEXT
ECHO. & ECHO. & ECHO%cenOut:~1% %wshRestartMsg%& ECHO __________________________________________________________ & ECHO.
IF "%wshMenu%"=="1" CHOICE /C YN /N /M "%BS% Would you like to restart now? (Y/N): "
IF "%wsh%"=="enable" CHOICE /C YN /N /M "%BS% Would you like to restart now? (Y/N): "
IF %ERRORLEVEL%==1 SHUTDOWN -R -T 0 & EXIT 0
IF %ERRORLEVEL%==2 GOTO HOME-MAINMENU
IF %ERRORLEVEL%==2 ENDLOCAL & GOTO HOME-MAINMENU
PAUSE > NUL|SET /P =%BS% Press any key to return to the Menu:
GOTO HOME-MAINMENU
ENDLOCAL & GOTO HOME-MAINMENU
REM --------------------------WSH-END--------------------------
@ -995,11 +1123,12 @@ REM --------------------------WSH-END--------------------------
REM ---------------------------NCSI----------------------------
:NCSI-MENU
SETLOCAL
CLS & ECHO. & ECHO __________________________________________________________ & ECHO. & ECHO ^| Central AME Script %ver% ^| & ECHO. & ECHO. & ECHO [1] Enable NCSI Active Probing & ECHO [2] Disable NCSI Active Probing & ECHO. & ECHO [0] Return to Menu & ECHO [X] Exit & ECHO. & ECHO __________________________________________________________ & ECHO.
CHOICE /C 120X /N /M "%BS% Choose a menu option: "
IF %ERRORLEVEL%==1 SET "ncsiMenu=1" & GOTO NCSI-ENABLE
IF %ERRORLEVEL%==2 SET "ncsiMenu=2" & GOTO NCSI-DISABLE
IF %ERRORLEVEL%==3 GOTO HOME-MAINMENU
IF %ERRORLEVEL%==1 GOTO NCSI-ENABLE
IF %ERRORLEVEL%==2 GOTO NCSI-DISABLE
IF %ERRORLEVEL%==3 ENDLOCAL & GOTO HOME-MAINMENU
IF %ERRORLEVEL%==4 EXIT /B 0
:NCSI-ENABLE
@ -1007,54 +1136,209 @@ CHOICE /C 120X /N /M "%BS% Choose a menu option: "
CLS & ECHO. & ECHO __________________________________________________________ & ECHO. & ECHO ^| Central AME Script %ver% ^| & ECHO. & ECHO Enabling NCSI Active Probing...
TIMEOUT /T 2 /NOBREAK > NUL
REG ADD "HKLM\SYSTEM\CurrentControlSet\Services\NlaSvc\Parameters\Internet" /v EnableActiveProbing /t REG_DWORD /d 1 /f > NUL
GOTO NCSI-FINISH
SET "ncsi=enable" & GOTO NCSI-FINISH
:NCSI-DISABLE
CLS & ECHO. & ECHO __________________________________________________________ & ECHO. & ECHO ^| Central AME Script %ver% ^| & ECHO. & ECHO Disabling NCSI Active Probing...
TIMEOUT /T 2 /NOBREAK > NUL
REG ADD "HKLM\SYSTEM\CurrentControlSet\Services\NlaSvc\Parameters\Internet" /v EnableActiveProbing /t REG_DWORD /d 0 /f > NUL
GOTO NCSI-FINISH
SET "ncsi=disable" & GOTO NCSI-FINISH
:NCSI-FINISH
IF "%ncsiMenu%"=="1" SET "ncsiResult= NCSI Active Probing is now disabled"
IF "%ncsiMenu%"=="2" SET "ncsiResult= NCSI Active Probing is now enabled"
IF "%ncsi%"=="enable" SET "ncsiResult= NCSI Active Probing is now disabled"
IF "%ncsi%"=="disable" SET "ncsiResult= NCSI Active Probing is now enabled"
ECHO. & ECHO. & ECHO %ncsiResult% & ECHO A restart is required to take effect. & ECHO __________________________________________________________ & ECHO.
CHOICE /C YN /N /M "%BS% Would you like to restart now? (Y/N): "
IF %ERRORLEVEL%==1 SHUTDOWN -R -T 0 & EXIT 0
IF %ERRORLEVEL%==2 GOTO HOME-MAINMENU
IF %ERRORLEVEL%==2 ENDLOCAL & GOTO HOME-MAINMENU
REM -------------------------NCSI-END--------------------------
REM ----------------
REM Script Functions
REM ----------------
REM --------------------------NEWUSER--------------------------
:NEWUSER-MENU
REM -----------------------------------------------------------
:AUX-UPDATE
SETLOCAL
CLS & ECHO. & ECHO __________________________________________________________ & ECHO. & ECHO ^| Central AME Script %ver% ^| & ECHO. & ECHO Downloading and applying update...
TIMEOUT /T 1 /NOBREAK > NUL
CURL -L "https://git.ameliorated.info/Joe/Central-AME-Script/releases/latest/CentralAMEScript.zip" --output "%temp%\AMECentralUpdated.zip" > NUL 2>&1
REM Detect size of update CMD file, this essentially allows for a simple error detection.
FOR %%A IN ("%temp%\AMECentralUpdated.zip") DO SET "updCmdSize=%%~zA"
IF %updCmdSize% LSS 7000 (
DEL /Q "%temp%\AMECentralUpdated.zip" > NUL
GOTO AUX-UPDATEFAILED )
POWERSHELL -command "Expand-Archive -Path '%temp%\AMECentralUpdated.zip' -DestinationPath '%temp%'" > NUL
> NUL 2>&1 XCOPY "%temp%\CentralAMEScript.cmd" "%scriptPath%" /Y /V /O & DEL /Q "%temp%\AMECentralUpdated.cmd" & CMD /C "%~0" updateFinished & EXIT 0
CLS & ECHO. & ECHO __________________________________________________________ & ECHO. & ECHO ^| Central AME Script %ver% ^| & ECHO. & ECHO WARNING: This is a beta feature, use at your own risk. & ECHO __________________________________________________________ & ECHO.
PAUSE > NUL|SET /P =%BS% Press any key to to continue:
CLS & ECHO. & ECHO __________________________________________________________ & ECHO. & ECHO ^| Central AME Script %ver% ^| & ECHO. & ECHO. & ECHO [1] Create a New User & ECHO [2] Remove Existing User & ECHO. & ECHO [0] Return to Menu & ECHO [X] Exit & ECHO. & ECHO __________________________________________________________ & ECHO.
CHOICE /C 120X /N /M "%BS% Choose a menu option: "
IF %ERRORLEVEL%==1 GOTO NEWUSER-CREATE
IF %ERRORLEVEL%==2 GOTO NEWUSER-REMOVE
IF %ERRORLEVEL%==3 ENDLOCAL & GOTO HOME-MAINMENU
IF %ERRORLEVEL%==4 EXIT /B 0
:AUX-UPDATEFAILED
:NEWUSER-CREATE
ECHO. & ECHO. & ECHO Download failed. & ECHO __________________________________________________________ & ECHO.
CLS & ECHO. & ECHO __________________________________________________________ & ECHO. & ECHO ^| Central AME Script %ver% ^| & ECHO.
SET /P "username=%BS% Enter desired username, or enter 'Cancel' to quit: "
IF /I "%username%"=="Cancel" ENDLOCAL & GOTO HOME-MAINMENU
IF "%username%"=="" (
ECHO. & ECHO. & ECHO Input cannot be blank. & ECHO __________________________________________________________ & ECHO.
PAUSE > NUL|SET /P =%BS% Press any key to return to the Menu:
ENDLOCAL & GOTO HOME-MAINMENU
)
ECHO.
SET /P "password=%BS% Enter desired password, or enter 'Cancel' to quit: "
IF /I "%password%"=="Cancel" ENDLOCAL & GOTO HOME-MAINMENU
ECHO. & ECHO Creating user...
NET user "%username%" "%password%" /add > NUL 2>&1
IF %ERRORLEVEL% NEQ 0 (
ECHO. & ECHO. & ECHO Improper username or password. & ECHO __________________________________________________________ & ECHO.
PAUSE > NUL|SET /P =%BS% Press any key to return to the Menu:
ENDLOCAL & GOTO HOME-MAINMENU
)
TIMEOUT /T 1 /NOBREAK > NUL 2>&1
ECHO. & ECHO Configuring new user...
SCHTASKS /create /tn "AME NEWUSRREG" /tr "CMD /C 'FOR /F 'usebackq delims=' %%A IN (`REG QUERY 'HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Appx\AppxAllUserStore\InboxApplications'`) DO REG DELETE '%%A' /f'" /sc MONTHLY /f /rl HIGHEST /ru "SYSTEM" > NUL
SCHTASKS /run /tn "AME NEWUSRREG" > NUL
SCHTASKS /delete /tn "AME NEWUSRREG" /f > NUL
REG ADD "HKLM\SOFTWARE\Policies\Microsoft\Windows\OOBE" /v DisablePrivacyExperience /t REG_DWORD /d 1 /f > NUL 2>&1
REG ADD "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System" /v EnableFirstLogonAnimation /t REG_DWORD /d 0 /f > NUL 2>&1
REG LOAD "HKU\DefaultHiveMount" "%SYSTEMDRIVE%\Users\Default\NTUSER.DAT" > NUL 2>&1
REG ADD "HKEY_USERS\DefaultHiveMount\SOFTWARE\OpenShell" /t REG_SZ /f > NUL 2>&1
REG ADD "HKEY_USERS\DefaultHiveMount\SOFTWARE\OpenShell\OpenShell" /t REG_SZ /f > NUL 2>&1
REG ADD "HKEY_USERS\DefaultHiveMount\SOFTWARE\OpenShell\OpenShell\Settings" /t REG_SZ /f > NUL 2>&1
REG ADD "HKEY_USERS\DefaultHiveMount\SOFTWARE\OpenShell\StartMenu" /t REG_SZ /f > NUL 2>&1
REG ADD "HKEY_USERS\DefaultHiveMount\SOFTWARE\OpenShell\StartMenu\Settings" /t REG_SZ /f > NUL 2>&1
REG ADD "HKEY_USERS\DefaultHiveMount\SOFTWARE\OpenShell\ClassicExplorer" /t REG_SZ /f > NUL 2>&1
REG ADD "HKEY_USERS\DefaultHiveMount\SOFTWARE\OpenShell\ClassicExplorer\Settings" /t REG_SZ /f > NUL 2>&1
REG ADD "HKEY_USERS\DefaultHiveMount\SOFTWARE\OpenShell\ClassicExplorer" /v "ShowedToolbar" /t REG_DWORD /d 1 /f > NUL 2>&1
REG ADD "HKEY_USERS\DefaultHiveMount\SOFTWARE\OpenShell\ClassicExplorer" /v "NewLine" /t REG_DWORD /d 0 /f > NUL 2>&1
REG ADD "HKEY_USERS\DefaultHiveMount\SOFTWARE\OpenShell\ClassicExplorer\Settings" /v "ShowStatusBar" /t REG_DWORD /d 0 /f > NUL 2>&1
REG ADD "HKEY_USERS\DefaultHiveMount\SOFTWARE\OpenShell\StartMenu" /v "ShowedStyle2" /t REG_DWORD /d 1 /f > NUL 2>&1
REG ADD "HKEY_USERS\DefaultHiveMount\SOFTWARE\OpenShell\StartMenu" /v "CSettingsDlg" /t REG_BINARY /d c80100001a0100000000000000000000360d00000100000000000000 /f > NUL 2>&1
REG ADD "HKEY_USERS\DefaultHiveMount\SOFTWARE\OpenShell\StartMenu" /v "OldItems" /t REG_BINARY /f > NUL 2>&1
REG ADD "HKEY_USERS\DefaultHiveMount\SOFTWARE\OpenShell\StartMenu" /v "ItemRanks" /t REG_BINARY /d 0 /f > NUL 2>&1
REG ADD "HKEY_USERS\DefaultHiveMount\SOFTWARE\OpenShell\StartMenu\MRU" /v "0" /t REG_SZ /d "%SYSTEMDRIVE%\Windows\regedit.exe" /f > NUL 2>&1
REG ADD "HKEY_USERS\DefaultHiveMount\SOFTWARE\OpenShell\StartMenu\Settings" /v "Version" /t REG_DWORD /d 04040098 /f > NUL 2>&1
REG ADD "HKEY_USERS\DefaultHiveMount\SOFTWARE\OpenShell\StartMenu\Settings" /v "AllProgramsMetro" /t REG_DWORD /d 1 /f > NUL 2>&1
REG ADD "HKEY_USERS\DefaultHiveMount\SOFTWARE\OpenShell\StartMenu\Settings" /v "RecentMetroApps" /t REG_DWORD /d 1 /f > NUL 2>&1
REG ADD "HKEY_USERS\DefaultHiveMount\SOFTWARE\OpenShell\StartMenu\Settings" /v "StartScreenShortcut" /t REG_DWORD /d 0 /f > NUL 2>&1
REG ADD "HKEY_USERS\DefaultHiveMount\SOFTWARE\OpenShell\StartMenu\Settings" /v "SearchInternet" /t REG_DWORD /d 0 /f > NUL 2>&1
REG ADD "HKEY_USERS\DefaultHiveMount\SOFTWARE\OpenShell\StartMenu\Settings" /v "GlassOverride" /t REG_DWORD /d 1 /f > NUL 2>&1
REG ADD "HKEY_USERS\DefaultHiveMount\SOFTWARE\OpenShell\StartMenu\Settings" /v "GlassColor" /t REG_DWORD /d 0 /f > NUL 2>&1
REG ADD "HKEY_USERS\DefaultHiveMount\SOFTWARE\OpenShell\StartMenu\Settings" /v "SkinW7" /t REG_SZ /d "Fluent-Metro" /f > NUL 2>&1
REG ADD "HKEY_USERS\DefaultHiveMount\SOFTWARE\OpenShell\StartMenu\Settings" /v "SkinVariationW7" /t REG_SZ /f > NUL 2>&1
REG ADD "HKEY_USERS\DefaultHiveMount\SOFTWARE\OpenShell\StartMenu\Settings" /v "SkinOptionsW7" /t REG_MULTI_SZ /d "USER_IMAGE=1"\0"SMALL_ICONS=0"\0"LARGE_FONT=0"\0"DISABLE_MASK=0"\0"OPAQUE=0"\0"TRANSPARENT_LESS=0"\0"TRANSPARENT_MORE=1"\0"WHITE_SUBMENUS2=0" /f > NUL 2>&1
REG ADD "HKEY_USERS\DefaultHiveMount\SOFTWARE\OpenShell\StartMenu\Settings" /v "SkipMetro" /t REG_DWORD /d 1 /f > NUL 2>&1
REG ADD "HKEY_USERS\DefaultHiveMount\SOFTWARE\OpenShell\StartMenu\Settings" /v "MenuItems7" /t REG_MULTI_SZ /d "Item1.Command=user_files"\0"Item1.Settings=NOEXPAND"\0"Item2.Command=user_documents"\0"Item2.Settings=NOEXPAND"\0"Item3.Command=user_pictures"\0"Item3.Settings=NOEXPAND"\0"Item4.Command=user_music"\0"Item4.Settings=NOEXPAND"\0"Item5.Command=user_videos"\0"Item5.Settings=NOEXPAND"\0"Item6.Command=downloads"\0"Item6.Settings=NOEXPAND"\0"Item7.Command=homegroup"\0"Item7.Settings=ITEM_DISABLED"\0"Item8.Command=separator"\0"Item9.Command=games"\0"Item9.Settings=TRACK_RECENT|NOEXPAND|ITEM_DISABLED"\0"Item10.Command=favorites"\0"Item10.Settings=ITEM_DISABLED"\0"Item11.Command=recent_documents"\0"Item12.Command=computer"\0"Item12.Settings=NOEXPAND"\0"Item13.Command=network"\0"Item13.Settings=ITEM_DISABLED"\0"Item14.Command=network_connections"\0"Item14.Settings=ITEM_DISABLED"\0"Item15.Command=separator"\0"Item16.Command=control_panel"\0"Item16.Settings=TRACK_RECENT"\0"Item17.Command=pc_settings"\0"Item17.Settings=TRACK_RECENT"\0"Item18.Command=admin"\0"Item18.Settings=TRACK_RECENT|ITEM_DISABLED"\0"Item19.Command=devices"\0"Item19.Settings=ITEM_DISABLED"\0"Item20.Command=defaults"\0"Item20.Settings=ITEM_DISABLED"\0"Item21.Command=help"\0"Item21.Settings=ITEM_DISABLED"\0"Item22.Command=run"\0"Item23.Command=apps"\0"Item23.Settings=ITEM_DISABLED"\0"Item24.Command=windows_security"\0"Item24.Settings=ITEM_DISABLED"\0"" /f > NUL 2>&1
REG ADD "HKEY_USERS\DefaultHiveMount\SOFTWARE\OpenShell\StartMenu\Settings" /v "SkinOptionsW7" /t REG_MULTI_SZ /d "DARK_MAIN=0"\0"METRO_MAIN=0"\0"LIGHT_MAIN=0"\0"AUTOMODE_MAIN=1"\0"DARK_SUBMENU=0"\0"METRO_SUBMENU=0"\0"LIGHT_SUBMENU=0"\0"AUTOMODE_SUBMENU=1"\0"SUBMENU_SEPARATORS=1"\0"DARK_SEARCH=0"\0"METRO_SEARCH=0"\0"LIGHT_SEARCH=0"\0"AUTOMODE_SEARCH=1"\0"SEARCH_FRAME=1"\0"SEARCH_COLOR=0"\0"MODERN_SEARCH=1"\0"SEARCH_ITALICS=0"\0"NONE=0"\0"SEPARATOR=0"\0"TWO_TONE=1"\0"CLASSIC_SELECTOR=1"\0"HALF_SELECTOR=0"\0"CURVED_MENUSEL=1"\0"CURVED_SUBMENU=0"\0"SELECTOR_REVEAL=1"\0"TRANSPARENT=0"\0"OPAQUE_SUBMENU=1"\0"OPAQUE_MENU=0"\0"OPAQUE=0"\0"STANDARD=0"\0"SMALL_MAIN2=1"\0"SMALL_ICONS=0"\0"COMPACT_SUBMENU=0"\0"PRESERVE_MAIN2=0"\0"LESS_PADDING=0"\0"EXTRA_PADDING=1"\0"24_PADDING=0"\0"LARGE_PROGRAMS=0"\0"TRANSPARENT_SHUTDOWN=0"\0"OUTLINE_SHUTDOWN=0"\0"BUTTON_SHUTDOWN=1"\0"EXPERIMENTAL_SHUTDOWN=0"\0"LARGE_FONT=0"\0"CONNECTED_BORDER=1"\0"FLOATING_BORDER=0"\0"LARGE_SUBMENU=0"\0"LARGE_LISTS=0"\0"THIN_MAIN2=0"\0"EXPERIMENTAL_MAIN2=1"\0"USER_IMAGE=1"\0"USER_OUTSIDE=0"\0"SCALING_USER=1"\0"56=0"\0"64=0"\0"TRANSPARENT_USER=0"\0"UWP_SCROLLBAR=0"\0"MODERN_SCROLLBAR=1"\0"SMALL_ARROWS=0"\0"ARROW_BACKGROUND=1"\0"ICON_FRAME=0"\0"SEARCH_SEPARATOR=0"\0"NO_PROGRAMS_BUTTON=0"\0"" /f > NUL 2>&1
REG ADD "HKEY_USERS\DefaultHiveMount\SOFTWARE\Microsoft\Windows\CurrentVersion\Search" /v SearchboxTaskbarMode /t REG_DWORD /d 0 /f > NUL 2>&1
REG ADD "HKEY_USERS\DefaultHiveMount\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Advanced" /v ShowTaskViewButton /t REG_DWORD /d 0 /f > NUL 2>&1
REG ADD "HKEY_USERS\DefaultHiveMount\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer" /v EnableAutoTray /t REG_DWORD /d 0 /f > NUL 2>&1
REG ADD "HKEY_USERS\DefaultHiveMount\SOFTWARE\Microsoft\Windows\CurrentVersion\AdvertisingInfo" /v Enabled /t REG_DWORD /d 0 /f > NUL 2>&1
REG ADD "HKEY_USERS\DefaultHiveMount\SOFTWARE\Microsoft\Windows\CurrentVersion\AppHost" /v EnableWebContentEvaluation /t REG_DWORD /d 0 /f > NUL 2>&1
REG ADD "HKEY_USERS\DefaultHiveMount\Control Panel\International\User Profile" /v HttpAcceptLanguageOptOut /t REG_DWORD /d 1 /f > NUL 2>&1
REG ADD "HKEY_USERS\DefaultHiveMount\Software\Policies\Microsoft\Windows\Explorer" /v DisableNotificationCenter /t REG_DWORD /d 1 /f > NUL 2>&1
REG ADD "HKEY_USERS\DefaultHiveMount\SOFTWARE\Microsoft\Windows\CurrentVersion\GameDVR" /v AppCaptureEnabled /t REG_DWORD /d 0 /f > NUL 2>&1
REG ADD "HKEY_USERS\DefaultHiveMount\System\GameConfigStore" /v GameDVR_Enabled /t REG_DWORD /d 0 /f > NUL 2>&1
REG ADD "HKEY_USERS\DefaultHiveMount\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\Attachments" /v SaveZoneInformation /t REG_DWORD /d 1 /f > NUL 2>&1
REG ADD "HKEY_USERS\DefaultHiveMount\SOFTWARE\Microsoft\Windows\CurrentVersion\AppHost" /v ContentEvaluation /t REG_DWORD /d 0 /f > NUL 2>&1
REG ADD "HKEY_USERS\DefaultHiveMount\Control Panel\Desktop" /v WaitToKillAppTimeOut /t REG_SZ /d 2000 /f > NUL 2>&1
REG DELETE "HKEY_USERS\DefaultHiveMount\SOFTWARE\Microsoft\Windows\CurrentVersion\StorageSense" /f > NUL 2>&1
REG ADD "HKEY_USERS\DefaultHiveMount\Software\Microsoft\Windows\CurrentVersion\Search" /v "BingSearchEnabled" /t REG_DWORD /d 0 /f > NUL 2>&1
REG ADD "HKEY_USERS\DefaultHiveMount\Software\Microsoft\Windows\CurrentVersion\Search" /v "CortanaConsent" /t REG_DWORD /d 0 /f > NUL 2>&1
REG ADD "HKEY_USERS\DefaultHiveMount\Software\Microsoft\Windows\CurrentVersion\Search" /v "CortanaInAmbientMode" /t REG_DWORD /d 0 /f > NUL 2>&1
REG ADD "HKEY_USERS\DefaultHiveMount\Software\Microsoft\Windows\CurrentVersion\Search" /v "HistoryViewEnabled" /t REG_DWORD 0 /f > NUL 2>&1
REG ADD "HKEY_USERS\DefaultHiveMount\Software\Microsoft\Windows\CurrentVersion\Search" /v "HasAboveLockTips" /t REG_DWORD /d 0 /f > NUL 2>&1
REG ADD "HKEY_USERS\DefaultHiveMount\Software\Microsoft\Windows\CurrentVersion\Search" /v "AllowSearchToUseLocation" /t REG_DWORD /d 0 /f > NUL 2>&1
REG ADD "HKEY_USERS\DefaultHiveMount\Software\Microsoft\Windows\CurrentVersion\SearchSettings" /v "SafeSearchMode" /t REG_DWORD /d 0 /f > NUL 2>&1
REG ADD "HKEY_USERS\DefaultHiveMount\Software\Policies\Microsoft\Windows\Explorer" /v "DisableSearchBoxSuggestions" /t REG_DWORD /d 1 /f > NUL 2>&1
REG ADD "HKEY_USERS\DefaultHiveMount\Software\Microsoft\InputPersonalization" /v "RestrictImplicitTextCollection" /t REG_DWORD /d 1 /f > NUL 2>&1
REG ADD "HKEY_USERS\DefaultHiveMount\Software\Microsoft\InputPersonalization" /v "RestrictImplicitInkCollection" /t REG_DWORD /d 1 /f > NUL 2>&1
REG ADD "HKEY_USERS\DefaultHiveMount\Software\Microsoft\InputPersonalization\TrainedDataStore" /v "AcceptedPrivacyPolicy" /t REG_DWORD /d 0 /f > NUL 2>&1
REG ADD "HKEY_USERS\DefaultHiveMount\Software\Microsoft\InputPersonalization\TrainedDataStore" /v "HarvestContacts" /t REG_DWORD /d 0 /f > NUL 2>&1
REG ADD "HKEY_USERS\DefaultHiveMount\Software\Microsoft\Personalization\Settings" /v "AcceptedPrivacyPolicy" /t REG_DWORD /d 0 /f > NUL 2>&1
REG ADD "HKEY_USERS\DefaultHiveMount\SOFTWARE\Policies\Microsoft\Windows\Explorer" /v "DisableSearchBoxSuggestions" /t REG_DWORD /d 1 /f > NUL 2>&1
REG ADD "HKEY_USERS\DefaultHiveMount\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Advanced" /v "NavPaneShowAllFolders" /t REG_DWORD /d 0 /f > NUL 2>&1
REG ADD "HKEY_USERS\DefaultHiveMount\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Advanced" /v LaunchTo /t REG_DWORD /d 1 /f > NUL 2>&1
REG ADD "HKEY_USERS\DefaultHiveMount\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Advanced" /v HideFileExt /t REG_DWORD /d 0 /f > NUL 2>&1
REG ADD "HKEY_USERS\DefaultHiveMount\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Advanced" /v Hidden /t REG_DWORD /d 1 /f > NUL 2>&1
REG UNLOAD "HKU\DefaultHiveMount" > NUL 2>&1
TIMEOUT /T 1 /NOBREAK > NUL 2>&1
ECHO. & ECHO. & ECHO User created successfully. & ECHO __________________________________________________________ & ECHO.
PAUSE > NUL|SET /P =%BS% Press any key to return to the Menu:
GOTO HOME-MAINMENU
ENDLOCAL & GOTO HOME-MAINMENU
:NEWUSER-REMOVE
CLS & ECHO. & ECHO __________________________________________________________ & ECHO. & ECHO ^| Central AME Script %ver% ^| & ECHO.
SET /P "usernameRemove=%BS% Enter the user to be removed, or enter 'Cancel' to quit: "
IF /I "%username%"=="Cancel" ENDLOCAL & GOTO HOME-MAINMENU
IF "%username%"=="" (
ECHO. & ECHO. & ECHO Input cannot be blank. & ECHO __________________________________________________________ & ECHO.
PAUSE > NUL|SET /P =%BS% Press any key to return to the Menu:
ENDLOCAL & GOTO HOME-MAINMENU
)
IF "%usernameRemove%"=="%currentUsername%" (
ECHO. & ECHO. & ECHO User must not be the logged in user. & ECHO __________________________________________________________ & ECHO.
PAUSE > NUL|SET /P =%BS% Press any key to return to the Menu:
ENDLOCAL & GOTO HOME-MAINMENU
)
NET USER "%usernameRemove%" > NUL 2>&1
IF %ERRORLEVEL% NEQ 0 (
ECHO. & ECHO. & ECHO User does not exist. & ECHO __________________________________________________________ & ECHO.
PAUSE > NUL|SET /P =%BS% Press any key to return to the Menu:
ENDLOCAL & GOTO HOME-MAINMENU
)
:AUX-UPDATEFINISHED
ECHO. & ECHO Removing user...
ECHO. & ECHO Script update successful & ECHO __________________________________________________________ & ECHO. & ECHO ^| Central AME Script %ver% ^| & ECHO. & ECHO Downloading and applying update... & ECHO. & ECHO. & ECHO Script Update Successful & ECHO __________________________________________________________ & ECHO.
NET user "%usernameRemove%" /delete > NUL 2>&1
IF %ERRORLEVEL% NEQ 0 (
ECHO. & ECHO. & ECHO Failed to remove user. & ECHO __________________________________________________________ & ECHO.
PAUSE > NUL|SET /P =%BS% Press any key to return to the Menu:
ENDLOCAL & GOTO HOME-MAINMENU
)
TIMEOUT /T 1 /NOBREAK > NUL 2>&1
ECHO. & ECHO. & ECHO User removed successfully. & ECHO __________________________________________________________ & ECHO.
PAUSE > NUL|SET /P =%BS% Press any key to return to the Menu:
ENDLOCAL & GOTO HOME-MAINMENU
REM ------------------------NEWUSER-END------------------------
REM ----------------
REM Script Functions
REM ----------------
REM -----------------------------------------------------------
:AUX-DOWNLOADFAILED
ECHO. & ECHO. & ECHO Download failed. & ECHO __________________________________________________________ & ECHO.
PAUSE > NUL|SET /P =%BS% Press any key to return to the Menu:
GOTO HOME-MAINMENU
REM -----------------------------------------------------------
@ -1064,11 +1348,11 @@ REM -----------------------------------------------------------
REM -----------------------------------------------------------
:AUX-CENTERTEXT
SETLOCAL ENABLEDELAYEDEXPANSION
SET "cenSize=58"
SET "offset= "
SET "LEN=0"
:CENTERTEXT-LOOP
SETLOCAL ENABLEDELAYEDEXPANSION
IF "!!cenStr:~%LEN%!!"=="" ENDLOCAL & GOTO CENTERTEXT-LOOPEND
SET /A "LEN=%LEN%+1"
FOR %%B IN ('%LEN%') DO ENDLOCAL & SET "LEN=%%B"
@ -1095,7 +1379,7 @@ FOR /F "tokens=2 delims=\" %%B IN ('WMIC computersystem get username') DO SET cu
SET "currentUsername=%currentUsername:~0,-3%"
REM Detection for if user changed their username without restarting
IF "%currentUsername%"=="~0,-3" SET "currentUsername=RestartRequired"
SET "possibleUserDir=%currentUsername:~0,5%"
SET "possibleUserDir=%currentUsername%"
EXIT /B 0
REM -----------------------------------------------------------


+ 32
- 6
README.md View File

@ -6,7 +6,7 @@ Script for automating a large assortment of AME related actions.
## Usage
You can download the script by going to the [latest release](https://git.ameliorated.info/Joe/Central-AME-Script/releases/latest) and downloading `CentralAMEScript.zip` from the Downloads section.
You can download the script by going to the [latest release](https://git.ameliorated.info/Joe/Central-AME-Script/releases/latest) and downloading `Central-AME-Script.zip` from the Downloads section.
Alternatively, you could clone the repository:
@ -32,9 +32,17 @@ Similarly, the following command is used for changing the password:
#### Lockscreen Image
This function allows for changing the lockscreen image. This is a modified version of [LoganDark's lockscreen-img script](https://git.ameliorated.info/LoganDark/lockscreen-img).
This function allows for changing the lockscreen image.
It works by taking ownership of the existing lockscreen image files, and replacing them with the new image supplied by the user.
This is a modified version of [LoganDark's lockscreen-img script](https://git.ameliorated.info/LoganDark/lockscreen-img).
#### Profile Image
This function allows for changing the user's profile (PFP) image.
It works by taking ownership of the existing profile image files, and replacing them with the new image supplied by the user. Several necessary registry changes are made as well.
This is a modified version of [LoganDark's profile-img script](https://git.ameliorated.info/LoganDark/profile-img).
#### User Elevation
@ -92,9 +100,21 @@ Or the following for enabling the requirement:
## Extra Functions
Currently this section only contains legacy functions, these are only useful for versions of AME predating the [REDACTED].
This section contains small, beta, or legacy functions. Legacy functions are only useful for versions of AME predating the [REDACTED].
#### Hibernation
This function allows for enabling or disabling the hibernation option in Windows.
At its core, the following commands are used:
powercfg /HIBERNATE /TYPE FULL
Or the following for disabling hibernation:
powercfg /HIBERNATE OFF
#### Windows Script Host
#### Windows Script Host (Legacy)
This function allows for enabling or disabling Windows Script Host (WSH). WSH is necessary for some programs.
@ -108,7 +128,7 @@ Or the following for disabling WSH:
reg add "HKEY_USERS\<userSID>\SOFTWARE\Microsoft\Windows Script Host\Settings" /v Enabled /t REG_DWORD /d 0 /f
reg add "HKLM\SOFTWARE\Microsoft\Windows Script Host\Settings" /v Enabled /t REG_DWORD /d 0 /f
#### NCSI Active Probing
#### NCSI Active Probing (Legacy)
This function allows for enabling or disabling NCSI Active Probing. Some applications require this to be enabled.
@ -120,6 +140,12 @@ Or the following for disabling NCSI Active Probing:
reg add "HKLM\SYSTEM\CurrentControlSet\Services\NlaSvc\Parameters\Internet" /v EnableActiveProbing /t REG_DWORD /d 0 /f
#### New User
This function allows for creating partially functional and pre-configured users in Windows AME.
To do this, it uses a standard user creation command, followed by many registry edits to make the new user usable.
## Known Issues
Some keyboard languages may not work, and a few are improperly tagged. This will be fixed in a future release.

Loading…
Cancel
Save