批处理文件判断是否具有管理员身份运行
批处理文件运行的时候,很多需要使用管理员身份运行,如何判断当前运行的是否具体管理员权限呢?
这里使用bcdedit命令,先看看官方说明:BCDEdit 选项参考
BCDEdit启动项参数或启动参数是可选的特定于系统的设置,表示配置选项。 可以将启动参数添加到操作系统的启动项中。 它们存储在启动配置数据 (BCD) 存储中。
注意
需要管理权限才能使用 BCDEdit 来修改 BCD。 使用 BCDEdit /set 命令更改某些启动项目选项可能导致计算机无法运行。 请改为使用系统配置实用程序 (MSConfig.exe) 更改启动设置。 有关详细信息,请参阅如何在 Windows 10 中打开 MSConfig。
也就是说 bcdedit 是 Windows 自带的引导配置编辑工具,主要用于管理和修改系统的启动配置数据(BCD,Boot Configuration Data)。
常见用途包括:
1)查看和修改启动项。
2)设置默认启动系统。
3)修复启动引导问题。
正常具有管理员权限执行bcdedit命令,可以看到如下:
C:\Users\Administrator\Desktop>bcdedit Windows 启动管理器 -------------------- 标识符 {bootmgr} device partition=C: description Windows Boot Manager locale zh-CN inherit {globalsettings} default {current} resumeobject {af90793a-861e-11ef-803b-8c1b65b66b95} displayorder {current} toolsdisplayorder {memdiag} timeout 30 Windows 启动加载器 ------------------- 标识符 {current} device partition=C: path \Windows\system32\winload.exe description Microsoft Windows locale zh-CN inherit {bootloadersettings} recoverysequence {af90793c-861e-11ef-803b-8c1b65b66b95} displaymessageoverride Recovery recoveryenabled Yes allowedinmemorysettings 0x15000075 osdevice partition=C: systemroot \Windows resumeobject {af90793a-861e-11ef-803b-8c1b65b66b95} nx OptIn bootmenupolicy Standard
如果不具备管理员权限,执行bcdedit的时候,则会显示如下:
C:\Users\Administrator\Desktop>bcdedit The boot configuration data store could not be opened. Access is denied.
所以,我们可以根据以上命令需要管理员权限的特性,判断当前批处理脚本是否具有管理员权限
@echo off FOR /F "tokens=1,2*" %%V IN ('bcdedit') DO SET adminTest=%%V IF (%adminTest%)==(Access) echo noAdmin
如果,您希望更容易地发现我的新博客,不妨点击一下绿色通道的【关注我】。(●'◡'●)
因为,我的写作热情也离不开您的肯定与支持,感谢您的阅读,我是【Jack_孟】!
本文来自博客园,作者:jack_Meng,转载请注明原文链接:https://www.cnblogs.com/mq0036/p/18767852
【免责声明】本文来自源于网络,如涉及版权或侵权问题,请及时联系我们,我们将第一时间删除或更改!
浙公网安备 33010602011771号