当前位置:首页 > 备忘录 > 正文内容

[备忘] 如何在批处理中获取调用管理员权限

logger2019-09-30备忘录1020

UAC_in_Batch_file
如何在批处理内检测并获取管理员权限运行现有脚本.

该脚本会以标准UAC界面自动提升CMD或BAT文件的运行权限.
只需将该脚本放到你自己的批处理脚本代码之前即可.

代码开始:

@echo off

:: BatchGotAdmin
:-------------------------------------
REM  --> 检查权限
>nul 2>&1 "%SYSTEMROOT%\system32\cacls.exe" "%SYSTEMROOT%\system32\config\system"

REM --> 如果错误标记设置,我们未取得管理员身份.
if '%errorlevel%' NEQ '0' (
    echo 正在请求管理员权限...
    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" )
    pushd "%CD%"
    CD /D "%~dp0"
:--------------------------------------
--==这里存放你自己的批处理脚本代码==--

原理:该脚本基于VBS调用批处理.它通过企图创建文件夹的方式,检测当前窗口是否拥有管理员权限.一旦发现无法创建文件夹,则调用UAC对话框请求管理员权限,然后关闭没有管理员权限的窗口.该脚本亦可以在任何已经打的管理员命令行内执行.


---

文章引用:

https://stackoverflow.com/questions/1894967/how-to-request-administrator-access-inside-a-batch-file

https://sites.google.com/site/eneerge/scripts/batchgotadmin


扫描二维码推送至手机访问。

版权声明:本文由CXLOG.CN发布,如需转载请注明出处。

分享给朋友:

相关文章

[备忘] 一天喝几杯咖啡对正常人而言是安全的,如何计算摄入量?

一杯咖啡的容量大约为多少?答:约9盎司. 来源:http://blog.sina.com.cn/s/blog_bf9cf2bd0102wxcf.html通常一杯咖啡能含有多少咖啡因?答:约 50~40...

mctadmin.exe 是什么程序

Mctadmin.exe - 内容管理引擎设置工具定义:全称为 Content Management Engine tool(内容管理引擎设置工具),用于管理和匹配Local Pack*设置;运行条件...

[备忘] Windows 7 累积更新补丁合集 (全部更新)

名称:UpdatePack7R2 | 截至 17/01/2020 Win7全部更新合集 | 俄罗斯出品描述:俄国网友制作的 Windows 7 SP1 和 Server 2008 R2 SP1 离线补...

[备忘] OpenWrt 内地开源软件镜像源列表

OpenWrt(开源路由软件)由于众所周知的原因,在国内下载和更新极其不便,高峰期几乎无法使用网络更新下载。幸好国内一些高校有这些开源软件的镜像资源(Mirror),将OpenWrt内的更新源地址替换...

大容量U盘格式化时选用何种文件系统最优

大容量U盘:容量大于32GiB,使用Flash介质(MMC、SLC、MLC、TLC等等),基于USB接驳口的移动可插拔设备。结论:exfat格式最优!(2019年3月)理由:fat32不支持大于4Gi...

[备忘] Emeditor, NotePad++, UtraEditor, 三款常用文本软件的正则库

仅列举常用的,易上手的三款软件,在做文本处理的时候可能会用到,期间涉及中文文本的处理问题,不同的库使用的中文匹配格式略有不同,如不清楚知道使用软件的正则库,匹配中文文本时常出现不可以预知的问题.* E...