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

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

logger2019-09-30备忘录1175

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发布,如需转载请注明出处。

分享给朋友:

相关文章

[软件] 几款免费WebDav客户端与服务端

软件名特色维护状态CarotDAV免费,小体积,界面简单,支持WebDAV / FTP / SFTP /,支持主流网盘同步。仅支持windows平台,有日文版。2018~Duplicati免费,跨平台...

mctadmin.exe 是什么程序

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

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

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

XYplorer 中使用的正则库为 VBScript 规则

XYplorer uses the VBScript RegExp Object (library: C:\WINDOWS\system32\vbscript.dll) which is simila...

[软件] AriaNG --- Aria2 图形化前端,支持全部主流协议的下载管理器

[软件] AriaNG --- Aria2 图形化前端,支持全部主流协议的下载管理器

软件的官方地址: https://github.com/mayswind/AriaNg官方的中文支持页面:http://ariang.mayswind.net/zh_Hans/无需任何运行库(runt...

[软件使用] PotPlayer 快捷键列表

快捷键指令"播放->跳略播放->跳略播放 开|关'播放->跳略播放->跳略播放设置...,字幕->字幕同步(帧率)->滞后0.5 秒Alt+,字幕...