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
相关推荐
玉梅小洋7 小时前
Windows 10 Android 构建配置指南
android·windows
雨中风华14 小时前
Linux, macOS系统实现远程目录访问(等同于windows平台xFsRedir软件的目录重定向)
linux·windows·macos
yuuki23323316 小时前
【C++】继承
开发语言·c++·windows
非凡ghost16 小时前
PowerDirector安卓版(威力导演安卓版)
android·windows·学习·软件需求
疯狂敲代码的老刘18 小时前
JDK 1.6到25 全版本网盘合集 (Windows + Mac + Linux)
java·linux·windows·macos·jdk
love530love19 小时前
Windows 下 GCC 编译器安装与排错实录
人工智能·windows·python·gcc·msys2·gtk·msys2 mingw 64
猫头虎20 小时前
OpenClaw开源汉化发行版:介绍、下载、安装、配置教程
运维·windows·开源·aigc·ai编程·agi·csdn
luffy545920 小时前
windows下通过docker-desktop创建redis实例
windows·redis·docker·容器
程序员敲代码吗20 小时前
Windows组策略限制规避指南:深入解析与实际操作
windows
黄大帅@lz21 小时前
openai提示词学习
windows·学习