首页 > 其他分享 >自动以管理员身份运行批处理bat文件(vbs与bat两种方法)

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

时间:2024-04-16 18:44:57浏览次数:14  
标签:bat 批处理 runas vbs 管理员 权限 运行

                        <p>但是,批处理脚本不会默认已管理员身份运行,一般情况下,我会将脚本命名为"XXXXXX(请右键点击,用管理员身份运行!).bat",但总有些用户会忽略这条提示,直接运行,此时由于权限不足,导致脚本运行失败。</p>

我们可以使用一种变通的方法,让bat启动时,首先调用vbs脚本,通过vbs脚本,以管理员身份调用该bat的 runas 部分

我们的脚本可以写在runas 下,这样就点击该bat脚本,就可以已管理员身份运行了

示例代码如下

@ECHO OFF
setlocal EnableDelayedExpansion
color 3e
title 添加服务配置

PUSHD %~DP0 & cd /d "%~dp0"
%1 %2
mshta vbscript:createobject("shell.application").shellexecute("%~s0","goto :runas","","runas",1)(window.close)&goto :eof
:runas

::填写自己的脚本

echo 执行完毕,任意键退出

pause >nul
exit

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 ::","",“runas”,1)(window.close)&&exit

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", "", "", "runas", 1 >> "%temp%\getadmin.vbs"
"%temp%\getadmin.vbs"
exit /B
:gotAdmin

原理如下:

访问一个需要授权的文件夹,如(%SYSTEMROOT%\system32\config\system)

如果被允许了,说明显然有管理员权限

如果被拒绝了,就要申请权限了。

申请权限的方法是:

(看echo的代码)

创建一个运行器,运行相对目录(相对目录就是运行批处理的目录)里面的程序,以管理员权限。

然后自然就申请管理员了哇到此这篇关于vbs之自动以管理员身份运行批处理(bat)文件的文章就介绍到这了,更多相关管理员身份运行批处理内容请搜索创业项目排行榜前十名http://www.piaodoo.com/以前的文章或继续浏览下面的相关文章希望大家以后多多支持创业项目排行榜前十名http://www.piaodoo.com/!

                        友情连接: 

创业项目排行榜前十名

美文集

茂名一技

茂名一技

手游排行前十名

标签:bat,批处理,runas,vbs,管理员,权限,运行
From: https://www.cnblogs.com/python1314520/p/18138932

相关文章

  • allfiles.vbs 显示子目录下的所有文件的修改时间、大小、文件名、扩展名等
    <p>&#65279;有的时候将子目录下的所有文件的修改时间、大小、全限定名等信息导出到Excel表格中。</p>尝试过命令行,但不太好用——1.对于“dir/s>1.txt”,当前目录与文件列表是分开显示的,合并起来太麻烦,而且没有文件的全限定名。2.对于“dir/b/s>1......
  • 如何用VBS脚本收集远程计算机或本地计算机安装的软件
    <divid="navCategory"><h5class="catalogue">目录</h5><ulclass="first_class_ul"><li><ahref="#_label0">目标</a></li><li><ahref="#_la......
  • vbs查询局域网内电脑的软件和硬件列表清单
    <p>下面的代码在windows下容易报毒大家可以放心使用</p>'==========================================================================''Date:2009/3/19'Name:查询软件和硬件列表清单'Author:Smileruner'www.overmcse.com......
  • vbs获取操作系统及其版本号
    <h2>vbs获取操作系统及其版本号</h2>'**************************************'*byr05e'*操作系统及其版本号'**************************************strComputer="."SetobjWMIService=GetObject("winmgmt......
  • 教你编写Windows的VBScript与Mac的AppleSCript脚本解放双手
    <divid="navCategory"><h5class="catalogue">目录</h5><ulclass="first_class_ul"><li><ahref="#_label0">一、Windows篇——VBScript</a></li&g......
  • vbs脚本和windows定时任务实现qq消息表情包定时发送功能
    <h2>目标</h2>在某个时间唤醒电脑屏幕后,自动发送qq信息,并附带表情包,发送完毕后关闭电脑屏幕。整个过程不用过多的程序运行,我们借助vbs脚本和windows定时任务去实现这一功能。准备vbs代码qq信息txt文本qq文件表情包文件发送联系人的快捷方式3个windows......
  • 使用VBS创建快捷方式的代码
    <p>在网吧维护过程中经常要发送桌面快捷方式,有什么批处理的方式能便捷发送桌面快捷方式呢,就拿我这边网吧steam下发为例给大家一个参考,如果要使用直接复制下面代码改下具体参数就行了。代码如下:</p>@echooff::设置程序或文件的路径(必选)setProgram=D......
  • vbs实现web自动登录网站的方法
    <divid="navCategory"><h5class="catalogue">目录</h5><ulclass="first_class_ul"><li><ahref="#_label0">一,编写vbs</a></li><li><ahref="......
  • VBScript编写Windows防止锁屏脚本程序
    <divid="navCategory"><h5class="catalogue">目录</h5><ulclass="first_class_ul"><li><ahref="#_label0">背景介绍</a></li><li><ahref="#_......
  • VBS 批量Ping的项目实现
    <p>本文用vb编写的ping程序实现,具体如下:</p>'判断当前VBS脚本是否由CScript执行IfInStr(LCase(WScript.FullName),"cscript.exe")=0Then???'若不是由CScript执行,则使用CScript重新执行当前脚本???SetobjShell=CreateObject("Shell.Appl......