以管理员身份运行(获取管理员权限)

技术问题

以管理员身份运行(获取管理员权限)

2025-05-23 09:39


以管理员身份运行(获取管理员权限)

                                            




批处理自身自动获取管理员权限的代码网上很多,最终我采用以下这一行,放在批处理开头就可以了:

net session >nul 2>&1||(mshta "vbscript:createobject("shell.application").shellexecute("%~0","%~1","","runas",1)&close()" & exit)

一行代码就搞定了

还有其他的几种方式供参考:

@echo off&(pushd "%~dp0")&(cacls "%SystemDrive%\System Volume Information" >nul 2>&1)||(start "" mshta vbscript:CreateObject^("Shell.Application"^).ShellExecute^("%~snx0"," %*","","runas",1^)^(window.close^)&exit /b)

@echo off&(pushd "%~DP0")&(REG QUERY "HKU\S-1-5-19">NUL 2>&1)||(powershell -Command "Start-Process '%~sdpnx0' -Verb RunAs"&&exit)

@ECHO OFF & CD /D %~DP0 & color f0
>NUL 2>&1 reg.exe query "HKU\S-1-5-19" || (
    ECHO SET UAC = CreateObject^("Shell.Application"^) > "%TEMP%\Getadmin.vbs"
    ECHO UAC.ShellExecute "%~f0", "%1", "", "runas", 1 >> "%TEMP%\Getadmin.vbs"
    "%TEMP%\Getadmin.vbs"
    DEL /f /q "%TEMP%\Getadmin.vbs" 2>NUL
    Exit /b
)

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

label :
  • 以管理员身份运行(获取管理员权限)