@echo off
>nul 2>&1 "%SYSTEMROOT%\system32\cacls.exe" "%SYSTEMROOT%\system32\config\system"
if '%errorlevel%' NEQ '0' (
goto UACPrompt
) else ( goto gotAdmin )
:UACPrompt
echo Set UAC = CreateObject^("Shell.Application"^) > "%temp%\getadmin.vbs"
echo UAC.ShellExecute "%~s0", "", "", "runas", 1 >> "%temp%\getadmin.vbs"
"%temp%\getadmin.vbs"
exit /B
:gotAdmin
if exist "%temp%\getadmin.vbs" ( del "%temp%\getadmin.vbs" )
@echo off & title
set ScrFile=%SystemRoot%\System32\ssText3d.scr
set TimeOut=15
set Login=1
set Effective=1
>nul 2>&1 "%SystemRoot%\System32\cacls.exe" "%SystemRoot%\System32\config\SYSTEM"
if '%errorlevel%' NEQ '0' (
echo 正在请求临时管理员权限...
goto UACPrompt
) else ( goto Setting )
:UACPrompt
start "" mshta vbscript:CreateObject("Shell.Application").ShellExecute("cmd.exe","/c %~s0 ::","","runas",1)(window.close)&&exit
:Setting
set /a TimeOut*=15
set "Key=HKCU\Control Panel\Desktop"
reg add "%key%" /v SCRNSAVE.EXE /t REG_SZ /d "%ScrFile%" /f
reg add "%key%" /v ScreenSaveTimeOut /t REG_SZ /d "%TimeOut%" /f
reg add "%key%" /v ScreenSaverIsSecure /t REG_SZ /d "%Login%" /f
:End
echo, & echo,
if %Effective% equ 1 (
echo 按下任意键,系统将注销当前帐户,再次登录后,相关设置即可生效。
echo 在注销前,请先保存您尚未保存的数据,以免注销后数据丢失。
pause>nul
shutdown /l >nul 2>nul
) else (
echo 按下任意键,将直接退出脚本,但屏幕保护设置页面的参数可能不会有变化。
echo 但有可能设置已经生效,建议注销帐户或重启电脑,以便正常生效。
pause>nul
)
exit
超时锁屏,执行后会注销系统,使用文本编辑器保存为.bat结尾的文件,以管理员权限运行。