很多時候我們常常需要通過管理員權(quán)限執(zhí)行腳本,腳本可能涉及到一些受保護信息的訪問,我們寫個簡單的腳本來更改host文件,host文件就是需要管理員權(quán)限才能訪問的啟動腳本時先檢查是否有管理員權(quán)限,如果沒有就調(diào)用授權(quán)腳本進行管理員授權(quán)打開,給用戶彈出需要管理員權(quán)限是否允許。
腳本如下:文章來源:http://www.zghlxwxcb.cn/news/detail-623878.html
@echo off
setlocal enableextensions
REM 檢查是否以管理員權(quán)限運行腳本
>nul 2>&1 "%SYSTEMROOT%\system32\cacls.exe" "%SYSTEMROOT%\system32\config\system"
REM 如果沒有以管理員權(quán)限運行腳本,將重新啟動腳本以獲取管理員權(quán)限
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
還原文章來源地址http://www.zghlxwxcb.cn/news/detail-623878.html
@echo off
setlocal enableextensions
REM 檢查是否以管理員權(quán)限運行腳本
>nul 2>&1 "%SYSTEMROOT%\system32\cacls.exe" "%SYSTEMROOT%\system32\config\system"
REM 如果沒有以管理員權(quán)限運行腳本,將重新啟動腳本以獲取管理員權(quán)限
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
到了這里,關(guān)于windows腳本獲取管理員權(quán)限修改host的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!