From a5e5f4039d0cf4a0eae8accafc709e73432889a0 Mon Sep 17 00:00:00 2001 From: Joe Date: Tue, 16 Aug 2022 20:42:16 -0700 Subject: [PATCH] Overhaul amelioration process General: Format output and commands better ADMIN.bat: Make administrator group removal apply to all users Fix admin log-off task to make it work on battery and always show a message (Previously the pop-up message would usually not show), and make it work with domains other than WINDOWS-PC by scheduling a new task instead of importing XML files CHOC.bat: Move start menu open action from tiles.ps1 (Removed) Remove unnecessary clickstart.ps1 action Add Open-Shell start menu open action (This is just for loading the images of applications, and is NOT necessary for loading the custom Open-Shell registry settings) Make Open-Shell registry configuration apply to all users Disable Open-Shell update checks Disable Open-Shell Windows update checks Disable Open-Shell highlight new programs EDGE.bat: Make registry modifications apply to all users Remove useless SetLocal FIREFOXDEF.bat > FILEASSOC.bat: Transition from SetDefaultBrowser to custom PowerShell method inspired by https://github.com/DanysysTeam/PS-SFTA/blob/master/SFTA.ps1 that uses registry edits with a hashing mechanism Make configuration apply to all users AME-Firefox-Injection-Script > FIREFOXCONF.bat: Make injection apply to all users PYTH.bat: Remove SECUI.bat reliance and instead use python directly REGI.bat: Add user registry hive mount function for mounting hives of non-active users Make registry modifications apply to all users Add registry edit to disable Security and Maintenance notifications Add registry edit to disable pesky backup reminder notifications Add registry edit to prevent "NVIDIA Control Panel not found" message upon NVIDIA driver installation Remove SEARCH.bat reliance and instead use reg.exe directly SERV.bat: Add removal of the AppReadiness service, which is the cause of most of the black screen issues that have occurred. This service is a manually run service that is used for deploying new APPX applications, and for installing system APPX applications to new users, or existing users that have not yet had all the apps installed AME-SFC-Modification-Script.cmd > SFCDEPLOY.bat SHRT.bat: Use new shortcut creation using PowerShell + wscript instead of copying pre-made ones Make new shortcut configuration apply to all users SLNT.bat: Fix OldNewExplorer and OldCalculator not installing at all Make OldNewExplorer registry configuration apply to all users TILE.bat: Remove tiles.ps1 reliance and re-code it in batch Use LayoutModification.xml method instead of temporarily locking the start layout Add taskbar configuration to custom layout WALLPAPER.bat: Make changes apply to all users scoop.ps1: Make scoop install as a global program instead of current user only Make Windows Terminal and git install globally for all users instead of current user only --- Configuration/features/base/base.yml | 3 +- Configuration/features/base/choco.yml | 4 +- Executables/ADMIN.bat | 13 +- Executables/AME-Firefox-Injection-Script.cmd | 169 -------- Executables/AME-Log-off-admin-message.xml | 47 --- Executables/AME-Log-off-admin.xml | 46 -- Executables/AME-SFC-Modification-Script.cmd | 69 --- Executables/APPX.bat | 84 ++-- Executables/BANN.bat | 1 + Executables/CHOC.bat | 119 ++++-- Executables/EDGE.bat | 35 +- Executables/EDGEX.bat | 1 + Executables/Enter.ps1 | 4 - Executables/FILEASSOC.bat | 32 ++ Executables/FIREFOXCONF.bat | 195 +++++++++ Executables/FIREFOXDEF.bat | 2 - Executables/Firefox.lnk | Bin 1209 -> 0 bytes Executables/Layout.xml | 16 + Executables/Mozilla Thunderbird.lnk | Bin 1259 -> 0 bytes Executables/NOADMIN.bat | 3 - Executables/ONED.bat | 2 +- Executables/PYTH.bat | 9 +- Executables/REGI.bat | 418 +++++++++++-------- Executables/SEARCH.bat | 1 - Executables/SECUI.bat | 1 - Executables/SERV.bat | 11 +- Executables/SFCDEPLOY.bat | 69 +++ Executables/SHRT.bat | 38 +- Executables/SLNT.bat | 86 ++-- Executables/SetDefaultBrowser.exe | Bin 65024 -> 0 bytes Executables/TILE.bat | 33 +- Executables/WALLPAPER.bat | 137 ++++-- Executables/WINTERM.bat | 3 +- Executables/assoc.ps1 | 255 +++++++++++ Executables/clickstart.ps1 | 77 ---- Executables/install.ps1 | 38 +- Executables/scoop.ps1 | 6 +- Executables/sfc.cmd | 234 +++++------ Executables/tiles.ps1 | 58 --- 39 files changed, 1333 insertions(+), 986 deletions(-) delete mode 100644 Executables/AME-Firefox-Injection-Script.cmd delete mode 100644 Executables/AME-Log-off-admin-message.xml delete mode 100644 Executables/AME-Log-off-admin.xml delete mode 100644 Executables/AME-SFC-Modification-Script.cmd delete mode 100644 Executables/Enter.ps1 create mode 100644 Executables/FILEASSOC.bat create mode 100644 Executables/FIREFOXCONF.bat delete mode 100644 Executables/FIREFOXDEF.bat delete mode 100644 Executables/Firefox.lnk create mode 100644 Executables/Layout.xml delete mode 100644 Executables/Mozilla Thunderbird.lnk delete mode 100644 Executables/NOADMIN.bat delete mode 100644 Executables/SEARCH.bat delete mode 100644 Executables/SECUI.bat create mode 100644 Executables/SFCDEPLOY.bat delete mode 100644 Executables/SetDefaultBrowser.exe create mode 100644 Executables/assoc.ps1 delete mode 100644 Executables/clickstart.ps1 delete mode 100644 Executables/tiles.ps1 diff --git a/Configuration/features/base/base.yml b/Configuration/features/base/base.yml index 148e1bf..e1e5a95 100644 --- a/Configuration/features/base/base.yml +++ b/Configuration/features/base/base.yml @@ -6,7 +6,6 @@ actions: - !run: currentDir: true exe: "DNET.bat" - args: - !run: currentDir: true exe: "REGI.bat" @@ -27,7 +26,7 @@ actions: exe: "PYTH.bat" - !run: currentDir: true - exe: "AME-SFC-Modification-Script.cmd" + exe: "SFCDEPLOY.bat" - !run: currentDir: true exe: "TILE.bat" diff --git a/Configuration/features/base/choco.yml b/Configuration/features/base/choco.yml index b677155..71d4f75 100644 --- a/Configuration/features/base/choco.yml +++ b/Configuration/features/base/choco.yml @@ -8,7 +8,7 @@ actions: exe: "CHOC.bat" - !run: currentDir: true - exe: "AME-Firefox-Injection-Script.cmd" + exe: "FIREFOXCONF.bat" - !run: currentDir: true - exe: "FIREFOXDEF.bat" \ No newline at end of file + exe: "FILEASSOC.bat" \ No newline at end of file diff --git a/Executables/ADMIN.bat b/Executables/ADMIN.bat index 6454c68..cc8e4d7 100644 --- a/Executables/ADMIN.bat +++ b/Executables/ADMIN.bat @@ -1,3 +1,12 @@ -net user administrator /active:yes +net user Administrator /active:yes net user Administrator malte -net localgroup administrators %username% /delete \ No newline at end of file +@echo OFF +for /f "usebackq delims=" %%A in (`net localgroup users ^| findstr /V /I /c:"NT AUTHORITY\\" /c:"Alias name" /c:"Comment" /c:"Members" /c:"------------------------------------------------------------" /c:"The command completed"`) do ( + echo net localgroup administrators "%%A" /delete + net localgroup administrators "%%A" /delete +) +@echo ON +schtasks /create /tn "AME Admin Log-off" /tr "CMD /C 'SCHTASKS /run /tn 'AME Admin Log-off Msg' & Logoff'" /ru "Administrator" /sc ONLOGON /it /rl HIGHEST /f > NUL +PowerShell -NoP -C "$TaskSet = New-ScheduledTaskSettingsSet -AllowStartIfOnBatteries -DontStopIfGoingOnBatteries; Set-ScheduledTask -TaskName 'AME Admin Log-off Msg' -Settings $TaskSet" > NUL +schtasks /create /tn "AME Admin Log-off Msg" /tr "PowerShell -NoP -C 'While($lim -lt 20){WMIC computersystem get username|findstr /c:'\Administrator ';if(!$?){Break};$lim++;Sleep 1};'''Logging in as the Administrator user is not supported on AME.`nPlease login using a different account.'''|Msg *'" /sc MONTHLY /f /rl HIGHEST /ru "SYSTEM" > NUL +PowerShell -NoP -C "$TaskSet = New-ScheduledTaskSettingsSet -AllowStartIfOnBatteries -DontStopIfGoingOnBatteries; Set-ScheduledTask -TaskName 'AME Admin Log-off Msg' -Settings $TaskSet; $serv = New-Object -ComObject Schedule.Service; $serv.Connect($env:COMPUTERNAME); $folder = $serv.GetFolder('\'); $task = $folder.GetTask('AME Admin Log-off Msg'); $item = $task.Definition; $item.Triggers.Remove(1); $folder.RegisterTaskDefinition($task.Name, $item, 4, $null, $null, $null)" > NUL \ No newline at end of file diff --git a/Executables/AME-Firefox-Injection-Script.cmd b/Executables/AME-Firefox-Injection-Script.cmd deleted file mode 100644 index d5f1eb5..0000000 --- a/Executables/AME-Firefox-Injection-Script.cmd +++ /dev/null @@ -1,169 +0,0 @@ -@ECHO OFF -NET SESSION > NUL 2>&1 - IF %ERRORLEVEL% NEQ 0 ( - ECHO Script must be run from an elevated cmd prompt - EXIT /B 1 - ) - -ECHO. & ECHO ^| AME Firefox Injection Script v3.0 ^| & ECHO. - -IF NOT EXIST "%~dp0\AME-Firefox-Injection" ( - ECHO No supplied AME-Firefox-Injection folder detected. - EXIT /B 4 -) - -:ENTRIES - -ECHO Grabbing previous Firefox entries... - -IF NOT EXIST "%TEMP%\Firefox-Reg-Output.txt" ECHO No input entries detected & ECHO. & ECHO Generating random string... & ECHO. & GOTO GenRND - -SETLOCAL EnableDelayedExpansion -SET /A "count1=0" -FOR /F "usebackq tokens=2 delims=-" %%A IN (`FINDSTR /c:"Firefox-" "%TEMP%\Firefox-Reg-Output.txt"`) DO ( - SET /A "count1=!count1!+1" - SET "ffBef!count1!=%%A" - SET "par=!par!)" - SET "arg=!arg!IF NOT "%%D"=="%%A" (" -) - -DEL /Q /F "%TEMP%\Firefox-Reg-Output.txt" > NUL 2>&1 - -ECHO. & ECHO Grabbing and comparing Firefox entries... -SET /A "count2=0" -FOR /F "usebackq tokens=2 delims=-" %%D IN (`REG query "HKLM\SOFTWARE\Clients\StartMenuInternet" /f "Firefox-"`) DO ( - SET /A "count2=!count2!+1" - %arg%SET "NewCode=%%D"%par% -) - -ECHO. & ECHO Generating random string... & ECHO. - -:GenRND - -SET "RNDConsist=abcdefghijklmnopqrstuvwxyz0123456789" -SET /A "RND=%RANDOM% %% 36" -SET "RNDResult=!RNDResult!!RNDConsist:~%RND%,1!" -IF "%RNDResult:~7%"=="" (GOTO GenRND) - -IF "%count1%"=="0" (IF "%count2%"=="0" (SET "NewCode=NULL")) -ENDLOCAL & SET "NewCode=%NewCode%" & SET "RNDStr=%RNDResult%" - -:CHECKS - -REM Redundancy, incase the original Firefox installed check fails -IF "%NewCode%"=="NULL" ECHO No Firefox install detected & ECHO. & SET "prefsOnly=true" -IF "%NewCode%"=="" ECHO Firefox version already installed & ECHO. & SET "prefsOnly=true" -IF NOT EXIST "%PROGRAMFILES%\Mozilla Firefox\firefox.exe" ECHO Can't find Firefox.exe & ECHO. & SET "prefsOnly=true" -IF EXIST "%APPDATA%\Mozilla\Firefox\profiles.ini" ( - FINDSTR /c:"%NewCode%" "%APPDATA%\Mozilla\Firefox\profiles.ini" > NUL 2>&1 - IF NOT ERRORLEVEL 1 ECHO Firefox version already in profiles.ini & ECHO. & SET "prefsOnly=true" -) - -IF "%prefsOnly%"=="true" GOTO PREFSONLY - -SET /A "count0=1" - -:PROFILENAME - -IF %count0% GTR 50 ECHO Default-release count exceeded 50 & GOTO PREFSONLY -IF EXIST "%APPDATA%\Mozilla\Firefox\profiles.ini" ( - FINDSTR /c:"Name=default-release" "%APPDATA%\Mozilla\Firefox\profiles.ini" > NUL 2>&1 - IF NOT ERRORLEVEL 1 ( - FINDSTR /c:"Name=default-release-%count0%" "%APPDATA%\Mozilla\Firefox\profiles.ini" - IF NOT ERRORLEVEL 1 ( - SET /A "count0=%count0%+1" - GOTO PROFILENAME - ) ELSE ( - SET "profileName=default-release-%count0%" - ) - ) ELSE ( - SET "profileName=default-release" - ) -) ELSE ( - SET "profileName=default-release" -) - -ECHO Injecting profile... -REM This could also be set manually in the profiles.ini file -POWERSHELL -NoP -C "Start-Process '%PROGRAMFILES%\Mozilla Firefox\firefox.exe' -ArgumentList '-CreateProfile','"""%profileName% %APPDATA%\Mozilla\Firefox\Profiles\%RNDStr%.%profileName%"""','--no-remote' -Wait" -ROBOCOPY "%~dp0\AME-Firefox-Injection" "%APPDATA%\Mozilla\Firefox\Profiles\%RNDStr%.%profileName%" /E > NUL - -REM Sets profile as the default -ECHO [Install%NewCode%]>> "%APPDATA%\Mozilla\Firefox\profiles.ini" -ECHO Default=Profiles/%RNDStr%.%profileName%>> "%APPDATA%\Mozilla\Firefox\profiles.ini" -ECHO Locked=^1>> "%APPDATA%\Mozilla\Firefox\profiles.ini" - -REM Add prefs to any other Firefox profiles in all users -FOR /F "usebackq delims=" %%A IN (`DIR /B /A:d "%SYSTEMDRIVE%\Users"`) DO ( - IF EXIST "%SYSTEMDRIVE%\Users\%%A\AppData\Roaming\Mozilla\Firefox\Profiles" ( - FOR /F "usebackq delims=" %%B IN (`DIR /B /A:d "%SYSTEMDRIVE%\Users\%%A\AppData\Roaming\Mozilla\Firefox\Profiles" ^| FINDSTR /v /x /c:"%RNDStr%.%profileName%"`) DO ( - SET /A "count3=%count3%+1" - IF EXIST "%SYSTEMDRIVE%\Users\%%A\AppData\Roaming\Mozilla\Firefox\Profiles\%%B\prefs.js" ( - REM Removes lines containing these entries from the profiles prefs.js. This way any old prefs don't overlap with the new prefs - FINDSTR /V /C:""""app.shield.optoutstudies.enabled"""" /C:""""browser.aboutwelcome.enabled"""" /C:""""browser.disableResetPrompt"""" /C:""""browser.newtabpage.activity-stream.asrouter.userprefs.cfr.addons"""" /C:""""browser.newtabpage.activity-stream.asrouter.userprefs.cfr.features"""" /C:""""browser.newtabpage.activity-stream.feeds.section.topstories"""" /C:""""browser.newtabpage.activity-stream.feeds.topsites"""" /C:""""browser.newtabpage.activity-stream.section.highlights.includePocket"""" /C:""""browser.newtabpage.activity-stream.section.highlights.includeVisited"""" /C:""""browser.newtabpage.activity-stream.showSponsored"""" /C:""""browser.newtabpage.activity-stream.showSponsoredTopSites"""" /C:""""browser.urlbar.placeholderNam"""" /C:""""browser.urlbar.suggest.quicksuggest.nonsponsored"""" /C:""""browser.urlbar.suggest.quicksuggest.sponsored"""" /C:""""browser.urlbar.suggest.topsites"""" /C:""""datareporting.healthreport.uploadEnabled"""" /C:""""dom.security.https_only_mode"""" /C:""""dom.security.https_only_mode_ever_enabled"""" "%SYSTEMDRIVE%\Users\%%A\AppData\Roaming\Mozilla\Firefox\Profiles\%%B\prefs.js ">> "%TEMP%\prefs.js.tmp" - ) - REM Filters out a few prefs from AME-Firefox-Injectiont\prefs.js and adds them to prefs.js.tmp - FINDSTR /V /C:""""browser.toolbars.bookmarks.visibility"""" /C:""""extensions.webextensions.uuids"""" /C:""""extensions.webextensions.uuids"""" "%~dp0\AME-Firefox-Injection\prefs.js" >> "%TEMP%\prefs.js.tmp" - MOVE /Y "%TEMP%\prefs.js.tmp" "%SYSTEMDRIVE%\Users\%%A\AppData\Roaming\Mozilla\Firefox\Profiles\%%B\prefs.js" > NUL - IF EXIST "%SYSTEMDRIVE%\Users\%%A\AppData\Roaming\Mozilla\Firefox\Profiles\%%B\search.json.mozlz4" DEL /Q /F "%SYSTEMDRIVE%\Users\%%A\AppData\Roaming\Mozilla\Firefox\Profiles\%%B\search.json.mozlz4" > NUL - ROBOCOPY "%~dp0\AME-Firefox-Injection" "%SYSTEMDRIVE%\Users\%%A\AppData\Roaming\Mozilla\Firefox\Profiles\%%B" search.json.mozlz4 /E > NUL - POWERSHELL -NoP -C "Get-Acl '%SYSTEMDRIVE%\Users\%%A\AppData\Roaming\Mozilla\Firefox\Profiles' | Set-Acl '%SYSTEMDRIVE%\Users\%%A\AppData\Roaming\Mozilla\Firefox\Profiles\%%B\prefs.js'" > NUL 2>&1 - POWERSHELL -NoP -C "Get-Acl '%SYSTEMDRIVE%\Users\%%A\AppData\Roaming\Mozilla\Firefox\Profiles' | Set-Acl '%SYSTEMDRIVE%\Users\%%A\AppData\Roaming\Mozilla\Firefox\Profiles\%%B\search.json.mozlz4'" > NUL 2>&1 - ) - ) -) - -SET "ERRORCODE=0" -GOTO COMPLETE - -:PREFSONLY - -REM uBlock Origin could be installed automatically here, however that would involve overwriting the old extension.json etc -REM files, which, if the user had previous extensions, could cause issues. - -ECHO Injecting config files... - -IF EXIST "%TEMP%\prefs.js.tmp" DEL /F /Q "%TEMP%\prefs.js.tmp" > NUL - -SET /A "count3=0" - -FOR /F "usebackq delims=" %%A IN (`DIR /B /A:d "%APPDATA%\Mozilla\Firefox\Profiles"`) DO ( - SET /A "count3=%count3%+1" - IF EXIST "%APPDATA%\Mozilla\Firefox\Profiles\%%A\prefs.js" ( - REM Removes lines containing these entries from the profiles prefs.js. This way any old prefs don't overlap with the new prefs - FINDSTR /V /C:""""app.shield.optoutstudies.enabled"""" /C:""""browser.aboutwelcome.enabled"""" /C:""""browser.disableResetPrompt"""" /C:""""browser.newtabpage.activity-stream.asrouter.userprefs.cfr.addons"""" /C:""""browser.newtabpage.activity-stream.asrouter.userprefs.cfr.features"""" /C:""""browser.newtabpage.activity-stream.feeds.section.topstories"""" /C:""""browser.newtabpage.activity-stream.feeds.topsites"""" /C:""""browser.newtabpage.activity-stream.section.highlights.includePocket"""" /C:""""browser.newtabpage.activity-stream.section.highlights.includeVisited"""" /C:""""browser.newtabpage.activity-stream.showSponsored"""" /C:""""browser.newtabpage.activity-stream.showSponsoredTopSites"""" /C:""""browser.urlbar.placeholderNam"""" /C:""""browser.urlbar.suggest.quicksuggest.nonsponsored"""" /C:""""browser.urlbar.suggest.quicksuggest.sponsored"""" /C:""""browser.urlbar.suggest.topsites"""" /C:""""datareporting.healthreport.uploadEnabled"""" /C:""""dom.security.https_only_mode"""" /C:""""dom.security.https_only_mode_ever_enabled"""" "%APPDATA%\Mozilla\Firefox\Profiles\%%A\prefs.js ">> "%TEMP%\prefs.js.tmp" - ) - REM Filters out a few prefs from AME-Firefox-Injectiont\prefs.js and adds them to prefs.js.tmp - FINDSTR /V /C:""""browser.toolbars.bookmarks.visibility"""" /C:""""extensions.webextensions.uuids"""" /C:""""extensions.webextensions.uuids"""" "%~dp0\AME-Firefox-Injection\prefs.js" >> "%TEMP%\prefs.js.tmp" - MOVE /Y "%TEMP%\prefs.js.tmp" "%APPDATA%\Mozilla\Firefox\Profiles\%%A\prefs.js" > NUL - IF EXIST "%APPDATA%\Mozilla\Firefox\Profiles\%%A\search.json.mozlz4" DEL /Q /F "%APPDATA%\Mozilla\Firefox\Profiles\%%A\search.json.mozlz4" > NUL - ROBOCOPY "%~dp0\AME-Firefox-Injection" "%APPDATA%\Mozilla\Firefox\Profiles\%%A" search.json.mozlz4 /E > NUL -) -FOR /F "usebackq delims=" %%A IN (`DIR /B /A:d "%SYSTEMDRIVE%\Users"`) DO ( - IF EXIST "%SYSTEMDRIVE%\Users\%%A\AppData\Roaming\Mozilla\Firefox\Profiles" ( - FOR /F "usebackq delims=" %%B IN (`DIR /B /A:d "%SYSTEMDRIVE%\Users\%%A\AppData\Roaming\Mozilla\Firefox\Profiles"`) DO ( - SET /A "count3=%count3%+1" - IF EXIST "%SYSTEMDRIVE%\Users\%%A\AppData\Roaming\Mozilla\Firefox\Profiles\%%B\prefs.js" ( - REM Removes lines containing these entries from the profiles prefs.js. This way any old prefs don't overlap with the new prefs - FINDSTR /V /C:""""app.shield.optoutstudies.enabled"""" /C:""""browser.aboutwelcome.enabled"""" /C:""""browser.disableResetPrompt"""" /C:""""browser.newtabpage.activity-stream.asrouter.userprefs.cfr.addons"""" /C:""""browser.newtabpage.activity-stream.asrouter.userprefs.cfr.features"""" /C:""""browser.newtabpage.activity-stream.feeds.section.topstories"""" /C:""""browser.newtabpage.activity-stream.feeds.topsites"""" /C:""""browser.newtabpage.activity-stream.section.highlights.includePocket"""" /C:""""browser.newtabpage.activity-stream.section.highlights.includeVisited"""" /C:""""browser.newtabpage.activity-stream.showSponsored"""" /C:""""browser.newtabpage.activity-stream.showSponsoredTopSites"""" /C:""""browser.urlbar.placeholderNam"""" /C:""""browser.urlbar.suggest.quicksuggest.nonsponsored"""" /C:""""browser.urlbar.suggest.quicksuggest.sponsored"""" /C:""""browser.urlbar.suggest.topsites"""" /C:""""datareporting.healthreport.uploadEnabled"""" /C:""""dom.security.https_only_mode"""" /C:""""dom.security.https_only_mode_ever_enabled"""" "%SYSTEMDRIVE%\Users\%%A\AppData\Roaming\Mozilla\Firefox\Profiles\%%B\prefs.js ">> "%TEMP%\prefs.js.tmp" - ) - REM Filters out a few prefs from AME-Firefox-Injectiont\prefs.js and adds them to prefs.js.tmp - FINDSTR /V /C:""""browser.toolbars.bookmarks.visibility"""" /C:""""extensions.webextensions.uuids"""" /C:""""extensions.webextensions.uuids"""" "%~dp0\AME-Firefox-Injection\prefs.js" >> "%TEMP%\prefs.js.tmp" - MOVE /Y "%TEMP%\prefs.js.tmp" "%SYSTEMDRIVE%\Users\%%A\AppData\Roaming\Mozilla\Firefox\Profiles\%%B\prefs.js" > NUL - IF EXIST "%SYSTEMDRIVE%\Users\%%A\AppData\Roaming\Mozilla\Firefox\Profiles\%%B\search.json.mozlz4" DEL /Q /F "%SYSTEMDRIVE%\Users\%%A\AppData\Roaming\Mozilla\Firefox\Profiles\%%B\search.json.mozlz4" > NUL - ROBOCOPY "%~dp0\AME-Firefox-Injection" "%SYSTEMDRIVE%\Users\%%A\AppData\Roaming\Mozilla\Firefox\Profiles\%%B" search.json.mozlz4 /E > NUL - POWERSHELL -NoP -C "Get-Acl '%SYSTEMDRIVE%\Users\%%A\AppData\Roaming\Mozilla\Firefox\Profiles' | Set-Acl '%SYSTEMDRIVE%\Users\%%A\AppData\Roaming\Mozilla\Firefox\Profiles\%%B\prefs.js'" > NUL 2>&1 - POWERSHELL -NoP -C "Get-Acl '%SYSTEMDRIVE%\Users\%%A\AppData\Roaming\Mozilla\Firefox\Profiles' | Set-Acl '%SYSTEMDRIVE%\Users\%%A\AppData\Roaming\Mozilla\Firefox\Profiles\%%B\search.json.mozlz4'" > NUL 2>&1 - ) - ) -) -IF %count3% EQU 0 ECHO Failed! No profiles detected & SET "ERRORCODE=2" & GOTO COMPLETE - -SET "ERRORCODE=1" - -:COMPLETE - -IF NOT %ERRORCODE% EQU 2 ECHO. & ECHO Successfully injected custom Firefox configs. -EXIT /B %ERRORCODE% - -REM Errorcode 0 = Created new profile and injected; 1 = Firefox existed, injected custom prefs.js and search.json.mozlz4; 2 = Totally failed, no firefox detected, no profiles detected; 4 = No supplied AME-Firefox-Injection folder detected. \ No newline at end of file diff --git a/Executables/AME-Log-off-admin-message.xml b/Executables/AME-Log-off-admin-message.xml deleted file mode 100644 index 915d93a..0000000 --- a/Executables/AME-Log-off-admin-message.xml +++ /dev/null @@ -1,47 +0,0 @@ - - - - 2021-02-10T20:04:12.7491874 - WINDOWS-PC\Administrator - \Log-off admin message - - - - true - WINDOWS-PC\Administrator - - - - - System - HighestAvailable - - - - IgnoreNew - true - true - true - false - false - - true - false - - true - true - false - false - false - true - false - PT72H - 7 - - - - powershell.exe - Write-Output 'Logging in as the Administrator user is not supported on AME.' 'Please login using a different account.' | Msg * - - - diff --git a/Executables/AME-Log-off-admin.xml b/Executables/AME-Log-off-admin.xml deleted file mode 100644 index 447a533..0000000 --- a/Executables/AME-Log-off-admin.xml +++ /dev/null @@ -1,46 +0,0 @@ - - - - 2021-02-10T19:24:15.5621439 - WINDOWS-PC\Administrator - \Log-off admin user - - - - true - WINDOWS-PC\Administrator - - - - - System - InteractiveToken - LeastPrivilege - - - - IgnoreNew - true - true - true - false - false - - true - false - - true - true - false - false - false - PT72H - 7 - - - - cmd.exe - /c c:\windows\system32\logoff.exe - - - diff --git a/Executables/AME-SFC-Modification-Script.cmd b/Executables/AME-SFC-Modification-Script.cmd deleted file mode 100644 index 82aab9c..0000000 --- a/Executables/AME-SFC-Modification-Script.cmd +++ /dev/null @@ -1,69 +0,0 @@ -@ECHO OFF - -ECHO. & ECHO ^| AME SFC Modification Deployment Script v2.5 ^| & ECHO. - -NET session > NUL 2>&1 - IF %ERRORLEVEL% LSS 1 ( - GOTO sfcCmdChecks - ) ELSE ( - ECHO Script must be run from an elevated cmd prompt - EXIT /B 1 - ) - -:sfcCmdChecks - -IF NOT EXIST "%~dp0\sfc.cmd" ( - ECHO No supplied sfc.cmd detected - EXIT /B 2 -) - -IF EXIST "%SYSTEMROOT%\System32\sfc.cmd" ( - TAKEOWN /f "%SYSTEMROOT%\System32\sfc.cmd" /a > NUL 2>&1 - ICACLS "%SYSTEMROOT%\System32\sfc.cmd" /grant Administrators:F > NUL 2>&1 - DEL /Q /F "%SYSTEMROOT%\System32\sfc.cmd" - GOTO move -) ELSE ( - GOTO move -) - -:move - -MOVE /Y "%~dp0\sfc.cmd" "%SYSTEMROOT%\System32\" 1> NUL - -:sfc1ExeCheck - -IF EXIST "%SYSTEMROOT%\System32\sfc1.exe" ( - ECHO sfc1.exe already exists, assigning permissions... & ECHO. - - POWERSHELL -NoP -C "Get-Acl '%SYSTEMROOT%\System32\diskmgmt.msc' | Set-Acl '%SYSTEMROOT%\System32\sfc1.exe'" > NUL 2>&1 - POWERSHELL -NoP -C "Get-Acl '%SYSTEMROOT%\System32\diskmgmt.msc' | Set-Acl '%SYSTEMROOT%\System32\sfc.cmd'" > NUL 2>&1 - GOTO complete -) ELSE ( - GOTO managePermissions -) - -:managePermissions - -ECHO Assigning permissions and renaming sfc.exe... & ECHO. - -REM Copies the ACL from diskmgmt.msc to sfc.cmd. -POWERSHELL -NoP -C "Get-Acl '%SYSTEMROOT%\System32\diskmgmt.msc' | Set-Acl '%SYSTEMROOT%\System32\sfc.cmd'" > NUL 2>&1 - -REM Gives the Administrator group full access for renaming sfc.exe to sfc1.exe. -TAKEOWN /f "%SYSTEMROOT%\System32\sfc.exe" /a > NUL 2>&1 -ICACLS "%SYSTEMROOT%\System32\sfc.exe" /grant Administrators:F > NUL 2>&1 - -GOTO renameSFCExe - -:renameSFCExe - -REN "%SYSTEMROOT%\System32\sfc.exe" "sfc1.exe" > NUL 2>&1 - -REM Copies the ACL from diskmgmt.msc to sfc1.exe. Essentially resetting its ACL. -POWERSHELL -NoP -C "Get-Acl '%SYSTEMROOT%\System32\diskmgmt.msc' | Set-Acl '%SYSTEMROOT%\System32\sfc1.exe'" > NUL 2>&1 -GOTO complete - -:complete - -ECHO Successfully deployed sfc modification. -EXIT /B 0 diff --git a/Executables/APPX.bat b/Executables/APPX.bat index df56c58..6933c03 100644 --- a/Executables/APPX.bat +++ b/Executables/APPX.bat @@ -1,42 +1,42 @@ -PowerShell -Command "Get-AppxPackage -allusers *Microsoft.549981C3F5F10* | Remove-AppxPackage" -PowerShell -Command "Get-AppxPackage *3DViewer* | Remove-AppxPackage" -PowerShell -Command "Get-AppxPackage *AssignedAccessLockApp* | Remove-AppxPackage" -PowerShell -Command "Get-AppxPackage *PinningConfirmationDialog* | Remove-AppxPackage" -PowerShell -Command "Get-AppxPackage *SecureAssessmentBrowser* | Remove-AppxPackage" -PowerShell -Command "Get-AppxPackage *FeedbackHub* | Remove-AppxPackage" -PowerShell -Command "Get-AppxPackage *MixedReality* | Remove-AppxPackage" -PowerShell -Command "Get-AppxPackage *Microsoft.Calculator* | Remove-AppxPackage" -PowerShell -Command "Get-AppxPackage *Microsoft.WindowsAlarms* | Remove-AppxPackage" -PowerShell -Command "Get-AppxPackage *Microsoft.GetHelp* | Remove-AppxPackage" -PowerShell -Command "Get-AppxPackage *Getstarted* | Remove-AppxPackage" -PowerShell -Command "Get-AppxPackage *disney* | Remove-AppxPackage" -PowerShell -Command "Get-AppxPackage *Microsoft.OneConnect* | Remove-AppxPackage" -PowerShell -Command "Get-AppxPackage *WindowsCamera* | Remove-AppxPackage" -PowerShell -Command "Get-AppxPackage *bing* | Remove-AppxPackage" -PowerShell -Command "Get-AppxPackage *Sticky* | Remove-AppxPackage" -PowerShell -Command "Get-AppxPackage *Store* | Remove-AppxPackage" -PowerShell -Command "Get-AppxPackage *MicrosoftOfficeHub* | Remove-AppxPackage" -PowerShell -Command "Get-AppxPackage *Paint* | Remove-AppxPackage" -PowerShell -Command "Get-AppxPackage *wallet* | Remove-AppxPackage" -PowerShell -Command "Get-AppxPackage *OneNote* | Remove-AppxPackage" -PowerShell -Command "Get-AppxPackage *Microsoft.People* | Remove-AppxPackage" -PowerShell -Command "Get-AppxPackage *WindowsPhone* | Remove-AppxPackage" -PowerShell -Command "Get-AppxPackage *YourPhone* | Remove-AppxPackage" -PowerShell -Command "Get-AppxPackage *photos* | Remove-AppxPackage" -PowerShell -Command "Get-AppxPackage *SkypeApp* | Remove-AppxPackage" -PowerShell -Command "Get-AppxPackage *solit* | Remove-AppxPackage" -PowerShell -Command "Get-AppxPackage *spotify* | Remove-AppxPackage" -PowerShell -Command "Get-AppxPackage *WindowsSoundRecorder* | Remove-AppxPackage" -PowerShell -Command "Get-AppxPackage *windowscommunicationsapps* | Remove-AppxPackage" -PowerShell -Command "Get-AppxPackage *zune* | Remove-AppxPackage" -PowerShell -Command "Get-AppxPackage *WindowsCalculator* | Remove-AppxPackage" -PowerShell -Command "Get-AppxPackage *WindowsMaps* | Remove-AppxPackage" -PowerShell -Command "Get-AppxPackage *Sway* | Remove-AppxPackage" -PowerShell -Command "Get-AppxPackage *CommsPhone* | Remove-AppxPackage" -PowerShell -Command "Get-AppxPackage *ConnectivityStore* | Remove-AppxPackage" -PowerShell -Command "Get-AppxPackage *Microsoft.Messaging* | Remove-AppxPackage" -PowerShell -Command "Get-AppxPackage *Microsoft.WindowsStore* | Remove-AppxPackage" -PowerShell -Command "Get-AppxPackage *XboxApp* | Remove-AppxPackage" -PowerShell -Command "Get-AppxPackage *XboxSpeechToTextOverlay* | Remove-AppxPackage" -PowerShell -Command "Get-AppxPackage *XboxGamingOverlay* | Remove-AppxPackage" -PowerShell -Command "Get-AppxPackage *XboxGameOverlay* | Remove-AppxPackage" \ No newline at end of file +PowerShell -NoP -C "Get-AppxPackage -AllUsers *Microsoft.549981C3F5F10* | Remove-AppxPackage" +PowerShell -NoP -C "Get-AppxPackage *3DViewer* | Remove-AppxPackage" +PowerShell -NoP -C "Get-AppxPackage *AssignedAccessLockApp* | Remove-AppxPackage" +PowerShell -NoP -C "Get-AppxPackage *PinningConfirmationDialog* | Remove-AppxPackage" +PowerShell -NoP -C "Get-AppxPackage *SecureAssessmentBrowser* | Remove-AppxPackage" +PowerShell -NoP -C "Get-AppxPackage *FeedbackHub* | Remove-AppxPackage" +PowerShell -NoP -C "Get-AppxPackage *MixedReality* | Remove-AppxPackage" +PowerShell -NoP -C "Get-AppxPackage *Microsoft.Calculator* | Remove-AppxPackage" +PowerShell -NoP -C "Get-AppxPackage *Microsoft.WindowsAlarms* | Remove-AppxPackage" +PowerShell -NoP -C "Get-AppxPackage *Microsoft.GetHelp* | Remove-AppxPackage" +PowerShell -NoP -C "Get-AppxPackage *Getstarted* | Remove-AppxPackage" +PowerShell -NoP -C "Get-AppxPackage *disney* | Remove-AppxPackage" +PowerShell -NoP -C "Get-AppxPackage *Microsoft.OneConnect* | Remove-AppxPackage" +PowerShell -NoP -C "Get-AppxPackage *WindowsCamera* | Remove-AppxPackage" +PowerShell -NoP -C "Get-AppxPackage *bing* | Remove-AppxPackage" +PowerShell -NoP -C "Get-AppxPackage *Sticky* | Remove-AppxPackage" +PowerShell -NoP -C "Get-AppxPackage *Store* | Remove-AppxPackage" +PowerShell -NoP -C "Get-AppxPackage *MicrosoftOfficeHub* | Remove-AppxPackage" +PowerShell -NoP -C "Get-AppxPackage *Paint* | Remove-AppxPackage" +PowerShell -NoP -C "Get-AppxPackage *wallet* | Remove-AppxPackage" +PowerShell -NoP -C "Get-AppxPackage *OneNote* | Remove-AppxPackage" +PowerShell -NoP -C "Get-AppxPackage *Microsoft.People* | Remove-AppxPackage" +PowerShell -NoP -C "Get-AppxPackage *WindowsPhone* | Remove-AppxPackage" +PowerShell -NoP -C "Get-AppxPackage *YourPhone* | Remove-AppxPackage" +PowerShell -NoP -C "Get-AppxPackage *photos* | Remove-AppxPackage" +PowerShell -NoP -C "Get-AppxPackage *SkypeApp* | Remove-AppxPackage" +PowerShell -NoP -C "Get-AppxPackage *solit* | Remove-AppxPackage" +PowerShell -NoP -C "Get-AppxPackage *spotify* | Remove-AppxPackage" +PowerShell -NoP -C "Get-AppxPackage *WindowsSoundRecorder* | Remove-AppxPackage" +PowerShell -NoP -C "Get-AppxPackage *windowscommunicationsapps* | Remove-AppxPackage" +PowerShell -NoP -C "Get-AppxPackage *zune* | Remove-AppxPackage" +PowerShell -NoP -C "Get-AppxPackage *WindowsCalculator* | Remove-AppxPackage" +PowerShell -NoP -C "Get-AppxPackage *WindowsMaps* | Remove-AppxPackage" +PowerShell -NoP -C "Get-AppxPackage *Sway* | Remove-AppxPackage" +PowerShell -NoP -C "Get-AppxPackage *CommsPhone* | Remove-AppxPackage" +PowerShell -NoP -C "Get-AppxPackage *ConnectivityStore* | Remove-AppxPackage" +PowerShell -NoP -C "Get-AppxPackage *Microsoft.Messaging* | Remove-AppxPackage" +PowerShell -NoP -C "Get-AppxPackage *Microsoft.WindowsStore* | Remove-AppxPackage" +PowerShell -NoP -C "Get-AppxPackage *XboxApp* | Remove-AppxPackage" +PowerShell -NoP -C "Get-AppxPackage *XboxSpeechToTextOverlay* | Remove-AppxPackage" +PowerShell -NoP -C "Get-AppxPackage *XboxGamingOverlay* | Remove-AppxPackage" +PowerShell -NoP -C "Get-AppxPackage *XboxGameOverlay* | Remove-AppxPackage" \ No newline at end of file diff --git a/Executables/BANN.bat b/Executables/BANN.bat index 2312103..2b932ab 100644 --- a/Executables/BANN.bat +++ b/Executables/BANN.bat @@ -1,3 +1,4 @@ cd Executables + start .\ViVeTool.exe addconfig 18299130 1 start .\ViVeTool.exe addconfig 31950543 1 \ No newline at end of file diff --git a/Executables/CHOC.bat b/Executables/CHOC.bat index 15d5bcf..aff9426 100644 --- a/Executables/CHOC.bat +++ b/Executables/CHOC.bat @@ -1,49 +1,78 @@ -start explorer.exe - reg query "HKLM\SOFTWARE\Clients\StartMenuInternet" /k /f "Firefox-" > "%TEMP%\Firefox-Reg-Output.txt" -@powershell -NoProfile -ExecutionPolicy Bypass -Command "iex ((new-object net.webclient).DownloadString('https://chocolatey.org/install.ps1'))" && SET PATH=%PATH%;%ALLUSERSPROFILE%\chocolatey\bin -@powershell -NoProfile -ExecutionPolicy Bypass -Command "choco install -y --force --allow-empty-checksums firefox thunderbird open-shell vlc 7zip jpegview vcredist-all directx onlyoffice cascadiamono" +:: Load tile layout from before +PowerShell -NoP -C "(New-Object -ComObject wscript.shell).SendKeys('^{ESCAPE}')" +timeout /t 3 > NUL +PowerShell -NoP -C "(New-Object -ComObject wscript.shell).SendKeys('^{ESCAPE}')" + +@echo OFF +for /f "usebackq tokens=2 delims=\" %%A in (`reg query "HKEY_USERS" ^| findstr /c:"S-" /c:"AME_UserHive_"`) do ( + reg query "HKU\%%A" | findstr /c:"Volatile Environment" /c:"AME_UserHive_" > NUL 2>&1 + if not errorlevel 1 call :CHOCCALL "%%A" +) +@echo ON + +@PowerShell -NoP -ExecutionPolicy Bypass -C "iex ((new-object net.webclient).DownloadString('https://chocolatey.org/install.ps1'))" && set "PATH=%PATH%;%ALLUSERSPROFILE%\chocolatey\bin" +@PowerShell -NoP -ExecutionPolicy Bypass -C "choco install -y --force --allow-empty-checksums firefox thunderbird open-shell vlc 7zip jpegview vcredist-all directx onlyoffice cascadiamono" cd Executables -copy Fluent-Metro.skin "C:\Program Files\Open-Shell\Skins" -copy Fluent-Metro.skin7 "C:\Program Files\Open-Shell\Skins" - -powershell -NoProfile -ExecutionPolicy Bypass -File .\clickstart.ps1 - -for /f "tokens=* USEBACKQ" %%i in (`wmic useraccount where "name="%username%"" get sid ^| findstr "S-"`) do set currentusername=%%i -set currentusername=%currentusername:~0,-3% -reg add "HKEY_USERS\%currentusername%\SOFTWARE\OpenShell" /t REG_SZ /f -reg add "HKEY_USERS\%currentusername%\SOFTWARE\OpenShell\OpenShell" /t REG_SZ /f -reg add "HKEY_USERS\%currentusername%\SOFTWARE\OpenShell\OpenShell\Settings" /t REG_SZ /f -reg add "HKEY_USERS\%currentusername%\SOFTWARE\OpenShell\StartMenu" /t REG_SZ /f -reg add "HKEY_USERS\%currentusername%\SOFTWARE\OpenShell\StartMenu\Settings" /t REG_SZ /f -reg add "HKEY_USERS\%currentusername%\SOFTWARE\OpenShell\ClassicExplorer" /t REG_SZ /f -reg add "HKEY_USERS\%currentusername%\SOFTWARE\OpenShell\ClassicExplorer\Settings" /t REG_SZ /f -reg add "HKEY_USERS\%currentusername%\SOFTWARE\OpenShell\ClassicExplorer" /v "CSettingsDlg" /t REG_BINARY /d a8030000d00100000000000000000000aa0f00000100010100000000 /f -reg add "HKEY_USERS\%currentusername%\SOFTWARE\OpenShell\ClassicExplorer" /v "ShowedToolbar" /t REG_DWORD /d 1 /f -reg add "HKEY_USERS\%currentusername%\SOFTWARE\OpenShell\ClassicExplorer" /v "NewLine" /t REG_DWORD /d 0 /f -reg add "HKEY_USERS\%currentusername%\SOFTWARE\OpenShell\ClassicExplorer\Settings" /v "ShowStatusBar" /t REG_DWORD /d 0 /f -reg add "HKEY_USERS\%currentusername%\SOFTWARE\OpenShell\StartMenu" /v "ShowedStyle2" /t REG_DWORD /d 1 /f -reg add "HKEY_USERS\%currentusername%\SOFTWARE\OpenShell\StartMenu" /v "CSettingsDlg" /t REG_BINARY /d c80100001a0100000000000000000000360d00000100000000000000 /f -reg add "HKEY_USERS\%currentusername%\SOFTWARE\OpenShell\StartMenu" /v "OldItems" /t REG_BINARY /f -reg add "HKEY_USERS\%currentusername%\SOFTWARE\OpenShell\StartMenu" /v "ItemRanks" /t REG_BINARY /d 0 /f -reg add "HKEY_USERS\%currentusername%\SOFTWARE\OpenShell\StartMenu\MRU" /v "0" /t REG_SZ /d "C:\Windows\regedit.exe" /f -reg add "HKEY_USERS\%currentusername%\SOFTWARE\OpenShell\StartMenu\Settings" /v "Version" /t REG_DWORD /d 04040098 /f -reg add "HKEY_USERS\%currentusername%\SOFTWARE\OpenShell\StartMenu\Settings" /v "AllProgramsMetro" /t REG_DWORD /d 1 /f -reg add "HKEY_USERS\%currentusername%\SOFTWARE\OpenShell\StartMenu\Settings" /v "RecentMetroApps" /t REG_DWORD /d 1 /f -reg add "HKEY_USERS\%currentusername%\SOFTWARE\OpenShell\StartMenu\Settings" /v "StartScreenShortcut" /t REG_DWORD /d 0 /f -reg add "HKEY_USERS\%currentusername%\SOFTWARE\OpenShell\StartMenu\Settings" /v "SearchInternet" /t REG_DWORD /d 0 /f -reg add "HKEY_USERS\%currentusername%\SOFTWARE\OpenShell\StartMenu\Settings" /v "GlassOverride" /t REG_DWORD /d 1 /f -reg add "HKEY_USERS\%currentusername%\SOFTWARE\OpenShell\StartMenu\Settings" /v "GlassColor" /t REG_DWORD /d 0 /f -reg add "HKEY_USERS\%currentusername%\SOFTWARE\OpenShell\StartMenu\Settings" /v "SkinW7" /t REG_SZ /d "Fluent-Metro" /f -reg add "HKEY_USERS\%currentusername%\SOFTWARE\OpenShell\StartMenu\Settings" /v "SkinVariationW7" /t REG_SZ /f -reg add "HKEY_USERS\%currentusername%\SOFTWARE\OpenShell\StartMenu\Settings" /v "ShiftWin" /t REG_SZ /d "Nothing" /f -reg add "HKEY_USERS\%currentusername%\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"LIGHT_SUBMENU=0"\0"AUTOMODE_SUBMENU=1"\0"SUBMENU_SEPARATORS=1"\0"DARK_SEARCH=0"\0"METRO_SEARCH="\0"LIGHT_SEARCH=0"\0"AUTOMODE_SEARCH=1"\0"SEARCH_FRAME=1"\0"SEARCH_COLOR=0"\0"SMALL_SEARCH=0"\0"MOERN_SEARCH=1"\0"SEARCH_ITALICS=0"\0"NONE=0"\0"SEPARATOR=0"\0"TWO_TONE=1"\0"CLASSIC_SELECTOR=1"\0"HAF_SELECTOR=0"\0"CURVED_MENUSEL=1"\0"CURVED_SUBMENU=0"\0"SELECTOR_REVEAL=1"\0"TRANSPARENT=0"\0"OPAQU_SUBMENU=1"\0"OPAQUE_MENU=0"\0"OPAQUE=0"\0"STANDARD=0"\0"SMALL_MAIN2=1"\0"SMALL_ICONS=0"\0"COMPACT_UBMENU=0"\0"PRESERVE_MAIN2=0"\0"LESS_PADDING=0"\0"EXTRA_PADDING=1"\0"24_PADDING=0"\0"LARGE_PROGRAMS0"\0"TRANSPARENT_SHUTDOWN=0"\0"OUTLINE_SHUTDOWN=0"\0"BUTTON_SHUTDOWN=1"\0"EXPERIMENTAL_SHUTDOWN=0"\"LARGE_FONT=0"\0"CONNECTED_BORDER=1"\0"FLOATING_BORDER=0"\0"LARGE_SUBMENU=0"\0"LARGE_LISTS=0"\0"THI_MAIN2=0"\0"EXPERIMENTAL_MAIN2=1"\0"USER_IMAGE=1"\0"USER_OUTSIDE=0"\0"SCALING_USER=1"\0"56=0"\0"64="\0"TRANSPARENT_USER=0"\0"UWP_SCROLLBAR=0"\0"MODERN_SCROLLBAR=1"\0"SMALL_ARROWS=0"\0"ARROW_BACKGROUD=1"\0"ICON_FRAME=0"\0"SEARCH_SEPARATOR=0"\0"NO_PROGRAMS_BUTTON=0" /f -reg add "HKEY_USERS\%currentusername%\SOFTWARE\OpenShell\StartMenu\Settings" /v "SkipMetro" /t REG_DWORD /d 1 /f -reg add "HKEY_USERS\%currentusername%\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 -reg add "HKCU\SOFTWARE\Microsoft\Internet Explorer\Toolbar\ShellBrowser" /v "ITBar7Layout" /t REG_BINARY /d 13000000000000000000000020000000100000000000000001000000010700005e01000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 /f - -del "C:\Users\%username%\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Accessories\Internet Explorer.lnk" -del "C:\Users\%username%\AppData\Roaming\Microsoft\Internet Explorer\Quick Launch\Microsoft Edge.lnk" -del "C:\Users\%username%\AppData\Roaming\Microsoft\Internet Explorer\Quick Launch\User Pinned\TaskBar\Microsoft Edge.lnk" \ No newline at end of file + +copy Fluent-Metro.skin "C:\%PROGRAMFILES%\Open-Shell\Skins" +copy Fluent-Metro.skin7 "%PROGRAMFILES%\Open-Shell\Skins" + +:: Load new Open-Shell menu +PowerShell -NoP -C "(New-Object -ComObject wscript.shell).SendKeys('^{ESCAPE}')" +timeout /t 3 > NUL +PowerShell -NoP -C "(New-Object -ComObject wscript.shell).SendKeys('^{ESCAPE}')" + +@exit /b 0 + +:CHOCCALL + +@echo ON +reg add "HKU\%~1\SOFTWARE\OpenShell" /t REG_SZ /f +reg add "HKU\%~1\SOFTWARE\OpenShell\OpenShell" /t REG_SZ /f +reg add "HKU\%~1\SOFTWARE\OpenShell\OpenShell\Settings" /t REG_SZ /f +reg add "HKU\%~1\SOFTWARE\OpenShell\StartMenu" /t REG_SZ /f +reg add "HKU\%~1\SOFTWARE\OpenShell\StartMenu\Settings" /t REG_SZ /f +reg add "HKU\%~1\SOFTWARE\OpenShell\ClassicExplorer" /t REG_SZ /f +reg add "HKU\%~1\SOFTWARE\OpenShell\ClassicExplorer\Settings" /t REG_SZ /f +reg add "HKU\%~1\SOFTWARE\OpenShell\ClassicExplorer" /v "CSettingsDlg" /t REG_BINARY /d a8030000d00100000000000000000000aa0f00000100010100000000 /f +reg add "HKU\%~1\SOFTWARE\OpenShell\ClassicExplorer" /v "ShowedToolbar" /t REG_DWORD /d 1 /f +reg add "HKU\%~1\SOFTWARE\OpenShell\ClassicExplorer" /v "NewLine" /t REG_DWORD /d 0 /f +reg add "HKU\%~1\SOFTWARE\OpenShell\ClassicExplorer\Settings" /v "ShowStatusBar" /t REG_DWORD /d 0 /f +reg add "HKU\%~1\SOFTWARE\OpenShell\StartMenu" /v "ShowedStyle2" /t REG_DWORD /d 1 /f +reg add "HKU\%~1\SOFTWARE\OpenShell\StartMenu" /v "CSettingsDlg" /t REG_BINARY /d c80100001a0100000000000000000000360d00000100000000000000 /f +reg add "HKU\%~1\SOFTWARE\OpenShell\StartMenu" /v "OldItems" /t REG_BINARY /f +reg add "HKU\%~1\SOFTWARE\OpenShell\StartMenu" /v "ItemRanks" /t REG_BINARY /d 0 /f +reg add "HKU\%~1\SOFTWARE\OpenShell\StartMenu\MRU" /v "0" /t REG_SZ /d "C:\Windows\regedit.exe" /f +reg add "HKU\%~1\SOFTWARE\OpenShell\StartMenu\Settings" /v "Version" /t REG_DWORD /d 04040098 /f +reg add "HKU\%~1\SOFTWARE\OpenShell\StartMenu\Settings" /v "AllProgramsMetro" /t REG_DWORD /d 1 /f +reg add "HKU\%~1\SOFTWARE\OpenShell\StartMenu\Settings" /v "RecentMetroApps" /t REG_DWORD /d 1 /f +reg add "HKU\%~1\SOFTWARE\OpenShell\StartMenu\Settings" /v "StartScreenShortcut" /t REG_DWORD /d 0 /f +reg add "HKU\%~1\SOFTWARE\OpenShell\StartMenu\Settings" /v "SearchInternet" /t REG_DWORD /d 0 /f +reg add "HKU\%~1\SOFTWARE\OpenShell\StartMenu\Settings" /v "GlassOverride" /t REG_DWORD /d 1 /f +reg add "HKU\%~1\SOFTWARE\OpenShell\StartMenu\Settings" /v "GlassColor" /t REG_DWORD /d 0 /f +reg add "HKU\%~1\SOFTWARE\OpenShell\StartMenu\Settings" /v "SkinW7" /t REG_SZ /d "Fluent-Metro" /f +reg add "HKU\%~1\SOFTWARE\OpenShell\StartMenu\Settings" /v "SkinVariationW7" /t REG_SZ /f +reg add "HKU\%~1\SOFTWARE\OpenShell\StartMenu\Settings" /v "ShiftWin" /t REG_SZ /d "Nothing" /f +reg add "HKU\%~1\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"LIGHT_SUBMENU=0"\0"AUTOMODE_SUBMENU=1"\0"SUBMENU_SEPARATORS=1"\0"DARK_SEARCH=0"\0"METRO_SEARCH="\0"LIGHT_SEARCH=0"\0"AUTOMODE_SEARCH=1"\0"SEARCH_FRAME=1"\0"SEARCH_COLOR=0"\0"SMALL_SEARCH=0"\0"MOERN_SEARCH=1"\0"SEARCH_ITALICS=0"\0"NONE=0"\0"SEPARATOR=0"\0"TWO_TONE=1"\0"CLASSIC_SELECTOR=1"\0"HAF_SELECTOR=0"\0"CURVED_MENUSEL=1"\0"CURVED_SUBMENU=0"\0"SELECTOR_REVEAL=1"\0"TRANSPARENT=0"\0"OPAQU_SUBMENU=1"\0"OPAQUE_MENU=0"\0"OPAQUE=0"\0"STANDARD=0"\0"SMALL_MAIN2=1"\0"SMALL_ICONS=0"\0"COMPACT_UBMENU=0"\0"PRESERVE_MAIN2=0"\0"LESS_PADDING=0"\0"EXTRA_PADDING=1"\0"24_PADDING=0"\0"LARGE_PROGRAMS0"\0"TRANSPARENT_SHUTDOWN=0"\0"OUTLINE_SHUTDOWN=0"\0"BUTTON_SHUTDOWN=1"\0"EXPERIMENTAL_SHUTDOWN=0"\"LARGE_FONT=0"\0"CONNECTED_BORDER=1"\0"FLOATING_BORDER=0"\0"LARGE_SUBMENU=0"\0"LARGE_LISTS=0"\0"THI_MAIN2=0"\0"EXPERIMENTAL_MAIN2=1"\0"USER_IMAGE=1"\0"USER_OUTSIDE=0"\0"SCALING_USER=1"\0"56=0"\0"64="\0"TRANSPARENT_USER=0"\0"UWP_SCROLLBAR=0"\0"MODERN_SCROLLBAR=1"\0"SMALL_ARROWS=0"\0"ARROW_BACKGROUD=1"\0"ICON_FRAME=0"\0"SEARCH_SEPARATOR=0"\0"NO_PROGRAMS_BUTTON=0" /f +reg add "HKU\%~1\SOFTWARE\OpenShell\StartMenu\Settings" /v "SkipMetro" /t REG_DWORD /d 1 /f +reg add "HKU\%~1\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 + +reg add "HKU\%~1\SOFTWARE\OpenShell\OpenShell\Settings" /v "Update" /d 0 /t REG_DWORD /f +reg add "HKU\%~1\SOFTWARE\OpenShell\StartMenu\Settings" /v "CheckWinUpdates" /t REG_DWORD /d 0 /f +reg add "HKU\%~1\SOFTWARE\OpenShell\StartMenu\Settings" /v "HighlightNew" /t REG_DWORD /d 0 /f + +reg add "HKU\%~1\SOFTWARE\Microsoft\Internet Explorer\Toolbar\ShellBrowser" /v "ITBar7Layout" /t REG_BINARY /d 13000000000000000000000020000000100000000000000001000000010700005e01000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 /f + +@echo OFF +for /f "usebackq tokens=2* delims= " %%B in (`reg query "HKU\%~1\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders" /v "AppData" 2^>^&1 ^| findstr /R /X /C:".*AppData[ ]*REG_SZ[ ].*"`) do ( + echo del "%%C\Microsoft\Windows\Start Menu\Programs\Accessories\Internet Explorer.lnk" /q /f + del "%%C\Microsoft\Windows\Start Menu\Programs\Accessories\Internet Explorer.lnk" /q /f + echo del "%%C\Microsoft\Internet Explorer\Quick Launch\Microsoft Edge.lnk" /q /f + del "%%C\Microsoft\Internet Explorer\Quick Launch\Microsoft Edge.lnk" /q /f + echo del "%%C\Microsoft\Internet Explorer\Quick Launch\User Pinned\TaskBar\Microsoft Edge.lnk" /q /f + del "%%C\Microsoft\Internet Explorer\Quick Launch\User Pinned\TaskBar\Microsoft Edge.lnk" /q /f +) +exit /b 0 \ No newline at end of file diff --git a/Executables/EDGE.bat b/Executables/EDGE.bat index 98f490c..8645dec 100644 --- a/Executables/EDGE.bat +++ b/Executables/EDGE.bat @@ -1,27 +1,20 @@ -SetLocal EnableDelayedExpansion - taskkill /im msedge.exe /f -cd "C:\Program Files (x86)\Microsoft\Edge\Application\" - -if exist 84.0.522.52 ( -goto eight -) -if exist 9* ( -goto nine -) -if exist 1* ( -goto ten -) +cd "%PROGRAMFILES(x86)%\Microsoft\Edge\Application" -:eight -cd 84.0.522.52\Installer -:nine -cd 9*\Installer -:ten -cd 1*\Installer +if exist "84.0.522.52" cd 84.0.522.52\Installer +if exist "9*" cd 9*\Installer +if exist "1*" cd 1*\Installer start setup.exe --uninstall --system-level --verbose-logging --force-uninstall -reg add "HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Taskband" /v "FavoritesResolve" /t REG_BINARY /d 320300004C0000000114020000000000C0000000000000468300800020000000549E39A5246AD8012B113CA5246AD801A8B6C6DADDACD501970100000000000001000000000000000000000000000000A0013A001F80C827341F105C1042AA032EE45287D668260001002600EFBE1200000056F21270246AD8010F37A185246AD8012B113CA5246AD80114005600310000000000B154E29B11005461736B42617200400009000400EFBEB154C69BB154E29B2E000000F4940100000001000000000000000000000000000000D5BA89005400610073006B00420061007200000016000E01320097010000874F0749200046494C4545587E312E4C4E4B00007C0009000400EFBEB154E29BB154E29B2E00000097900100000002000000000000000000520000000000589C4400460069006C00650020004500780070006C006F007200650072002E006C006E006B00000040007300680065006C006C00330032002E0064006C006C002C002D003200320030003600370000001C00220000001E00EFBE02005500730065007200500069006E006E006500640000001C00120000002B00EFBE2B113CA5246AD8011C00420000001D00EFBE02004D006900630072006F0073006F00660074002E00570069006E0064006F00770073002E004500780070006C006F0072006500720000001C0000009B0000001C000000010000001C0000002D000000000000009A0000001100000003000000E4A63B761000000000433A5C55736572735C757365725C417070446174615C526F616D696E675C4D6963726F736F66745C496E7465726E6574204578706C6F7265725C517569636B204C61756E63685C557365722050696E6E65645C5461736B4261725C46696C65204578706C6F7265722E6C6E6B000060000000030000A058000000000000006465736B746F702D62356E36683339006E1A1EE27BFFA94ABB0361D86F25337E500764DB17D6EC11A598000C2907D6A06E1A1EE27BFFA94ABB0361D86F25337E500764DB17D6EC11A598000C2907D6A045000000090000A03900000031535053B1166D44AD8D7048A748402EA43D788C1D000000680000000048000000CE2181FCD4BF31408F25FF009E4345CA000000000000000000000000 /f -reg add "HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Taskband" /v Favorites /t REG_BINARY /d 00A40100003A001F80C827341F105C1042AA032EE45287D668260001002600EFBE1200000056F21270246AD8010F37A185246AD8012B113CA5246AD80114005600310000000000B154E29B11005461736B42617200400009000400EFBEB154C69BB154E29B2E000000F4940100000001000000000000000000000000000000D5BA89005400610073006B00420061007200000016001201320097010000874F0749200046494C4545587E312E4C4E4B00007C0009000400EFBEB154E29BB154E29B2E00000097900100000002000000000000000000520000000000589C4400460069006C00650020004500780070006C006F007200650072002E006C006E006B00000040007300680065006C006C00330032002E0064006C006C002C002D003200320030003600370000001C00120000002B00EFBE2B113CA5246AD8011C00420000001D00EFBE02004D006900630072006F0073006F00660074002E00570069006E0064006F00770073002E004500780070006C006F0072006500720000001C00260000001E00EFBE0200530079007300740065006D00500069006E006E006500640000001C000000FF /f +@echo OFF +for /f "usebackq tokens=2 delims=\" %%A in (`reg query "HKEY_USERS" ^| findstr /c:"S-"`) do ( + reg query "HKU\%%A" | findstr /c:"Volatile Environment" /c:"AME_UserHive_" > NUL 2>&1 + if not errorlevel 1 ( + echo reg add "HKU\%%A\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Taskband" /v "FavoritesResolve" /t REG_BINARY /d 320300004C0000000114020000000000C0000000000000468300800020000000549E39A5246AD8012B113CA5246AD801A8B6C6DADDACD501970100000000000001000000000000000000000000000000A0013A001F80C827341F105C1042AA032EE45287D668260001002600EFBE1200000056F21270246AD8010F37A185246AD8012B113CA5246AD80114005600310000000000B154E29B11005461736B42617200400009000400EFBEB154C69BB154E29B2E000000F4940100000001000000000000000000000000000000D5BA89005400610073006B00420061007200000016000E01320097010000874F0749200046494C4545587E312E4C4E4B00007C0009000400EFBEB154E29BB154E29B2E00000097900100000002000000000000000000520000000000589C4400460069006C00650020004500780070006C006F007200650072002E006C006E006B00000040007300680065006C006C00330032002E0064006C006C002C002D003200320030003600370000001C00220000001E00EFBE02005500730065007200500069006E006E006500640000001C00120000002B00EFBE2B113CA5246AD8011C00420000001D00EFBE02004D006900630072006F0073006F00660074002E00570069006E0064006F00770073002E004500780070006C006F0072006500720000001C0000009B0000001C000000010000001C0000002D000000000000009A0000001100000003000000E4A63B761000000000433A5C55736572735C757365725C417070446174615C526F616D696E675C4D6963726F736F66745C496E7465726E6574204578706C6F7265725C517569636B204C61756E63685C557365722050696E6E65645C5461736B4261725C46696C65204578706C6F7265722E6C6E6B000060000000030000A058000000000000006465736B746F702D62356E36683339006E1A1EE27BFFA94ABB0361D86F25337E500764DB17D6EC11A598000C2907D6A06E1A1EE27BFFA94ABB0361D86F25337E500764DB17D6EC11A598000C2907D6A045000000090000A03900000031535053B1166D44AD8D7048A748402EA43D788C1D000000680000000048000000CE2181FCD4BF31408F25FF009E4345CA000000000000000000000000 /f + reg add "HKU\%%A\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Taskband" /v "FavoritesResolve" /t REG_BINARY /d 320300004C0000000114020000000000C0000000000000468300800020000000549E39A5246AD8012B113CA5246AD801A8B6C6DADDACD501970100000000000001000000000000000000000000000000A0013A001F80C827341F105C1042AA032EE45287D668260001002600EFBE1200000056F21270246AD8010F37A185246AD8012B113CA5246AD80114005600310000000000B154E29B11005461736B42617200400009000400EFBEB154C69BB154E29B2E000000F4940100000001000000000000000000000000000000D5BA89005400610073006B00420061007200000016000E01320097010000874F0749200046494C4545587E312E4C4E4B00007C0009000400EFBEB154E29BB154E29B2E00000097900100000002000000000000000000520000000000589C4400460069006C00650020004500780070006C006F007200650072002E006C006E006B00000040007300680065006C006C00330032002E0064006C006C002C002D003200320030003600370000001C00220000001E00EFBE02005500730065007200500069006E006E006500640000001C00120000002B00EFBE2B113CA5246AD8011C00420000001D00EFBE02004D006900630072006F0073006F00660074002E00570069006E0064006F00770073002E004500780070006C006F0072006500720000001C0000009B0000001C000000010000001C0000002D000000000000009A0000001100000003000000E4A63B761000000000433A5C55736572735C757365725C417070446174615C526F616D696E675C4D6963726F736F66745C496E7465726E6574204578706C6F7265725C517569636B204C61756E63685C557365722050696E6E65645C5461736B4261725C46696C65204578706C6F7265722E6C6E6B000060000000030000A058000000000000006465736B746F702D62356E36683339006E1A1EE27BFFA94ABB0361D86F25337E500764DB17D6EC11A598000C2907D6A06E1A1EE27BFFA94ABB0361D86F25337E500764DB17D6EC11A598000C2907D6A045000000090000A03900000031535053B1166D44AD8D7048A748402EA43D788C1D000000680000000048000000CE2181FCD4BF31408F25FF009E4345CA000000000000000000000000 /f + echo reg add "HKU\%%A\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Taskband" /v Favorites /t REG_BINARY /d 00A40100003A001F80C827341F105C1042AA032EE45287D668260001002600EFBE1200000056F21270246AD8010F37A185246AD8012B113CA5246AD80114005600310000000000B154E29B11005461736B42617200400009000400EFBEB154C69BB154E29B2E000000F4940100000001000000000000000000000000000000D5BA89005400610073006B00420061007200000016001201320097010000874F0749200046494C4545587E312E4C4E4B00007C0009000400EFBEB154E29BB154E29B2E00000097900100000002000000000000000000520000000000589C4400460069006C00650020004500780070006C006F007200650072002E006C006E006B00000040007300680065006C006C00330032002E0064006C006C002C002D003200320030003600370000001C00120000002B00EFBE2B113CA5246AD8011C00420000001D00EFBE02004D006900630072006F0073006F00660074002E00570069006E0064006F00770073002E004500780070006C006F0072006500720000001C00260000001E00EFBE0200530079007300740065006D00500069006E006E006500640000001C000000FF /f + reg add "HKU\%%A\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Taskband" /v Favorites /t REG_BINARY /d 00A40100003A001F80C827341F105C1042AA032EE45287D668260001002600EFBE1200000056F21270246AD8010F37A185246AD8012B113CA5246AD80114005600310000000000B154E29B11005461736B42617200400009000400EFBEB154C69BB154E29B2E000000F4940100000001000000000000000000000000000000D5BA89005400610073006B00420061007200000016001201320097010000874F0749200046494C4545587E312E4C4E4B00007C0009000400EFBEB154E29BB154E29B2E00000097900100000002000000000000000000520000000000589C4400460069006C00650020004500780070006C006F007200650072002E006C006E006B00000040007300680065006C006C00330032002E0064006C006C002C002D003200320030003600370000001C00120000002B00EFBE2B113CA5246AD8011C00420000001D00EFBE02004D006900630072006F0073006F00660074002E00570069006E0064006F00770073002E004500780070006C006F0072006500720000001C00260000001E00EFBE0200530079007300740065006D00500069006E006E006500640000001C000000FF /f + ) +) \ No newline at end of file diff --git a/Executables/EDGEX.bat b/Executables/EDGEX.bat index 455597c..b97faa9 100644 --- a/Executables/EDGEX.bat +++ b/Executables/EDGEX.bat @@ -1,4 +1,5 @@ cd Executables + start /b /wait install_wim_tweak.exe /o /l start /b /wait install_wim_tweak.exe /o /c Microsoft-Windows-Internet-Browser-Package /r start /b /wait install_wim_tweak.exe /h /o /l \ No newline at end of file diff --git a/Executables/Enter.ps1 b/Executables/Enter.ps1 deleted file mode 100644 index 8dad0ec..0000000 --- a/Executables/Enter.ps1 +++ /dev/null @@ -1,4 +0,0 @@ -$wshell = New-Object -ComObject wscript.shell; -$wshell.AppActivate('OldNewExplorer configuration') -Sleep 1 -$wshell.SendKeys('~') \ No newline at end of file diff --git a/Executables/FILEASSOC.bat b/Executables/FILEASSOC.bat new file mode 100644 index 0000000..1e98746 --- /dev/null +++ b/Executables/FILEASSOC.bat @@ -0,0 +1,32 @@ +cd Executables + +reg delete "HKLM\SOFTWARE\Clients\StartMenuInternet\IEXPLORE.EXE" /f + +@echo OFF +for /f "usebackq tokens=2 delims=\" %%A in (`reg query "HKEY_USERS" ^| findstr /c:"S-"`) do ( + REM If the "Volatile Environment" key exists, that means it is a proper user. Built in accounts/SIDs don't have this key. + reg query "HKU\%%A" | findstr /c:"Volatile Environment"> NUL 2>&1 + if not errorlevel 1 ( + echo reg add "HKU\%%A\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer" /v "UserSignedIn" /t REG_DWORD /d 1 /f + reg add "HKU\%%A\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer" /v "UserSignedIn" /t REG_DWORD /d 1 /f + + PowerShell -NoP -ExecutionPolicy Bypass -File assoc.ps1 "%%A" "%%A" ".html:FirefoxHTML-308046B0AF4A39CB" ".htm:FirefoxHTML-308046B0AF4A39CB" "Proto:https:FirefoxURL-308046B0AF4A39CB" "Proto:http:FirefoxURL-308046B0AF4A39CB" ".3g2:VLC.3g2" ".3gp:VLC.3gp" ".3gp2:VLC.3gp2" ".3gpp:VLC.3gpp" ".aac:VLC.aac" ".adts:VLC.adts" ".aif:VLC.aif" ".aifc:VLC.aifc" ".aiff:VLC.aiff" ".amr:VLC.amr" ".asf:VLC.asf" ".asx:VLC.asx" ".au:VLC.au" ".avi:VLC.avi" ".bmp:JPEGView.exe" ".cda:VLC.cda" ".flac:VLC.flac" ".jpeg:JPEGView.exe" ".jpg:JPEGView.exe" ".m1v:VLC.m1v" ".m2t:VLC.m2t" ".m2ts:VLC.m2ts" ".m3u:VLC.m3u" ".m4a:VLC.m4a" ".m4p:VLC.m4p" ".m4v:VLC.m4v" ".mid:VLC.mid" ".mka:VLC.mka" ".mkv:VLC.mkv" ".mov:VLC.mov" ".MP2:VLC.mp2" ".mp2v:VLC.mp2v" ".mp3:VLC.mp3" ".mp4:VLC.mp4" ".mp4v:VLC.mp4v" ".mpa:VLC.mpa" ".MPE:VLC.mpe" ".mpeg:VLC.mpeg" ".mpg:VLC.mpg" ".mpv2:VLC.mpv2" ".mts:VLC.mts" ".png:JPEGView.exe" ".ra:VLC.ra" ".ram:VLC.ram" ".rmi:VLC.rmi" ".s3m:VLC.s3m" ".snd:VLC.snd" ".TS:VLC.ts" ".TTS:VLC.tts" ".voc:VLC.voc" ".wav:VLC.wav" ".webp:JPEGView.exe" ".wma:VLC.wma" ".wmv:VLC.wmv" ".WPL:VLC.wpl" ".wvx:VLC.wvx" ".xm:VLC.xm" ".zpl:VLC.zpl" + ) +) + +for /f "usebackq tokens=4 delims=_" %%A in (`reg query "HKEY_USERS" ^| findstr /c:"AME_UserHive_"`) do ( + for /f "usebackq tokens=7 delims=\" %%B in (`reg query "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\ProfileList" ^| findstr /c:"S-"`) do ( + for /f "usebackq tokens=2* delims= " %%C in (`reg query "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\ProfileList\%%B" ^| findstr /R /X /C:".*ProfileImagePath[ ]*REG_EXPAND_SZ[ ].*"`) do ( + for /f "usebackq tokens=2* delims= " %%E in (`reg query "HKU\AME_UserHive_%%A\SOFTWARE\AME" ^| findstr /R /X /C:".*UserPath[ ]*REG_SZ[ ].*"`) do ( + if "%%D"=="%%F" ( + echo reg delete "HKU\AME_UserHive_%%A\SOFTWARE\AME" /f + reg delete "HKU\AME_UserHive_%%A\SOFTWARE\AME" /f + echo reg add "HKU\AME_UserHive_%%A\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer" /v "UserSignedIn" /t REG_DWORD /d 1 /f + reg add "HKU\AME_UserHive_%%A\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer" /v "UserSignedIn" /t REG_DWORD /d 1 /f + + PowerShell -NoP -ExecutionPolicy Bypass -File assoc.ps1 "%%B" "AME_UserHive_%%A" ".html:FirefoxHTML-308046B0AF4A39CB" ".htm:FirefoxHTML-308046B0AF4A39CB" "Proto:https:FirefoxURL-308046B0AF4A39CB" "Proto:http:FirefoxURL-308046B0AF4A39CB" ".3g2:VLC.3g2" ".3gp:VLC.3gp" ".3gp2:VLC.3gp2" ".3gpp:VLC.3gpp" ".aac:VLC.aac" ".adts:VLC.adts" ".aif:VLC.aif" ".aifc:VLC.aifc" ".aiff:VLC.aiff" ".amr:VLC.amr" ".asf:VLC.asf" ".asx:VLC.asx" ".au:VLC.au" ".avi:VLC.avi" ".bmp:JPEGView.exe" ".cda:VLC.cda" ".flac:VLC.flac" ".jpeg:JPEGView.exe" ".jpg:JPEGView.exe" ".m1v:VLC.m1v" ".m2t:VLC.m2t" ".m2ts:VLC.m2ts" ".m3u:VLC.m3u" ".m4a:VLC.m4a" ".m4p:VLC.m4p" ".m4v:VLC.m4v" ".mid:VLC.mid" ".mka:VLC.mka" ".mkv:VLC.mkv" ".mov:VLC.mov" ".MP2:VLC.mp2" ".mp2v:VLC.mp2v" ".mp3:VLC.mp3" ".mp4:VLC.mp4" ".mp4v:VLC.mp4v" ".mpa:VLC.mpa" ".MPE:VLC.mpe" ".mpeg:VLC.mpeg" ".mpg:VLC.mpg" ".mpv2:VLC.mpv2" ".mts:VLC.mts" ".png:JPEGView.exe" ".ra:VLC.ra" ".ram:VLC.ram" ".rmi:VLC.rmi" ".s3m:VLC.s3m" ".snd:VLC.snd" ".TS:VLC.ts" ".TTS:VLC.tts" ".voc:VLC.voc" ".wav:VLC.wav" ".webp:JPEGView.exe" ".wma:VLC.wma" ".wmv:VLC.wmv" ".WPL:VLC.wpl" ".wvx:VLC.wvx" ".xm:VLC.xm" ".zpl:VLC.zpl" + ) + ) + ) + ) +) \ No newline at end of file diff --git a/Executables/FIREFOXCONF.bat b/Executables/FIREFOXCONF.bat new file mode 100644 index 0000000..6be143a --- /dev/null +++ b/Executables/FIREFOXCONF.bat @@ -0,0 +1,195 @@ +@echo OFF +if not exist "%~dp0\AME-Firefox-Injection" ( + echo. & echo No supplied AME-Firefox-Injection folder detected. + exit /b 4 +) + +:ENTRIES + +echo. & echo Grabbing previous Firefox entries... + +if not exist "%TEMP%\Firefox-Reg-Output.txt" echo No input entries detected & echo. & echo Generating random string... & goto GenRND + +setlocal EnableDelayedExpansion +set /a "count1=0" +for /f "usebackq tokens=2 delims=-" %%A in (`findstr /c:"Firefox-" "%TEMP%\Firefox-Reg-Output.txt"`) do ( + set /a "count1=!count1!+1" + set "ffBef!count1!=%%A" + set "par=!par!)" + set "arg=!arg!if not "%%D"=="%%A" (" +) + +del /q /f "%TEMP%\Firefox-Reg-Output.txt" > NUL 2>&1 + +echo. & echo Comparing Firefox entries... +set /a "count2=0" +for /f "usebackq tokens=2 delims=-" %%D in (`reg query "HKLM\SOFTWARE\Clients\StartMenuInternet" /f "Firefox-"`) do ( + set /a "count2=!count2!+1" + %arg%set "NewCode=%%D"%par% +) + +if "%count1%"=="0" (if "%count2%"=="0" (set "NewCode=NULL")) +endlocal & set "NewCode=%NewCode%" + +:CHECKS + +set "RunEC=10" +set /a "count0=1" + +for /f "usebackq tokens=2 delims=\" %%A in (`reg query "HKEY_USERS" ^| findstr /c:"S-" /c:"AME_UserHive_"`) do ( + for /f "usebackq tokens=2* delims= " %%B in (`reg query "HKU\%%A\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders" /v "AppData" 2^>^&1 ^| findstr /R /X /C:".*AppData[ ]*REG_SZ[ ].*"`) do ( + call :AFISCALL "%%C" + if errorlevel 2 set "RunEC=2" + if errorlevel 1 set "RunEC=1" + if errorlevel 0 set "RunEC=0" + ) +) +exit /b %RunEC% + +:AFISCALL + +setlocal + +echo. & echo Generating random string... + +:GenRND + +setlocal EnableDelayedExpansion +set "RNDConsist=abcdefghijklmnopqrstuvwxyz0123456789" +set /a "RND=%RANDOM% %% 36" +set "RNDStr=!RNDStr!!RNDConsist:~%RND%,1!" +if "%RNDStr:~7%"=="" (goto GenRND) +endlocal & set "RNDStr=%RNDStr%" + +:: Redundancy, incase the original Firefox installed check fails +if "%NewCode%"=="NULL" echo. & echo No Firefox install detected & goto PREFSONLY +if "%NewCode%"=="" echo. & echo Firefox version already installed & goto PREFSONLY +if not EXIST "%PROGRAMFILES%\Mozilla Firefox\firefox.exe" echo. & echo Can't find Firefox.exe & goto PREFSONLY +if exist "%~1\Mozilla\Firefox\profiles.ini" ( + findstr /c:"%NewCode%" "%~1\Mozilla\Firefox\profiles.ini" > NUL 2>&1 + if not errorlevel 1 echo. & echo Firefox version already in profiles.ini & goto PREFSONLY +) + +:PROFILENAME + +if %count0% GTR 50 echo. & echo Default-release count exceeded 50 & goto PREFSONLY +if exist "%~1\Mozilla\Firefox\profiles.ini" ( + findstr /c:"Name=default-release" "%~1\Mozilla\Firefox\profiles.ini" > NUL 2>&1 + if not errorlevel 1 ( + findstr /c:"Name=default-release-%count0%" "%~1\Mozilla\Firefox\profiles.ini" + if not errorlevel 1 ( + set /a "count0=%count0%+1" + goto PROFILENAME + ) else ( + set "profileName=default-release-%count0%" + ) + ) else ( + set "profileName=default-release" + ) +) else ( + set "profileName=default-release" +) + + +echo. & echo Injecting profile... +@echo ON + +:: This could also be set manually in the profiles.ini file +mkdir "%~1\Mozilla\Firefox\Profiles\%RNDStr%.%profileName%" +robocopy "%~dp0\AME-Firefox-Injection" "%~1\Mozilla\Firefox\Profiles\%RNDStr%.%profileName%" /E > NUL + +:: Sets profile as the default +echo [Install%NewCode%]>> "%~1\Mozilla\Firefox\profiles.ini" +echo Default=Profiles/%RNDStr%.%profileName%>> "%~1\Mozilla\Firefox\profiles.ini" +echo Locked=^1>> "%~1\Mozilla\Firefox\profiles.ini" +echo.>> "%~1\Mozilla\Firefox\profiles.ini" +echo [Profile0]>> "%~1\Mozilla\Firefox\profiles.ini" +echo Name=%profileName%>> "%~1\Mozilla\Firefox\profiles.ini" +echo IsRelative=^1>> "%~1\Mozilla\Firefox\profiles.ini" +echo Path=Profiles/%RNDStr%.%profileName%>> "%~1\Mozilla\Firefox\profiles.ini" + +:: Add prefs to any other Firefox profiles in all users + +@echo OFF +for /f "usebackq delims=" %%B in (`dir /B /A:d "%~1\Mozilla\Firefox\Profiles" ^| findstr /v /x /c:"%RNDStr%.%profileName%"`) do ( + if exist "%~1\Mozilla\Firefox\Profiles\%%B\prefs.js" ( + :: Removes lines containing these entries from the profiles prefs.js. This way any old prefs don't overlap with the new prefs + echo findstr /V /C:""""app.shield.optoutstudies.enabled"""" /C:""""browser.aboutwelcome.enabled"""" /C:""""browser.disableResetPrompt"""" /C:""""browser.newtabpage.activity-stream.asrouter.userprefs.cfr.addons"""" /C:""""browser.newtabpage.activity-stream.asrouter.userprefs.cfr.features"""" /C:""""browser.newtabpage.activity-stream.feeds.section.topstories"""" /C:""""browser.newtabpage.activity-stream.feeds.topsites"""" /C:""""browser.newtabpage.activity-stream.section.highlights.includePocket"""" /C:""""browser.newtabpage.activity-stream.section.highlights.includeVisited"""" /C:""""browser.newtabpage.activity-stream.showSponsored"""" /C:""""browser.newtabpage.activity-stream.showSponsoredTopSites"""" /C:""""browser.urlbar.placeholderNam"""" /C:""""browser.urlbar.suggest.quicksuggest.nonsponsored"""" /C:""""browser.urlbar.suggest.quicksuggest.sponsored"""" /C:""""browser.urlbar.suggest.topsites"""" /C:""""datareporting.healthreport.uploadEnabled"""" /C:""""dom.security.https_only_mode"""" /C:""""dom.security.https_only_mode_ever_enabled"""" "%~1\Mozilla\Firefox\Profiles\%%B\prefs.js "^>^> "%TEMP%\prefs.js.tmp" + findstr /V /C:""""app.shield.optoutstudies.enabled"""" /C:""""browser.aboutwelcome.enabled"""" /C:""""browser.disableResetPrompt"""" /C:""""browser.newtabpage.activity-stream.asrouter.userprefs.cfr.addons"""" /C:""""browser.newtabpage.activity-stream.asrouter.userprefs.cfr.features"""" /C:""""browser.newtabpage.activity-stream.feeds.section.topstories"""" /C:""""browser.newtabpage.activity-stream.feeds.topsites"""" /C:""""browser.newtabpage.activity-stream.section.highlights.includePocket"""" /C:""""browser.newtabpage.activity-stream.section.highlights.includeVisited"""" /C:""""browser.newtabpage.activity-stream.showSponsored"""" /C:""""browser.newtabpage.activity-stream.showSponsoredTopSites"""" /C:""""browser.urlbar.placeholderNam"""" /C:""""browser.urlbar.suggest.quicksuggest.nonsponsored"""" /C:""""browser.urlbar.suggest.quicksuggest.sponsored"""" /C:""""browser.urlbar.suggest.topsites"""" /C:""""datareporting.healthreport.uploadEnabled"""" /C:""""dom.security.https_only_mode"""" /C:""""dom.security.https_only_mode_ever_enabled"""" "%~1\Mozilla\Firefox\Profiles\%%B\prefs.js ">> "%TEMP%\prefs.js.tmp" + ) + :: Filters out a few prefs from AME-Firefox-Injectiont\prefs.js and adds them to prefs.js.tmp + echo findstr /V /C:""""browser.toolbars.bookmarks.visibility"""" /C:""""extensions.webextensions.uuids"""" /C:""""extensions.webextensions.uuids"""" "%~dp0\AME-Firefox-Injection\prefs.js"^>^> "%TEMP%\prefs.js.tmp" + findstr /V /C:""""browser.toolbars.bookmarks.visibility"""" /C:""""extensions.webextensions.uuids"""" /C:""""extensions.webextensions.uuids"""" "%~dp0\AME-Firefox-Injection\prefs.js">> "%TEMP%\prefs.js.tmp" + echo move /y "%TEMP%\prefs.js.tmp" "%~1\Mozilla\Firefox\Profiles\%%B\prefs.js" + move /y "%TEMP%\prefs.js.tmp" "%~1\Mozilla\Firefox\Profiles\%%B\prefs.js" + if exist "%~1\Mozilla\Firefox\Profiles\%%B\search.json.mozlz4" echo del /Q /F "%~1\Mozilla\Firefox\Profiles\%%B\search.json.mozlz4" & del /Q /F "%~1\Mozilla\Firefox\Profiles\%%B\search.json.mozlz4" + echo robocopy "%~dp0\AME-Firefox-Injection" "%~1\Mozilla\Firefox\Profiles\%%B" search.json.mozlz4 /E ^> NUL + robocopy "%~dp0\AME-Firefox-Injection" "%~1\Mozilla\Firefox\Profiles\%%B" search.json.mozlz4 /E > NUL + echo PowerShell -NoP -C "%~1\Mozilla\Firefox\Profiles' | Set-Acl '%~1\Mozilla\Firefox\Profiles\%%B\prefs.js'" ^> NUL 2^>^&1 + PowerShell -NoP -C "%~1\Mozilla\Firefox\Profiles' | Set-Acl '%~1\Mozilla\Firefox\Profiles\%%B\prefs.js'" > NUL 2>&1 + echo PowerShell -NoP -C "Get-Acl '%~1\Mozilla\Firefox\Profiles' | Set-Acl '%~1\Mozilla\Firefox\Profiles\%%B\search.json.mozlz4'" ^> NUL 2^>^&1 + PowerShell -NoP -C "Get-Acl '%~1\Mozilla\Firefox\Profiles' | Set-Acl '%~1\Mozilla\Firefox\Profiles\%%B\search.json.mozlz4'" > NUL 2>&1 +) + +echo. & echo Successfully injected custom Firefox configs. +endlocal & exit /b 0 + +:PREFSONLY + +:: uBlock Origin could be installed automatically here, however that would involve overwriting the old extension.json etc +:: files, which, if the user had previous extensions, could cause issues. + +@echo. & echo Injecting config files... + +if exist "%TEMP%\prefs.js.tmp" del /q /f "%TEMP%\prefs.js.tmp" > NUL + +set /a "count3=0" + +@echo OFF +for /f "usebackq delims=" %%A in (`dir /B /A:d "%~1\Mozilla\Firefox\Profiles"`) do ( + set /a "count3=%count3%+1" + if exist "%~1\Mozilla\Firefox\Profiles\%%A\prefs.js" ( + :: Removes lines containing these entries from the profiles prefs.js. This way any old prefs don't overlap with the new prefs + echo findstr /V /C:""""app.shield.optoutstudies.enabled"""" /C:""""browser.aboutwelcome.enabled"""" /C:""""browser.disableResetPrompt"""" /C:""""browser.newtabpage.activity-stream.asrouter.userprefs.cfr.addons"""" /C:""""browser.newtabpage.activity-stream.asrouter.userprefs.cfr.features"""" /C:""""browser.newtabpage.activity-stream.feeds.section.topstories"""" /C:""""browser.newtabpage.activity-stream.feeds.topsites"""" /C:""""browser.newtabpage.activity-stream.section.highlights.includePocket"""" /C:""""browser.newtabpage.activity-stream.section.highlights.includeVisited"""" /C:""""browser.newtabpage.activity-stream.showSponsored"""" /C:""""browser.newtabpage.activity-stream.showSponsoredTopSites"""" /C:""""browser.urlbar.placeholderNam"""" /C:""""browser.urlbar.suggest.quicksuggest.nonsponsored"""" /C:""""browser.urlbar.suggest.quicksuggest.sponsored"""" /C:""""browser.urlbar.suggest.topsites"""" /C:""""datareporting.healthreport.uploadEnabled"""" /C:""""dom.security.https_only_mode"""" /C:""""dom.security.https_only_mode_ever_enabled"""" "%~1\Mozilla\Firefox\Profiles\%%A\prefs.js "^>^> "%TEMP%\prefs.js.tmp" + findstr /V /C:""""app.shield.optoutstudies.enabled"""" /C:""""browser.aboutwelcome.enabled"""" /C:""""browser.disableResetPrompt"""" /C:""""browser.newtabpage.activity-stream.asrouter.userprefs.cfr.addons"""" /C:""""browser.newtabpage.activity-stream.asrouter.userprefs.cfr.features"""" /C:""""browser.newtabpage.activity-stream.feeds.section.topstories"""" /C:""""browser.newtabpage.activity-stream.feeds.topsites"""" /C:""""browser.newtabpage.activity-stream.section.highlights.includePocket"""" /C:""""browser.newtabpage.activity-stream.section.highlights.includeVisited"""" /C:""""browser.newtabpage.activity-stream.showSponsored"""" /C:""""browser.newtabpage.activity-stream.showSponsoredTopSites"""" /C:""""browser.urlbar.placeholderNam"""" /C:""""browser.urlbar.suggest.quicksuggest.nonsponsored"""" /C:""""browser.urlbar.suggest.quicksuggest.sponsored"""" /C:""""browser.urlbar.suggest.topsites"""" /C:""""datareporting.healthreport.uploadEnabled"""" /C:""""dom.security.https_only_mode"""" /C:""""dom.security.https_only_mode_ever_enabled"""" "%~1\Mozilla\Firefox\Profiles\%%A\prefs.js ">> "%TEMP%\prefs.js.tmp" + ) + :: Filters out a few prefs from AME-Firefox-Injectiont\prefs.js and adds them to prefs.js.tmp + echo findstr /V /C:""""browser.toolbars.bookmarks.visibility"""" /C:""""extensions.webextensions.uuids"""" /C:""""extensions.webextensions.uuids"""" "%~dp0\AME-Firefox-Injection\prefs.js"^>^> "%TEMP%\prefs.js.tmp" + findstr /V /C:""""browser.toolbars.bookmarks.visibility"""" /C:""""extensions.webextensions.uuids"""" /C:""""extensions.webextensions.uuids"""" "%~dp0\AME-Firefox-Injection\prefs.js">> "%TEMP%\prefs.js.tmp" + echo move /y "%TEMP%\prefs.js.tmp" "%~1\Mozilla\Firefox\Profiles\%%A\prefs.js" + move /y "%TEMP%\prefs.js.tmp" "%~1\Mozilla\Firefox\Profiles\%%A\prefs.js" + if exist "%~1\Mozilla\Firefox\Profiles\%%A\search.json.mozlz4" echo del /Q /F "%~1\Mozilla\Firefox\Profiles\%%A\search.json.mozlz4" & del /Q /F "%~1\Mozilla\Firefox\Profiles\%%A\search.json.mozlz4" + echo robocopy "%~dp0\AME-Firefox-Injection" "%~1\Mozilla\Firefox\Profiles\%%A" search.json.mozlz4 /E ^> NUL + robocopy "%~dp0\AME-Firefox-Injection" "%~1\Mozilla\Firefox\Profiles\%%A" search.json.mozlz4 /E > NUL +) +for /f "usebackq delims=" %%A in (`dir /B /A:d "%SYSTEMDRIVE%\Users"`) do ( + if exist "%~1\Mozilla\Firefox\Profiles" ( + for /f "usebackq delims=" %%B in (`dir /B /A:d "%~1\Mozilla\Firefox\Profiles"`) do ( + set /a "count3=%count3%+1" + if exist "%~1\Mozilla\Firefox\Profiles\%%B\prefs.js" ( + :: Removes lines containing these entries from the profiles prefs.js. This way any old prefs don't overlap with the new prefs + echo findstr /V /C:""""app.shield.optoutstudies.enabled"""" /C:""""browser.aboutwelcome.enabled"""" /C:""""browser.disableResetPrompt"""" /C:""""browser.newtabpage.activity-stream.asrouter.userprefs.cfr.addons"""" /C:""""browser.newtabpage.activity-stream.asrouter.userprefs.cfr.features"""" /C:""""browser.newtabpage.activity-stream.feeds.section.topstories"""" /C:""""browser.newtabpage.activity-stream.feeds.topsites"""" /C:""""browser.newtabpage.activity-stream.section.highlights.includePocket"""" /C:""""browser.newtabpage.activity-stream.section.highlights.includeVisited"""" /C:""""browser.newtabpage.activity-stream.showSponsored"""" /C:""""browser.newtabpage.activity-stream.showSponsoredTopSites"""" /C:""""browser.urlbar.placeholderNam"""" /C:""""browser.urlbar.suggest.quicksuggest.nonsponsored"""" /C:""""browser.urlbar.suggest.quicksuggest.sponsored"""" /C:""""browser.urlbar.suggest.topsites"""" /C:""""datareporting.healthreport.uploadEnabled"""" /C:""""dom.security.https_only_mode"""" /C:""""dom.security.https_only_mode_ever_enabled"""" "%~1\Mozilla\Firefox\Profiles\%%B\prefs.js "^>^> "%TEMP%\prefs.js.tmp" + findstr /V /C:""""app.shield.optoutstudies.enabled"""" /C:""""browser.aboutwelcome.enabled"""" /C:""""browser.disableResetPrompt"""" /C:""""browser.newtabpage.activity-stream.asrouter.userprefs.cfr.addons"""" /C:""""browser.newtabpage.activity-stream.asrouter.userprefs.cfr.features"""" /C:""""browser.newtabpage.activity-stream.feeds.section.topstories"""" /C:""""browser.newtabpage.activity-stream.feeds.topsites"""" /C:""""browser.newtabpage.activity-stream.section.highlights.includePocket"""" /C:""""browser.newtabpage.activity-stream.section.highlights.includeVisited"""" /C:""""browser.newtabpage.activity-stream.showSponsored"""" /C:""""browser.newtabpage.activity-stream.showSponsoredTopSites"""" /C:""""browser.urlbar.placeholderNam"""" /C:""""browser.urlbar.suggest.quicksuggest.nonsponsored"""" /C:""""browser.urlbar.suggest.quicksuggest.sponsored"""" /C:""""browser.urlbar.suggest.topsites"""" /C:""""datareporting.healthreport.uploadEnabled"""" /C:""""dom.security.https_only_mode"""" /C:""""dom.security.https_only_mode_ever_enabled"""" "%~1\Mozilla\Firefox\Profiles\%%B\prefs.js ">> "%TEMP%\prefs.js.tmp" + ) + :: Filters out a few prefs from AME-Firefox-Injectiont\prefs.js and adds them to prefs.js.tmp + echo findstr /V /C:""""browser.toolbars.bookmarks.visibility"""" /C:""""extensions.webextensions.uuids"""" /C:""""extensions.webextensions.uuids"""" "%~dp0\AME-Firefox-Injection\prefs.js"^>^> "%TEMP%\prefs.js.tmp" + findstr /V /C:""""browser.toolbars.bookmarks.visibility"""" /C:""""extensions.webextensions.uuids"""" /C:""""extensions.webextensions.uuids"""" "%~dp0\AME-Firefox-Injection\prefs.js">> "%TEMP%\prefs.js.tmp" + echo move /y "%TEMP%\prefs.js.tmp" "%~1\Mozilla\Firefox\Profiles\%%B\prefs.js" + move /y "%TEMP%\prefs.js.tmp" "%~1\Mozilla\Firefox\Profiles\%%B\prefs.js" + if exist "%~1\Mozilla\Firefox\Profiles\%%B\search.json.mozlz4" echo del /Q /F "%~1\Mozilla\Firefox\Profiles\%%B\search.json.mozlz4" & del /Q /F "%~1\Mozilla\Firefox\Profiles\%%B\search.json.mozlz4" + echo robocopy "%~dp0\AME-Firefox-Injection" "%~1\Mozilla\Firefox\Profiles\%%B" search.json.mozlz4 /E ^> NUL + robocopy "%~dp0\AME-Firefox-Injection" "%~1\Mozilla\Firefox\Profiles\%%B" search.json.mozlz4 /E > NUL + echo PowerShell -NoP -C "Get-Acl '%~1\Mozilla\Firefox\Profiles' | Set-Acl '%~1\Mozilla\Firefox\Profiles\%%B\prefs.js'" ^> NUL 2^>^&1 + PowerShell -NoP -C "Get-Acl '%~1\Mozilla\Firefox\Profiles' | Set-Acl '%~1\Mozilla\Firefox\Profiles\%%B\prefs.js'" > NUL 2>&1 + echo PowerShell -NoP -C "Get-Acl '%~1\Mozilla\Firefox\Profiles' | Set-Acl '%~1\Mozilla\Firefox\Profiles\%%B\search.json.mozlz4'" ^> NUL 2^>^&1 + PowerShell -NoP -C "Get-Acl '%~1\Mozilla\Firefox\Profiles' | Set-Acl '%~1\Mozilla\Firefox\Profiles\%%B\search.json.mozlz4'" > NUL 2>&1 + ) + ) +) +if %count3% EQU 0 ( + echo. & echo Failed! No profiles detected + endlocal & exit /b 2 +) else ( + echo. & echo Successfully injected custom Firefox configs. + endlocal & exit /b 1 +) \ No newline at end of file diff --git a/Executables/FIREFOXDEF.bat b/Executables/FIREFOXDEF.bat deleted file mode 100644 index 2868866..0000000 --- a/Executables/FIREFOXDEF.bat +++ /dev/null @@ -1,2 +0,0 @@ -cd Executables -setdefaultbrowser.exe HKLM Firefox-308046B0AF4A39CB \ No newline at end of file diff --git a/Executables/Firefox.lnk b/Executables/Firefox.lnk deleted file mode 100644 index 3245bb322c98f82fc4f6729eb2e3adb795d05669..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1209 zcmbVLUr3Wt6hAXFmjp^uCe;Ro^vA7z-~1neo3&PUA`FF~ z9)uiPNk)=XL>fibs}CXlv+$u7z7#?azJ*}FbLX4{B6L4~=bU@);rspWz2`cJNRyud zOY}xqvfYN)0|f`4nWrY^H7QR!uULxj%xk7~T2ZMHHf^qI@=53Z?wZs8stV=a{gO?` zO{VxhI#E;QOINK&10;!9@(efSk-Nclw!zYeR5xiUlYYOx=31!bH6yC5qB2c*PRt*l z$s#vJDMCTmRtiJ5jY6c7LS3k+hHXcz;xm&>MrsprF&QwEsGKTx~6klgLw!kd^GBI5MEa^WR!4U(93V|kIKfo&48vq_&AP?9Ee0J7n z5?B-YE+v13Pn`}%^HB<%O z|NnCf_KJ;K>_yI*&!dC@kXwfJ+QqkqTv-le>m zA@%atKSw9GTIa*uj{g_IzX15)b1;8?vH8Z#+xpt4!^)KW;e8>mS#UFWL8JYMC6C+l z<9eg*m7}8O<;w1xMML3tVdOIb(gA#X9#{z|1-NewR03a$?v>Hk6;y^VwN@rp%$S=| zWk8RYBbHHR5|uJ?5@OR@$1@MV6&7;-h-0K@q_Xb8T;ii4@oAa61)E5k)zxJCWN%EA zVuEcarE>rel*x=AGcQ<$4 + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/Executables/Mozilla Thunderbird.lnk b/Executables/Mozilla Thunderbird.lnk deleted file mode 100644 index 900d788ebc0c368956cc8285a60a6600fd65b9eb..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1259 zcmbtTTS${(7=CBVTqkBpnH7!-DQbWFf1M`?JZx*r%?+n9Y)G5?b7TLU%?Y}T-G*Th z6lhc^owTB$F47KU-Fgwy$)bxgyeWhr??SNW`?fVN41>O(_w>Cl|MPtB_q}!^QWfMt z6TRS?ESF(*kW)X`*NoqtQDrQRn-iN6PuOyKrHbpU8dMcfvFnR-TKBy=q`mebj}96P zS9j3i`f6{s>W?=-BKJl2?GyRrYH}WJs!d`mP8w3vkLPEcpKL5ApsJ2nW&w}!_|nFm zDi_5lN*&NXih#C-LZpyP-KeO64#HRPm6AjP1-O5R^oT^Npi0i6kh+#}(UQa2YO~vu z5|Jm(h4IL685vxIf2Uf;X>cWkw~zx&5*%Lv8yz(Ry@xu1DubUNnHYScLa>mCwb9_d znLwSjrO{+gih|i=CUUKSS+qyJ0wx2FuZST4u@^$L3(}sptbZ)lL)h{|@*(Uz?;VXf zT3Etmxnj|dm@lHUgcP~k>xd>oisI8X2YWgLa?Br!1-$XBFUY;XsYi1K@~)!)ep%js zY@TkO#B#N` zISq3C@I|-F{q?NJ^2}aY|8#Ndg_5Djs|fbl1EFFFyInW52r)v~OV?8wtP$^B!X#8u zIlfG;oM%cAm!e9Ksi=T2p~}E3CG3gt4e1$SIBdEYk(T}T;lAOjhOz0{xBA(43+y%F z5Gl2^lzLuy%QuV&aO@OSR&L^BSckzi!Z(2gqfv#=jJw1PrdJg#gM6?pV!C&(%Q|YU k5pEpm9oUWiAgi%L7X6z(&nJ)9O|&j(rl^&1 ^| findstr /R /X /C:".*USERPROFILE[ ]*REG_SZ[ ].*"`) do ( + REM IF errorlevel 5 CMD /C "exit /b 5" + if /i "%SYSTEMDRIVE%\Users\%%A"=="%%D" cmd /c "exit /b 5" + ) + ) + if not errorlevel 5 ( + reg query "HKEY_USERS" | findstr /c:"AME_UserHive_" + if not errorlevel 1 ( + for /f "usebackq tokens=1 delims=:" %%D in (`echo :^>NUL ^& ^(reg query "HKEY_USERS" ^| findstr /c:"AME_UserHive_" ^& echo AME-Placeholder^) ^| findstr /N /c:"AME-Placeholder"`) do ( + if exist "%SYSTEMDRIVE%\Users\%%A\NTUSER.DAT" ( + echo reg load "HKU\AME_UserHive_%%D" "%SYSTEMDRIVE%\Users\%%A\NTUSER.DAT" + reg load "HKU\AME_UserHive_%%D" "%SYSTEMDRIVE%\Users\%%A\NTUSER.DAT" + echo reg add "HKU\AME_UserHive_%%D\SOFTWARE\AME" /v "UserPath" /t REG_SZ /d "%SYSTEMDRIVE%\Users\%%A" /f + reg add "HKU\AME_UserHive_%%D\SOFTWARE\AME" /v "UserPath" /t REG_SZ /d "%SYSTEMDRIVE%\Users\%%A" /f + ) + ) + ) else ( + if exist "%SYSTEMDRIVE%\Users\%%A\NTUSER.DAT" ( + echo reg load "HKU\AME_UserHive_1" "%SYSTEMDRIVE%\Users\%%A\NTUSER.DAT" + reg load "HKU\AME_UserHive_1" "%SYSTEMDRIVE%\Users\%%A\NTUSER.DAT" + echo reg add "HKU\AME_UserHive_1\SOFTWARE\AME" /v "UserPath" /t REG_SZ /d "%SYSTEMDRIVE%\Users\%%A" /f + reg add "HKU\AME_UserHive_1\SOFTWARE\AME" /v "UserPath" /t REG_SZ /d "%SYSTEMDRIVE%\Users\%%A" /f + ) + ) + ) else ( + cmd /c "exit /b 0" + ) +) + +for /f "usebackq tokens=2 delims=\" %%E in (`reg query "HKEY_USERS" ^| findstr /c:"S-" /c:"AME_UserHive_"`) do ( + REM If the "Volatile Environment" key exists, that means it is a proper user. Built in accounts/SIDs don't have this key. + reg query "HKU\%%E" | findstr /c:"Volatile Environment" /c:"AME_UserHive_" > NUL 2>&1 + if not errorlevel 1 ( + call :REGICALL "%%E" + ) +) +@echo ON + reg add "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\DataCollection" /v AllowTelemetry /t REG_DWORD /d 0 /f reg add "HKLM\SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\Policies\DataCollection" /v AllowTelemetry /t REG_DWORD /d 0 /f reg add "HKLM\SYSTEM\CurrentControlSet\Control\WMI\AutoLogger\AutoLogger-Diagtrack-Listener" /v "Start" /t REG_DWORD /d 0 /f @@ -11,133 +53,9 @@ reg add "HKLM\SOFTWARE\Policies\Microsoft\Windows\EnhancedStorageDevices" /v TCG reg add "HKLM\SOFTWARE\Policies\Microsoft\Windows\OneDrive" /v DisableFileSyncNGSC /t REG_DWORD /d 1 /f reg add "HKLM\SOFTWARE\Policies\Microsoft\Windows\safer\codeidentifiers" /v authenticodeenabled /t REG_DWORD /d 0 /f reg add "HKLM\SOFTWARE\Policies\Microsoft\Windows\Windows Error Reporting" /v DontSendAdditionalData /t REG_DWORD /d 1 /f -reg add "HKLM\Software\Microsoft\PolicyManager\default\WiFi\AllowWiFiHotSpotReporting" /v value /t REG_DWORD /d 0 /f -reg add "HKLM\Software\Microsoft\PolicyManager\default\WiFi\AllowAutoConnectToWiFiSenseHotspots" /v value /t REG_DWORD /d 0 /f -reg add "HKCU\SOFTWARE\Microsoft\Windows\CurrentVersion\AdvertisingInfo" /v Enabled /t REG_DWORD /d 0 /f -reg add "HKCU\SOFTWARE\Microsoft\Windows\CurrentVersion\AppHost" /v EnableWebContentEvaluation /t REG_DWORD /d 0 /f -reg add "HKCU\Control Panel\International\User Profile" /v HttpAcceptLanguageOptOut /t REG_DWORD /d 1 /f -reg add "HKLM\Software\Policies\Microsoft\Windows NT\CurrentVersion\Software Protection Platform" /v NoGenTicket /t REG_DWORD /d 1 /f -reg add "HKCU\SOFTWARE\Microsoft\Windows\CurrentVersion\GameDVR" /v AppCaptureEnabled /t REG_DWORD /d 0 /f -reg add "HKCU\System\GameConfigStore" /v GameDVR_Enabled /t REG_DWORD /d 0 /f - -:: Autorun -reg add "HKCU\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\Explorer" /v NoAutorun /t REG_DWORD /d 1 /f -reg add "HKCU\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\Explorer" /v NoDriveTypeAutoRun /t REG_DWORD /d 181 /f -reg add "HKCU\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\AutoplayHandlers" /v DisableAutoplay /t REG_DWORD /d 1 /f - -:: Adobe Security Improvements -reg add "HKCU\SOFTWARE\Adobe" /t REG_SZ /f -reg add "HKCU\SOFTWARE\Adobe\Acrobat Reader" /t REG_SZ /f -reg add "HKCU\SOFTWARE\Adobe\Acrobat Reader\DC" /t REG_SZ /f -reg add "HKCU\SOFTWARE\Adobe\Acrobat Reader\DC\JSPrefs" /t REG_SZ /f -reg add "HKCU\SOFTWARE\Adobe\Acrobat Reader\DC\JSPrefs" /v "bEnableJS" /t REG_DWORD /d 0 /f -reg add "HKCU\SOFTWARE\Adobe\Acrobat Reader\DC\Originals" /t REG_SZ /f -reg add "HKCU\SOFTWARE\Adobe\Acrobat Reader\DC\Originals" /v "bAllowOpenFile" /t REG_DWORD /d 0 /f -reg add "HKCU\SOFTWARE\Adobe\Acrobat Reader\DC\Originals" /v "bSecureOpenFile" /t REG_DWORD /d 1 /f -reg add "HKCU\SOFTWARE\Adobe\Acrobat Reader\DC\Privileged" /t REG_SZ /f -reg add "HKCU\SOFTWARE\Adobe\Acrobat Reader\DC\Privileged" /v "bProtectedMode" /t REG_DWORD /d 1 /f -reg add "HKCU\SOFTWARE\Adobe\Acrobat Reader\DC\TrustManager" /t REG_SZ /f -reg add "HKCU\SOFTWARE\Adobe\Acrobat Reader\DC\TrustManager" /v "iProtectedView" /t REG_DWORD /d 1 /f -reg add "HKCU\SOFTWARE\Adobe\Acrobat Reader\DC\TrustManager" /v "bEnhancedSecurityInBrowser" /t REG_DWORD /d 1 /f -reg add "HKCU\SOFTWARE\Adobe\Acrobat Reader\DC\TrustManager" /v "bEnhancedSecurityStandalone" /t REG_DWORD /d 1 /f -reg add "HKCU\SOFTWARE\Adobe\Acrobat Reader\XI" /t REG_SZ /f -reg add "HKCU\SOFTWARE\Adobe\Acrobat Reader\XI\JSPrefs" /t REG_SZ /f -reg add "HKCU\SOFTWARE\Adobe\Acrobat Reader\XI\JSPrefs" /v "bEnableJS" /t REG_DWORD /d 0 /f -reg add "HKCU\SOFTWARE\Adobe\Acrobat Reader\XI\Originals" /t REG_SZ /f -reg add "HKCU\SOFTWARE\Adobe\Acrobat Reader\XI\Originals" /v "bAllowOpenFile" /t REG_DWORD /d 0 /f -reg add "HKCU\SOFTWARE\Adobe\Acrobat Reader\XI\Originals" /v "bSecureOpenFile" /t REG_DWORD /d 1 /f -reg add "HKCU\SOFTWARE\Adobe\Acrobat Reader\XI\Privileged" /t REG_SZ /f -reg add "HKCU\SOFTWARE\Adobe\Acrobat Reader\XI\Privileged" /v "bProtectedMode" /t REG_DWORD /d 1 /f -reg add "HKCU\SOFTWARE\Adobe\Acrobat Reader\XI\TrustManager" /t REG_SZ /f -reg add "HKCU\SOFTWARE\Adobe\Acrobat Reader\XI\TrustManager" /v "iProtectedView" /t REG_DWORD /d 1 /f -reg add "HKCU\SOFTWARE\Adobe\Acrobat Reader\XI\TrustManager" /v "bEnhancedSecurityInBrowser" /t REG_DWORD /d 1 /f -reg add "HKCU\SOFTWARE\Adobe\Acrobat Reader\XI\TrustManager" /v "bEnhancedSecurityStandalone" /t REG_DWORD /d 1 /f - -:: Office Security Improvements -reg add "HKCU\SOFTWARE\Microsoft\Office" /t REG_SZ /f -reg add "HKCU\SOFTWARE\Microsoft\Office\12.0" /t REG_SZ /f -reg add "HKCU\SOFTWARE\Microsoft\Office\12.0\Excel" /t REG_SZ /f -reg add "HKCU\SOFTWARE\Microsoft\Office\12.0\Excel\Security" /t REG_SZ /f -reg add "HKCU\SOFTWARE\Microsoft\Office\12.0\Excel\Security" /v "PackagerPrompt"=dword:00000002 -reg add "HKCU\SOFTWARE\Microsoft\Office\12.0\Excel\Security" /v "VBAWarnings"=dword:00000004 -reg add "HKCU\SOFTWARE\Microsoft\Office\12.0\Excel\Security" /v "WorkbookLinkWarnings"=dword:00000002 -reg add "HKCU\SOFTWARE\Microsoft\Office\12.0\PowerPoint" /t REG_SZ /f -reg add "HKCU\SOFTWARE\Microsoft\Office\12.0\PowerPoint\Security" /t REG_SZ /f -reg add "HKCU\SOFTWARE\Microsoft\Office\12.0\PowerPoint\Security" /v "PackagerPrompt" /t REG_DWORD /d 2 /f -reg add "HKCU\SOFTWARE\Microsoft\Office\12.0\PowerPoint\Security" /v "VBAWarnings" /t REG_DWORD /d 4 /f -reg add "HKCU\SOFTWARE\Microsoft\Office\12.0\Word" /t REG_SZ /f -reg add "HKCU\SOFTWARE\Microsoft\Office\12.0\Word\Options" /t REG_SZ /f -reg add "HKCU\SOFTWARE\Microsoft\Office\12.0\Word\Options\vpref" /t REG_SZ /f -reg add "HKCU\SOFTWARE\Microsoft\Office\12.0\Word\Options\vpref" /v "fNoCalclinksOnopen_90_1" /t REG_DWORD /d 1 /f -reg add "HKCU\SOFTWARE\Microsoft\Office\12.0\Word\Security" /t REG_SZ /f -reg add "HKCU\SOFTWARE\Microsoft\Office\12.0\Word\Security" /v"PackagerPrompt" /t REG_DWORD /d 2 /f -reg add "HKCU\SOFTWARE\Microsoft\Office\12.0\Word\Security" /v "VBAWarnings" /t REG_DWORD /d 4 /f -reg add "HKCU\SOFTWARE\Microsoft\Office\14.0" /t REG_SZ /f -reg add "HKCU\SOFTWARE\Microsoft\Office\14.0\Excel" /t REG_SZ /f -reg add "HKCU\SOFTWARE\Microsoft\Office\14.0\Excel\Options" /t REG_SZ /f -reg add "HKCU\SOFTWARE\Microsoft\Office\14.0\Excel\Options" /v "DontUpdateLinks" /t REG_DWORD /d 1 /f -reg add "HKCU\SOFTWARE\Microsoft\Office\14.0\Excel\Security" /t REG_SZ /f -reg add "HKCU\SOFTWARE\Microsoft\Office\14.0\Excel\Security" /v "PackagerPrompt" /t REG_DWORD /d 2 /f -reg add "HKCU\SOFTWARE\Microsoft\Office\14.0\Excel\Security" /v "VBAWarnings" /t REG_DWORD /d 4 /f -reg add "HKCU\SOFTWARE\Microsoft\Office\14.0\Excel\Security" /v "WorkbookLinkWarnings" /t REG_DWORD /d 2 /f -reg add "HKCU\SOFTWARE\Microsoft\Office\14.0\PowerPoint" /t REG_SZ /f -reg add "HKCU\SOFTWARE\Microsoft\Office\14.0\PowerPoint\Security" /t REG_SZ /f -reg add "HKCU\SOFTWARE\Microsoft\Office\14.0\PowerPoint\Security" /v "PackagerPrompt" /t REG_DWORD /d 2 /f -reg add "HKCU\SOFTWARE\Microsoft\Office\14.0\PowerPoint\Security" /v "VBAWarnings" /t REG_DWORD /d 4 /f -reg add "HKCU\SOFTWARE\Microsoft\Office\14.0\Word" /t REG_SZ /f -reg add "HKCU\SOFTWARE\Microsoft\Office\14.0\Word\Options" /t REG_SZ /f -reg add "HKCU\SOFTWARE\Microsoft\Office\14.0\Word\Options" /v "DontUpdateLinks" /t REG_DWORD /d 1 /f -reg add "HKCU\SOFTWARE\Microsoft\Office\14.0\Word\Options\WordMail" /t REG_SZ /f -reg add "HKCU\SOFTWARE\Microsoft\Office\14.0\Word\Options\WordMail" /v "DontUpdateLinks" /t REG_DWORD /d 1 /f -reg add "HKCU\SOFTWARE\Microsoft\Office\14.0\Word\Security" /t REG_SZ /f -reg add "HKCU\SOFTWARE\Microsoft\Office\14.0\Word\Security" /v "PackagerPrompt" /t REG_DWORD /d 2 /f -reg add "HKCU\SOFTWARE\Microsoft\Office\14.0\Word\Security" /v "VBAWarnings" /t REG_DWORD /d 4 /f -reg add "HKCU\SOFTWARE\Microsoft\Office\14.0\Word\Security" /v "AllowDDE" /t REG_DWORD /d 0 /f -reg add "HKCU\SOFTWARE\Microsoft\Office\15.0" /t REG_SZ /f -reg add "HKCU\SOFTWARE\Microsoft\Office\15.0\Excel" /t REG_SZ /f -reg add "HKCU\SOFTWARE\Microsoft\Office\15.0\Excel\Options" /t REG_SZ /f -reg add "HKCU\SOFTWARE\Microsoft\Office\15.0\Excel\Options" /v "DontUpdateLinks" /t REG_DWORD /d 1 /f -reg add "HKCU\SOFTWARE\Microsoft\Office\15.0\Excel\Security" /t REG_SZ /f -reg add "HKCU\SOFTWARE\Microsoft\Office\15.0\Excel\Security" /v "PackagerPrompt" /t REG_DWORD /d 2 /f -reg add "HKCU\SOFTWARE\Microsoft\Office\15.0\Excel\Security" /v "VBAWarnings" /t REG_DWORD /d 4 /f -reg add "HKCU\SOFTWARE\Microsoft\Office\15.0\Excel\Security" /v "WorkbookLinkWarnings" /t REG_DWORD /d 2 /f -reg add "HKCU\SOFTWARE\Microsoft\Office\15.0\PowerPoint" /t REG_SZ /f -reg add "HKCU\SOFTWARE\Microsoft\Office\15.0\PowerPoint\Security" /t REG_SZ /f -reg add "HKCU\SOFTWARE\Microsoft\Office\15.0\PowerPoint\Security" /v "PackagerPrompt" /t REG_DWORD /d 2 /f -reg add "HKCU\SOFTWARE\Microsoft\Office\15.0\PowerPoint\Security" /v "VBAWarnings" /t REG_DWORD /d 4 /f -reg add "HKCU\SOFTWARE\Microsoft\Office\15.0\Word" /t REG_SZ /f -reg add "HKCU\SOFTWARE\Microsoft\Office\15.0\Word\Options" /t REG_SZ /f -reg add "HKCU\SOFTWARE\Microsoft\Office\15.0\Word\Options" /v "DontUpdateLinks" /t REG_DWORD /d 1 /f -reg add "HKCU\SOFTWARE\Microsoft\Office\15.0\Word\Options\WordMail" /t REG_SZ /f -reg add "HKCU\SOFTWARE\Microsoft\Office\15.0\Word\Options\WordMail" /v "DontUpdateLinks" /t REG_DWORD /d 1 /f -reg add "HKCU\SOFTWARE\Microsoft\Office\15.0\Word\Security" /t REG_SZ /f -reg add "HKCU\SOFTWARE\Microsoft\Office\15.0\Word\Security" /v "PackagerPrompt" /t REG_DWORD /d 2 /f -reg add "HKCU\SOFTWARE\Microsoft\Office\15.0\Word\Security" /v "VBAWarnings" /t REG_DWORD /d 4 /f -reg add "HKCU\SOFTWARE\Microsoft\Office\15.0\Word\Security" /v "AllowDDE" /t REG_DWORD /d 0 /f -reg add "HKCU\SOFTWARE\Microsoft\Office\16.0" /t REG_SZ /f -reg add "HKCU\SOFTWARE\Microsoft\Office\16.0\Excel" /t REG_SZ /f -reg add "HKCU\SOFTWARE\Microsoft\Office\16.0\Excel\Options" /t REG_SZ /f -reg add "HKCU\SOFTWARE\Microsoft\Office\16.0\Excel\Options" /v "DontUpdateLinks" /t REG_DWORD /d 1 /f -reg add "HKCU\SOFTWARE\Microsoft\Office\16.0\Excel\Security" /t REG_SZ /f -reg add "HKCU\SOFTWARE\Microsoft\Office\16.0\Excel\Security" /v "PackagerPrompt" /t REG_DWORD /d 2 /f -reg add "HKCU\SOFTWARE\Microsoft\Office\16.0\Excel\Security" /v "VBAWarnings" /t REG_DWORD /d 4 /f -reg add "HKCU\SOFTWARE\Microsoft\Office\16.0\Excel\Security" /v "WorkbookLinkWarnings" /t REG_DWORD /d 2 /f -reg add "HKCU\SOFTWARE\Microsoft\Office\16.0\PowerPoint" /t REG_SZ /f -reg add "HKCU\SOFTWARE\Microsoft\Office\16.0\PowerPoint\Security" /t REG_SZ /f -reg add "HKCU\SOFTWARE\Microsoft\Office\16.0\PowerPoint\Security" /v "PackagerPrompt" /t REG_DWORD /d 2 /f -reg add "HKCU\SOFTWARE\Microsoft\Office\16.0\PowerPoint\Security" /v "VBAWarnings" /t REG_DWORD /d 4 /f -reg add "HKCU\SOFTWARE\Microsoft\Office\16.0\Word" /t REG_SZ /f -reg add "HKCU\SOFTWARE\Microsoft\Office\16.0\Word\Options" /t REG_SZ /f -reg add "HKCU\SOFTWARE\Microsoft\Office\16.0\Word\Options" /v "DontUpdateLinks" /t REG_DWORD /d 1 /f -reg add "HKCU\SOFTWARE\Microsoft\Office\16.0\Word\Options\WordMail" /t REG_SZ /f -reg add "HKCU\SOFTWARE\Microsoft\Office\16.0\Word\Options\WordMail" /v "DontUpdateLinks" /t REG_DWORD /d 1 /f -reg add "HKCU\SOFTWARE\Microsoft\Office\16.0\Word\Security" /t REG_SZ /f -reg add "HKCU\SOFTWARE\Microsoft\Office\16.0\Word\Security" /v "PackagerPrompt" /t REG_DWORD /d 2 /f -reg add "HKCU\SOFTWARE\Microsoft\Office\16.0\Word\Security" /v "VBAWarnings" /t REG_DWORD /d 4 /f -reg add "HKCU\SOFTWARE\Microsoft\Office\16.0\Word\Security" /v "AllowDDE" /t REG_DWORD /d 0 /f -reg add "HKCU\SOFTWARE\Microsoft\Office\Common" /t REG_SZ /f -reg add "HKCU\SOFTWARE\Microsoft\Office\Common\Security" /t REG_SZ /f -reg add "HKCU\SOFTWARE\Microsoft\Office\Common\Security" /v "DisableAllActiveX" /t REG_DWORD /d 1 /f +reg add "HKLM\SOFTWARE\Microsoft\PolicyManager\default\WiFi\AllowWiFiHotSpotReporting" /v value /t REG_DWORD /d 0 /f +reg add "HKLM\SOFTWARE\Microsoft\PolicyManager\default\WiFi\AllowAutoConnectToWiFiSenseHotspots" /v value /t REG_DWORD /d 0 /f +reg add "HKLM\SOFTWARE\Policies\Microsoft\Windows NT\CurrentVersion\Software Protection Platform" /v NoGenTicket /t REG_DWORD /d 1 /f :: Remove SecurityHealth from startup reg delete "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Run" /v "SecurityHealth" /f @@ -145,11 +63,9 @@ reg delete "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\StartupAppro :: Turns off Windows blocking installation of files downloaded from the internet reg add "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\Attachments" /v SaveZoneInformation /t REG_DWORD /d 1 /f -reg add "HKCU\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\Attachments" /v SaveZoneInformation /t REG_DWORD /d 1 /f :: Disables SmartScreen reg add "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer" /v SmartScreenEnabled /t REG_SZ /d "Off" /f -reg add "HKCU\SOFTWARE\Microsoft\Windows\CurrentVersion\AppHost" /v ContentEvaluation /t REG_DWORD /d 0 /f :: Remove Metadata Tracking reg delete "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Device Metadata" /f @@ -158,7 +74,6 @@ reg delete "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Device Metadata" /f reg add "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\Explorer" /v SettingsPageVisibility /t REG_SZ /d "showonly:display;nightlight;sound;notifications;quiethours;powersleep;batterysaver;tabletmode;multitasking;clipboard;remote-desktop;about;bluetooth;connecteddevices;printers;mousetouchpad;devices-touchpad;typing;pen;autoplay;usb;network-status;network-cellular;network-wifi;network-wificalling;network-wifisettings;network-ethernet;network-dialup;network-vpn;network-airplanemode;network-mobilehotspot;datausage;network-proxy;personalization-background;personalization-start;fonts;colors;lockscreen;themes;taskbar;defaultapps;videoplayback;startupapps;dateandtime;regionformatting;gaming;gamemode;easeofaccess-display;easeofaccess-colorfilter;easeofaccess-audio;easeofaccess-easeofaccess-narrator;easeofaccess-magnifier;easeofaccess-highcontrast;easeofaccess-closedcaptioning;easeofaccess-speechrecognition;easeofaccess-eyecontrol;easeofaccess-keyboard;easeofaccess-mouse;cortana-windowssearch;search-moredetails" /f :: Decrease shutdown time -reg add "HKCU\Control Panel\Desktop" /v WaitToKillAppTimeOut /t REG_SZ /d 2000 /f reg add "HKLM\SYSTEM\CurrentControlSet\Control" /v WaitToKillServiceTimeout /t REG_SZ /d 2000 /f reg add "HKLM\SYSTEM\CurrentControlSet\Control" /v HungAppTimeout /t REG_SZ /d 2000 /f reg add "HKLM\SYSTEM\CurrentControlSet\Control" /v AutoEndTasks /t REG_SZ /d 1 /f @@ -177,50 +92,29 @@ reg delete "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\MyComputer\N reg delete "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\MyComputer\NameSpace\{f86fa3ab-70d2-4fc7-9c99-fcbf05467f3a}" /f reg delete "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\MyComputer\NameSpace\{0DB7E03F-FC29-4DC6-9020-FF41B59E513A}" /f -:: Disable Storage Sense -reg delete "HKCU\SOFTWARE\Microsoft\Windows\CurrentVersion\StorageSense" /f - :: Disable Windows Error Reporting reg add "HKLM\SOFTWARE\Microsoft\Windows\Windows Error Reporting" /v "Disabled" /t REG_DWORD d/1 /f :: Enables full drive indexing (Enhanced Search) cd Executables -start NSudoLC.exe -U:S -P:E -M:S -Priority:RealTime -Wait SEARCH.bat +NSudoLC -U:S -P:E -M:S -Priority:RealTime -UseCurrentConsole -Wait reg add "HKLM\SOFTWARE\Microsoft\Windows Search\Gather\Windows\SystemIndex" /v "EnableFindMyFiles" /t REG_DWORD /d 1 /f :: Search -reg add "HKCU\SOFTWARE\Microsoft\Windows\CurrentVersion\Search" /v "SearchboxTaskbarMode" /t REG_DWORD /d 0 /f reg add "HKLM\SOFTWARE\Policies\Microsoft\Windows\Windows Search" /v "DisableWebSearch" /t REG_DWORD /d 1 /f reg add "HKLM\SOFTWARE\Policies\Microsoft\Windows\Windows Search" /v "ConnectedSearchUseWeb" /t REG_DWORD /d 0 /f reg add "HKLM\SOFTWARE\Policies\Microsoft\Windows\Windows Search" /v "AllowIndexingEncryptedStoresOrItems" /t REG_DWORD /d 0 /f reg add "HKLM\SOFTWARE\Policies\Microsoft\Windows\Windows Search" /v "AllowSearchToUseLocation" /t REG_DWORD /d 0 /f reg add "HKLM\SOFTWARE\Policies\Microsoft\Windows\Windows Search" /v "AlwaysUseAutoLangDetection" /t REG_DWORD /d 0 /f -reg add "HKCU\Software\Microsoft\Windows\CurrentVersion\Search" /v "BingSearchEnabled" /t REG_DWORD /d 0 /f -reg add "HKCU\Software\Microsoft\Windows\CurrentVersion\Search" /v "CortanaConsent" /t REG_DWORD /d 0 /f -reg add "HKCU\Software\Microsoft\Windows\CurrentVersion\Search" /v "CortanaInAmbientMode" /t REG_DWORD /d 0 /f -reg add "HKCU\Software\Microsoft\Windows\CurrentVersion\Search" /v "HistoryViewEnabled" /t REG_DWORD 0 /f -reg add "HKCU\Software\Microsoft\Windows\CurrentVersion\Search" /v "HasAboveLockTips" /t REG_DWORD /d 0 /f -reg add "HKCU\Software\Microsoft\Windows\CurrentVersion\Search" /v "AllowSearchToUseLocation" /t REG_DWORD /d 0 /f -reg add "HKCU\Software\Microsoft\Windows\CurrentVersion\SearchSettings" /v "SafeSearchMode" /t REG_DWORD /d 0 /f -reg add "HKCU\Software\Policies\Microsoft\Windows\Explorer" /v "DisableSearchBoxSuggestions" /t REG_DWORD /d 1 /f reg add "HKLM\SOFTWARE\Policies\Microsoft\Windows\Windows Search" /v "AllowCortana" /t REG_DWORD /d 0 /f reg add "HKLM\SOFTWARE\Policies\Microsoft\Windows\Windows Search" /v "DisableWebSearch" /t REG_DWORD /d 1 /f reg add "HKLM\SOFTWARE\Policies\Microsoft\Windows\Windows Search" /v "ConnectedSearchUseWeb" /t REG_DWORD /d 0 /f reg add "HKLM\SOFTWARE\Policies\Microsoft\Windows\Windows Search" /v "ConnectedSearchUseWebOverMeteredConnections" /t REG_DWORD /d 0 /f reg add "HKLM\SOFTWARE\Policies\Microsoft\Windows\Windows Search" /v "AllowCloudSearch" /t REG_DWORD /d 0 /f -reg add "HKCU\Software\Microsoft\InputPersonalization" /v "RestrictImplicitTextCollection" /t REG_DWORD /d 1 /f -reg add "HKCU\Software\Microsoft\InputPersonalization" /v "RestrictImplicitInkCollection" /t REG_DWORD /d 1 /f -reg add "HKCU\Software\Microsoft\InputPersonalization\TrainedDataStore" /v "AcceptedPrivacyPolicy" /t REG_DWORD /d 0 /f -reg add "HKCU\Software\Microsoft\InputPersonalization\TrainedDataStore" /v "HarvestContacts" /t REG_DWORD /d 0 /f -reg add "HKCU\Software\Microsoft\Personalization\Settings" /v "AcceptedPrivacyPolicy" /t REG_DWORD /d 0 /f reg add "HKLM\SOFTWARE\Microsoft\Speech_OneCore\Preferences" /v "VoiceActivationDefaultOn" /t REG_DWORD /d 0 /f reg add "HKLM\SOFTWARE\Microsoft\Speech_OneCore\Preferences" /v "VoiceActivationEnableAboveLockscreen" /t REG_DWORD /d 0 /f reg add "HKLM\SOFTWARE\Microsoft\Speech_OneCore\Preferences" /v "ModelDownloadAllowed" /t REG_DWORD /d 0 /f reg add "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\OOBE" /v "DisableVoice" /t REG_DWORD /d 1 /f -for /f "tokens=* USEBACKQ" %%i in (`wmic useraccount where "name="%username%"" get sid ^| findstr "S-"`) do set currentusername=%%i -:: Trim 3 empty spaces off the end of the returned string -set currentusername=%currentusername:~0,-3% -reg add "HKEY_USERS\%currentusername%\SOFTWARE\Policies\Microsoft\Windows\Explorer" /v "DisableSearchBoxSuggestions" /t REG_DWORD /d 1 /f :: Firewall rules to prevent the startmenu from talking reg add "HKLM\SYSTEM\ControlSet001\Services\SharedAccess\Parameters\FirewallPolicy\FirewallRules" /v "Block Search SearchApp.exe" /t REG_SZ /d "v2.30|Action=Block|Active=TRUE|Dir=Out|RA42=IntErnet|RA62=IntErnet|App=C:\Windows\SystemApps\Microsoft.Windows.Search_cw5n1h2txyewy\SearchApp.exe|Name=Block Search SearchUI.exe|Desc=Block Cortana Outbound UDP/TCP Traffic|" /f ::reg add "HKLM\SYSTEM\ControlSet001\Services\SharedAccess\Parameters\FirewallPolicy\FirewallRules" /v "Block Search Package" /t REG_SZ /d "v2.30|Action=Block|Active=TRUE|Dir=Out|RA42=IntErnet|RA62=IntErnet|Name=Block Search Package|Desc=Block Search Outbound UDP/TCP Traffic|AppPkgId=S-1-15-2-536077884-713174666-1066051701-3219990555-339840825-1966734348-1611281757|Platform=2:6:2|Platform2=GTEQ|" /f @@ -229,26 +123,14 @@ reg add "HKLM\SYSTEM\ControlSet001\Services\SharedAccess\Parameters\FirewallPoli reg add "HKLM\SOFTWARE\Policies\Microsoft\Windows\System" /v "EnableActivityFeed" /t REG_DWORD /d 0 /f :: Setup Windows Explorer -:: Removes the shake to minimze all other windows gesture -::reg add "HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced" /v "DisallowShaking" /t REG_DWORD /d 1 /f -reg add "HKCU\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Advanced" /v "NavPaneShowAllFolders" /t REG_DWORD /d 0 /f -reg add "HKCU\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Advanced" /v LaunchTo /t REG_DWORD /d 1 /f -reg add "HKCU\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Advanced" /v HideFileExt /t REG_DWORD /d 0 /f -reg add "HKCU\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Advanced" /v Hidden /t REG_DWORD /d 1 /f -reg add "HKCU\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Advanced" /V TaskbarGlomLevel /T REG_DWORD /D 2 /F reg delete "HKEY_CLASSES_ROOT\CABFolder\CLSID" /f reg delete "HKEY_CLASSES_ROOT\SystemFileAssociations\.cab\CLSID" /f reg delete "HKEY_CLASSES_ROOT\CompressedFolder\CLSID" /f reg delete "HKEY_CLASSES_ROOT\SystemFileAssociations\.zip\CLSID" /f :: Taskbar -reg add "HKCU\Software\Policies\Microsoft\Windows\Explorer" /v DisableNotificationCenter /t REG_DWORD /d 1 /f -reg add "HKLM\Software\Microsoft\Windows\CurrentVersion\ImmersiveShell" /v UseActionCenterExperience /t REG_DWORD /d 0 /f -reg add "HKLM\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer" /v HideSCAHealth /t REG_DWORD /d 0x1 /f -reg add "HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced" /v ShowCortanaButton /t REG_DWORD /d 0 /f -reg add "HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced" /v ShowTaskViewButton /t REG_DWORD /d 0 /f -reg add "HKCU\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer" /v EnableAutoTray /t REG_DWORD /d 0 /f -reg add "HKCU\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer" /v HideSCAMeetNow /t REG_DWORD /d 1 /f +reg add "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\ImmersiveShell" /v UseActionCenterExperience /t REG_DWORD /d 0 /f +reg add "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\Explorer" /v HideSCAHealth /t REG_DWORD /d 0x1 /f :: Remove the Open with Paint 3D from the explorer context menu reg delete "HKLM\SOFTWARE\Classes\SystemFileAssociations\.bmp\Shell\3D Edit" /f @@ -261,13 +143,13 @@ reg delete "HKLM\SOFTWARE\Classes\SystemFileAssociations\.gif\Shell\3D Edit" /f reg delete "HKLM\SOFTWARE\Classes\SystemFileAssociations\.tif\Shell\3D Edit" /f reg delete "HKLM\SOFTWARE\Classes\SystemFileAssociations\.tiff\Shell\3D Edit" /f -echo. -echo Removing OneDrive from the Explorer Side Panel. + +:: Remove OneDrive from the Explorer Side Panel reg delete "HKEY_CLASSES_ROOT\CLSID\{018D5C66-4533-4307-9B53-224DE2ED1FE6}" /f reg delete "HKEY_CLASSES_ROOT\Wow6432Node\CLSID\{018D5C66-4533-4307-9B53-224DE2ED1FE6}" /f :: Disable ActiveProbing/NCSI -::reg add "HKLM\SYSTEM\CurrentControlSet\Services\NlaSvc\Parameters\Internet" /v EnableActiveProbing /t REG_DWORD /d 0 /f +:: reg add "HKLM\SYSTEM\CurrentControlSet\Services\NlaSvc\Parameters\Internet" /v EnableActiveProbing /t REG_DWORD /d 0 /f :: smb config sc config lanmanworkstation depend= bowser/mrxsmb20/nsi @@ -276,13 +158,22 @@ sc config lanmanworkstation depend= bowser/mrxsmb20/nsi reg add "HKLM\SYSTEM\CurrentControlSet\Control\TimeZoneInformation" /v RealTimeIsUniversal /t REG_DWORD /d 1 /f ::Disable Users On Login Screen -reg add "HKLM\Software\Microsoft\Windows\CurrentVersion\Policies\System" /v dontdisplaylastusername /t REG_DWORD /d 1 /f +reg add "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System" /v dontdisplaylastusername /t REG_DWORD /d 1 /f ::Disable The Lock Screen reg add "HKLM\SOFTWARE\Policies\Microsoft\Windows\Personalization" /v NoLockScreen /t REG_DWORD /d 1 /f reg add "HKLM\SOFTWARE\Policies\Microsoft\Windows\DataCollection" /v AllowTelemetry /t REG_DWORD /d 0 /f +:: Prevent NVCP not found message after installing NVIDIA drivers +reg add "HKLM\System\CurrentControlSet\Services\nvlddmkm" /f +reg add "HKLM\System\CurrentControlSet\Services\nvlddmkm\Global" /f +reg add "HKLM\System\CurrentControlSet\Services\nvlddmkm\Global\NVTweak" /f +reg add "HKLM\System\CurrentControlSet\Services\nvlddmkm\Global\NVTweak" /v "DisableStoreNvCplNotifications" /t REG_DWORD /d 1 /f + +:: Fix black screen issue with new users +:: start NSudoLC -U:T -P:E -M:S -Priority:RealTime -Wait reg delete "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Appx\AppxAllUserStore" /f + :: Enable Legacy F8 Bootmenu bcdedit /set {default} bootmenupolicy legacy :: Disable Recovery @@ -292,4 +183,189 @@ bcdedit /set {current} recoveryenabled no powercfg /h off :: Set Performance Plan to High Performance and display to never turn off powercfg /S 8c5e7fda-e8bf-4a96-9a85-a6e23a8c635c -powercfg /change monitor-timeout-ac 0 \ No newline at end of file +powercfg /change monitor-timeout-ac 0 + +@exit /b 0 + +:REGICALL + +@echo ON + +reg add "HKU\%~1\SOFTWARE\Microsoft\Windows\CurrentVersion\AdvertisingInfo" /v Enabled /t REG_DWORD /d 0 /f +reg add "HKU\%~1\SOFTWARE\Microsoft\Windows\CurrentVersion\AppHost" /v EnableWebContentEvaluation /t REG_DWORD /d 0 /f +reg add "HKU\%~1\Control Panel\International\User Profile" /v HttpAcceptLanguageOptOut /t REG_DWORD /d 1 /f +reg add "HKU\%~1\SOFTWARE\Microsoft\Windows\CurrentVersion\GameDVR" /v AppCaptureEnabled /t REG_DWORD /d 0 /f +reg add "HKU\%~1\System\GameConfigStore" /v GameDVR_Enabled /t REG_DWORD /d 0 /f + +:: Autorun +reg add "HKU\%~1\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\Explorer" /v NoDriveTypeAutoRun /t REG_DWORD /d 181 /f +reg add "HKU\%~1\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\AutoplayHandlers" /v DisableAutoplay /t REG_DWORD /d 1 /f +reg add "HKU\%~1\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\Explorer" /v NoAutorun /t REG_DWORD /d 1 /f + +:: Adobe Security Improvements +reg add "HKU\%~1\SOFTWARE\Adobe" /t REG_SZ /f +reg add "HKU\%~1\SOFTWARE\Adobe\Acrobat Reader" /t REG_SZ /f +reg add "HKU\%~1\SOFTWARE\Adobe\Acrobat Reader\DC" /t REG_SZ /f +reg add "HKU\%~1\SOFTWARE\Adobe\Acrobat Reader\DC\JSPrefs" /t REG_SZ /f +reg add "HKU\%~1\SOFTWARE\Adobe\Acrobat Reader\DC\JSPrefs" /v "bEnableJS" /t REG_DWORD /d 0 /f +reg add "HKU\%~1\SOFTWARE\Adobe\Acrobat Reader\DC\Originals" /t REG_SZ /f +reg add "HKU\%~1\SOFTWARE\Adobe\Acrobat Reader\DC\Originals" /v "bAllowOpenFile" /t REG_DWORD /d 0 /f +reg add "HKU\%~1\SOFTWARE\Adobe\Acrobat Reader\DC\Originals" /v "bSecureOpenFile" /t REG_DWORD /d 1 /f +reg add "HKU\%~1\SOFTWARE\Adobe\Acrobat Reader\DC\Privileged" /t REG_SZ /f +reg add "HKU\%~1\SOFTWARE\Adobe\Acrobat Reader\DC\Privileged" /v "bProtectedMode" /t REG_DWORD /d 1 /f +reg add "HKU\%~1\SOFTWARE\Adobe\Acrobat Reader\DC\TrustManager" /t REG_SZ /f +reg add "HKU\%~1\SOFTWARE\Adobe\Acrobat Reader\DC\TrustManager" /v "iProtectedView" /t REG_DWORD /d 1 /f +reg add "HKU\%~1\SOFTWARE\Adobe\Acrobat Reader\DC\TrustManager" /v "bEnhancedSecurityInBrowser" /t REG_DWORD /d 1 /f +reg add "HKU\%~1\SOFTWARE\Adobe\Acrobat Reader\DC\TrustManager" /v "bEnhancedSecurityStandalone" /t REG_DWORD /d 1 /f +reg add "HKU\%~1\SOFTWARE\Adobe\Acrobat Reader\XI" /t REG_SZ /f +reg add "HKU\%~1\SOFTWARE\Adobe\Acrobat Reader\XI\JSPrefs" /t REG_SZ /f +reg add "HKU\%~1\SOFTWARE\Adobe\Acrobat Reader\XI\JSPrefs" /v "bEnableJS" /t REG_DWORD /d 0 /f +reg add "HKU\%~1\SOFTWARE\Adobe\Acrobat Reader\XI\Originals" /t REG_SZ /f +reg add "HKU\%~1\SOFTWARE\Adobe\Acrobat Reader\XI\Originals" /v "bAllowOpenFile" /t REG_DWORD /d 0 /f +reg add "HKU\%~1\SOFTWARE\Adobe\Acrobat Reader\XI\Originals" /v "bSecureOpenFile" /t REG_DWORD /d 1 /f +reg add "HKU\%~1\SOFTWARE\Adobe\Acrobat Reader\XI\Privileged" /t REG_SZ /f +reg add "HKU\%~1\SOFTWARE\Adobe\Acrobat Reader\XI\Privileged" /v "bProtectedMode" /t REG_DWORD /d 1 /f +reg add "HKU\%~1\SOFTWARE\Adobe\Acrobat Reader\XI\TrustManager" /t REG_SZ /f +reg add "HKU\%~1\SOFTWARE\Adobe\Acrobat Reader\XI\TrustManager" /v "iProtectedView" /t REG_DWORD /d 1 /f +reg add "HKU\%~1\SOFTWARE\Adobe\Acrobat Reader\XI\TrustManager" /v "bEnhancedSecurityInBrowser" /t REG_DWORD /d 1 /f +reg add "HKU\%~1\SOFTWARE\Adobe\Acrobat Reader\XI\TrustManager" /v "bEnhancedSecurityStandalone" /t REG_DWORD /d 1 /f + +:: Office Security Improvements +reg add "HKU\%~1\SOFTWARE\Microsoft\Office" /t REG_SZ /f +reg add "HKU\%~1\SOFTWARE\Microsoft\Office\12.0" /t REG_SZ /f +reg add "HKU\%~1\SOFTWARE\Microsoft\Office\12.0\Excel" /t REG_SZ /f +reg add "HKU\%~1\SOFTWARE\Microsoft\Office\12.0\Excel\Security" /t REG_SZ /f +reg add "HKU\%~1\SOFTWARE\Microsoft\Office\12.0\Excel\Security" /v "PackagerPrompt" /t REG_DWORD /d 2 /f +reg add "HKU\%~1\SOFTWARE\Microsoft\Office\12.0\Excel\Security" /v "VBAWarnings" /t REG_DWORD /d 4 /f +reg add "HKU\%~1\SOFTWARE\Microsoft\Office\12.0\Excel\Security" /v "WorkbookLinkWarnings" /t REG_DWORD /d 2 /f +reg add "HKU\%~1\SOFTWARE\Microsoft\Office\12.0\PowerPoint" /t REG_SZ /f +reg add "HKU\%~1\SOFTWARE\Microsoft\Office\12.0\PowerPoint\Security" /t REG_SZ /f +reg add "HKU\%~1\SOFTWARE\Microsoft\Office\12.0\PowerPoint\Security" /v "PackagerPrompt" /t REG_DWORD /d 2 /f +reg add "HKU\%~1\SOFTWARE\Microsoft\Office\12.0\PowerPoint\Security" /v "VBAWarnings" /t REG_DWORD /d 4 /f +reg add "HKU\%~1\SOFTWARE\Microsoft\Office\12.0\Word" /t REG_SZ /f +reg add "HKU\%~1\SOFTWARE\Microsoft\Office\12.0\Word\Options" /t REG_SZ /f +reg add "HKU\%~1\SOFTWARE\Microsoft\Office\12.0\Word\Options\vpref" /t REG_SZ /f +reg add "HKU\%~1\SOFTWARE\Microsoft\Office\12.0\Word\Options\vpref" /v "fNoCalclinksOnopen_90_1" /t REG_DWORD /d 1 /f +reg add "HKU\%~1\SOFTWARE\Microsoft\Office\12.0\Word\Security" /t REG_SZ /f +reg add "HKU\%~1\SOFTWARE\Microsoft\Office\12.0\Word\Security" /v "PackagerPrompt" /t REG_DWORD /d 2 /f +reg add "HKU\%~1\SOFTWARE\Microsoft\Office\12.0\Word\Security" /v "VBAWarnings" /t REG_DWORD /d 4 /f +reg add "HKU\%~1\SOFTWARE\Microsoft\Office\14.0" /t REG_SZ /f +reg add "HKU\%~1\SOFTWARE\Microsoft\Office\14.0\Excel" /t REG_SZ /f +reg add "HKU\%~1\SOFTWARE\Microsoft\Office\14.0\Excel\Options" /t REG_SZ /f +reg add "HKU\%~1\SOFTWARE\Microsoft\Office\14.0\Excel\Options" /v "DontUpdateLinks" /t REG_DWORD /d 1 /f +reg add "HKU\%~1\SOFTWARE\Microsoft\Office\14.0\Excel\Security" /t REG_SZ /f +reg add "HKU\%~1\SOFTWARE\Microsoft\Office\14.0\Excel\Security" /v "PackagerPrompt" /t REG_DWORD /d 2 /f +reg add "HKU\%~1\SOFTWARE\Microsoft\Office\14.0\Excel\Security" /v "VBAWarnings" /t REG_DWORD /d 4 /f +reg add "HKU\%~1\SOFTWARE\Microsoft\Office\14.0\Excel\Security" /v "WorkbookLinkWarnings" /t REG_DWORD /d 2 /f +reg add "HKU\%~1\SOFTWARE\Microsoft\Office\14.0\PowerPoint" /t REG_SZ /f +reg add "HKU\%~1\SOFTWARE\Microsoft\Office\14.0\PowerPoint\Security" /t REG_SZ /f +reg add "HKU\%~1\SOFTWARE\Microsoft\Office\14.0\PowerPoint\Security" /v "PackagerPrompt" /t REG_DWORD /d 2 /f +reg add "HKU\%~1\SOFTWARE\Microsoft\Office\14.0\PowerPoint\Security" /v "VBAWarnings" /t REG_DWORD /d 4 /f +reg add "HKU\%~1\SOFTWARE\Microsoft\Office\14.0\Word" /t REG_SZ /f +reg add "HKU\%~1\SOFTWARE\Microsoft\Office\14.0\Word\Options" /t REG_SZ /f +reg add "HKU\%~1\SOFTWARE\Microsoft\Office\14.0\Word\Options" /v "DontUpdateLinks" /t REG_DWORD /d 1 /f +reg add "HKU\%~1\SOFTWARE\Microsoft\Office\14.0\Word\Options\WordMail" /t REG_SZ /f +reg add "HKU\%~1\SOFTWARE\Microsoft\Office\14.0\Word\Options\WordMail" /v "DontUpdateLinks" /t REG_DWORD /d 1 /f +reg add "HKU\%~1\SOFTWARE\Microsoft\Office\14.0\Word\Security" /t REG_SZ /f +reg add "HKU\%~1\SOFTWARE\Microsoft\Office\14.0\Word\Security" /v "PackagerPrompt" /t REG_DWORD /d 2 /f +reg add "HKU\%~1\SOFTWARE\Microsoft\Office\14.0\Word\Security" /v "VBAWarnings" /t REG_DWORD /d 4 /f +reg add "HKU\%~1\SOFTWARE\Microsoft\Office\14.0\Word\Security" /v "AllowDDE" /t REG_DWORD /d 0 /f +reg add "HKU\%~1\SOFTWARE\Microsoft\Office\15.0" /t REG_SZ /f +reg add "HKU\%~1\SOFTWARE\Microsoft\Office\15.0\Excel" /t REG_SZ /f +reg add "HKU\%~1\SOFTWARE\Microsoft\Office\15.0\Excel\Options" /t REG_SZ /f +reg add "HKU\%~1\SOFTWARE\Microsoft\Office\15.0\Excel\Options" /v "DontUpdateLinks" /t REG_DWORD /d 1 /f +reg add "HKU\%~1\SOFTWARE\Microsoft\Office\15.0\Excel\Security" /t REG_SZ /f +reg add "HKU\%~1\SOFTWARE\Microsoft\Office\15.0\Excel\Security" /v "PackagerPrompt" /t REG_DWORD /d 2 /f +reg add "HKU\%~1\SOFTWARE\Microsoft\Office\15.0\Excel\Security" /v "VBAWarnings" /t REG_DWORD /d 4 /f +reg add "HKU\%~1\SOFTWARE\Microsoft\Office\15.0\Excel\Security" /v "WorkbookLinkWarnings" /t REG_DWORD /d 2 /f +reg add "HKU\%~1\SOFTWARE\Microsoft\Office\15.0\PowerPoint" /t REG_SZ /f +reg add "HKU\%~1\SOFTWARE\Microsoft\Office\15.0\PowerPoint\Security" /t REG_SZ /f +reg add "HKU\%~1\SOFTWARE\Microsoft\Office\15.0\PowerPoint\Security" /v "PackagerPrompt" /t REG_DWORD /d 2 /f +reg add "HKU\%~1\SOFTWARE\Microsoft\Office\15.0\PowerPoint\Security" /v "VBAWarnings" /t REG_DWORD /d 4 /f +reg add "HKU\%~1\SOFTWARE\Microsoft\Office\15.0\Word" /t REG_SZ /f +reg add "HKU\%~1\SOFTWARE\Microsoft\Office\15.0\Word\Options" /t REG_SZ /f +reg add "HKU\%~1\SOFTWARE\Microsoft\Office\15.0\Word\Options" /v "DontUpdateLinks" /t REG_DWORD /d 1 /f +reg add "HKU\%~1\SOFTWARE\Microsoft\Office\15.0\Word\Options\WordMail" /t REG_SZ /f +reg add "HKU\%~1\SOFTWARE\Microsoft\Office\15.0\Word\Options\WordMail" /v "DontUpdateLinks" /t REG_DWORD /d 1 /f +reg add "HKU\%~1\SOFTWARE\Microsoft\Office\15.0\Word\Security" /t REG_SZ /f +reg add "HKU\%~1\SOFTWARE\Microsoft\Office\15.0\Word\Security" /v "PackagerPrompt" /t REG_DWORD /d 2 /f +reg add "HKU\%~1\SOFTWARE\Microsoft\Office\15.0\Word\Security" /v "VBAWarnings" /t REG_DWORD /d 4 /f +reg add "HKU\%~1\SOFTWARE\Microsoft\Office\15.0\Word\Security" /v "AllowDDE" /t REG_DWORD /d 0 /f +reg add "HKU\%~1\SOFTWARE\Microsoft\Office\16.0" /t REG_SZ /f +reg add "HKU\%~1\SOFTWARE\Microsoft\Office\16.0\Excel" /t REG_SZ /f +reg add "HKU\%~1\SOFTWARE\Microsoft\Office\16.0\Excel\Options" /t REG_SZ /f +reg add "HKU\%~1\SOFTWARE\Microsoft\Office\16.0\Excel\Options" /v "DontUpdateLinks" /t REG_DWORD /d 1 /f +reg add "HKU\%~1\SOFTWARE\Microsoft\Office\16.0\Excel\Security" /t REG_SZ /f +reg add "HKU\%~1\SOFTWARE\Microsoft\Office\16.0\Excel\Security" /v "PackagerPrompt" /t REG_DWORD /d 2 /f +reg add "HKU\%~1\SOFTWARE\Microsoft\Office\16.0\Excel\Security" /v "VBAWarnings" /t REG_DWORD /d 4 /f +reg add "HKU\%~1\SOFTWARE\Microsoft\Office\16.0\Excel\Security" /v "WorkbookLinkWarnings" /t REG_DWORD /d 2 /f +reg add "HKU\%~1\SOFTWARE\Microsoft\Office\16.0\PowerPoint" /t REG_SZ /f +reg add "HKU\%~1\SOFTWARE\Microsoft\Office\16.0\PowerPoint\Security" /t REG_SZ /f +reg add "HKU\%~1\SOFTWARE\Microsoft\Office\16.0\PowerPoint\Security" /v "PackagerPrompt" /t REG_DWORD /d 2 /f +reg add "HKU\%~1\SOFTWARE\Microsoft\Office\16.0\PowerPoint\Security" /v "VBAWarnings" /t REG_DWORD /d 4 /f +reg add "HKU\%~1\SOFTWARE\Microsoft\Office\16.0\Word" /t REG_SZ /f +reg add "HKU\%~1\SOFTWARE\Microsoft\Office\16.0\Word\Options" /t REG_SZ /f +reg add "HKU\%~1\SOFTWARE\Microsoft\Office\16.0\Word\Options" /v "DontUpdateLinks" /t REG_DWORD /d 1 /f +reg add "HKU\%~1\SOFTWARE\Microsoft\Office\16.0\Word\Options\WordMail" /t REG_SZ /f +reg add "HKU\%~1\SOFTWARE\Microsoft\Office\16.0\Word\Options\WordMail" /v "DontUpdateLinks" /t REG_DWORD /d 1 /f +reg add "HKU\%~1\SOFTWARE\Microsoft\Office\16.0\Word\Security" /t REG_SZ /f +reg add "HKU\%~1\SOFTWARE\Microsoft\Office\16.0\Word\Security" /v "PackagerPrompt" /t REG_DWORD /d 2 /f +reg add "HKU\%~1\SOFTWARE\Microsoft\Office\16.0\Word\Security" /v "VBAWarnings" /t REG_DWORD /d 4 /f +reg add "HKU\%~1\SOFTWARE\Microsoft\Office\16.0\Word\Security" /v "AllowDDE" /t REG_DWORD /d 0 /f +reg add "HKU\%~1\SOFTWARE\Microsoft\Office\Common" /t REG_SZ /f +reg add "HKU\%~1\SOFTWARE\Microsoft\Office\Common\Security" /t REG_SZ /f +reg add "HKU\%~1\SOFTWARE\Microsoft\Office\Common\Security" /v "DisableAllActiveX" /t REG_DWORD /d 1 /f + +:: Turns off Windows blocking installation of files downloaded from the internet +reg add "HKU\%~1\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\Attachments" /v SaveZoneInformation /t REG_DWORD /d 1 /f + +:: Disables SmartScreen +reg add "HKU\%~1\SOFTWARE\Microsoft\Windows\CurrentVersion\AppHost" /v ContentEvaluation /t REG_DWORD /d 0 /f + +:: Decrease shutdown time +reg add "HKU\%~1\Control Panel\Desktop" /v WaitToKillAppTimeOut /t REG_SZ /d 2000 /f + +:: Disable Storage Sense +reg delete "HKU\%~1\SOFTWARE\Microsoft\Windows\CurrentVersion\StorageSense" /f + +:: Search +reg add "HKU\%~1\SOFTWARE\Microsoft\Windows\CurrentVersion\Search" /v "SearchboxTaskbarMode" /t REG_DWORD /d 0 /f +reg add "HKU\%~1\SOFTWARE\Microsoft\Windows\CurrentVersion\Search" /v "BingSearchEnabled" /t REG_DWORD /d 0 /f +reg add "HKU\%~1\SOFTWARE\Microsoft\Windows\CurrentVersion\Search" /v "CortanaConsent" /t REG_DWORD /d 0 /f +reg add "HKU\%~1\SOFTWARE\Microsoft\Windows\CurrentVersion\Search" /v "CortanaInAmbientMode" /t REG_DWORD /d 0 /f +reg add "HKU\%~1\SOFTWARE\Microsoft\Windows\CurrentVersion\Search" /v "HistoryViewEnabled" /t REG_DWORD 0 /f +reg add "HKU\%~1\SOFTWARE\Microsoft\Windows\CurrentVersion\Search" /v "HasAboveLockTips" /t REG_DWORD /d 0 /f +reg add "HKU\%~1\SOFTWARE\Microsoft\Windows\CurrentVersion\Search" /v "AllowSearchToUseLocation" /t REG_DWORD /d 0 /f +reg add "HKU\%~1\SOFTWARE\Microsoft\Windows\CurrentVersion\SearchSettings" /v "SafeSearchMode" /t REG_DWORD /d 0 /f +reg add "HKU\%~1\SOFTWARE\Policies\Microsoft\Windows\Explorer" /v "DisableSearchBoxSuggestions" /t REG_DWORD /d 1 /f +reg add "HKU\%~1\SOFTWARE\Microsoft\InputPersonalization" /v "RestrictImplicitTextCollection" /t REG_DWORD /d 1 /f +reg add "HKU\%~1\SOFTWARE\Microsoft\InputPersonalization" /v "RestrictImplicitInkCollection" /t REG_DWORD /d 1 /f +reg add "HKU\%~1\SOFTWARE\Microsoft\InputPersonalization\TrainedDataStore" /v "AcceptedPrivacyPolicy" /t REG_DWORD /d 0 /f +reg add "HKU\%~1\SOFTWARE\Microsoft\InputPersonalization\TrainedDataStore" /v "HarvestContacts" /t REG_DWORD /d 0 /f +reg add "HKU\%~1\SOFTWARE\Microsoft\Personalization\Settings" /v "AcceptedPrivacyPolicy" /t REG_DWORD /d 0 /f +reg add "HKU\%~1\SOFTWARE\Policies\Microsoft\Windows\Explorer" /v "DisableSearchBoxSuggestions" /t REG_DWORD /d 1 /f + +:: Setup Windows Explorer +:: Removes the shake to minimze all other windows gesture +::reg add "HKU\%~1\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Advanced" /v "DisallowShaking" /t REG_DWORD /d 1 /f +reg add "HKU\%~1\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Advanced" /v "NavPaneShowAllFolders" /t REG_DWORD /d 0 /f +reg add "HKU\%~1\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Advanced" /v LaunchTo /t REG_DWORD /d 1 /f +reg add "HKU\%~1\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Advanced" /v HideFileExt /t REG_DWORD /d 0 /f +reg add "HKU\%~1\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Advanced" /v Hidden /t REG_DWORD /d 1 /f +:: TBD +reg add "HKU\%~1\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Advanced" /V TaskbarGlomLevel /T REG_DWORD /D 2 /F + +:: Taskbar +reg add "HKU\%~1\SOFTWARE\Policies\Microsoft\Windows\Explorer" /v DisableNotificationCenter /t REG_DWORD /d 1 /f +reg add "HKU\%~1\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Advanced" /v ShowCortanaButton /t REG_DWORD /d 0 /f +reg add "HKU\%~1\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Advanced" /v ShowTaskViewButton /t REG_DWORD /d 0 /f +reg add "HKU\%~1\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer" /v EnableAutoTray /t REG_DWORD /d 0 /f +reg add "HKU\%~1\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\Explorer" /v HideSCAMeetNow /t REG_DWORD /d 1 /f + +:: Disable Security and Maintenance notifications +reg add "HKU\%~1\SOFTWARE\Microsoft\Windows\CurrentVersion\Notifications\Settings\Windows.SystemToast.SecurityAndMaintenance" /v "Enabled" /t REG_DWORD /d 0 /f +:: Disable configue backup notifications +reg add "HKU\%~1\SOFTWARE\Microsoft\Windows\CurrentVersion\Notifications\Settings\Windows.SystemToast.BackupReminder" /v "Enabled" /t REG_DWORD /d 0 /f + +@echo OFF +@exit /b 0 \ No newline at end of file diff --git a/Executables/SEARCH.bat b/Executables/SEARCH.bat deleted file mode 100644 index 6456b35..0000000 --- a/Executables/SEARCH.bat +++ /dev/null @@ -1 +0,0 @@ -reg add "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows Search\Gather\Windows\SystemIndex" /v "EnableFindMyFiles" /t REG_DWORD /d 1 /f \ No newline at end of file diff --git a/Executables/SECUI.bat b/Executables/SECUI.bat deleted file mode 100644 index 6ad9a19..0000000 --- a/Executables/SECUI.bat +++ /dev/null @@ -1 +0,0 @@ -"C:\Program Files\Python39\python.exe" remove_SecHealthUI_stub.py \ No newline at end of file diff --git a/Executables/SERV.bat b/Executables/SERV.bat index c9a9b0f..cb01e10 100644 --- a/Executables/SERV.bat +++ b/Executables/SERV.bat @@ -1,10 +1,15 @@ cd Executables\ProcessHacker\x64 + +ProcessHacker.exe -elevate -s -c -ctype service -cobject AppReadiness -caction stop +timeout /t 8 > NUL +ProcessHacker.exe -elevate -s -c -ctype service -cobject AppReadiness -caction delete +timeout /t 2 > NUL ProcessHacker.exe -elevate -s -c -ctype service -cobject wuauserv -caction stop -timeout /t 8 /nobreak +timeout /t 8 > NUL ProcessHacker.exe -elevate -s -c -ctype service -cobject wuauserv -caction delete -timeout /t 8 /nobreak +timeout /t 8 > NUL ProcessHacker.exe -elevate -s -c -ctype service -cobject wuauserv -caction stop -timeout /t 8 /nobreak +timeout /t 8 > NUL ProcessHacker.exe -elevate -s -c -ctype service -cobject DoSvc -caction stop ProcessHacker.exe -elevate -s -c -ctype service -cobject iphlpsvc -caction stop ProcessHacker.exe -elevate -s -c -ctype service -cobject Winmgmt -caction stop diff --git a/Executables/SFCDEPLOY.bat b/Executables/SFCDEPLOY.bat new file mode 100644 index 0000000..239f7de --- /dev/null +++ b/Executables/SFCDEPLOY.bat @@ -0,0 +1,69 @@ +@echo OFF + +:sfcCmdChecks + +if not exist "%~dp0\sfc.cmd" ( + echo. & echo No supplied sfc.cmd detected + exit /b 2 +) + +if exist "%SYSTEMROOT%\System32\sfc.cmd" ( + echo takeown /f "%SYSTEMROOT%\System32\sfc.cmd" /a + takeown /f "%SYSTEMROOT%\System32\sfc.cmd" /a + echo icacls "%SYSTEMROOT%\System32\sfc.cmd" /grant Administrators:F + icacls "%SYSTEMROOT%\System32\sfc.cmd" /grant Administrators:F + echo del /q /f "%SYSTEMROOT%\System32\sfc.cmd" + del /q /f "%SYSTEMROOT%\System32\sfc.cmd" + goto move +) else ( + goto move +) + +:move + +@echo on + +move /y "%~dp0\sfc.cmd" "%SYSTEMROOT%\System32\" 1> NUL + +:sfc1ExeCheck + +@echo OFF +if exist "%SYSTEMROOT%\System32\sfc1.exe" ( + echo sfc1.exe already exists, assigning permissions... & echo. + + echo PowerShell -NoP -C "Get-Acl '%SYSTEMROOT%\System32\diskmgmt.msc' | Set-Acl '%SYSTEMROOT%\System32\sfc1.exe'" ^> NUL 2^>^&1 + PowerShell -NoP -C "Get-Acl '%SYSTEMROOT%\System32\diskmgmt.msc' | Set-Acl '%SYSTEMROOT%\System32\sfc1.exe'" > NUL 2>&1 + echo PowerShell -NoP -C "Get-Acl '%SYSTEMROOT%\System32\diskmgmt.msc' | Set-Acl '%SYSTEMROOT%\System32\sfc.cmd'" ^> NUL 2^>^&1 + PowerShell -NoP -C "Get-Acl '%SYSTEMROOT%\System32\diskmgmt.msc' | Set-Acl '%SYSTEMROOT%\System32\sfc.cmd'" > NUL 2>&1 + @echo OFF + goto complete +) else ( + goto managePermissions +) + +:managePermissions + +echo Assigning permissions and renaming sfc.exe... & echo. + +@echo ON +:: Copies the ACL from diskmgmt.msc to sfc.cmd. +PowerShell -NoP -C "Get-Acl '%SYSTEMROOT%\System32\diskmgmt.msc' | Set-Acl '%SYSTEMROOT%\System32\sfc.cmd'" > NUL 2>&1 + +:: Gives the Administrator group full access for renaming sfc.exe to sfc1.exe. +takeown /f "%SYSTEMROOT%\System32\sfc.exe" /a > NUL 2>&1 +icacls "%SYSTEMROOT%\System32\sfc.exe" /grant Administrators:F > NUL 2>&1 + +goto renameSFCExe + +:renameSFCExe + +rename "%SYSTEMROOT%\System32\sfc.exe" "sfc1.exe" > NUL 2>&1 + +:: Copies the ACL from diskmgmt.msc to sfc1.exe. Essentially resetting its ACL. +PowerShell -NoP -C "Get-Acl '%SYSTEMROOT%\System32\diskmgmt.msc' | Set-Acl '%SYSTEMROOT%\System32\sfc1.exe'" > NUL 2>&1 +goto complete + +:complete + +@echo Successfully deployed sfc modification. +@exit /b 0 diff --git a/Executables/SHRT.bat b/Executables/SHRT.bat index 1c5f4f2..103d834 100644 --- a/Executables/SHRT.bat +++ b/Executables/SHRT.bat @@ -1,28 +1,20 @@ cd Executables -mkdir "C:\Users\%username%\AppData\Roaming\OpenShell" -mkdir "C:\Users\%username%\AppData\Roaming\OpenShell\Pinned" +@echo OFF +for /f "usebackq delims=" %%A in (`dir /B /A:d "%SYSTEMDRIVE%\Users" ^| findstr /V /I /X /c:"Public" /c:"Default User" /c:"Default" /c:"All Users"`) do ( + echo mkdir "%SYSTEMDRIVE%\Users\%%A\AppData\Roaming\OpenShell" + mkdir "%SYSTEMDRIVE%\Users\%%A\AppData\Roaming\OpenShell" + echo mkdir "%SYSTEMDRIVE%\Users\%%A\AppData\Roaming\OpenShell\Pinned" + mkdir "%SYSTEMDRIVE%\Users\%%A\AppData\Roaming\OpenShell\Pinned" -copy "Firefox.lnk" "C:\Users\%username%\AppData\Roaming\OpenShell\Pinned\" -copy "Mozilla Thunderbird.lnk" "C:\Users\%username%\AppData\Roaming\OpenShell\Pinned\" + echo PowerShell -NoP -C "$ws = New-Object -ComObject WScript.Shell; $s = $ws.CreateShortcut('%SYSTEMDRIVE%\Users\%%A\AppData\Roaming\OpenShell\Pinned\Windows Terminal.lnk'); $S.TargetPath = '%PROGRAMFILES%\Scoop\GlobalScoopApps\apps\windows-terminal\current\WindowsTerminal.exe'; $S.Save(); $s = $ws.CreateShortcut('%SYSTEMDRIVE%\Users\%%A\AppData\Roaming\OpenShell\Pinned\Mozilla Thunderbird.lnk'); $S.TargetPath = '%HOMEDRIVE%\Program Files\Mozilla Thunderbird\thunderbird.exe'; $S.WorkingDirectory = 'C:\Program Files\Mozilla Thunderbird'; $S.Save(); $s = $ws.CreateShortcut('%SYSTEMDRIVE%\Users\%%A\AppData\Roaming\OpenShell\Pinned\Firefox.lnk'); $S.TargetPath = '%HOMEDRIVE%\Program Files\Mozilla Firefox\firefox.exe'; $S.WorkingDirectory = 'C:\Program Files\Mozilla Firefox'; $S.Save()" + PowerShell -NoP -C "$ws = New-Object -ComObject WScript.Shell; $s = $ws.CreateShortcut('%SYSTEMDRIVE%\Users\%%A\AppData\Roaming\OpenShell\Pinned\Windows Terminal.lnk'); $S.TargetPath = '%PROGRAMFILES%\Scoop\GlobalScoopApps\apps\windows-terminal\current\WindowsTerminal.exe'; $S.Save(); $s = $ws.CreateShortcut('%SYSTEMDRIVE%\Users\%%A\AppData\Roaming\OpenShell\Pinned\Mozilla Thunderbird.lnk'); $S.TargetPath = '%HOMEDRIVE%\Program Files\Mozilla Thunderbird\thunderbird.exe'; $S.WorkingDirectory = 'C:\Program Files\Mozilla Thunderbird'; $S.Save(); $s = $ws.CreateShortcut('%SYSTEMDRIVE%\Users\%%A\AppData\Roaming\OpenShell\Pinned\Firefox.lnk'); $S.TargetPath = '%HOMEDRIVE%\Program Files\Mozilla Firefox\firefox.exe'; $S.WorkingDirectory = 'C:\Program Files\Mozilla Firefox'; $S.Save()" -SETLOCAL ENABLEDELAYEDEXPANSION -SET LinkName=Windows Terminal -SET Esc_LinkDest=%%HOMEDRIVE%%\Users\%username%\AppData\Roaming\OpenShell\Pinned\!LinkName!.lnk -SET Esc_LinkTarget=%%HOMEDRIVE%%\Users\%username%\scoop\apps\windows-terminal\current\WindowsTerminal.exe -SET cSctVBS=CreateShortcut.vbs -( - echo Set oWS = WScript.CreateObject^("WScript.Shell"^) - echo sLinkFile = oWS.ExpandEnvironmentStrings^("!Esc_LinkDest!"^) - echo Set oLink = oWS.CreateShortcut^(sLinkFile^) - echo oLink.TargetPath = oWS.ExpandEnvironmentStrings^("!Esc_LinkTarget!"^) - echo oLink.Save -)1>!cSctVBS! -cscript //nologo .\!cSctVBS! -DEL !cSctVBS! /f /q + echo del /q /f "%SYSTEMDRIVE%\Users\%%A\Desktop\Microsoft Edge.lnk" + del /q /f "%SYSTEMDRIVE%\Users\%%A\Desktop\Microsoft Edge.lnk" + echo del /q /f "%SYSTEMDRIVE%\Users\%%A\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Accessories\Internet Explorer.lnk" + del /q /f "%SYSTEMDRIVE%\Users\%%A\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Accessories\Internet Explorer.lnk" +) -copy "Windows Terminal.lnk" "C:\Users\%username%\AppData\Roaming\OpenShell\Pinned\" - -del /f /q "C:\Users\%username%\Desktop\Microsoft Edge.lnk" -del /f /q "C:\Users\%username%\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Accessories\Internet Explorer.lnk" -del /f /q "C:\ProgramData\Microsoft\Windows\Start Menu\Programs\Accessories\Windows Media Player.lnk" \ No newline at end of file +@echo ON +del /q /f "%ALLUSERSPROFILE%\Microsoft\Windows\Start Menu\Programs\Accessories\Windows Media Player.lnk" \ No newline at end of file diff --git a/Executables/SLNT.bat b/Executables/SLNT.bat index 2dcd969..4408faf 100644 --- a/Executables/SLNT.bat +++ b/Executables/SLNT.bat @@ -1,31 +1,67 @@ cd Executables + +@echo OFF if exist OldCalculatorforWindows10Cfg.exe ( - del OldCalculatorforWindows10Cfg.exe /f /q + echo del /q /f OldCalculatorforWindows10Cfg.exe + del /q /f OldCalculatorforWindows10Cfg.exe + echo del /q /f readme.txt + del /q /f readme.txt + echo rmdir /q /s "silent_installers" + rmdir /q /s "silent_installers" + echo rmdir /q /s "OldNewExplorer" + rmdir /q /s "OldNewExplorer" + echo rmdir /q /s "%ALLUSERSPROFILE%\OldNewExplorer + rmdir /q /s "%ALLUSERSPROFILE%\OldNewExplorer ) +@echo ON + +7za.exe e silent_installers.7z -pwizard + +mkdir "%ALLUSERSPROFILE%\OldNewExplorer" +move /y OldNewExplorer32.dll "%ALLUSERSPROFILE%\OldNewExplorer" +move /y OldNewExplorer64.dll "%ALLUSERSPROFILE%\OldNewExplorer" +move /y OldNewExplorerCfg.exe "%ALLUSERSPROFILE%\OldNewExplorer" +icacls "%ALLUSERSPROFILE%\OldNewExplorer" /reset /t + +NSudoLC -U:S -P:E -M:S -Priority:RealTime -UseCurrentConsole -Wait cmd /c "del /q /f """"%WINDIR%\System32\calc.exe""""" + +PowerShell -NoP -C "Invoke-WMIMethod -Class Win32_Process -Name Create -ArgumentList '%~dp0\OldCalculatorforWindows10Cfg.exe'" + +NSudoLC -U:E -P:E -M:S -Priority:RealTime -UseCurrentConsole -Wait PowerShell -NoP -C "Start-Process '%ALLUSERSPROFILE%\OldNewExplorer\OldNewExplorerCfg.exe' -WorkingDirectory '%ALLUSERSPROFILE%\OldNewExplorer'; Sleep 2; $wshell = New-Object -ComObject wscript.shell; $wshell.AppActivate('OldNewExplorer configuration'); Sleep 1; $wshell.SendKeys('~'); Sleep 8; taskkill /im OldNewExplorerCfg.exe" -if exist OldNewExplorerCfg.exe ( - del OldNewExplorerCfg.exe /f /q +@echo OFF +if exist "%ALLUSERSPROFILE%\Microsoft\Windows\Start Menu\Programs\Accessories\Old Calculator.lnk" ( + echo rename "%ALLUSERSPROFILE%\Microsoft\Windows\Start Menu\Programs\Accessories\Old Calculator.lnk" "Calculator.lnk" + rename "%ALLUSERSPROFILE%\Microsoft\Windows\Start Menu\Programs\Accessories\Old Calculator.lnk" "Calculator.lnk" +) else ( + echo timeout /t 10 ^> NUL + timeout /t 10 > NUL + if exist "%ALLUSERSPROFILE%\Microsoft\Windows\Start Menu\Programs\Accessories\Old Calculator.lnk" echo rename "%ALLUSERSPROFILE%\Microsoft\Windows\Start Menu\Programs\Accessories\Old Calculator.lnk" "Calculator.lnk" & rename "%ALLUSERSPROFILE%\Microsoft\Windows\Start Menu\Programs\Accessories\Old Calculator.lnk" "Calculator.lnk" ) -.\7za.exe e .\silent_installers.7z -pwizard - -::Install Old Calculator For Windows 10 -start OldCalculatorforWindows10Cfg.exe -timeout /t 15 - -::Install OldNewExplorer -start OldNewExplorerCfg.exe -@powershell -NoProfile -ExecutionPolicy Bypass -File Enter.ps1 -timeout /t 15 -taskkill /im OldNewExplorerCfg.exe - -::Configure OldNewExplorer -reg add HKEY_CURRENT_USER\SOFTWARE\Tihiy\OldNewExplorer /v Details /t REG_DWORD /d 1 /f -reg add HKEY_CURRENT_USER\SOFTWARE\Tihiy\OldNewExplorer /v DriveGrouping /t REG_DWORD /d 1 /f -reg add HKEY_CURRENT_USER\SOFTWARE\Tihiy\OldNewExplorer /v HideFolders /t REG_DWORD /d 1 /f -reg add HKEY_CURRENT_USER\SOFTWARE\Tihiy\OldNewExplorer /v IEButtons /t REG_DWORD /d 0 /f -reg add HKEY_CURRENT_USER\SOFTWARE\Tihiy\OldNewExplorer /v NavBarGlass /t REG_DWORD /d 0 /f -reg add HKEY_CURRENT_USER\SOFTWARE\Tihiy\OldNewExplorer /v NoCaption /t REG_DWORD /d 1 /f -reg add HKEY_CURRENT_USER\SOFTWARE\Tihiy\OldNewExplorer /v NoIcon /t REG_DWORD /d 1 /f -reg add HKEY_CURRENT_USER\SOFTWARE\Tihiy\OldNewExplorer /v NoRibbon /t REG_DWORD /d 1 /f -reg add HKEY_CURRENT_USER\SOFTWARE\Tihiy\OldNewExplorer /v NoUpButton /t REG_DWORD /d 0 /f \ No newline at end of file +for /f "usebackq tokens=2 delims=\" %%A in (`reg query "HKEY_USERS" ^| findstr /c:"S-" /c:"AME_UserHive_"`) do ( + REM If the "Volatile Environment" key exists, that means it is a proper user. Built in accounts/SIDs don't have this key. + reg query "HKU\%%A" | findstr /c:"Volatile Environment" /c:"AME_UserHive_" > NUL 2>&1 + if not errorlevel 1 call :SLNTCALL "%%A" +) + +exit /b 0 + +:SLNTCALL + +@echo ON +::Configure OldNewExplorer" +reg add "HKU\%~1\SOFTWARE\Tihiy" /f +reg add "HKU\%~1\SOFTWARE\Tihiy\OldNewExplorer" /f +reg add "HKU\%~1\SOFTWARE\Tihiy\OldNewExplorer" /v "Details" /t REG_DWORD /d 1 /f +reg add "HKU\%~1\SOFTWARE\Tihiy\OldNewExplorer" /v "DriveGrouping" /t REG_DWORD /d 1 /f +reg add "HKU\%~1\SOFTWARE\Tihiy\OldNewExplorer" /v "HideFolders" /t REG_DWORD /d 1 /f +reg add "HKU\%~1\SOFTWARE\Tihiy\OldNewExplorer" /v "IEButtons" /t REG_DWORD /d 0 /f +reg add "HKU\%~1\SOFTWARE\Tihiy\OldNewExplorer" /v "NavBarGlass" /t REG_DWORD /d 0 /f +reg add "HKU\%~1\SOFTWARE\Tihiy\OldNewExplorer" /v "NoCaption" /t REG_DWORD /d 1 /f +reg add "HKU\%~1\SOFTWARE\Tihiy\OldNewExplorer" /v "NoIcon" /t REG_DWORD /d 1 /f +reg add "HKU\%~1\SOFTWARE\Tihiy\OldNewExplorer" /v "NoRibbon" /t REG_DWORD /d 1 /f +reg add "HKU\%~1\SOFTWARE\Tihiy\OldNewExplorer" /v "NoUpButton" /t REG_DWORD /d 0 /f + +@echo OFF +exit /b 0 \ No newline at end of file diff --git a/Executables/SetDefaultBrowser.exe b/Executables/SetDefaultBrowser.exe deleted file mode 100644 index 77087388b385cb7893933f25a62c7772d319f8a5..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 65024 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 NUL 2>&1 + if not errorlevel 1 ( + for /f "usebackq tokens=3* delims= " %%B in (`reg query "HKU\%%A\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders" /v "Local AppData" 2^>^&1 ^| findstr /R /X /C:".*Local AppData[ ]*REG_SZ[ ].*"`) do ( + echo copy /y "Layout.xml" "%%C\Microsoft\Windows\Shell\LayoutModification.xml" + copy /y "Layout.xml" "%%C\Microsoft\Windows\Shell\LayoutModification.xml" + ) + echo reg add "HKU\%%A\SOFTWARE\Policies\Microsoft\Windows\Explorer" /f + reg add "HKU\%%A\SOFTWARE\Policies\Microsoft\Windows\Explorer" /f + echo reg add "HKU\%%A\SOFTWARE\Policies\Microsoft\Windows\Explorer" /v "LockedStartLayout" /t REG_DWORD /d 0 /f + reg add "HKU\%%A\SOFTWARE\Policies\Microsoft\Windows\Explorer" /v "LockedStartLayout" /t REG_DWORD /d 0 /f + echo reg add "HKU\%%A\SOFTWARE\Policies\Microsoft\Windows\Explorer" /v "StartLayoutFile" /t REG_SZ /d "C:\Windows\StartMenuLayout.xml" /f + reg add "HKU\%%A\SOFTWARE\Policies\Microsoft\Windows\Explorer" /v "StartLayoutFile" /t REG_SZ /d "C:\Windows\StartMenuLayout.xml" /f + for /f "usebackq delims=" %%C in (`reg query "HKU\%%A\SOFTWARE\Microsoft\Windows\CurrentVersion\CloudStore\Store\Cache\DefaultAccount" ^| findstr /c:"start.tilegrid"`) do ( + echo reg delete "%%C" /f + reg delete "%%C" /f + ) + ) +) +@echo ON + +PowerShell -NoP -C "Import-StartLayout -LayoutPath '%SYSTEMDRIVE%\Windows\StartMenuLayout.xml' -MountPath $env:SystemDrive\\" + +reg add "HKLM\SOFTWARE\Policies\Microsoft\Windows\Explorer" /f +reg add "HKLM\SOFTWARE\Policies\Microsoft\Windows\Explorer" /v "StartLayoutFile" /t REG_SZ /d "%SYSTEMDRIVE%\Windows\StartMenuLayout.xml" /f \ No newline at end of file diff --git a/Executables/WALLPAPER.bat b/Executables/WALLPAPER.bat index 2181128..5ceae2e 100644 --- a/Executables/WALLPAPER.bat +++ b/Executables/WALLPAPER.bat @@ -1,62 +1,111 @@ -@ECHO OFF +cd Executables -CD Executables +@echo OFF +set "RunEC=10" +for /f "usebackq tokens=2 delims=\" %%A in (`reg query "HKEY_USERS" ^| findstr /c:"S-" /c:"AME_UserHive_"`) do ( + for /f "usebackq tokens=2* delims= " %%B in (`reg query "HKU\%%A\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders" /v "AppData" 2^>^&1 ^| findstr /R /X /C:".*AppData[ ]*REG_SZ[ ].*"`) do ( + call :WALLRUN "%%A" "%%C" + IF errorlevel 5 set "RunEC=5" + IF errorlevel 4 set "RunEC=4" + IF errorlevel 3 set "RunEC=3" + IF errorlevel 2 set "RunEC=2" + IF errorlevel 1 set "RunEC=1" + IF errorlevel 0 set "RunEC=0" + ) +) +for /f "usebackq tokens=2 delims=\" %%A in (`reg query "HKEY_USERS" ^| findstr /c:"AME_UserHive_"`) do echo reg unload "%%A" & reg unload "%%A" +exit /b %RunEC% -IF NOT EXIST "%WINDIR%\Web\Wallpaper\Windows" SET "wallFail=true" & GOTO lockScreen -IF EXIST "%APPDATA%\Microsoft\Windows\Themes\Transcoded_000" SET "wallFail=true" & GOTO lockScreen -IF NOT EXIST "%APPDATA%\Microsoft\Windows\Themes\TranscodedWallpaper" SET "wallFail=true" & GOTO lockScreen +:WALLRUN -POWERSHELL -NoP -C "Add-Type -AssemblyName System.Drawing; $img = New-Object System.Drawing.Bitmap '%APPDATA%\Microsoft\Windows\Themes\TranscodedWallpaper'; if ($img.Flags -ne 77840) {EXIT 1}; if ($img.HorizontalResolution -ne 96) {EXIT 1}; if ($img.VerticalResolution -ne 96) {EXIT 1}; if ($img.PropertyIdList -notcontains 40961) {EXIT 1}; if ($img.PropertyIdList -notcontains 20624) {EXIT 1}; if ($img.PropertyIdList -notcontains 20625) {EXIT 1}" - IF %ERRORLEVEL% NEQ 0 SET "wallChanged=true" & GOTO lockScreen +if not exist "%WINDIR%\Web\Wallpaper\Windows" echo mkdir "%WINDIR%\Web\Wallpaper\Windows" & mkdir "%WINDIR%\Web\Wallpaper\Windows" +if exist "%~2\Microsoft\Windows\Themes\Transcoded_000" set "wallChanged=true" & goto lockScreen +if not exist "%~2\Microsoft\Windows\Themes\TranscodedWallpaper" set "wallFail=true" & goto lockScreen -TAKEOWN /F "%WINDIR%\Web\4K\Wallpaper\Windows\*.jpg" > NUL -ICACLS "%WINDIR%\Web\4K\Wallpaper\Windows\*.jpg" /reset > NUL -COPY img0_*.jpg "%WINDIR%\Web\4K\Wallpaper\Windows\" /Y > NUL +echo PowerShell -NoP -C "Add-Type -AssemblyName System.Drawing; $img = New-Object System.Drawing.Bitmap '%~2\Microsoft\Windows\Themes\TranscodedWallpaper'; if ($img.Flags -ne 77840) {exit 1}; if ($img.HorizontalResolution -ne 96) {exit 1}; if ($img.VerticalResolution -ne 96) {exit 1}; if ($img.PropertyIdList -notcontains 40961) {exit 1}; if ($img.PropertyIdList -notcontains 20624) {exit 1}; if ($img.PropertyIdList -notcontains 20625) {exit 1}" +PowerShell -NoP -C "Add-Type -AssemblyName System.Drawing; $img = New-Object System.Drawing.Bitmap '%~2\Microsoft\Windows\Themes\TranscodedWallpaper'; if ($img.Flags -ne 77840) {exit 1}; if ($img.HorizontalResolution -ne 96) {exit 1}; if ($img.VerticalResolution -ne 96) {exit 1}; if ($img.PropertyIdList -notcontains 40961) {exit 1}; if ($img.PropertyIdList -notcontains 20624) {exit 1}; if ($img.PropertyIdList -notcontains 20625) {exit 1}" + if %errorlevel% NEQ 0 set "wallChanged=true" & goto lockScreen -TAKEOWN /F "%WINDIR%\Web\Wallpaper\Windows\img0.jpg" > NUL 2>&1 -ICACLS "%WINDIR%\Web\Wallpaper\Windows\img0.jpg" /reset > NUL -COPY "img0.jpg" "%WINDIR%\Web\Wallpaper\Windows\img0.jpg" /Y > NUL 2>&1 +if exist "img0_*" ( + echo takeown /f "%WINDIR%\Web\4K\Wallpaper\Windows\*.jpg" + takeown /f "%WINDIR%\Web\4K\Wallpaper\Windows\*.jpg" + echo icacls "%WINDIR%\Web\4K\Wallpaper\Windows\*.jpg" /reset + icacls "%WINDIR%\Web\4K\Wallpaper\Windows\*.jpg" /reset + echo move /y img0_*.jpg "%WINDIR%\Web\4K\Wallpaper\Windows" + move /y img0_*.jpg "%WINDIR%\Web\4K\Wallpaper\Windows" +) -COPY "ame_wallpaper_1440.bmp" "%WINDIR%\Web\Wallpaper\Windows\" /Y > NUL 2>&1 - IF NOT EXIST "%WINDIR%\Web\Wallpaper\Windows\ame_wallpaper_1440.bmp" SET "wallFail=true" & GOTO lockScreen +if exist "img0.jpg" ( + echo takeown /f "%WINDIR%\Web\Wallpaper\Windows\img0.jpg" + takeown /f "%WINDIR%\Web\Wallpaper\Windows\img0.jpg" + echo icacls "%WINDIR%\Web\Wallpaper\Windows\img0.jpg" /reset + icacls "%WINDIR%\Web\Wallpaper\Windows\img0.jpg" /reset + echo move /y "img0.jpg" "%WINDIR%\Web\Wallpaper\Windows\img0.jpg" + move /y "img0.jpg" "%WINDIR%\Web\Wallpaper\Windows\img0.jpg" +) -REG ADD "HKCU\Control Panel\Desktop" /v WallPaper /t REG_SZ /d "%WINDIR%\Web\Wallpaper\Windows\ame_wallpaper_1440.bmp" /f > NUL - IF %ERRORLEVEL% NEQ 0 SET "wallFail=true" & GOTO lockScreen +if exist "ame_wallpaper_1440.bmp" ( + echo move /y "ame_wallpaper_1440.bmp" "%WINDIR%\Web\Wallpaper\Windows" + move /y "ame_wallpaper_1440.bmp" "%WINDIR%\Web\Wallpaper\Windows" + echo icacls "%WINDIR%\Web\Wallpaper\Windows\ame_wallpaper_1440.bmp" /reset + icacls "%WINDIR%\Web\Wallpaper\Windows\ame_wallpaper_1440.bmp" /reset +) +if not exist "%WINDIR%\Web\Wallpaper\Windows\ame_wallpaper_1440.bmp" set "wallFail=true" & goto lockScreen -:lockScreen +echo reg add "HKEY_USERS\%~1\Control Panel\Desktop" /v WallPaper /t REG_SZ /d "%WINDIR%\Web\Wallpaper\Windows\ame_wallpaper_1440.bmp" /f +reg add "HKEY_USERS\%~1\Control Panel\Desktop" /v WallPaper /t REG_SZ /d "%WINDIR%\Web\Wallpaper\Windows\ame_wallpaper_1440.bmp" /f + if %errorlevel% NEQ 0 set "wallFail=true" & goto lockScreen -FOR /F "tokens=2* delims=\" %%B IN ('WMIC computersystem get username') DO SET "currentUsername=%%B" - SET "currentUsername=%currentUsername:~0,-3%" - REM Detection for if user changed their username without restarting - ECHO "%currentUsername%" | FINDSTR /I /X /c:""""~0,-3""" ">NUL 2>&1 && SET "currentUsername=%username%" +:lockScreen -FOR /F "usebackq tokens=1 delims= " %%A IN (`WMIC useraccount where "name="%currentUsername%"" get sid 2^>^&1 ^| FINDSTR "S-"`) DO SET "userSID=%%A" +reg query "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Authentication\LogonUI\Creative\%~1" /v "RotatingLockScreen*" > NUL 2>&1 + if %errorlevel% NEQ 0 ( + echo reg add "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Authentication\LogonUI\Creative\%~1" /v "RotatingLockScreenEnabled" /t REG_DWORD /d 0 /f + reg add "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Authentication\LogonUI\Creative\%~1" /v "RotatingLockScreenEnabled" /t REG_DWORD /d 0 /f + echo reg add "HKU\%~1\SOFTWARE\Microsoft\Windows\CurrentVersion\ContentDeliveryManager" /v "RotatingLockScreenEnabled" /t REG_DWORD /d 0 /f + reg add "HKU\%~1\SOFTWARE\Microsoft\Windows\CurrentVersion\ContentDeliveryManager" /v "RotatingLockScreenEnabled" /t REG_DWORD /d 0 /f -REG QUERY "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Authentication\LogonUI\Creative\%userSID%" /v "RotatingLockScreen*" > NUL 2>&1 - IF %ERRORLEVEL% NEQ 0 ( - REG ADD "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Authentication\LogonUI\Creative\%userSID%" /v "RotatingLockScreenEnabled" /t REG_DWORD /d 0 /f > NUL - REG ADD "HKU\%userSID%\SOFTWARE\Microsoft\Windows\CurrentVersion\ContentDeliveryManager" /v "RotatingLockScreenEnabled" /t REG_DWORD /d 0 /f > NUL + if exist "img100.jpg" ( + echo takeown /f "%WINDIR%\Web\Screen\img100.jpg" + takeown /f "%WINDIR%\Web\Screen\img100.jpg" + echo icacls "%WINDIR%\Web\Screen\img100.jpg" /reset + icacls "%WINDIR%\Web\Screen\img100.jpg" /reset + echo copy "img100.jpg" "%WINDIR%\Web\Screen\img100.jpg" /Y + copy "img100.jpg" "%WINDIR%\Web\Screen\img100.jpg" /Y + ) - TAKEOWN /F "%WINDIR%\Web\Screen\img100.jpg">NUL 2>&1 & TAKEOWN /F "%WINDIR%\Web\Screen\img103.png">NUL 2>&1 & TAKEOWN /F "%WINDIR%\Web\Wallpaper\Windows\img0.jpg" > NUL 2>&1 - - ICACLS "%WINDIR%\Web\Screen\img100.jpg" /reset>NUL & ICACLS "%WINDIR%\Web\Screen\img103.png" /reset>NUL & ICACLS "%WINDIR%\Web\Wallpaper\Windows\img0.jpg" /reset > NUL + if exist "img103.png" ( + echo takeown /f "%WINDIR%\Web\Screen\img103.png" + takeown /f "%WINDIR%\Web\Screen\img103.png" + echo icacls "%WINDIR%\Web\Screen\img103.png" /reset + icacls "%WINDIR%\Web\Screen\img103.png" /reset + echo copy "img103.png" "%WINDIR%\Web\Screen\img103.png" /Y + copy "img103.png" "%WINDIR%\Web\Screen\img103.png" /Y + ) - COPY "img100.jpg" "%WINDIR%\Web\Screen\img100.jpg" /Y > NUL - COPY "img103.png" "%WINDIR%\Web\Screen\img103.png" /Y > NUL - COPY "img0.jpg" "%WINDIR%\Web\Wallpaper\Windows\img0.jpg" /Y > NUL 2>&1 + if exist "img0.jpg" ( + echo takeown /f "%WINDIR%\Web\Wallpaper\Windows\img0.jpg" + takeown /f "%WINDIR%\Web\Wallpaper\Windows\img0.jpg" + echo icacls "%WINDIR%\Web\Wallpaper\Windows\img0.jpg" /reset + icacls "%WINDIR%\Web\Wallpaper\Windows\img0.jpg" /reset + echo copy "img0.jpg" "%WINDIR%\Web\Wallpaper\Windows\img0.jpg" /Y + copy "img0.jpg" "%WINDIR%\Web\Wallpaper\Windows\img0.jpg" /Y + ) REM Clear cache - TAKEOWN /R /D Y /F "%PROGRAMDATA%\Microsoft\Windows\SystemData" > NUL - ICACLS "%PROGRAMDATA%\Microsoft\Windows\SystemData" /reset /t > NUL - FOR /D %%A IN ("%PROGRAMDATA%\Microsoft\Windows\SystemData\*") DO ( - FOR /D %%B IN ("%%A\ReadOnly\LockScreen_*") DO RMDIR /S /Q "%%B" + echo takeown /R /D Y /F "%PROGRAMDATA%\Microsoft\Windows\SystemData" + takeown /R /D Y /F "%PROGRAMDATA%\Microsoft\Windows\SystemData" + echo icacls "%PROGRAMDATA%\Microsoft\Windows\SystemData" /reset /t + icacls "%PROGRAMDATA%\Microsoft\Windows\SystemData" /reset /t + for /d %%A in ("%PROGRAMDATA%\Microsoft\Windows\SystemData\*") do ( + for /d %%B in ("%%A\ReadOnly\LockScreen_*") do echo rmdir /q /s "%%B" & rmdir /q /s "%%B" ) - IF "%wallChanged%"=="true" EXIT /B 1 - IF "%wallFail%"=="true" EXIT /B 4 - ) ELSE ( - IF "%wallChanged%"=="true" EXIT /B 3 - IF "%wallFail%"=="true" EXIT /B 5 - EXIT /B 2 + if "%wallChanged%"=="true" exit /b 1 + if "%wallFail%"=="true" exit /b 4 + ) else ( + if "%wallChanged%"=="true" exit /b 3 + if "%wallFail%"=="true" exit /b 5 + exit /b 2 ) -EXIT /B 0 \ No newline at end of file +exit /b 0 \ No newline at end of file diff --git a/Executables/WINTERM.bat b/Executables/WINTERM.bat index 6afb06d..edb301e 100644 --- a/Executables/WINTERM.bat +++ b/Executables/WINTERM.bat @@ -1,2 +1,3 @@ cd Executables -@powershell -NoProfile -ExecutionPolicy Bypass -File scoop.ps1 \ No newline at end of file + +@PowerShell -NoP -ExecutionPolicy Bypass -File scoop.ps1 \ No newline at end of file diff --git a/Executables/assoc.ps1 b/Executables/assoc.ps1 new file mode 100644 index 0000000..9f4d8a7 --- /dev/null +++ b/Executables/assoc.ps1 @@ -0,0 +1,255 @@ +function Get-Hash { + [CmdletBinding()] + param ( + [Parameter( Position = 0, Mandatory = $True )] + [string] + $BaseInfo + ) + + + function local:Get-ShiftRight { + [CmdletBinding()] + param ( + [Parameter( Position = 0, Mandatory = $true)] + [long] $iValue, + + [Parameter( Position = 1, Mandatory = $true)] + [int] $iCount + ) + + if ($iValue -band 0x80000000) { + Write-Output (( $iValue -shr $iCount) -bxor 0xFFFF0000) + } + else { + Write-Output ($iValue -shr $iCount) + } + } + + + function local:Get-Long { + [CmdletBinding()] + param ( + [Parameter( Position = 0, Mandatory = $true)] + [byte[]] $Bytes, + + [Parameter( Position = 1)] + [int] $Index = 0 + ) + + Write-Output ([BitConverter]::ToInt32($Bytes, $Index)) + } + + function local:Convert-Int32 { + param ( + [Parameter( Position = 0, Mandatory = $true)] + $Value + ) + + [byte[]] $bytes = [BitConverter]::GetBytes($Value) + return [BitConverter]::ToInt32( $bytes, 0) + } + + [Byte[]] $bytesBaseInfo = [System.Text.Encoding]::Unicode.GetBytes($baseInfo) + $bytesBaseInfo += 0x00, 0x00 + + $MD5 = New-Object -TypeName System.Security.Cryptography.MD5CryptoServiceProvider + [Byte[]] $bytesMD5 = $MD5.ComputeHash($bytesBaseInfo) + + $lengthBase = ($baseInfo.Length * 2) + 2 + $length = (($lengthBase -band 4) -le 1) + (Get-ShiftRight $lengthBase 2) - 1 + $base64Hash = "" + + if ($length -gt 1) { + + $map = @{PDATA = 0; CACHE = 0; COUNTER = 0 ; INDEX = 0; MD51 = 0; MD52 = 0; OUTHASH1 = 0; OUTHASH2 = 0; + R0 = 0; R1 = @(0, 0); R2 = @(0, 0); R3 = 0; R4 = @(0, 0); R5 = @(0, 0); R6 = @(0, 0); R7 = @(0, 0) + } + + $map.CACHE = 0 + $map.OUTHASH1 = 0 + $map.PDATA = 0 + $map.MD51 = (((Get-Long $bytesMD5) -bor 1) + 0x69FB0000L) + $map.MD52 = ((Get-Long $bytesMD5 4) -bor 1) + 0x13DB0000L + $map.INDEX = Get-ShiftRight ($length - 2) 1 + $map.COUNTER = $map.INDEX + 1 + + while ($map.COUNTER) { + $map.R0 = Convert-Int32 ((Get-Long $bytesBaseInfo $map.PDATA) + [long]$map.OUTHASH1) + $map.R1[0] = Convert-Int32 (Get-Long $bytesBaseInfo ($map.PDATA + 4)) + $map.PDATA = $map.PDATA + 8 + $map.R2[0] = Convert-Int32 (($map.R0 * ([long]$map.MD51)) - (0x10FA9605L * ((Get-ShiftRight $map.R0 16)))) + $map.R2[1] = Convert-Int32 ((0x79F8A395L * ([long]$map.R2[0])) + (0x689B6B9FL * (Get-ShiftRight $map.R2[0] 16))) + $map.R3 = Convert-Int32 ((0xEA970001L * $map.R2[1]) - (0x3C101569L * (Get-ShiftRight $map.R2[1] 16) )) + $map.R4[0] = Convert-Int32 ($map.R3 + $map.R1[0]) + $map.R5[0] = Convert-Int32 ($map.CACHE + $map.R3) + $map.R6[0] = Convert-Int32 (($map.R4[0] * [long]$map.MD52) - (0x3CE8EC25L * (Get-ShiftRight $map.R4[0] 16))) + $map.R6[1] = Convert-Int32 ((0x59C3AF2DL * $map.R6[0]) - (0x2232E0F1L * (Get-ShiftRight $map.R6[0] 16))) + $map.OUTHASH1 = Convert-Int32 ((0x1EC90001L * $map.R6[1]) + (0x35BD1EC9L * (Get-ShiftRight $map.R6[1] 16))) + $map.OUTHASH2 = Convert-Int32 ([long]$map.R5[0] + [long]$map.OUTHASH1) + $map.CACHE = ([long]$map.OUTHASH2) + $map.COUNTER = $map.COUNTER - 1 + } + + [Byte[]] $outHash = @(0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00) + [byte[]] $buffer = [BitConverter]::GetBytes($map.OUTHASH1) + $buffer.CopyTo($outHash, 0) + $buffer = [BitConverter]::GetBytes($map.OUTHASH2) + $buffer.CopyTo($outHash, 4) + + $map = @{PDATA = 0; CACHE = 0; COUNTER = 0 ; INDEX = 0; MD51 = 0; MD52 = 0; OUTHASH1 = 0; OUTHASH2 = 0; + R0 = 0; R1 = @(0, 0); R2 = @(0, 0); R3 = 0; R4 = @(0, 0); R5 = @(0, 0); R6 = @(0, 0); R7 = @(0, 0) + } + + $map.CACHE = 0 + $map.OUTHASH1 = 0 + $map.PDATA = 0 + $map.MD51 = ((Get-Long $bytesMD5) -bor 1) + $map.MD52 = ((Get-Long $bytesMD5 4) -bor 1) + $map.INDEX = Get-ShiftRight ($length - 2) 1 + $map.COUNTER = $map.INDEX + 1 + + while ($map.COUNTER) { + $map.R0 = Convert-Int32 ((Get-Long $bytesBaseInfo $map.PDATA) + ([long]$map.OUTHASH1)) + $map.PDATA = $map.PDATA + 8 + $map.R1[0] = Convert-Int32 ($map.R0 * [long]$map.MD51) + $map.R1[1] = Convert-Int32 ((0xB1110000L * $map.R1[0]) - (0x30674EEFL * (Get-ShiftRight $map.R1[0] 16))) + $map.R2[0] = Convert-Int32 ((0x5B9F0000L * $map.R1[1]) - (0x78F7A461L * (Get-ShiftRight $map.R1[1] 16))) + $map.R2[1] = Convert-Int32 ((0x12CEB96DL * (Get-ShiftRight $map.R2[0] 16)) - (0x46930000L * $map.R2[0])) + $map.R3 = Convert-Int32 ((0x1D830000L * $map.R2[1]) + (0x257E1D83L * (Get-ShiftRight $map.R2[1] 16))) + $map.R4[0] = Convert-Int32 ([long]$map.MD52 * ([long]$map.R3 + (Get-Long $bytesBaseInfo ($map.PDATA - 4)))) + $map.R4[1] = Convert-Int32 ((0x16F50000L * $map.R4[0]) - (0x5D8BE90BL * (Get-ShiftRight $map.R4[0] 16))) + $map.R5[0] = Convert-Int32 ((0x96FF0000L * $map.R4[1]) - (0x2C7C6901L * (Get-ShiftRight $map.R4[1] 16))) + $map.R5[1] = Convert-Int32 ((0x2B890000L * $map.R5[0]) + (0x7C932B89L * (Get-ShiftRight $map.R5[0] 16))) + $map.OUTHASH1 = Convert-Int32 ((0x9F690000L * $map.R5[1]) - (0x405B6097L * (Get-ShiftRight ($map.R5[1]) 16))) + $map.OUTHASH2 = Convert-Int32 ([long]$map.OUTHASH1 + $map.CACHE + $map.R3) + $map.CACHE = ([long]$map.OUTHASH2) + $map.COUNTER = $map.COUNTER - 1 + } + + $buffer = [BitConverter]::GetBytes($map.OUTHASH1) + $buffer.CopyTo($outHash, 8) + $buffer = [BitConverter]::GetBytes($map.OUTHASH2) + $buffer.CopyTo($outHash, 12) + + [Byte[]] $outHashBase = @(0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00) + $hashValue1 = ((Get-Long $outHash 8) -bxor (Get-Long $outHash)) + $hashValue2 = ((Get-Long $outHash 12) -bxor (Get-Long $outHash 4)) + + $buffer = [BitConverter]::GetBytes($hashValue1) + $buffer.CopyTo($outHashBase, 0) + $buffer = [BitConverter]::GetBytes($hashValue2) + $buffer.CopyTo($outHashBase, 4) + $base64Hash = [Convert]::ToBase64String($outHashBase) + } + + Write-Output $base64Hash + } + +function Get-Time { + $now = [DateTime]::Now + $dateTime = [DateTime]::New($now.Year, $now.Month, $now.Day, $now.Hour, $now.Minute, 0) + $fileTime = $dateTime.ToFileTime() + $hi = ($fileTime -shr 32) + $low = ($fileTime -band 0xFFFFFFFFL) + $dateTimeHex = ($hi.ToString("X8") + $low.ToString("X8")).ToLower() + + Write-Output $dateTimeHex +} + +function Delete-UserChoiceKey { + param ( + [Parameter( Position = 0, Mandatory = $True )] + [String] + $Key + ) + $code = @' + using System; + using System.Runtime.InteropServices; + using Microsoft.Win32; + + namespace Registry { + public class Utils { + [DllImport("advapi32.dll", SetLastError = true)] + private static extern int RegOpenKeyEx(UIntPtr hKey, string subKey, int ulOptions, int samDesired, out UIntPtr hkResult); + + [DllImport("advapi32.dll", SetLastError=true, CharSet = CharSet.Unicode)] + private static extern uint RegDeleteKey(UIntPtr hKey, string subKey); + + public static void DeleteKey(string key) { + UIntPtr hKey = UIntPtr.Zero; + RegOpenKeyEx((UIntPtr)0x80000003u, key, 0, 0x20019, out hKey); + RegDeleteKey((UIntPtr)0x80000003u, key); + } + } + } +'@ + Add-Type -TypeDefinition $code + + [Registry.Utils]::DeleteKey($Key) +} + +$userExperienceSearch = "User Choice set via Windows User Experience" +$user32Path = [Environment]::GetFolderPath([Environment+SpecialFolder]::SystemX86) + "\Shell32.dll" +$fileStream = [System.IO.File]::Open($user32Path, [System.IO.FileMode]::Open, [System.IO.FileAccess]::Read, [System.IO.FileShare]::ReadWrite) +$binaryReader = New-Object System.IO.BinaryReader($fileStream) +[Byte[]] $bytesData = $binaryReader.ReadBytes(5mb) +$fileStream.Close() +$dataString = [Text.Encoding]::Unicode.GetString($bytesData) +$position1 = $dataString.IndexOf($userExperienceSearch) +$position2 = $dataString.IndexOf("}", $position1) + +$userExperience = $dataString.Substring($position1, $position2 - $position1 + 1) + +$SID = $args[0] +$Hive = $args[1] + +Write-Host "Setting file associations for HKEY_USERS\$Hive..." + +New-PSDrive -PSProvider Registry -Name HKU -Root HKEY_USERS | Out-Null + +If (-NOT (Test-Path "HKU:\$Hive\SOFTWARE\Clients")) { +New-Item -Path "HKU:\$Hive\SOFTWARE\Clients" -Force | Out-Null +} +If (-NOT (Test-Path "HKU:\$Hive\SOFTWARE\Clients\StartMenuInternet")) { +New-Item -Path "HKU:\$Hive\SOFTWARE\Clients\StartMenuInternet" -Force | Out-Null +} + +Get-Item -Path "HKLM:\SOFTWARE\Clients\StartMenuInternet\*" | +ForEach-Object { +Copy-Item -Path "$($_.PSPath)" -Destination "HKU:\$Hive\SOFTWARE\Clients\StartMenuInternet" -Force -Recurse | Out-Null +} + +for ($i = 2; $i -lt $args.Length; $i++) { + $splitArg = $args[$i] -split ":" + if ($splitArg[0] -eq "Proto") { + If (-NOT (Test-Path "HKU:\$Hive\SOFTWARE\Microsoft\Windows\Shell\Associations\UrlAssociations\$($splitArg[1])")) { + New-Item -Path "HKU:\$Hive\SOFTWARE\Microsoft\Windows\Shell\Associations\UrlAssociations\$($splitArg[1])" -Force | Out-Null + } + If (Test-Path "HKU:\$Hive\SOFTWARE\Microsoft\Windows\Shell\Associations\UrlAssociations\$($splitArg[1])\UserChoice") { + Delete-UserChoiceKey "$Hive\SOFTWARE\Microsoft\Windows\Shell\Associations\UrlAssociations\$($splitArg[1])\UserChoice" | Out-Null + } + + New-ItemProperty -Path "HKU:\$Hive\SOFTWARE\Microsoft\Windows\CurrentVersion\ApplicationAssociationToasts" -Name "$($splitArg[2])_$($splitArg[1])" -PropertyType DWORD -Value 0 -Force | Out-Null + + $dateTimeHex = Get-Time + $hash = Get-Hash "$($splitArg[1])$SID$($splitArg[2])$dateTimeHex$userExperience".ToLower() + [Microsoft.Win32.Registry]::SetValue("HKEY_USERS\$Hive\SOFTWARE\Microsoft\Windows\Shell\Associations\UrlAssociations\$($splitArg[1])\UserChoice", "Hash", $hash) + + [Microsoft.Win32.Registry]::SetValue("HKEY_USERS\$Hive\SOFTWARE\Microsoft\Windows\Shell\Associations\UrlAssociations\$($splitArg[1])\UserChoice", "ProgId", "$($splitArg[2])") + } else { + If (-NOT (Test-Path "HKU:\$Hive\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\FileExts\$($splitArg[0])")) { + New-Item -Path "HKU:\$Hive\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\FileExts\$($splitArg[0])" -Force | Out-Null + } + If (Test-Path "HKU:\$Hive\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\FileExts\$($splitArg[0])\UserChoice") { + Delete-UserChoiceKey "$Hive\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\FileExts\$($splitArg[0])\UserChoice" + } + New-ItemProperty -Path "HKU:\$Hive\SOFTWARE\Microsoft\Windows\CurrentVersion\ApplicationAssociationToasts" -Name "$($splitArg[1])_$($splitArg[0])" -PropertyType DWORD -Value 0 -Force | Out-Null + + $dateTimeHex = Get-Time + $hash = Get-Hash "$($splitArg[0])$SID$($splitArg[1])$dateTimeHex$userExperience".ToLower() + + [Microsoft.Win32.Registry]::SetValue("HKEY_USERS\$Hive\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\FileExts\$($splitArg[0])\UserChoice", "Hash", $hash) + + [Microsoft.Win32.Registry]::SetValue("HKEY_USERS\$Hive\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\FileExts\$($splitArg[0])\UserChoice", "ProgId", "$($splitArg[1])") + } +} \ No newline at end of file diff --git a/Executables/clickstart.ps1 b/Executables/clickstart.ps1 deleted file mode 100644 index 4a844df..0000000 --- a/Executables/clickstart.ps1 +++ /dev/null @@ -1,77 +0,0 @@ -Add-Type -AssemblyName System.Windows.Forms -$screen = [System.Windows.Forms.SystemInformation]::VirtualScreen -$screen | Get-Member -MemberType Property - - -$cSource = @' -using System; -using System.Drawing; -using System.Runtime.InteropServices; -using System.Windows.Forms; -public class Clicker -{ -//https://msdn.microsoft.com/en-us/library/windows/desktop/ms646270(v=vs.85).aspx -[StructLayout(LayoutKind.Sequential)] -struct INPUT -{ - public int type; // 0 = INPUT_MOUSE, - // 1 = INPUT_KEYBOARD - // 2 = INPUT_HARDWARE - public MOUSEINPUT mi; -} - -//https://msdn.microsoft.com/en-us/library/windows/desktop/ms646273(v=vs.85).aspx -[StructLayout(LayoutKind.Sequential)] -struct MOUSEINPUT -{ - public int dx ; - public int dy ; - public int mouseData ; - public int dwFlags; - public int time; - public IntPtr dwExtraInfo; -} - -//This covers most use cases although complex mice may have additional buttons -//There are additional constants you can use for those cases, see the msdn page -const int MOUSEEVENTF_MOVED = 0x0001 ; -const int MOUSEEVENTF_LEFTDOWN = 0x0002 ; -const int MOUSEEVENTF_LEFTUP = 0x0004 ; -const int MOUSEEVENTF_RIGHTDOWN = 0x0008 ; -const int MOUSEEVENTF_RIGHTUP = 0x0010 ; -const int MOUSEEVENTF_MIDDLEDOWN = 0x0020 ; -const int MOUSEEVENTF_MIDDLEUP = 0x0040 ; -const int MOUSEEVENTF_WHEEL = 0x0080 ; -const int MOUSEEVENTF_XDOWN = 0x0100 ; -const int MOUSEEVENTF_XUP = 0x0200 ; -const int MOUSEEVENTF_ABSOLUTE = 0x8000 ; - -const int screen_length = 0x10000 ; - -//https://msdn.microsoft.com/en-us/library/windows/desktop/ms646310(v=vs.85).aspx -[System.Runtime.InteropServices.DllImport("user32.dll")] -extern static uint SendInput(uint nInputs, INPUT[] pInputs, int cbSize); - -public static void LeftClickAtPoint(int x, int y) -{ - //Move the mouse - INPUT[] input = new INPUT[3]; - input[0].mi.dx = x*(65535/System.Windows.Forms.Screen.PrimaryScreen.Bounds.Width); - input[0].mi.dy = y*(65535/System.Windows.Forms.Screen.PrimaryScreen.Bounds.Height); - input[0].mi.dwFlags = MOUSEEVENTF_MOVED | MOUSEEVENTF_ABSOLUTE; - //Left mouse button down - input[1].mi.dwFlags = MOUSEEVENTF_LEFTDOWN; - //Left mouse button up - input[2].mi.dwFlags = MOUSEEVENTF_LEFTUP; - SendInput(3, input, Marshal.SizeOf(input[0])); -} -} -'@ -Add-Type -TypeDefinition $cSource -ReferencedAssemblies System.Windows.Forms,System.Drawing -#Send a click at a specified point -[Clicker]::LeftClickAtPoint(0,$($screen.Height)) - -Start-Sleep -Seconds 5 - -$wshell = New-Object -ComObject wscript.shell; $wshell.AppActivate('Settings for Open-Shell') -$wshell = New-Object -ComObject wscript.shell; $wshell.SendKeys('~') \ No newline at end of file diff --git a/Executables/install.ps1 b/Executables/install.ps1 index 43e637f..7b9a19d 100644 --- a/Executables/install.ps1 +++ b/Executables/install.ps1 @@ -168,6 +168,7 @@ function Optimize-SecurityProtocol { # Set to TLS 1.2 (3072), then TLS 1.1 (768), and TLS 1.0 (192). Ssl3 has been superseded, # https://docs.microsoft.com/en-us/dotnet/api/system.net.securityprotocoltype?view=netframework-4.5 [System.Net.ServicePointManager]::SecurityProtocol = 3072 -bor 768 -bor 192 + Write-Verbose "SecurityProtocol has been updated to support TLS 1.2" } } @@ -249,8 +250,13 @@ function Expand-ZipArchive { } } + # Workaround to suspend Expand-Archive verbose output, + # upstream issue: https://github.com/PowerShell/Microsoft.PowerShell.Archive/issues/98 + $oldVerbosePreference = $VerbosePreference + $global:VerbosePreference = 'SilentlyContinue' # PowerShell 5+: use Expand-Archive to extract zip files Microsoft.PowerShell.Archive\Expand-Archive -Path $path -DestinationPath $to -Force + $global:VerbosePreference = $oldVerbosePreference } function Out-UTF8File { @@ -281,6 +287,7 @@ function Out-UTF8File { } function Import-ScoopShim { + Write-InstallInfo "Creating shim..." # The scoop executable $path = "$SCOOP_APP_DIR\bin\scoop.ps1" @@ -433,6 +440,7 @@ function Add-DefaultConfig { # If user-level SCOOP env not defined, save to rootPath if (!(Get-Env 'SCOOP')) { if ($SCOOP_DIR -ne "$env:USERPROFILE\scoop") { + Write-Verbose "Adding config rootPath: $SCOOP_DIR" Add-Config -Name 'rootPath' -Value $SCOOP_DIR | Out-Null } } @@ -441,9 +449,11 @@ function Add-DefaultConfig { # with $env:SCOOP_GLOBAL if RunAsAdmin, otherwise save to globalPath if (!(Get-Env 'SCOOP_GLOBAL' -global)) { if ((Test-IsAdministrator) -and $env:SCOOP_GLOBAL) { + Write-Verbose "Setting System Environment Variable SCOOP_GLOBAL: $env:SCOOP_GLOBAL" [Environment]::SetEnvironmentVariable('SCOOP_GLOBAL', $env:SCOOP_GLOBAL, 'Machine') } else { if ($SCOOP_GLOBAL_DIR -ne "$env:ProgramData\scoop") { + Write-Verbose "Adding config globalPath: $SCOOP_GLOBAL_DIR" Add-Config -Name 'globalPath' -Value $SCOOP_GLOBAL_DIR | Out-Null } } @@ -453,9 +463,11 @@ function Add-DefaultConfig { # with $env:SCOOP_CACHE if RunAsAdmin, otherwise save to cachePath if (!(Get-Env 'SCOOP_CACHE' -global)) { if ((Test-IsAdministrator) -and $env:SCOOP_CACHE) { + Write-Verbose "Setting System Environment Variable SCOOP_CACHE: $env:SCOOP_CACHE" [Environment]::SetEnvironmentVariable('SCOOP_CACHE', $env:SCOOP_CACHE, 'Machine') } else { if ($SCOOP_CACHE_DIR -ne "$SCOOP_DIR\cache") { + Write-Verbose "Adding config cachePath: $SCOOP_CACHE_DIR" Add-Config -Name 'cachePath' -Value $SCOOP_CACHE_DIR | Out-Null } } @@ -482,22 +494,26 @@ function Install-Scoop { if (!(Test-Path $SCOOP_APP_DIR)) { New-Item -Type Directory $SCOOP_APP_DIR | Out-Null } + Write-Verbose "Downloading $SCOOP_PACKAGE_REPO to $scoopZipfile" $downloader.downloadFile($SCOOP_PACKAGE_REPO, $scoopZipfile) # 2. download scoop main bucket $scoopMainZipfile = "$SCOOP_MAIN_BUCKET_DIR\scoop-main.zip" if (!(Test-Path $SCOOP_MAIN_BUCKET_DIR)) { New-Item -Type Directory $SCOOP_MAIN_BUCKET_DIR | Out-Null } + Write-Verbose "Downloading $SCOOP_MAIN_BUCKET_REPO to $scoopMainZipfile" $downloader.downloadFile($SCOOP_MAIN_BUCKET_REPO, $scoopMainZipfile) # Extract files from downloaded zip Write-InstallInfo "Extracting..." # 1. extract scoop $scoopUnzipTempDir = "$SCOOP_APP_DIR\_tmp" + Write-Verbose "Extracting $scoopZipfile to $scoopUnzipTempDir" Expand-ZipArchive $scoopZipfile $scoopUnzipTempDir Copy-Item "$scoopUnzipTempDir\scoop-*\*" $SCOOP_APP_DIR -Recurse -Force # 2. extract scoop main bucket $scoopMainUnzipTempDir = "$SCOOP_MAIN_BUCKET_DIR\_tmp" + Write-Verbose "Extracting $scoopMainZipfile to $scoopMainUnzipTempDir" Expand-ZipArchive $scoopMainZipfile $scoopMainUnzipTempDir Copy-Item "$scoopMainUnzipTempDir\Main-*\*" $SCOOP_MAIN_BUCKET_DIR -Recurse -Force @@ -508,9 +524,7 @@ function Install-Scoop { Remove-Item $scoopMainZipfile # Create the scoop shim - Write-InstallInfo "Creating shim..." Import-ScoopShim - # Finially ensure scoop shims is in the PATH Add-ShimsDirToPath # Setup initial configuration of Scoop @@ -520,6 +534,24 @@ function Install-Scoop { Write-InstallInfo "Type 'scoop help' for instructions." } +function Write-DebugInfo { + param($BoundArgs) + + Write-Verbose "-------- PSBoundParameters --------" + $BoundArgs.GetEnumerator() | ForEach-Object { Write-Verbose $_ } + Write-Verbose "-------- Environment Variables --------" + Write-Verbose "`$env:USERPROFILE: $env:USERPROFILE" + Write-Verbose "`$env:ProgramData: $env:ProgramData" + Write-Verbose "`$env:SCOOP: $env:SCOOP" + Write-Verbose "`$env:SCOOP_CACHE: $SCOOP_CACHE" + Write-Verbose "`$env:SCOOP_GLOBAL: $env:SCOOP_GLOBAL" + Write-Verbose "-------- Selected Variables --------" + Write-Verbose "SCOOP_DIR: $SCOOP_DIR" + Write-Verbose "SCOOP_CACHE_DIR: $SCOOP_CACHE_DIR" + Write-Verbose "SCOOP_GLOBAL_DIR: $SCOOP_GLOBAL_DIR" + Write-Verbose "SCOOP_CONFIG_HOME: $SCOOP_CONFIG_HOME" +} + # Prepare variables $IS_EXECUTED_FROM_IEX = ($null -eq $MyInvocation.MyCommand.Path) @@ -547,6 +579,8 @@ $SCOOP_MAIN_BUCKET_REPO = "https://github.com/ScoopInstaller/Main/archive/master $oldErrorActionPreference = $ErrorActionPreference $ErrorActionPreference = 'Stop' +# Logging debug info +Write-DebugInfo $PSBoundParameters # Bootstrap function Install-Scoop diff --git a/Executables/scoop.ps1 b/Executables/scoop.ps1 index 1901a2d..76500e4 100644 --- a/Executables/scoop.ps1 +++ b/Executables/scoop.ps1 @@ -1,7 +1,7 @@ Set-ExecutionPolicy RemoteSigned -Force -scope CurrentUser iwr -useb get.scoop.sh -outfile 'install.ps1' -.\install.ps1 -RunAsAdmin +.\install.ps1 -RunAsAdmin -ScoopDir "$env:ProgramFiles\Scoop" -ScoopGlobalDir "$env:ProgramFiles\Scoop\GlobalScoopApps" $env:Path = [System.Environment]::GetEnvironmentVariable("Path","Machine") + ";" + [System.Environment]::GetEnvironmentVariable("Path","User") -scoop install git +scoop install git --global scoop bucket add extras -scoop install windows-terminal \ No newline at end of file +scoop install windows-terminal --global \ No newline at end of file diff --git a/Executables/sfc.cmd b/Executables/sfc.cmd index c945b36..12b2d57 100644 --- a/Executables/sfc.cmd +++ b/Executables/sfc.cmd @@ -1,175 +1,175 @@ -@ECHO OFF -SETLOCAL +@echo OFF +setlocal REM This script is to prevent users from unknowingly entering sfc /scannow REM and causing de-amelioration -NET session > NUL 2>&1 - IF %ERRORLEVEL% GTR 0 ( - ECHO. - ECHO You must be an administrator running a console session in order to - ECHO use the sfc utility. +net session > NUL 2>&1 + if %errorlevel% GTR 0 ( + echo. + echo You must be an administrator running a console session in order to + echo use the sfc utility. - ENDLOCAL & EXIT /B 1 - ) ELSE ( - GOTO checkScannow + endlocal & exit /b 1 + ) else ( + goto checkScannow ) :checkScannow -SET "sfcArgs=%*" -SET "sfcArgs=%sfcArgs:"=:AINV:%" -SET "sfcArgs=%sfcArgs:"=:AINV:%" +set "sfcArgs=%*" +set "sfcArgs=%sfcArgs:"=:AINV:%" +set "sfcArgs=%sfcArgs:"=:AINV:%" -ECHO "%sfcArgs%" | FINDSTR /i /c:"/scannow" > NUL 2>&1 - IF %ERRORLEVEL% EQU 0 ( - GOTO scannowProcedure - ) ELSE ( - GOTO verifyOnlyProcedure +echo "%sfcArgs%" | findstr /i /c:"/scannow" > NUL 2>&1 + if %errorlevel% EQU 0 ( + goto scannowProcedure + ) else ( + goto verifyOnlyProcedure ) :verifyOnlyProcedure -IF /i "%sfcArgs%"=="/verifyonly" ( - ECHO. - ECHO Beginning system scan. This process will take some time. - TIMEOUT /T 1 /NOBREAK > NUL 2>&1 - ECHO. - ECHO Beginning verification phase of system scan. - TIMEOUT /T 2 /NOBREAK > NUL 2>&1 - ECHO Verifying... +if /i "%sfcArgs%"=="/verifyonly" ( + echo. + echo Beginning system scan. This process will take some time. + timeout /t 1 /NOBREAK > NUL 2>&1 + echo. + echo Beginning verification phase of system scan. + timeout /t 2 /NOBREAK > NUL 2>&1 + echo Verifying... REM %* is all the text entered after "sfc ". sfc1 %* > NUL 2>&1 - ECHO. - ECHO Windows Resource Protection found integrity violations. - ECHO For online repairs, details are included in the CBS log file located at - ECHO windir^\Logs^\CBS^\CBS.log. For example C^:^\Windows^\Logs^\CBS^\CBS.log. For offline - ECHO repairs, details are included in the log file provided by the ^/OFFLOGFILE flag. + echo. + echo Windows Resource Protection found integrity violations. + echo For online repairs, details are included in the CBS log file located at + echo windir^\Logs^\CBS^\CBS.log. For example C^:^\Windows^\Logs^\CBS^\CBS.log. For offline + echo repairs, details are included in the log file provided by the ^/OFFLOGFILE flag. - ENDLOCAL & EXIT /B 0 -) ELSE ( - GOTO incorrectSyntaxMessage ) + endlocal & exit /b 0 +) else ( + goto incorrectSyntaxMessage ) :incorrectSyntaxMessage sfc1 %sfcArgs% > NUL 2>&1 - IF %ERRORLEVEL% GTR 0 ( - - ECHO. - ECHO System File Checker - ECHO. - ECHO Scans the integrity of all protected system files and replaces incorrect versions with - ECHO correct Microsoft versions. - ECHO. - ECHO SFC ^[^/SCANNOW^] ^[^/VERIFYONLY^] ^[^/SCANFILE^=^^] ^[^/VERIFYFILE^=^] - ECHO ^[^/OFFWINDIR^=^ ^/OFFBOOTDIR^=^ ^[^/OFFLOGFILE^=^^]^] - ECHO. - ECHO ^/SCANNOW Scans integrity of all protected system files and repairs files with - ECHO problems when possible. - ECHO ^/VERIFYONLY Scans integrity of all protected system files. No repair operation is - ECHO performed. - ECHO ^/SCANFILE Scans integrity of the referenced file, repairs file if problems are - ECHO identified. Specify full path ^ - ECHO ^/VERIFYFILE Verifies the integrity of the file with full path ^. No repair - ECHO operation is performed. - ECHO ^/OFFBOOTDIR For offline repair, specify the location of the offline boot directory - ECHO ^/OFFWINDIR For offline repair, specify the location of the offline windows directory - ECHO ^/OFFLOGFILE For offline repair, optionally enable logging by specifying a log file path - ECHO. - ECHO e.g. - ECHO. - ECHO sfc ^/SCANNOW - ECHO sfc ^/VERIFYFILE^=c^:^\windows^\system32^\kernel32.dll - ECHO sfc ^/SCANFILE^=d^:^\windows^\system32^\kernel32.dll ^/OFFBOOTDIR^=d^:^\ ^/OFFWINDIR^=d^:^\windows - ECHO sfc ^/SCANFILE^=d^:^\windows^\system32^\kernel32.dll ^/OFFBOOTDIR^=d^:^\ ^/OFFWINDIR^=d^:^\windows ^/OFFLOGFILE^=c^:^\log.txt - ECHO sfc ^/VERIFYONLY - - ENDLOCAL & EXIT /B 2 -) ELSE ( - GOTO grabCBSInfo + if %errorlevel% GTR 0 ( + + echo. + echo System File Checker + echo. + echo Scans the integrity of all protected system files and replaces incorrect versions with + echo correct Microsoft versions. + echo. + echo SFC ^[^/SCANNOW^] ^[^/VERIFYONLY^] ^[^/SCANFILE^=^^] ^[^/VERIFYFILE^=^] + echo ^[^/OFFWINDIR^=^ ^/OFFBOOTDIR^=^ ^[^/OFFLOGFILE^=^^]^] + echo. + echo ^/SCANNOW Scans integrity of all protected system files and repairs files with + echo problems when possible. + echo ^/VERIFYONLY Scans integrity of all protected system files. No repair operation is + echo performed. + echo ^/SCANFILE Scans integrity of the referenced file, repairs file if problems are + echo identified. Specify full path ^ + echo ^/VERIFYFILE Verifies the integrity of the file with full path ^. No repair + echo operation is performed. + echo ^/OFFBOOTDIR For offline repair, specify the location of the offline boot directory + echo ^/OFFWINDIR For offline repair, specify the location of the offline windows directory + echo ^/OFFLOGFILE For offline repair, optionally enable logging by specifying a log file path + echo. + echo e.g. + echo. + echo sfc ^/SCANNOW + echo sfc ^/VERIFYFILE^=c^:^\windows^\system32^\kernel32.dll + echo sfc ^/SCANFILE^=d^:^\windows^\system32^\kernel32.dll ^/OFFBOOTDIR^=d^:^\ ^/OFFWINDIR^=d^:^\windows + echo sfc ^/SCANFILE^=d^:^\windows^\system32^\kernel32.dll ^/OFFBOOTDIR^=d^:^\ ^/OFFWINDIR^=d^:^\windows ^/OFFLOGFILE^=c^:^\log.txt + echo sfc ^/VERIFYONLY + + endlocal & exit /b 2 +) else ( + goto grabCBSInfo ) :grabCBSInfo -SETLOCAL EnableDelayedExpansion -SET "count=1" -FOR /F "tokens=2 delims=]" %%A IN ('powershell -command "Get-Content '%SYSTEMROOT%\Logs\CBS\CBS.log' -tail 3"') DO ( - SET "var!count!=%%A" - SET /A "count=!count!+1" +setlocal EnableDelayedExpansion +set "count=1" +for /f "tokens=2 delims=]" %%A in ('PowerShell -command "Get-Content '%SYSTEMROOT%\Logs\CBS\CBS.log' -tail 3"') do ( + set "var!count!=%%A" + set /a "count=!count!+1" ) -GOTO noViolationProcedure +goto noViolationProcedure :noViolationProcedure -SET "var2=%var2:"=:AINV:%" -SET "var2=%var2:"=:AINV:%" -ECHO "%var2%" | FINDSTR /i /c:"Beginning" > NUL 2>&1 - IF %ERRORLEVEL% EQU 0 ( - ECHO. - ECHO Windows Resource Protection did not find any integrity violations. +set "var2=%var2:"=:AINV:%" +set "var2=%var2:"=:AINV:%" +echo "%var2%" | findstr /i /c:"Beginning" > NUL 2>&1 + if %errorlevel% EQU 0 ( + echo. + echo Windows Resource Protection did not find any integrity violations. - ENDLOCAL & ENDLOCAL & EXIT /B 0 - ) ELSE ( - GOTO foundViolationProcedure + endlocal & endlocal & exit /b 0 + ) else ( + goto foundViolationProcedure ) :foundViolationProcedure -SET "var1=%var1:"=:AINV:%" -SET "var1=%var1:"=:AINV:%" -ECHO "%var1%" | FINDSTR /i /c:"reproject" > NUL 2>&1 - IF %ERRORLEVEL% EQU 0 ( - ECHO. - ECHO Windows Resource Protection found integrity violations. - ECHO For online repairs, details are included in the CBS log file located at - ECHO windir^\Logs^\CBS\CBS.log. For example C^:^\Windows^\Logs^\CBS^\CBS.log. For offline - ECHO repairs, details are included in the log file provided by the ^/OFFLOGFILE flag. - - ENDLOCAL & ENDLOCAL & EXIT /B 3 - ) ELSE ( +set "var1=%var1:"=:AINV:%" +set "var1=%var1:"=:AINV:%" +echo "%var1%" | findstr /i /c:"reproject" > NUL 2>&1 + if %errorlevel% EQU 0 ( + echo. + echo Windows Resource Protection found integrity violations. + echo For online repairs, details are included in the CBS log file located at + echo windir^\Logs^\CBS\CBS.log. For example C^:^\Windows^\Logs^\CBS^\CBS.log. For offline + echo repairs, details are included in the log file provided by the ^/OFFLOGFILE flag. + + endlocal & endlocal & exit /b 3 + ) else ( REM This will most likely never happen - ENDLOCAL & GOTO :unknownResults + endlocal & goto :unknownResults ) :unknownResults -ECHO. -ECHO Cannot output results. Details are included in the CBS log file located at -ECHO windir^\Logs^\CBS\CBS.log. +echo. +echo Cannot output results. Details are included in the CBS log file located at +echo windir^\Logs^\CBS\CBS.log. -ENDLOCAL & EXIT /B 4 +endlocal & exit /b 4 :scannowProcedure -ECHO. -ECHO This command will cause de-amelioration! DO NOT RUN! -ECHO Are you sure you want to run this command? -ECHO. -ECHO Enter 'Cancel' to Exit +echo. +echo This command will cause de-amelioration! DO NOT RUN! +echo Are you sure you want to run this command? +echo. +echo Enter 'Cancel' to Exit SET /P "input=Enter 'I know what I'm doing' to Confirm: " - IF "%input%"=="I know what I'm doing" GOTO scannowSelfDestruct - IF /I "%input%"=="Cancel" ENDLOCAL & EXIT /B 0 + if "%input%"=="I know what I'm doing" goto scannowSelfDestruct + if /i "%input%"=="Cancel" endlocal & exit /b 0 -ECHO. -ECHO Incorrect input entered. +echo. +echo Incorrect input entered. -ENDLOCAL & EXIT /B 5 +endlocal & exit /b 5 :scannowSelfDestruct :: This will cause sfc.cmd to no longer function, unless sfc.cmd is specified. :: This is due to the .exe extension being prioritized over .cmd. The PATHEXT environment variable can change this. -TAKEOWN /f %SYSTEMROOT%\System32\sfc1.exe /a > NUL 2>&1 -ICACLS %SYSTEMROOT%\System32\sfc1.exe /grant Administrators:F > NUL 2>&1 -REN %SYSTEMROOT%\System32\sfc1.exe sfc.exe > NUL 2>&1 +takeown /f %SYSTEMROOT%\System32\sfc1.exe /a > NUL 2>&1 +icacls %SYSTEMROOT%\System32\sfc1.exe /grant Administrators:F > NUL 2>&1 +rename %SYSTEMROOT%\System32\sfc1.exe sfc.exe > NUL 2>&1 :: Copy ACL from diskmgmt.msc to sfc.exe. Essentially resetting sfc.exe's ACL. -POWERSHELL -command "Get-Acl %SYSTEMROOT%\System32\diskmgmt.msc | Set-Acl %SYSTEMROOT%\System32\sfc.exe" > NUL 2>&1 +PowerShell -NoP -C "Get-Acl %SYSTEMROOT%\System32\diskmgmt.msc | Set-Acl %SYSTEMROOT%\System32\sfc.exe" > NUL 2>&1 :: Self-destruction -TAKEOWN /f %SYSTEMROOT%\System32\sfc.cmd /a > NUL 2>&1 -ICACLS %SYSTEMROOT%\System32\sfc.cmd /grant Administrators:F > NUL 2>&1 -(GOTO) 2>NUL & DEL /Q /F "%~f0">NUL 2>&1 & sfc %* +takeown /f %SYSTEMROOT%\System32\sfc.cmd /a > NUL 2>&1 +icacls %SYSTEMROOT%\System32\sfc.cmd /grant Administrators:F > NUL 2>&1 +(GOTO) 2>NUL & del /q /f "%~f0">NUL 2>&1 & sfc %* diff --git a/Executables/tiles.ps1 b/Executables/tiles.ps1 deleted file mode 100644 index 0685a09..0000000 --- a/Executables/tiles.ps1 +++ /dev/null @@ -1,58 +0,0 @@ -#Requires -RunAsAdministrator - -$START_MENU_LAYOUT = @" - - - - - - - - -"@ - -$layoutFile="C:\Windows\StartMenuLayout.xml" - -#Delete layout file if it already exists -If(Test-Path $layoutFile) -{ - Remove-Item $layoutFile -} - -#Creates the blank layout file -$START_MENU_LAYOUT | Out-File $layoutFile -Encoding ASCII - -$regAliases = @("HKLM", "HKCU") - -#Assign the start layout and force it to apply with "LockedStartLayout" at both the machine and user level -foreach ($regAlias in $regAliases){ - $basePath = $regAlias + ":\SOFTWARE\Policies\Microsoft\Windows" - $keyPath = $basePath + "\Explorer" - IF(!(Test-Path -Path $keyPath)) { - New-Item -Path $basePath -Name "Explorer" - } - Set-ItemProperty -Path $keyPath -Name "LockedStartLayout" -Value 1 - Set-ItemProperty -Path $keyPath -Name "StartLayoutFile" -Value $layoutFile -} - -#Restart Explorer, open the start menu (necessary to load the new layout), and give it a few seconds to process -Stop-Process -name explorer -Start-Sleep -s 5 -$wshell = New-Object -ComObject wscript.shell; $wshell.SendKeys('^{ESCAPE}') -Start-Sleep -s 5 -$wshell = New-Object -ComObject wscript.shell; $wshell.SendKeys('^{ESCAPE}') - -#Enable the ability to pin items again by disabling "LockedStartLayout" -foreach ($regAlias in $regAliases){ - $basePath = $regAlias + ":\SOFTWARE\Policies\Microsoft\Windows" - $keyPath = $basePath + "\Explorer" - Set-ItemProperty -Path $keyPath -Name "LockedStartLayout" -Value 0 -} - -#Restart Explorer and delete the layout file -Stop-Process -name explorer - -# Uncomment the next line to make clean start menu default for all new users -#Import-StartLayout -LayoutPath $layoutFile -MountPath $env:SystemDrive\ - -Remove-Item $layoutFile \ No newline at end of file