windows脚本获取管理员权限修改host

很多时候我们常常需要通过管理员权限执行脚本,脚本可能涉及到一些受保护信息的访问,我们写个简单的脚本来更改host文件,host文件就是需要管理员权限才能访问的启动脚本时先检查是否有管理员权限,如果没有就调用授权脚本进行管理员授权打开,给用户弹出需要管理员权限是否允许。

脚本如下:

bash 复制代码
@echo off
setlocal enableextensions

REM 检查是否以管理员权限运行脚本
>nul 2>&1 "%SYSTEMROOT%\system32\cacls.exe" "%SYSTEMROOT%\system32\config\system"

REM 如果没有以管理员权限运行脚本,将重新启动脚本以获取管理员权限
if '%errorlevel%' NEQ '0' (   
    echo Set UAC = CreateObject^("Shell.Application"^) > "%temp%\getadmin.vbs"
    echo UAC.ShellExecute "%~s0", "", "", "runas", 1 >> "%temp%\getadmin.vbs"
    "%temp%\getadmin.vbs"
    del "%temp%\getadmin.vbs"
    exit /B
)
REM 修改host文件
set HOSTS_FILE=%SYSTEMROOT%\System32\drivers\etc\hosts
echo 127.0.0.1 www.baidu.com >> "%HOSTS_FILE%"
echo Hosts文件已成功修改!
pause

还原

bash 复制代码
@echo off
setlocal enableextensions

REM 检查是否以管理员权限运行脚本
>nul 2>&1 "%SYSTEMROOT%\system32\cacls.exe" "%SYSTEMROOT%\system32\config\system"

REM 如果没有以管理员权限运行脚本,将重新启动脚本以获取管理员权限
if '%errorlevel%' NEQ '0' (   
    echo Set UAC = CreateObject^("Shell.Application"^) > "%temp%\getadmin.vbs"
    echo UAC.ShellExecute "%~s0", "", "", "runas", 1 >> "%temp%\getadmin.vbs"
    "%temp%\getadmin.vbs"
    del "%temp%\getadmin.vbs"
    exit /B
)

REM 反修改host文件
set HOSTS_FILE=%SYSTEMROOT%\System32\drivers\etc\hosts

REM 删除指定行
findstr /v baidu.com "%HOSTS_FILE%" > "%HOSTS_FILE%.tmp"
move /y "%HOSTS_FILE%.tmp" "%HOSTS_FILE%" > nul

echo Hosts文件已成功反修改!
pause
相关推荐
FL16238631299 小时前
windows下selenium的chromedriver安装和环境变量的配置
windows·selenium·测试工具
huluang11 小时前
VibeVoice 部署全指南:Windows 下的挑战与完整解决方案
windows·python
饮长安千年月15 小时前
第四章 windows实战-emlog
windows·web安全·网络安全·github
该用户已不存在15 小时前
Windows 开发环境这么难配,为什么还有那么多人在用?
前端·windows·后端
水饺编程18 小时前
Windows 命令行:cd 命令1,cd 命令的简单使用
c语言·c++·windows·visual studio
水饺编程18 小时前
Windows 命令行:父目录与子目录
c语言·c++·windows·visual studio
大米粥哥哥20 小时前
Qt libcurl的下载、配置及简单测试 (windows环境)
开发语言·c++·windows·qt·http·curl·libcurl
明月醉窗台20 小时前
Qt Demo(3) 之 deepseek 帮我写的关于图像显示的小界面
开发语言·人工智能·windows·qt
新手村领路人1 天前
TensorFlow 2.10 是最后一个支持在原生Windows上使用GPU的TensorFlow版本
人工智能·windows·tensorflow
ZHOU_WUYI2 天前
windows中Qwen3‑Coder 与 Claude Code 搭配使用
windows·claude code