Windows 11 AME playbook for AME Wizard.
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 

127 lines
6.7 KiB

NSudoLC -U:T -P:E -M:S -Priority:RealTime -UseCurrentConsole -Wait icacls "%WINDIR%\Resources\Themes\aero.theme" /reset /t
PowerShell -NoP -C "$Content = (Get-Content '%WINDIR%\Resources\Themes\aero.theme'); $Content = $Content -replace 'Wallpaper=%%SystemRoot%%.*', 'Wallpaper=%%SystemRoot%%\web\wallpaper\Windows\ame_wallpaper_1440.bmp'; $Content = $Content -replace 'SystemMode=.*', 'SystemMode=Dark'; $Content -replace 'AppMode=.*', 'AppMode=Light' | Set-Content '%WINDIR%\Resources\Themes\aero.theme'"
@echo OFF
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
)
set "RunEC=10"
for /f "usebackq tokens=2 delims=\" %%A in (`reg query "HKEY_USERS" ^| findstr /c:"S-" /c:"AME_UserHive_"`) do (
if "%%A"=="AME_UserHive_Default" (
call :WALLRUN "%%A" "%SYSTEMDRIVE%\Users\Default"
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"
) else (
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_" /c:"AME_UserClassHive_"`) do echo reg unload "HKU\%%A" & reg unload "HKU\%%A"
exit /b %RunEC%
:WALLRUN
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
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
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"
)
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"
)
if not exist "%WINDIR%\Web\Wallpaper\Windows\ame_wallpaper_1440.bmp" set "wallFail=true" & goto 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
:lockScreen
reg query "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Authentication\LogonUI\Creative\%~1" /v "RotatingLockScreen*" > NUL 2>&1
if %errorlevel% NEQ 0 (
echo "%~1" | findstr /c:"S-" > NUL
if not errorlevel 1 (
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
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
)
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
)
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
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
)
exit /b 0