您好,欢迎来到保捱科技网。
搜索
您的当前位置:首页自动以管理员身份运行批处理bat文件(vbs与bat两种方法)

自动以管理员身份运行批处理bat文件(vbs与bat两种方法)

来源:保捱科技网
⾃动以管理员⾝份运⾏批处理bat⽂件(vbs与bat两种⽅

法)

但是,批处理脚本不会默认已管理员⾝份运⾏,⼀般情况下,我会将脚本命名为\"XXXXXX(请右键点击,⽤管理员⾝份运⾏!).bat\",但总有些⽤户会忽略这条提⽰,直接运⾏,此时由于权限不⾜,导致脚本运⾏失败。

我们可以使⽤⼀种变通的⽅法,让bat启动时,⾸先调⽤vbs脚本,通过vbs脚本,以管理员⾝份调⽤该bat的 runas 部分我们的脚本可以写在runas 下,这样就点击该bat脚本,就可以已管理员⾝份运⾏了⽰例代码如下

@ECHO OFF

setlocal EnableDelayedExpansioncolor 3e

title 添加服务配置

PUSHD %~DP0 & cd /d \"%~dp0\"%1 %2

mshta vbscript:createobject(\"shell.application\").shellexecute(\"%~s0\:runas

::填写⾃⼰的脚本

echo 执⾏完毕,任意键退出

pause >nulexit

VBS使⽤管理员权限启动BAT2

Set objShell = CreateObject(“WScript.Shell”)

strPath = Replace(WScript.ScriptFullName, ⽂件名, “”)

objShell.Run(\"runas /user:administrator \" & strPath & “cmd.Bat”)WScript.Sleep 1000

objShell.SendKeys “password{ENTER}”WScript.Sleep 1000

注意:runas是⽆法传递参数的bat脚本中以管理员权限执⾏命令

把写好的bat设置为开机启动后,但是默认不是以管理员⾝份运⾏,所以开机启动的时候就会导致有⼀些命令执⾏不了⾸先:如果windows每次获取管理员权限的时候都会弹窗,那么⾸先就要把弹窗关闭

关闭⽅法是每次弹出提⽰的时候提⽰框有⼀个深⾊字体,提⽰可以修改弹出设置,点进去,设置为永不或者⽆弹窗接下来,只需要在.bat脚本中添加⼀下代码 即可实现 以管理员⾝份运⾏在bat脚本⽂件第⼀⾏加上下⾯命令:::强制获取管理员运⾏权限

%1 mshta vbscript:CreateObject(“Shell.Application”).ShellExecute(“cmd.exe”,\"/c %~s0 ::\

cmd/bat如何⾃动请求管理员权限⽽不需要右键管理员运⾏先上完整代码:

@echo off

>nul 2>&1 \"%SYSTEMROOT%\\system32\\cacls.exe\" \"%SYSTEMROOT%\\system32\\config\\system\"if '%errorlevel%' NEQ '0' (echo 请求管理员权限...goto UACPrompt

) else ( goto gotAdmin ):UACPrompt

echo Set UAC = CreateObject^(\"Shell.Application\"^) > \"%temp%\\getadmin.vbs\"echo UAC.ShellExecute \"%~s0\\"%temp%\\getadmin.vbs\"exit /B

:gotAdmin

原理如下:

访问⼀个需要授权的⽂件夹,如(%SYSTEMROOT%\\system32\\config\\system)如果被允许了,说明显然有管理员权限如果被拒绝了,就要申请权限了。申请权限的⽅法是:(看echo的代码)

创建⼀个运⾏器,运⾏相对⽬录(相对⽬录就是运⾏批处理的⽬录)⾥⾯的程序,以管理员权限。

然后⾃然就申请管理员了哇到此这篇关于vbs之⾃动以管理员⾝份运⾏批处理(bat)⽂件的⽂章就介绍到这了,更多相关管理员⾝份运⾏批处理内容请搜索以前的⽂章或继续浏览下⾯的相关⽂章希望⼤家以后多多⽀持!

因篇幅问题不能全部显示,请点此查看更多更全内容

Copyright © 2019- baoaiwan.cn 版权所有 赣ICP备2024042794号-3

违法及侵权请联系:TEL:199 18 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务