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


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

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

我们的脚本�以写在runas 下,这样就点击该bat脚本,就�以已管�员身份�行�/p>

示例代�如下

@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脚本中以管�员��执行命�/strong>

把写好的bat设置为开机�动�,但是默认�是以管�员身份�行,所以开机�动的时候就会导致有一些命令执行��/p>

首先:如果windows�次获�管�员��的时候都会弹窗,那么首先就�把弹窗关�/p>

关闭方法是�次弹出�示的时候�示框有一个深色字体,�示�以修改弹出设置,点进去,设置为永�或者无弹窗

接下�,�需�在.bat脚本中添加一下代���实现 以管�员身份�行

在bat脚本文件第一行加上下�命令:

::强制获�管�员�行��/p>

%1 mshta vbscript:CreateObject(“Shell.Application�.ShellExecute(“cmd.exe�"/c %'s0 ::","",“runas�1)(window.close)&&exit

cmd/bat如何自动请求管�员��而�需��键管�员�行

先上完整代��/p>

@echo off
>nul 2>&1 "%SYSTEMROOT%system32cacls.exe" "%SYSTEMROOT%system32configsystem"
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

原�如下�/strong>

访问一个需�授�的文件夹,如(%SYSTEMROOT%system32configsystem�/p>

如果被�许了,说明显然有管�员��/p>

如果被拒�了,就�申请��了�/p>

申请��的方法是�/p>

(看echo的代�)

创建一个�行器,�行相对目录(相对目录就是�行批处�的目录)里�的程�,以管�员���/p>

然�自然就申请管�员了哇到此这篇关于vbs之自动以管�员身份�行批处�(bat)文件的文章就介�到这�更多相关管�员身份�行批处�内容请�索脚本之家以�的文章或继续�览下�的相关文章希望大家以�多多支�脚本之家�/p>