如何让一个bat文件有永久管理员权限

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何让一个bat文件有永久管理员权限相关的知识,希望对你有一定的参考价值。

我想让一个bat文件有永久管理员权限,点开是总是以管理员权限运行,没有提示。望帮助!

很抱歉,这个除非您把系统的UAC保护机制关闭,否则没办法实现无提示,且始终以管理员身份运行的。

以下为Win7上关闭UAC保护机制的方法:

1、点击“开始”按钮

2、点击“控制面板”

3、点击“系统和安全”

4、点击“更改用户帐户控制设置”

5、滑动滑块至“从不通知”,最后点击确定

追问

那请问是否可以在Bat中使用代码使之有管理员权限?

追答

一年半以前的问题,您现在才来追问。也是醉了。

脚本开头加这两句代码
cd /d %~dp0
%1 start "" mshta vbscript:createobject("shell.application").shellexecute("""%~0""","::",,"runas",1)(window.close)&exit

参考技术A 设置权限

如何让一个BAT始终管理员的权限运行

1、以管理员身份运行cmd;
2、输入命令reg add "HKEY_CLASSES_ROOT\batfile\shell\open" /v HasLUAShield /t REG_SZ;
3、执行后会在bat右键菜单上添加UAC小盾牌;
4、运行bat时会经过UAC提权就可以以管理员身份运行。
参考技术A

在BAT的开头,增加以下代码即可:


net session >nul 2>&1
if not "%errorLevel%" == "0" (
  echo Oops: This tools must run with administrator permissions!
  echo it will popup the UAC dialog, please click [Yes] to continue.
  echo Set UAC = CreateObject^("Shell.Application"^) > "%temp%\\getadmin.vbs"
  echo UAC.ShellExecute "%~s0", "%*", "", "runas", 1 >> "%temp%\\getadmin.vbs"
  "%temp%\\getadmin.vbs"
  exit /b 2
)

本回答被提问者采纳
参考技术B 再建立一个bat文件,文件内容如下所示:

runas /user:administrator /savecred D:\closenet.bat
D:\closenet.bat——文件所在目录
参考技术C 脚本开头加这两句代码
cd /d %~dp0
%1 start "" mshta vbscript:createobject("shell.application").shellexecute("""%~0""","::",,"runas",1)(window.close)&exit

以上是关于如何让一个bat文件有永久管理员权限的主要内容,如果未能解决你的问题,请参考以下文章

.bat文件,我运行之后,请以管理员权限启动,怎么修改设置?

bat如何自动获取管理员权限

win7 bat文件默认管理员权限运行,这怎么做到?

如何从 C++ 代码创建具有管理员权限的服务

让bat以管理员权限运行

win7运行bat文件为啥要以管理员才可以 否则权限不够啥原因?