在线时间:8:00-16:00
迪恩网络APP
随时随地掌握行业动态
扫描二维码
关注迪恩网络微信公众号
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 = "cmd.exe" '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的人有点用处。 2、如果是想用vbs以管理员权限运行自身需要如下命令 将其添加到文件开头 Set WshShell = WScript.CreateObject("WScript.Shell") If WScript.Arguments.Length = 0 Then Set ObjShell = CreateObject("Shell.Application") ObjShell.ShellExecute "wscript.exe" _ , """" & WScript.ScriptFullName & """ RunAsAdministrator", , "runas", 1 WScript.Quit End if 3、Windows 10 为VBS文件添加以管理员权限运行选项 单击“开始”按钮,在搜索输入框中输入“regedit”并回车运行打开注册表编辑器,依次单击转到 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命令的详细内容,更多关于管理员身份运行程序的资料请关注极客世界其它相关文章! |
请发表评论