时间:2021-05-22
但是,批处理脚本不会默认已管理员身份运行,一般情况下,我会将脚本命名为"XXXXXX(请右键点击,用管理员身份运行!).bat",但总有些用户会忽略这条提示,直接运行,此时由于权限不足,导致脚本运行失败。
我们可以使用一种变通的方法,让bat启动时,首先调用vbs脚本,通过vbs脚本,以管理员身份调用该bat的 runas 部分
我们的脚本可以写在runas 下,这样就点击该bat脚本,就可以已管理员身份运行了
示例代码如下
@ECHO OFFsetlocal EnableDelayedExpansioncolor 3etitle 添加服务配置 PUSHD %~DP0 & cd /d "%~dp0"%1 %2mshta vbscript:createobject("shell.application").shellexecute("%~s0","goto :runas","","runas",1)(window.close)&goto :eof:runas ::填写自己的脚本 echo 执行完毕,任意键退出 pause >nulexitVBS使用管理员权限启动BAT2
Set objShell = CreateObject(“WScript.Shell”)strPath = Replace(WScript.ScriptFullName, 文件名, “”)objShell.Run("runas /user:administrator " & strPath & “cmd.Bat”)WScript.Sleep 1000objShell.SendKeys “password{ENTER}”WScript.Sleep 1000注意:runas是无法传递参数的
bat脚本中以管理员权限执行命令
把写好的bat设置为开机启动后,但是默认不是以管理员身份运行,所以开机启动的时候就会导致有一些命令执行不了
首先:如果windows每次获取管理员权限的时候都会弹窗,那么首先就要把弹窗关闭
关闭方法是每次弹出提示的时候提示框有一个深色字体,提示可以修改弹出设置,点进去,设置为永不或者无弹窗
接下来,只需要在.bat脚本中添加一下代码 即可实现 以管理员身份运行
在bat脚本文件第一行加上下面命令:
::强制获取管理员运行权限
%1 mshta vbscript:CreateObject(“Shell.Application”).ShellExecute(“cmd.exe”,"/c %~s0 ::","",“runas”,1)(window.close)&&exitcmd/bat如何自动请求管理员权限而不需要右键管理员运行
先上完整代码:
@echo off>nul 2>&1 "%SYSTEMROOT%\system32\cacls.exe" "%SYSTEMROOT%\system32\config\system"if '%errorlevel%' NEQ '0' (echo 请求管理员权限...goto UACPrompt) else ( goto gotAdmin ):UACPromptecho Set UAC = CreateObject^("Shell.Application"^) > "%temp%\getadmin.vbs"echo UAC.ShellExecute "%~s0", "", "", "runas", 1 >> "%temp%\getadmin.vbs""%temp%\getadmin.vbs"exit /B:gotAdmin原理如下:
访问一个需要授权的文件夹,如(%SYSTEMROOT%\system32\config\system)
如果被允许了,说明显然有管理员权限
如果被拒绝了,就要申请权限了。
申请权限的方法是:
(看echo的代码)
创建一个运行器,运行相对目录(相对目录就是运行批处理的目录)里面的程序,以管理员权限。
然后自然就申请管理员了哇到此这篇关于vbs之自动以管理员身份运行批处理(bat)文件的文章就介绍到这了,更多相关管理员身份运行批处理内容请搜索以前的文章或继续浏览下面的相关文章希望大家以后多多支持!
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
把以下代码复制到记事本,选择另存为,把文件类型选择为所有文件,文件名命名为以bat为后缀的文件(***.bat)。 必须以管理员身份运行! 开启网络共享
很多批处理文件在运行时都需要管理员权限,然而这些程序往往需要用户手动以管理员身份运行才能正常运作,这种“半自动化”设定事实上还是比较麻烦
这里简单的整理下常用方法,方便大家使用。都是通过vbscript的代码。运行bat时隐藏cmd窗口的方法可以编辑一个vbs脚本,在其中以隐藏窗口运行批处理程序。
1、以管理员身份运行程序的命令admin.vbs,用来提升权限去运行一些cmd命令等'以管理员身份运行程序的命令admin.vbsSetobjWMIServic
初期学习编程的同学有不少喜欢玩脚本的而在批处理脚本中我们最常用的便是bat和vbs,而你真的了解bat吗?软件名称:一键清理系统垃圾文件bat(一键清理bat)