admin.vbs以管理员⾝份运⾏程序的vbs命令
1、以管理员⾝份运⾏程序的命令admin.vbs,⽤来提升权限去运⾏⼀些cmd命令等
'以管理员⾝份运⾏程序的命令admin.vbs
Set objWMIServices = GetObject("winmgmts:{impersonationLevel=impersonate}!\\.\root\cimv2")
Set objWbemObjectSet = objWMIServices.ExecQuery(_
"SELECT * FROM Win32_Process WHERE " &_
"ExecutablePath='" & Replace(WScript.FullName,"\","\\") & "' and " & _
"CommandLine LIKE '%" & WScript.ScriptName & "%'")
for each objWbemObject in objWbemObjectSet
cmdline = objWbemObject.CommandLine
next
if WScript.Arguments.Count then
file = WScript.Arguments(0)
if file="/?" then
call ShowHelp()
WScript.Quit
end if
Set RegEx = new RegExp
RegEx.IgnoreCase = true
RegEx.Global = true
RegEx.Pattern = "\\|\/|\||\(|\)|\[|\]|\{|\}|\^|\$|\.|\*|\?|\+"
temp1 = RegEx.Replace(WScript.ScriptName, "\$&")
temp2 = RegEx.Replace(file, "\$&")
RegEx.Global = false
RegEx.Pattern = "^.*?" & temp1 & "[""\s]*" & temp2 & """?\s*"
args = RegEx.Replace(cmdline, "")
'WScript.Echo file, args
else
file = ""
'args = "/k cd /d """ & CreateObject("WScript.Shell").CurrentDirectory & Chr(34)
end if
'核⼼代码
Set sh = CreateObject("Shell.Application")
取得管理员权限
call sh.ShellExecute( file, args, , "runas" )
function ShowHelp()
dim HelpStr
HelpStr = "以管理员⾝份运⾏程序。" & vbCrLf _
& vbCrLf _
& WScript.ScriptName & " [program] [parameters]..." & vbCrLf _
& vbCrLf _
& "program 要运⾏的程序" & vbCrLf _
& "parameters 传递给 program 的参数" & vbCrLf _
& vbCrLf
WScript.Echo HelpStr
end function
建议放到%SystemRoot%\system32⽬录下,对喜欢玩cmd⽽且操作系统是win7的⼈有点⽤处。
偶尔⽤到某些命令(如)需要管理员权限,直接在cmd中 admin reg add ... 即可。
2、如果是想⽤vbs以管理员权限运⾏⾃⾝需要如下命令
将其添加到⽂件开头
Set WshShell = WScript.CreateObject("WScript.Shell")
If WScript.Arguments.Length = 0 Then
Set ObjShell = CreateObject("Shell.Application")
ObjShell.ShellExecute "" _
, """" & WScript.ScriptFullName & """ RunAsAdministrator", , "runas", 1
WScript.Quit
End if
3、Windows 10 为VBS⽂件添加以管理员权限运⾏选项
单击“开始”按钮,在搜索输⼊框中输⼊“regedit”并回车运⾏打开注册表编辑器,依次单击转到
“HKEY_CLASSES_ROOT\VBSFile\Shel”项,单击“编辑”菜单,指向“新建”,选择“项”,新建⼀个名为“runas”的项,然后再重复新建项操作,在其下再建⽴⼀个“command”项,单击“command”项,在右侧窗⼝上双击修改“默认”值的数据,将其数据修改为:
C:\windows\ “%1” %*
再单击“编辑”菜单,指向“新建”,选择“字符串值”,新建⼀个名为“IsolatedCommand”的值并双击该值,将其数据也改为:C:\windows\ “%1” %*
确认⽆误后,关闭注册表编辑器,当你在资源管理器上⽤⿏标右键单击VBS⽂件时,经常会发现多出了⼀个“以管理员⾝份运⾏”的选项,选择它即可让脚本以⾜够的权限运⾏。
4、VBS使⽤管理员权限启动BAT
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是⽆法传递参数的
5、⾃动以管理员⾝份运⾏批处理(bat)⽂件
在⽇常运维⼯作中,为⽅便对windows⽤户进⾏系统安装或配置等,使⽤Windows⾃带的批处理(bat⽂件)是⼀种最为简单快速的⽅法。
但是,批处理脚本不会默认已管理员⾝份运⾏,⼀般情况下,我会将脚本命名为"XXXXXX(请右键点击,⽤管理员⾝份运
⾏!).bat",但总有些⽤户会忽略这条提⽰,直接运⾏,此时由于权限不⾜,导致脚本运⾏失败。
我们可以使⽤⼀种变通的⽅法,让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
以上就是admin.vbs 以管理员⾝份运⾏程序的vbs命令的详细内容,更多关于管理员⾝份运⾏程序的资料请关注其它相关⽂章!
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论