美文网首页Windows客户端开发
【Windows】自带提权的bat脚本

【Windows】自带提权的bat脚本

作者: mercurygear | 来源:发表于2016-12-11 11:35 被阅读210次

Windows下的开发不可避免的会用到bat脚本来做一些重复的工作,尤其是需要注册的插件dll这块。现在大家的开发机一般都是win7或win10,为了和用户环境比较一致,一般都不会关掉UAC的功能。
双击bat脚本执行自动注册或自动运行服务会很方便开发,但是在vista以上的系统经常需要以管理员权限来启动这个脚本,一般都是右键选择管理员权限运行,要是分发给其他人员测试的时候还要特地叮嘱下,要是bat能实现自动检测需要管理员权限,然后弹出这个提权的申请框,在提权完成之后再进行工作就好了。
抱着这个需求,找到了stackoverflow,果然不负众望,有人给出了一个解决方案,这里把这个bat脚本贴出来,给有需要的人士。

::::::::::::::::::::::::::::::::::::::::::::
:: Elevate.cmd - Version 2
:: Automatically check & get admin rights
::::::::::::::::::::::::::::::::::::::::::::
@echo off
CLS
ECHO.
ECHO =============================
ECHO Running Admin shell
ECHO =============================

:init
setlocal DisableDelayedExpansion
set "batchPath=%~0"
for %%k in (%0) do set batchName=%%~nk
set "vbsGetPrivileges=%temp%\OEgetPriv_%batchName%.vbs"
setlocal EnableDelayedExpansion

:checkPrivileges
NET FILE 1>NUL 2>NUL
if '%errorlevel%' == '0' ( goto gotPrivileges ) else ( goto getPrivileges )

:getPrivileges
if '%1'=='ELEV' (echo ELEV & shift /1 & goto gotPrivileges)
ECHO.
ECHO **************************************
ECHO Invoking UAC for Privilege Escalation
ECHO **************************************

ECHO Set UAC = CreateObject^("Shell.Application"^) > "%vbsGetPrivileges%"
ECHO args = "ELEV " >> "%vbsGetPrivileges%"
ECHO For Each strArg in WScript.Arguments >> "%vbsGetPrivileges%"
ECHO args = args ^& strArg ^& " "  >> "%vbsGetPrivileges%"
ECHO Next >> "%vbsGetPrivileges%"
ECHO UAC.ShellExecute "!batchPath!", args, "", "runas", 1 >> "%vbsGetPrivileges%"
"%SystemRoot%\System32\WScript.exe" "%vbsGetPrivileges%" %*
exit /B

:gotPrivileges
setlocal & pushd .
cd /d %~dp0
if '%1'=='ELEV' (del "%vbsGetPrivileges%" 1>nul 2>nul  &  shift /1)

::::::::::::::::::::::::::::
::START
::::::::::::::::::::::::::::
REM Run shell as admin (example) - put here code as you like
ECHO %batchName% Arguments: %1 %2 %3 %4 %5 %6 %7 %8 %9

相关文章

  • 【Windows】自带提权的bat脚本

    Windows下的开发不可避免的会用到bat脚本来做一些重复的工作,尤其是需要注册的插件dll这块。现在大家的开发...

  • 进程守护

    windows服务守护进程bat脚本、windows窗体守护进程bat脚本 windows 之 bat 实现进程守...

  • frpc 开机自启

    1. windows frpc开机自启 1.1. bat 脚本 在 frp 目录下新建 frpcStrat.bat...

  • 反编译之安装Apktool

    安装Apktool Windows:下载Windows 包装器脚本(右键单击,将链接另存为apktool.bat)...

  • windows操作系统提权基础

    1 Windows提权整体总结 2 Windows基础提权命令 2.1 查看系统信息 systeminfo | f...

  • 2018-10-22 MTU 域控设置自动同步internet时

    windows自动同步internet时间服务 编写bat同步脚本 将脚本保存在C:\scripts\目录下 进入...

  • Windows下编译Assimp库供Android使用

    Windows下编译Android使用的Assimp库 .bat脚本 说明 下载链接:Assimp[https:/...

  • GO打包部署脚本

    GO打包部署脚本 $ Linux 打包 build_linux.bat $ Windows exe 打包 bu...

  • Windows提权

    0x00 基于密码破解的提权 一、密码窃取的常用手段 1.中间人劫持:网络窃听2.通过简单猜测:常用密码3.通过系...

  • windows提权

    一、常见提权方法 1、溢出漏洞提权 2、数据库提权 3、第三方软件提权 二、Cmd命令无法执行原因分析 1、Cmd...

网友评论

    本文标题:【Windows】自带提权的bat脚本

    本文链接:https://www.haomeiwen.com/subject/dsfpmttx.html