禁止更改桌面背景及活动桌面的批处理_最终版[原创]

@echo off
echo Powered By 游虫
echo Www.Mic86.Com
echo.
color 2f
title 禁止/允许 使用或更改桌面背景及活动桌面    ----Powered By 游虫
if exist %systemdrive%\up.cmd del /f /q %systemdrive%\up.cmd
if exist %systemdrive%\down.cmd del /f /q %systemdrive%\down.cmd
if exist %systemdrive%\alluser.cmd del /f /q %systemdrive%\alluser.cmd
if exist %systemdrive%\curuser.cmd del /f /q %systemdrive%\curuser.cmd
if exist %systemdrive%\othuser.cmd del /f /q %systemdrive%\othuser.cmd
%systemdrive%
cd\

:notes
echo.
echo 注意:在运行本程序前请确保其他用户均已注销(没有登陆)!
echo Note: Please make sure the other users is logout Before you run this program!
echo.
echo 建议登陆管理员帐号后运行本程序!
echo.
echo 本程序对某些精简版的操作系统可能无效!
echo.
echo.
echo 请选择操作类型(不选则默认为“禁止”,Q键退出!):
echo.
echo.
echo                    1、禁止用户更改桌面背景(Disable)
echo.
echo                    2、允许用户更改桌面背景(Enable)
echo.
echo                    3、退出(Exit)
goto begin

:noadmin
cls
color 0c
echo.
echo.
echo 当前用户没有管理员权限,请与管理员联系!
echo.
echo 如果您有管理员帐号,请以管理员身份登陆后再运行本程序!
echo.
echo 您也可以继续以其他用户方式运行本程序(例如:Administrator)!
echo.
echo 注:其他用户方式运行所使用的用户密码不能为空!
echo 注:如果系统分区为NTFS文件系统,则以其他用户方式运行时,
echo     当前用户(或Everyone)有对系统分区的写入和修改权限!
echo.
echo.
echo 建议以管理身份登陆后再运行本程序!
echo.
echo.
set /p ch=是否继续以其他用户方式运行本程序?(按Q键退出,按Y键继续!):
if "%ch%"=="q" exit
if "%ch%"=="Q" exit
if "%ch%"=="Y" goto rmenu
if "%ch%"=="y" goto rmenu
exit

:rnologout
cls
color 0c
echo.
echo.
echo 有其他需要禁止更改桌面背景的用户尚未注销!
echo.
echo.
echo 请注销其他用户后再进行操作!
echo.
echo.
goto rmenum


:rmenu
cls
color 0c
echo.
goto rmenum

:rcherr
cls
echo 请输入1-4之间的数字!
goto rmenum

:rmenum
title 禁止使用或更改桌面背景及活动桌面(非管理员模式)    ----Powered By 游虫
echo.
echo. =-=-=-=-=-=-=-=禁止用户更改桌面背景(其他用户模式)=-=-=-=-=-=-=-=
echo.               To prohibit users to change the desktop background!
echo.
echo.
echo.               1  禁止所有用户更改桌面背景(All Users)
echo.
echo.               2  禁止当前用户更改桌面背景(Current User)
echo.
echo.               3  除当前用户外的所有用户(Other Users)
echo.
echo.               4  退    出(Exit)
echo.
echo.
echo 注:其他用户方式运行所使用的用户密码不能为空!
echo 注:如果系统分区为NTFS文件系统,则以其他用户方式运行时,
echo     当前用户(或Everyone)有对系统分区的写入和修改权限!
echo.
set /p  rid=请选择(Choose:1/2/3/4):
if "%rid%"=="1" goto ralluser
if "%rid%"=="2" goto rcuruser
if "%rid%"=="3" goto rothuser
if "%rid%"=="4" goto quit
cls
goto rcherr

:ralluser
cls
color 0c
for /f "skip=7 tokens=4,5* " %%a in ('dir /A:D-H-S /O:N "%systemdrive%\Documents and Settings\"') do (net user|find "%%a"&&if "%%a" NEQ "%username%" (tasklist /v|find "%%a"&&goto rnologout))>nul
:ralladmin
set /p adm=请输入管理员帐号:
net user %adm%|find /i "Administrators">nul||echo 您输入的用户不存在或者没有管理员权限!请重新输入!&&echo.&&echo.&&goto ralladmin
echo @echo off>>%systemdrive%\up.cmd
echo echo Powered By Mic86.Com>>%systemdrive%\up.cmd
echo echo\>>%systemdrive%\up.cmd
echo net localgroup Administrators %username% /add>>%systemdrive%\up.cmd
echo RunDll32.exe USER32.DLL,UpdatePerUserSystemParameters>>%systemdrive%\up.cmd
echo del /f /q %%0>>%systemdrive%\up.cmd
runas /env /user:%adm% "%systemdrive%\up.cmd"
if %errorlevel% geq 1 goto errr
echo @echo off>>%systemdrive%\alluser.cmd
echo echo Powered By Mic86.Com>>%systemdrive%\alluser.cmd
echo echo\>>%systemdrive%\alluser.cmd
echo color 2f>>%systemdrive%\alluser.cmd
echo reg add "HKU\.DEFAULT\Control Panel\Desktop" /v Wallpaper /t REG_SZ /d "" /f^>nul>>%systemdrive%\alluser.cmd
echo reg add "HKU\.DEFAULT\Software\Microsoft\Windows\CurrentVersion\Policies\system" /v Wallpaper /t REG_SZ /d "" /f^>nul>>%systemdrive%\alluser.cmd
echo reg add "HKU\.DEFAULT\Software\Microsoft\Windows\CurrentVersion\Policies\system" /v WallpaperStyle /t REG_SZ /d "2" /f^>nul>>%systemdrive%\alluser.cmd
echo reg add "HKU\.DEFAULT\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer" /v NoActiveDesktop /t REG_DWORD /d "1" /f^>nul>>%systemdrive%\alluser.cmd
echo reg add "HKU\.DEFAULT\Software\Microsoft\Windows\CurrentVersion\Policies\ActiveDesktop" /v NoChangingWallPaper /t REG_DWORD /d "1" /f^>nul>>%systemdrive%\alluser.cmd
echo reg add "HKCU\Control Panel\Desktop" /v Wallpaper /t REG_SZ /d "" /f^>nul>>%systemdrive%\alluser.cmd
echo reg add "HKCU\Software\Microsoft\Windows\CurrentVersion\Policies\system" /v Wallpaper /t REG_SZ /d "" /f^>nul>>%systemdrive%\alluser.cmd
echo reg add "HKCU\Software\Microsoft\Windows\CurrentVersion\Policies\system" /v WallpaperStyle /t REG_SZ /d "2" /f^>nul>>%systemdrive%\alluser.cmd
echo reg delete "HKCU\Software\Microsoft\Internet Explorer\Desktop\Components\1" /f^>nul>>%systemdrive%\alluser.cmd
echo reg delete "HKCU\Software\Microsoft\Internet Explorer\Desktop\Components\2" /f^>nul>>%systemdrive%\alluser.cmd
echo reg delete "HKCU\Software\Microsoft\Internet Explorer\Desktop\Components\3" /f^>nul>>%systemdrive%\alluser.cmd
echo reg add "HKCU\Software\Microsoft\Internet Explorer\Desktop\Components" /v GeneralFlags /t REG_DWORD /d "4" /f^>nul>>%systemdrive%\alluser.cmd
echo reg add "HKCU\Software\Microsoft\Internet Explorer\Desktop\Components" /v Settings /t REG_DWORD /d "0" /f^>nul>>%systemdrive%\alluser.cmd
echo reg add "HKCU\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer" /v NoActiveDesktop /t REG_DWORD /d "1" /f^>nul>>%systemdrive%\alluser.cmd
echo reg add "HKCU\Software\Microsoft\Windows\CurrentVersion\Policies\ActiveDesktop" /v NoChangingWallPaper /t REG_DWORD /d "1" /f^>nul>>%systemdrive%\alluser.cmd
echo for /f "skip=7 tokens=4,5* " %%%%a in ('dir /A:D-H-S /O:N "%%systemdrive%%\Documents and Settings\"') do (net user^|find "%%%%a"^&^&if "%%%%a" NEQ "%%username%%" reg load HKU\%%%%a "%%systemdrive%%\Documents and Settings\%%%%a\NTUSER.DAT")>>%systemdrive%\alluser.cmd
echo for /f "skip=7 tokens=4,5* " %%%%a in ('dir /A:D-H-S /O:N "%%systemdrive%%\Documents and Settings\"') do (net user^|find "%%%%a"^&^&if "%%%%a" NEQ "%%username%%" reg add "HKU\%%%%a\Control Panel\Desktop" /v Wallpaper /t REG_SZ /d "" /f^&^&reg add "HKU\%%%%a\Software\Microsoft\Windows\CurrentVersion\Policies\system" /v Wallpaper /t REG_SZ /d "" /f^&^&reg add "HKU\%%%%a\Software\Microsoft\Windows\CurrentVersion\Policies\system" /v WallpaperStyle /t REG_SZ /d "2" /f)>>%systemdrive%\alluser.cmd
echo for /f "skip=7 tokens=4,5* " %%%%a in ('dir /A:D-H-S /O:N "%%systemdrive%%\Documents and Settings\"') do (net user^|find "%%%%a"^&^&if "%%%%a" NEQ "%%username%%" reg delete "HKU\%%%%a\Software\Microsoft\Internet Explorer\Desktop\Components\1" /f^&^&reg delete "HKU\%%%%a\Software\Microsoft\Internet Explorer\Desktop\Components\2" /f^&^&reg delete "HKU\%%%%a\Software\Microsoft\Internet Explorer\Desktop\Components\3" /f)>>%systemdrive%\alluser.cmd
echo for /f "skip=7 tokens=4,5* " %%%%a in ('dir /A:D-H-S /O:N "%%systemdrive%%\Documents and Settings\"') do (net user^|find "%%%%a"^&^&if "%%%%a" NEQ "%%username%%" reg add "HKU\%%%%a\Software\Microsoft\Internet Explorer\Desktop\Components" /v GeneralFlags /t REG_DWORD /d "4" /f^&^&reg add "HKU\%%%%a\Software\Microsoft\Internet Explorer\Desktop\Components" /v Settings /t REG_DWORD /d "0" /f^&^&reg add "HKU\%%%%a\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer" /v NoActiveDesktop /t REG_DWORD /d "1" /f)>>%systemdrive%\alluser.cmd
echo for /f "skip=7 tokens=4,5* " %%%%a in ('dir /A:D-H-S /O:N "%%systemdrive%%\Documents and Settings\"') do (net user^|find "%%%%a"^&^&if "%%%%a" NEQ "%%username%%" reg add "HKU\%%%%a\Software\Microsoft\Windows\CurrentVersion\Policies\ActiveDesktop" /v NoChangingWallPaper /t REG_DWORD /d "1" /f)>>%systemdrive%\alluser.cmd
echo for /f "skip=7 tokens=4,5* " %%%%a in ('dir /A:D-H-S /O:N "%%systemdrive%%\Documents and Settings\"') do (net user^|find "%%%%a"^&^&if "%%%%a" NEQ "%%username%%" reg unload HKU\%%%%a)>>%systemdrive%\alluser.cmd
echo net localgroup Administrators %username% /delete>>%systemdrive%\alluser.cmd
echo RunDll32.exe USER32.DLL,UpdatePerUserSystemParameters>>%systemdrive%\alluser.cmd
echo del /f /q %%0>>%systemdrive%\alluser.cmd
echo exit>>%systemdrive%\alluser.cmd
runas /savecred /env /user:%username% "%systemdrive%\alluser.cmd"
goto quit

:rcuruser
cls
color 0c
:rcuradmin
set /p adm=请输入管理员帐号:
net user %adm%|find /i "Administrators">nul||echo 您输入的用户不存在或者没有管理员权限!请重新输入!&&echo.&&echo.&&goto rcuradmin
echo @echo off>>%systemdrive%\up.cmd
echo echo Powered By Mic86.Com>>%systemdrive%\up.cmd
echo echo\>>%systemdrive%\up.cmd
echo net localgroup Administrators %username% /add>>%systemdrive%\up.cmd
echo RunDll32.exe USER32.DLL,UpdatePerUserSystemParameters>>%systemdrive%\up.cmd
echo del /f /q %%0>>%systemdrive%\up.cmd
runas /env /user:%adm% "%systemdrive%\up.cmd"
if %errorlevel% geq 1 goto errr
echo @echo off>>%systemdrive%\curuser.cmd
echo echo Powered By Mic86.Com>>%systemdrive%\curuser.cmd
echo echo\>>%systemdrive%\curuser.cmd
echo color 2f>>%systemdrive%\curuser.cmd
echo reg add "HKCU\Control Panel\Desktop" /v Wallpaper /t REG_SZ /d "" /f^>nul>>%systemdrive%\curuser.cmd
echo reg add "HKCU\Software\Microsoft\Windows\CurrentVersion\Policies\system" /v Wallpaper /t REG_SZ /d "" /f^>nul>>%systemdrive%\curuser.cmd
echo reg add "HKCU\Software\Microsoft\Windows\CurrentVersion\Policies\system" /v WallpaperStyle /t REG_SZ /d "2" /f^>nul>>%systemdrive%\curuser.cmd
echo reg delete "HKCU\Software\Microsoft\Internet Explorer\Desktop\Components\1" /f^>nul>>%systemdrive%\curuser.cmd
echo reg delete "HKCU\Software\Microsoft\Internet Explorer\Desktop\Components\2" /f^>nul>>%systemdrive%\curuser.cmd
echo reg delete "HKCU\Software\Microsoft\Internet Explorer\Desktop\Components\3" /f^>nul>>%systemdrive%\curuser.cmd
echo reg add "HKCU\Software\Microsoft\Internet Explorer\Desktop\Components" /v GeneralFlags /t REG_DWORD /d "4" /f^>nul>>%systemdrive%\curuser.cmd
echo reg add "HKCU\Software\Microsoft\Internet Explorer\Desktop\Components" /v Settings /t REG_DWORD /d "0" /f^>nul>>%systemdrive%\curuser.cmd
echo reg add "HKCU\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer" /v NoActiveDesktop /t REG_DWORD /d "1" /f^>nul>>%systemdrive%\curuser.cmd
echo reg add "HKCU\Software\Microsoft\Windows\CurrentVersion\Policies\ActiveDesktop" /v NoChangingWallPaper /t REG_DWORD /d "1" /f^>nul>>%systemdrive%\curuser.cmd
echo net localgroup Administrators %username% /delete>>%systemdrive%\curuser.cmd
echo RunDll32.exe USER32.DLL,UpdatePerUserSystemParameters>>%systemdrive%\curuser.cmd
echo del /f /q %%0>>%systemdrive%\curuser.cmd
echo exit>>%systemdrive%\curuser.cmd
runas /savecred /env /user:%username% "%systemdrive%\curuser.cmd"
goto quit


:rothuser
cls
color 0c
for /f "skip=7 tokens=4,5* " %%a in ('dir /A:D-H-S /O:N "%systemdrive%\Documents and Settings\"') do (net user|find "%%a"&&if "%%a" NEQ "%username%" (tasklist /v|find "%%a"&&goto rnologout))>nul
:rothadmin
set /p adm=请输入管理员帐号:
net user %adm%|find /i "Administrators">nul||echo 您输入的用户不存在或者没有管理员权限!请重新输入!&&echo.&&echo.&&goto rothadmin
echo @echo off>>%systemdrive%\up.cmd
echo echo Powered By Mic86.Com>>%systemdrive%\up.cmd
echo echo\>>%systemdrive%\up.cmd
echo net localgroup Administrators %username% /add>>%systemdrive%\up.cmd
echo RunDll32.exe USER32.DLL,UpdatePerUserSystemParameters>>%systemdrive%\up.cmd
echo del /f /q %%0>>%systemdrive%\up.cmd
runas /env /user:%adm% "%systemdrive%\up.cmd"
if %errorlevel% geq 1 goto errr
echo @echo off>>%systemdrive%\othuser.cmd
echo echo Powered By Mic86.Com>>%systemdrive%\othuser.cmd
echo echo\>>%systemdrive%\othuser.cmd
echo color 2f>>%systemdrive%\othuser.cmd
echo reg add "HKU\.DEFAULT\Control Panel\Desktop" /v Wallpaper /t REG_SZ /d "" /f^>nul>>%systemdrive%\othuser.cmd
echo reg add "HKU\.DEFAULT\Software\Microsoft\Windows\CurrentVersion\Policies\system" /v Wallpaper /t REG_SZ /d "" /f^>nul>>%systemdrive%\othuser.cmd
echo reg add "HKU\.DEFAULT\Software\Microsoft\Windows\CurrentVersion\Policies\system" /v WallpaperStyle /t REG_SZ /d "2" /f^>nul>>%systemdrive%\othuser.cmd
echo reg add "HKU\.DEFAULT\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer" /v NoActiveDesktop /t REG_DWORD /d "1" /f^>nul>>%systemdrive%\othuser.cmd
echo reg add "HKU\.DEFAULT\Software\Microsoft\Windows\CurrentVersion\Policies\ActiveDesktop" /v NoChangingWallPaper /t REG_DWORD /d "1" /f^>nul>>%systemdrive%\othuser.cmd
echo for /f "skip=7 tokens=4,5* " %%%%a in ('dir /A:D-H-S /O:N "%%systemdrive%%\Documents and Settings\"') do (net user^|find "%%%%a"^&^&if "%%%%a" NEQ "%%username%%" reg load HKU\%%%%a "%%systemdrive%%\Documents and Settings\%%%%a\NTUSER.DAT")>>%systemdrive%\othuser.cmd
echo for /f "skip=7 tokens=4,5* " %%%%a in ('dir /A:D-H-S /O:N "%%systemdrive%%\Documents and Settings\"') do (net user^|find "%%%%a"^&^&if "%%%%a" NEQ "%%username%%" reg add "HKU\%%%%a\Control Panel\Desktop" /v Wallpaper /t REG_SZ /d "" /f^&^&reg add "HKU\%%%%a\Software\Microsoft\Windows\CurrentVersion\Policies\system" /v Wallpaper /t REG_SZ /d "" /f^&^&reg add "HKU\%%%%a\Software\Microsoft\Windows\CurrentVersion\Policies\system" /v WallpaperStyle /t REG_SZ /d "2" /f)>>%systemdrive%\alluser.cmd
echo for /f "skip=7 tokens=4,5* " %%%%a in ('dir /A:D-H-S /O:N "%%systemdrive%%\Documents and Settings\"') do (net user^|find "%%%%a"^&^&if "%%%%a" NEQ "%%username%%" reg delete "HKU\%%%%a\Software\Microsoft\Internet Explorer\Desktop\Components\1" /f^&^&reg delete "HKU\%%%%a\Software\Microsoft\Internet Explorer\Desktop\Components\2" /f^&^&reg delete "HKU\%%%%a\Software\Microsoft\Internet Explorer\Desktop\Components\3" /f)>>%systemdrive%\alluser.cmd
echo for /f "skip=7 tokens=4,5* " %%%%a in ('dir /A:D-H-S /O:N "%%systemdrive%%\Documents and Settings\"') do (net user^|find "%%%%a"^&^&if "%%%%a" NEQ "%%username%%" reg add "HKU\%%%%a\Software\Microsoft\Internet Explorer\Desktop\Components" /v GeneralFlags /t REG_DWORD /d "4" /f^&^&reg add "HKU\%%%%a\Software\Microsoft\Internet Explorer\Desktop\Components" /v Settings /t REG_DWORD /d "0" /f^&^&reg add "HKU\%%%%a\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer" /v NoActiveDesktop /t REG_DWORD /d "1" /f)>>%systemdrive%\alluser.cmd
echo for /f "skip=7 tokens=4,5* " %%%%a in ('dir /A:D-H-S /O:N "%%systemdrive%%\Documents and Settings\"') do (net user^|find "%%%%a"^&^&if "%%%%a" NEQ "%%username%%" reg add "HKU\%%%%a\Software\Microsoft\Windows\CurrentVersion\Policies\ActiveDesktop" /v NoChangingWallPaper /t REG_DWORD /d "1" /f)>>%systemdrive%\alluser.cmd
echo for /f "skip=7 tokens=4,5* " %%%%a in ('dir /A:D-H-S /O:N "%%systemdrive%%\Documents and Settings\"') do (net user^|find "%%%%a"^&^&if "%%%%a" NEQ "%%username%%" reg unload HKU\%%%%a)>>%systemdrive%\othuser.cmd
echo net localgroup Administrators %username% /delete>>%systemdrive%\othuser.cmd
echo RunDll32.exe USER32.DLL,UpdatePerUserSystemParameters>>%systemdrive%\othuser.cmd
echo del /f /q %%0>>%systemdrive%\othuser.cmd
echo exit>>%systemdrive%\othuser.cmd
runas /savecred /env /user:%username% "%systemdrive%\othuser.cmd"
goto quit

:nologout
cls
color 0c
echo.
echo.
echo 有其他需要禁止更改桌面背景的用户尚未注销!
echo.
echo.
echo 请注销其他用户后再进行操作!
echo.
echo.
goto menum


:begin
echo.
echo.
set /p co=请选择操作类型:(1/2/3/Q):
if "%co%"=="1" goto menu
if "%co%"=="2" goto amenu
if "%co%"=="3" exit
if "%co%"=="q" exit
if "%co%"=="Q" exit
goto menu
exit

:menu
cls
color 2f
echo.
goto menum

:cherr
cls
echo 请输入1-4之间的数字!
goto menum

:menum
title 禁止使用或更改桌面背景及活动桌面(管理员模式)    ----Powered By 游虫
echo.
echo.             =-=-=-=-=-=-=-=禁止用户更改桌面背景=-=-=-=-=-=-=-=
echo.               To prohibit users to change the desktop background!
echo.
echo.
echo.               1  禁止所有用户更改桌面背景(All Users)
echo.
echo.               2  禁止当前用户更改桌面背景(Current User)
echo.
echo.               3  除当前用户外的所有用户(Other Users)
echo.
echo.               4  退  出(Exit)
echo.
echo.
echo.
set /p  id=请选择(Choose:1/2/3/4):
if "%id%"=="4" goto quit
if "%id%"=="2" goto curuser
net user %username%|find /i "Administrators"||goto noadmin
for /f "skip=7 tokens=4,5* " %%a in ('dir /A:D-H-S /O:N "%systemdrive%\Documents and Settings\"') do (net user|find "%%a"&&if "%%a" NEQ "%username%" (tasklist /v|find "%%a"&&goto nologout))>nul
if "%id%"=="1" goto alluser
if "%id%"=="3" goto alluser
goto cherr

:alluser
cls
color 2f
reg add "HKU\.DEFAULT\Control Panel\Desktop" /v Wallpaper /t REG_SZ /d "" /f>nul
reg add "HKU\.DEFAULT\Software\Microsoft\Windows\CurrentVersion\Policies\system" /v Wallpaper /t REG_SZ /d "" /f>nul
reg add "HKU\.DEFAULT\Software\Microsoft\Windows\CurrentVersion\Policies\system" /v WallpaperStyle /t REG_SZ /d "2" /f>nul
reg add "HKU\.DEFAULT\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer" /v NoActiveDesktop /t REG_DWORD /d "1" /f>nul
reg add "HKU\.DEFAULT\Software\Microsoft\Windows\CurrentVersion\Policies\ActiveDesktop" /v NoChangingWallPaper /t REG_DWORD /d "1" /f>nul
if "%id%"=="3" goto othuser

:curuser
cls
color 2f
reg add "HKCU\Control Panel\Desktop" /v Wallpaper /t REG_SZ /d "" /f>nul
reg add "HKCU\Software\Microsoft\Windows\CurrentVersion\Policies\system" /v Wallpaper /t REG_SZ /d "" /f>nul
reg add "HKCU\Software\Microsoft\Windows\CurrentVersion\Policies\system" /v WallpaperStyle /t REG_SZ /d "2" /f>nul
reg delete "HKCU\Software\Microsoft\Internet Explorer\Desktop\Components\1" /f>nul
reg delete "HKCU\Software\Microsoft\Internet Explorer\Desktop\Components\2" /f>nul
reg delete "HKCU\Software\Microsoft\Internet Explorer\Desktop\Components\3" /f>nul
reg add "HKCU\Software\Microsoft\Internet Explorer\Desktop\Components" /v GeneralFlags /t REG_DWORD /d "4" /f>nul
reg add "HKCU\Software\Microsoft\Internet Explorer\Desktop\Components" /v Settings /t REG_DWORD /d "0" /f>nul
reg add "HKCU\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer" /v NoActiveDesktop /t REG_DWORD /d "1" /f>nul
reg add "HKCU\Software\Microsoft\Windows\CurrentVersion\Policies\ActiveDesktop" /v NoChangingWallPaper /t REG_DWORD /d "1" /f>nul
if "%id%"=="2" goto quit

:othuser
cls
color 2f
for /f "skip=7 tokens=4,5* " %%a in ('dir /A:D-H-S /O:N "%systemdrive%\Documents and Settings\"') do (net user|find "%%a"&&if "%%a" NEQ "%username%" reg load HKU\%%a "%systemdrive%\Documents and Settings\%%a\NTUSER.DAT")
for /f "skip=7 tokens=4,5* " %%a in ('dir /A:D-H-S /O:N "%systemdrive%\Documents and Settings\"') do (net user|find "%%a"&&if "%%a" NEQ "%username%" reg add "HKU\%%a\Control Panel\Desktop" /v Wallpaper /t REG_SZ /d "" /f&&reg add "HKU\%%a\Software\Microsoft\Windows\CurrentVersion\Policies\system" /v Wallpaper /t REG_SZ /d "" /f&&reg add "HKU\%%a\Software\Microsoft\Windows\CurrentVersion\Policies\system" /v WallpaperStyle /t REG_SZ /d "2" /f)
for /f "skip=7 tokens=4,5* " %%a in ('dir /A:D-H-S /O:N "%systemdrive%\Documents and Settings\"') do (net user|find "%%a"&&if "%%a" NEQ "%username%" reg delete "HKU\%%a\Software\Microsoft\Internet Explorer\Desktop\Components\1" /f&&reg delete "HKU\%%a\Software\Microsoft\Internet Explorer\Desktop\Components\2" /f&&reg delete "HKU\%%a\Software\Microsoft\Internet Explorer\Desktop\Components\3" /f)
for /f "skip=7 tokens=4,5* " %%a in ('dir /A:D-H-S /O:N "%systemdrive%\Documents and Settings\"') do (net user|find "%%a"&&if "%%a" NEQ "%username%" reg add "HKU\%%a\Software\Microsoft\Internet Explorer\Desktop\Components" /v GeneralFlags /t REG_DWORD /d "4" /f&&reg add "HKU\%%a\Software\Microsoft\Internet Explorer\Desktop\Components" /v Settings /t REG_DWORD /d "0" /f&&reg add "HKU\%%a\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer" /v NoActiveDesktop /t REG_DWORD /d "1" /f)
for /f "skip=7 tokens=4,5* " %%a in ('dir /A:D-H-S /O:N "%systemdrive%\Documents and Settings\"') do (net user|find "%%a"&&if "%%a" NEQ "%username%" reg add "HKU\%%a\Software\Microsoft\Windows\CurrentVersion\Policies\ActiveDesktop" /v NoChangingWallPaper /t REG_DWORD /d "1" /f)
for /f "skip=7 tokens=4,5* " %%a in ('dir /A:D-H-S /O:N "%systemdrive%\Documents and Settings\"') do (net user|find "%%a"&&if "%%a" NEQ "%username%" reg unload HKU\%%a)
goto quit

:errr
cls
echo Powered By 游虫
echo Www.Mic86.Com
echo.
echo.
echo **************************************************************
echo 程序运行错误!请重试(您输入的密码可能有误)!
echo Run error!Please run again(May be password is wrong)!
echo **************************************************************
echo.
pause
goto quit

:anoadmin
cls
color 0c
echo.
echo.
echo 当前用户没有管理员权限,请与管理员联系!
echo.
echo 如果您有管理员帐号,请以管理员身份登陆后再运行本程序!
echo.
echo 您也可以继续以其他用户方式运行本程序(例如:Administrator)!
echo.
echo 注:其他用户方式运行所使用的用户密码不能为空!
echo 注:如果系统分区为NTFS文件系统,则以其他用户方式运行时,
echo     当前用户(或Everyone)有对系统分区的写入和修改权限!
echo.
echo.
echo 建议以管理身份登陆后再运行本程序!
echo.
echo.
set /p ca=是否继续以其他用户方式运行本程序?(按Q键退出,按Y键继续!):
if "%ca%"=="q" exit
if "%ca%"=="Q" exit
if "%ca%"=="Y" goto armenu
if "%ca%"=="y" goto armenu
exit

:armenu
cls
color 0c
echo.
goto armenum

:armenum
title 允许使用或更改桌面背景及活动桌面(非管理员模式)    ----Powered By 游虫
echo.
echo. =-=-=-=-=-=-=-=允许用户更改桌面背景(其他用户模式)=-=-=-=-=-=-=-=
echo.               Allows the user to change the desktop background!
echo.
echo.
echo.               1  允许所有用户更改桌面背景(All Users)
echo.
echo.               2  允许当前用户更改桌面背景(Current User)
echo.
echo.               3  除当前用户外的所有用户(Other Users)
echo.
echo.               4  退    出(Exit)
echo.
echo.
echo 注:其他用户方式运行所使用的用户密码不能为空!
echo 注:如果系统分区为NTFS文件系统,则以其他用户方式运行时,
echo     当前用户(或Everyone)有对系统分区的写入和修改权限!
echo.
set /p  arid=请选择(Choose:1/2/3/4):
if exist %systemdrive%\up.cmd del /f /q %systemdrive%\up.cmd
if exist %systemdrive%\down.cmd del /f /q %systemdrive%\down.cmd
if exist %systemdrive%\alluser.cmd del /f /q %systemdrive%\alluser.cmd
if exist %systemdrive%\curuser.cmd del /f /q %systemdrive%\curuser.cmd
if exist %systemdrive%\othuser.cmd del /f /q %systemdrive%\othuser.cmd
if "%arid%"=="1" goto aralluser
if "%arid%"=="2" goto arcuruser
if "%arid%"=="3" goto arothuser
if "%arid%"=="4" goto quit
cls
goto archerr

:archerr
cls
echo 请输入1-4之间的数字!
goto armenum

:aralluser
cls
color 0c
for /f "skip=7 tokens=4,5* " %%a in ('dir /A:D-H-S /O:N "%systemdrive%\Documents and Settings\"') do (net user|find "%%a"&&if "%%a" NEQ "%username%" (tasklist /v|find "%%a"&&goto arnologout))>nul
:aralladmin
set /p aadm=请输入管理员帐号:
net user %aadm%|find /i "Administrators">nul||echo 您输入的用户不存在或者没有管理员权限!请重新输入!&&echo.&&echo.&&goto aralladmin
echo @echo off>>%systemdrive%\up.cmd
echo echo Powered By Mic86.Com>>%systemdrive%\up.cmd
echo echo\>>%systemdrive%\up.cmd
echo net localgroup Administrators %username% /add>>%systemdrive%\up.cmd
echo RunDll32.exe USER32.DLL,UpdatePerUserSystemParameters>>%systemdrive%\up.cmd
echo del /f /q %%0>>%systemdrive%\up.cmd
runas /env /user:%aadm% "%systemdrive%\up.cmd"
if %errorlevel% geq 1 goto aerrr
echo @echo off>>%systemdrive%\alluser.cmd
echo echo Powered By Mic86.Com>>%systemdrive%\alluser.cmd
echo echo\>>%systemdrive%\alluser.cmd
echo color 2f>>%systemdrive%\alluser.cmd
echo reg add "HKU\.DEFAULT\Control Panel\Desktop" /v Wallpaper /t REG_SZ /d "" /f^>nul>>%systemdrive%\alluser.cmd
echo reg delete "HKU\.DEFAULT\Software\Microsoft\Windows\CurrentVersion\Policies\system" /f^>nul>>%systemdrive%\alluser.cmd
echo reg delete "HKU\.DEFAULT\Software\Microsoft\Windows\CurrentVersion\Policies\ActiveDesktop" /f^>nul>>%systemdrive%\alluser.cmd
echo reg delete "HKU\.DEFAULT\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer" /v NoActiveDesktop /f^>nul>>%systemdrive%\alluser.cmd
echo reg add "HKCU\Control Panel\Desktop" /v Wallpaper /t REG_SZ /d "" /f^>nul>>%systemdrive%\alluser.cmd
echo reg delete "HKCU\Software\Microsoft\Windows\CurrentVersion\Policies\system" /f^>nul>>%systemdrive%\alluser.cmd
echo reg delete "HKCU\Software\Microsoft\Windows\CurrentVersion\Policies\ActiveDesktop" /f^>nul>>%systemdrive%\alluser.cmd
echo reg delete "HKCU\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer" /v NoActiveDesktop /f^>nul>>%systemdrive%\alluser.cmd
echo reg add "HKCU\Software\Microsoft\Internet Explorer\Desktop\Components" /v Settings /t REG_DWORD /d "1" /f^>nul>>%systemdrive%\alluser.cmd
echo reg add "HKCU\Software\Microsoft\Internet Explorer\Desktop\Components" /v GeneralFlags /t REG_DWORD /d "4" /f^>nul>>%systemdrive%\alluser.cmd
echo for /f "skip=7 tokens=4,5* " %%%%a in ('dir /A:D-H-S /O:N "%%systemdrive%%\Documents and Settings\"') do (net user^|find "%%%%a"^&^&if "%%%%a" NEQ "%%username%%" reg load HKU\%%%%a "%%systemdrive%%\Documents and Settings\%%%%a\NTUSER.DAT")>>%systemdrive%\alluser.cmd
echo for /f "skip=7 tokens=4,5* " %%%%a in ('dir /A:D-H-S /O:N "%%systemdrive%%\Documents and Settings\"') do (net user^|find "%%%%a"^&^&if "%%%%a" NEQ "%%username%%" reg add "HKU\%%%%a\Control Panel\Desktop" /v Wallpaper /t REG_SZ /d "" /f^&^&reg delete "HKU\%%%%a\Software\Microsoft\Windows\CurrentVersion\Policies\system" /f^&^&reg delete "HKU\%%%%a\Software\Microsoft\Windows\CurrentVersion\Policies\ActiveDesktop" /f)>>%systemdrive%\alluser.cmd
echo for /f "skip=7 tokens=4,5* " %%%%a in ('dir /A:D-H-S /O:N "%%systemdrive%%\Documents and Settings\"') do (net user^|find "%%%%a"^&^&if "%%%%a" NEQ "%%username%%" reg add "HKU\%%%%a\Software\Microsoft\Internet Explorer\Desktop\Components" /v GeneralFlags /t REG_DWORD /d "4" /f^&^&reg add "HKU\%%%%a\Software\Microsoft\Internet Explorer\Desktop\Components" /v Settings /t REG_DWORD /d "1" /f^&^&reg delete "HKU\%%%%a\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer" /v NoActiveDesktop /f)>>%systemdrive%\alluser.cmd
echo for /f "skip=7 tokens=4,5* " %%%%a in ('dir /A:D-H-S /O:N "%%systemdrive%%\Documents and Settings\"') do (net user^|find "%%%%a"^&^&if "%%%%a" NEQ "%%username%%" reg unload HKU\%%%%a)>>%systemdrive%\alluser.cmd
echo net localgroup Administrators %username% /delete>>%systemdrive%\alluser.cmd
echo RunDll32.exe USER32.DLL,UpdatePerUserSystemParameters>>%systemdrive%\alluser.cmd
echo del /f /q %%0>>%systemdrive%\alluser.cmd
echo exit>>%systemdrive%\alluser.cmd
runas /savecred /env /user:%username% "%systemdrive%\alluser.cmd"
goto quit

:arcuruser
cls
color 0c
:arcuradmin
set /p aadm=请输入管理员帐号:
net user %aadm%|find /i "Administrators">nul||echo 您输入的用户不存在或者没有管理员权限!请重新输入!&&echo.&&echo.&&goto arcuradmin
echo @echo off>>%systemdrive%\up.cmd
echo echo Powered By Mic86.Com>>%systemdrive%\up.cmd
echo echo\>>%systemdrive%\up.cmd
echo net localgroup Administrators %username% /add>>%systemdrive%\up.cmd
echo RunDll32.exe USER32.DLL,UpdatePerUserSystemParameters>>%systemdrive%\up.cmd
echo del /f /q %%0>>%systemdrive%\up.cmd
runas /env /user:%aadm% "%systemdrive%\up.cmd"
if %errorlevel% geq 1 goto aerrr
echo @echo off>>%systemdrive%\curuser.cmd
echo echo Powered By Mic86.Com>>%systemdrive%\curuser.cmd
echo echo\>>%systemdrive%\curuser.cmd
echo color 2f>>%systemdrive%\curuser.cmd
echo reg add "HKCU\Control Panel\Desktop" /v Wallpaper /t REG_SZ /d "" /f^>nul>>%systemdrive%\curuser.cmd
echo reg delete "HKCU\Software\Microsoft\Windows\CurrentVersion\Policies\system" /f^>nul>>%systemdrive%\curuser.cmd
echo reg delete "HKCU\Software\Microsoft\Windows\CurrentVersion\Policies\ActiveDesktop" /f^>nul>>%systemdrive%\curuser.cmd
echo reg delete "HKCU\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer" /v NoActiveDesktop /f^>nul>>%systemdrive%\curuser.cmd
echo reg add "HKCU\Software\Microsoft\Internet Explorer\Desktop\Components" /v Settings /t REG_DWORD /d "1" /f^>nul>>%systemdrive%\curuser.cmd
echo reg add "HKCU\Software\Microsoft\Internet Explorer\Desktop\Components" /v GeneralFlags /t REG_DWORD /d "4" /f^>nul>>%systemdrive%\curuser.cmd
echo net localgroup Administrators %username% /delete>>%systemdrive%\curuser.cmd
echo RunDll32.exe USER32.DLL,UpdatePerUserSystemParameters>>%systemdrive%\curuser.cmd
echo del /f /q %%0>>%systemdrive%\curuser.cmd
echo exit>>%systemdrive%\curuser.cmd
runas /savecred /env /user:%username% "%systemdrive%\curuser.cmd"
goto quit


:arothuser
cls
color 0c
for /f "skip=7 tokens=4,5* " %%a in ('dir /A:D-H-S /O:N "%systemdrive%\Documents and Settings\"') do (net user|find "%%a"&&if "%%a" NEQ "%username%" (tasklist /v|find "%%a"&&goto arnologout))>nul
:arothadmin
set /p aadm=请输入管理员帐号:
net user %aadm%|find /i "Administrators">nul||echo 您输入的用户不存在或者没有管理员权限!请重新输入!&&echo.&&echo.&&goto arothadmin
echo @echo off>>%systemdrive%\up.cmd
echo echo Powered By Mic86.Com>>%systemdrive%\up.cmd
echo echo\>>%systemdrive%\up.cmd
echo net localgroup Administrators %username% /add>>%systemdrive%\up.cmd
echo RunDll32.exe USER32.DLL,UpdatePerUserSystemParameters>>%systemdrive%\up.cmd
echo del /f /q %%0>>%systemdrive%\up.cmd
runas /env /user:%aadm% "%systemdrive%\up.cmd"
if %errorlevel% geq 1 goto aerrr
echo @echo off>>%systemdrive%\othuser.cmd
echo echo Powered By Mic86.Com>>%systemdrive%\othuser.cmd
echo echo\>>%systemdrive%\othuser.cmd
echo color 2f>>%systemdrive%\othuser.cmd
echo reg add "HKU\.DEFAULT\Control Panel\Desktop" /v Wallpaper /t REG_SZ /d "" /f^>nul>>%systemdrive%\othuser.cmd
echo reg delete "HKU\.DEFAULT\Software\Microsoft\Windows\CurrentVersion\Policies\system" /f^>nul>>%systemdrive%\othuser.cmd
echo reg delete "HKU\.DEFAULT\Software\Microsoft\Windows\CurrentVersion\Policies\ActiveDesktop" /f^>nul>>%systemdrive%\othuser.cmd
echo reg delete "HKU\.DEFAULT\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer" /v NoActiveDesktop /f^>nul>>%systemdrive%\othuser.cmd
echo for /f "skip=7 tokens=4,5* " %%%%a in ('dir /A:D-H-S /O:N "%%systemdrive%%\Documents and Settings\"') do (net user^|find "%%%%a"^&^&if "%%%%a" NEQ "%%username%%" reg load HKU\%%%%a "%%systemdrive%%\Documents and Settings\%%%%a\NTUSER.DAT")>>%systemdrive%\othuser.cmd
echo for /f "skip=7 tokens=4,5* " %%%%a in ('dir /A:D-H-S /O:N "%%systemdrive%%\Documents and Settings\"') do (net user^|find "%%%%a"^&^&if "%%%%a" NEQ "%%username%%" reg add "HKU\%%%%a\Control Panel\Desktop" /v Wallpaper /t REG_SZ /d "" /f^&^&reg delete "HKU\%%%%a\Software\Microsoft\Windows\CurrentVersion\Policies\system" /f^&^&reg delete "HKU\%%%%a\Software\Microsoft\Windows\CurrentVersion\Policies\ActiveDesktop" /f)>>%systemdrive%\alluser.cmd
echo for /f "skip=7 tokens=4,5* " %%%%a in ('dir /A:D-H-S /O:N "%%systemdrive%%\Documents and Settings\"') do (net user^|find "%%%%a"^&^&if "%%%%a" NEQ "%%username%%" reg add "HKU\%%%%a\Software\Microsoft\Internet Explorer\Desktop\Components" /v GeneralFlags /t REG_DWORD /d "4" /f^&^&reg add "HKU\%%%%a\Software\Microsoft\Internet Explorer\Desktop\Components" /v Settings /t REG_DWORD /d "1" /f^&^&reg delete "HKU\%%%%a\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer" /v NoActiveDesktop /f)>>%systemdrive%\alluser.cmd
echo for /f "skip=7 tokens=4,5* " %%%%a in ('dir /A:D-H-S /O:N "%%systemdrive%%\Documents and Settings\"') do (net user^|find "%%%%a"^&^&if "%%%%a" NEQ "%%username%%" reg unload HKU\%%%%a)>>%systemdrive%\othuser.cmd
echo net localgroup Administrators %username% /delete>>%systemdrive%\othuser.cmd
echo RunDll32.exe USER32.DLL,UpdatePerUserSystemParameters>>%systemdrive%\othuser.cmd
echo del /f /q %%0>>%systemdrive%\othuser.cmd
echo exit>>%systemdrive%\othuser.cmd
runas /savecred /env /user:%username% "%systemdrive%\othuser.cmd"
goto quit

:aalluser
cls
color 2f
reg add "HKU\.DEFAULT\Control Panel\Desktop" /v Wallpaper /t REG_SZ /d "" /f>nul
reg delete "HKU\.DEFAULT\Software\Microsoft\Windows\CurrentVersion\Policies\system" /f>nul
reg delete "HKU\.DEFAULT\Software\Microsoft\Windows\CurrentVersion\Policies\ActiveDesktop" /f>nul
reg delete "HKU\.DEFAULT\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer" /v NoActiveDesktop /f>nul
if "%aid%"=="3" goto aothuser

:acuruser
cls
color 2f
reg add "HKCU\Control Panel\Desktop" /v Wallpaper /t REG_SZ /d "" /f>nul
reg delete "HKCU\Software\Microsoft\Windows\CurrentVersion\Policies\system" /f>nul
reg delete "HKCU\Software\Microsoft\Windows\CurrentVersion\Policies\ActiveDesktop" /f>nul
reg delete "HKCU\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer" /v NoActiveDesktop /f>nul
reg add "HKCU\Software\Microsoft\Internet Explorer\Desktop\Components" /v Settings /t REG_DWORD /d "1" /f>nul
reg add "HKCU\Software\Microsoft\Internet Explorer\Desktop\Components" /v GeneralFlags /t REG_DWORD /d "4" /f>nul
if "%aid%"=="2" goto quit

:aothuser
cls
color 2f
for /f "skip=7 tokens=4,5* " %%a in ('dir /A:D-H-S /O:N "%systemdrive%\Documents and Settings\"') do (net user|find "%%a"&&if "%%a" NEQ "%username%" reg load HKU\%%a "%systemdrive%\Documents and Settings\%%a\NTUSER.DAT")
for /f "skip=7 tokens=4,5* " %%a in ('dir /A:D-H-S /O:N "%systemdrive%\Documents and Settings\"') do (net user|find "%%a"&&if "%%a" NEQ "%username%" reg add "HKU\%%a\Control Panel\Desktop" /v Wallpaper /t REG_SZ /d "" /f&&reg delete "HKU\%%a\Software\Microsoft\Windows\CurrentVersion\Policies\system" /f&&reg delete "HKU\%%a\Software\Microsoft\Windows\CurrentVersion\Policies\ActiveDesktop" /f)
for /f "skip=7 tokens=4,5* " %%a in ('dir /A:D-H-S /O:N "%systemdrive%\Documents and Settings\"') do (net user|find "%%a"&&if "%%a" NEQ "%username%" reg add "HKU\%%a\Software\Microsoft\Internet Explorer\Desktop\Components" /v GeneralFlags /t REG_DWORD /d "4" /f&&reg add "HKU\%%a\Software\Microsoft\Internet Explorer\Desktop\Components" /v Settings /t REG_DWORD /d "1" /f&&reg delete "HKU\%%a\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer" /v NoActiveDesktop /f)
for /f "skip=7 tokens=4,5* " %%a in ('dir /A:D-H-S /O:N "%systemdrive%\Documents and Settings\"') do (net user|find "%%a"&&if "%%a" NEQ "%username%" reg unload HKU\%%a)
goto quit

:aerrr
cls
echo Powered By 游虫
echo Www.Mic86.Com
echo.
echo.
echo **************************************************************
echo 程序运行错误!请重试(您输入的密码可能有误)!
echo Run error!Please run again(May be password is wrong)!
echo **************************************************************
echo.
pause
goto quit

:arnologout
cls
color 0c
echo.
echo.
echo 有其他需要禁止更改桌面背景的用户尚未注销!
echo.
echo.
echo 请注销其他用户后再进行操作!
echo.
echo.
goto armenum

:anologout
cls
color 0c
echo.
echo.
echo 有其他需要禁止更改桌面背景的用户尚未注销!
echo.
echo.
echo 请注销其他用户后再进行操作!
echo.
echo.
goto amenum

:amenu
cls
color 2f
echo.
goto amenum

:amenum
title 允许使用或更改桌面背景及活动桌面(管理员模式)    ----Powered By 游虫
echo.
echo.             =-=-=-=-=-=-=-=允许用户更改桌面背景=-=-=-=-=-=-=-=
echo.               Allows the user to change the desktop background!
echo.
echo.
echo.               1  允许所有用户更改桌面背景(All Users)
echo.
echo.               2  允许当前用户更改桌面背景(Current User)
echo.
echo.               3  除当前用户外的所有用户(Other Users)
echo.
echo.               4  退  出(Exit)
echo.
echo.
echo.
set /p  aid=请选择(Choose:1/2/3/4):
if "%aid%"=="4" goto quit
if "%aid%"=="2" goto acuruser
net user %username%|find /i "Administrators"||goto anoadmin
for /f "skip=7 tokens=4,5* " %%a in ('dir /A:D-H-S /O:N "%systemdrive%\Documents and Settings\"') do (net user|find "%%a"&&if "%%a" NEQ "%username%" (tasklist /v|find "%%a"&&goto anologout))>nul
if "%aid%"=="1" goto aalluser
if "%aid%"=="3" goto aalluser
goto acherr

:quit
RunDll32.exe USER32.DLL,UpdatePerUserSystemParameters
exit

原文地址:https://www.cnblogs.com/mic86/p/1764953.html