批处理判断并自动获取管理权限

批处理自动获取管理权限

有时编写bat批处理时会用到判断当前是否为管理员权限以及自动以管理员权限运行
在这里记录几个常用的方法

1.判断是否以管理员身份运行

这个操作方式比较多,核心思想就是试图访问需要管理员身份才可以访问的资源,可以访问则有权限,不可以访问则没有权限
以下三种方式都可以进行判断,可以灵活使用

"%SYSTEMROOT%\system32\cacls.exe" "%SYSTEMROOT%\system32\config\system"
REG QUERY "HKU\S-1-5-19"
net.exe session

2.使用管理员权限运行

提供两种方式

2.1.VBS方式

mshta vbscript:CreateObject("Shell.Application").ShellExecute("cmd.exe","/c %~s0 ::","","runas",1)(window.close)

2.2.powershell方式

%~sdpnx0: 指向当前批处理文件

powershell -Command "Start-Process '%~sdpnx0' -Verb RunAs"

3.组合使用

提供两种组合方式,代码放于批处理前面使用即可,其他自由组合

:: 方式一
REG QUERY "HKU\S-1-5-19">NUL 2>&1||(powershell -Command "Start-Process '%~sdpnx0' -Verb RunAs"&&exit)
:: 方式二
REG QUERY "HKU\S-1-5-19">NUL 2>&1||mshta vbscript:CreateObject("Shell.Application").ShellExecute("cmd.exe","/c %~s0 ::","","runas",1)(window.close)&&exit
要在Windows 10启动时使用批处理文件获取管理员权限,您可以按照以下步骤操作: 1. 首先,创建一个新的批处理文件。可以通过在桌面或任何其他适合的位置右键单击,选择“新建”并选择“文本文档”来创建一个新的文本文件。 2. 打开新创建的文本文件,并复制以下代码到文件中: ``` @echo off title 获取管理员权限 echo 正在请求管理员权限... net session >nul 2>&1 if %errorLevel% == 0 ( echo 已经具有管理员权限 ) else ( echo 正在获取管理员权限... > "%temp%\GetAdmin.vbs" echo Set UAC = CreateObject^("Shell.Application"^) >> "%temp%\GetAdmin.vbs" echo UAC.ShellExecute "cmd.exe", "/c %~s0", "", "runas", 1 >> "%temp%\GetAdmin.vbs" echo Set UAC = Nothing "%temp%\GetAdmin.vbs" del "%temp%\GetAdmin.vbs" ) echo 请按任意键继续... pause >nul ``` 3. 将文件保存为批处理文件(.bat或.cmd)。选择“另存为”,在文件名中输入一个合适的名称,并确保将文件类型设置为“All Files”。 4. 现在,您可以将该批处理文件移动到Windows的启动文件夹中,以便在每次启动时自动运行。启动文件夹的路径通常为“C:\Users\[用户名]\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup”。只需打开Windows资源管理器,复制并粘贴路径到地址栏,然后按Enter键。 5. 将批处理文件复制到启动文件夹中。 6. 重新启动您的计算机,批处理文件将在登录后自动运行,并获取管理员权限。 这样,您就可以在Windows 10启动时使用批处理文件获取管理员权限了。请确保在使用管理员权限时要小心谨慎,以免造成意外损害。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值