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

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何让一个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以管理员权限运行

有的电脑是非管理员登录,运行程序时,需要提示是否运行运行。解决方法如下:

@ echo off
%1 %2
ver|find "5.">nul&&goto :Admin
mshta vbscript:createobject("shell.application").shellexecute("%~s0","goto :Admin","","runas",1)(window.close)&goto :eof
:Admin
//在你的bat开头加上上面的命令即可
//下面是你需要执行的命令
set path=%~dp0
echo install mysql service...
echo %path%
cd %path%inmysqld.exe --remove mysql
mysqld.exe --install mysql
echo start mysql Serviceo
"%SystemRoot%"system32
et start mysql

 

 

谢谢你阅读

技术分享图片

[小花儿送给你]

以上是关于如何让一个BAT始终管理员的权限运行的主要内容,如果未能解决你的问题,请参考以下文章

让bat以管理员权限运行

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

如何让windows7默认为以管理员身份打开所有程序

如何让cmd启动始终以管理员身份运行(方法已失效)

Win7下如何让程序始终以管理员身份运行

我想让一个app始终在后台运行,不被杀掉进程,怎么设置?