• 企业400电话
  • 微网小程序
  • AI电话机器人
  • 电商代运营
  • 全 部 栏 目

    企业400电话 网络优化推广 AI电话机器人 呼叫中心 网站建设 商标✡知产 微网小程序 电商运营 彩铃•短信 增值拓展业务
    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 = "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的人有点用处。
    偶尔用到某些命令(如reg.exe)需要管理员权限,直接在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.exe" _ 
      , """"  WScript.ScriptFullName  """ RunAsAdministrator", , "runas", 1 
      WScript.Quit 
    End if 

    3、Windows 10 为VBS文件添加以管理员权限运行选项

    单击“开始”按钮,在搜索输入框中输入“regedit”并回车运行打开注册表编辑器,依次单击转到
    “HKEY_CLASSES_ROOT\VBSFile\Shel”项,单击“编辑”菜单,指向“新建”,选择“项”,新建一个名为“runas”的项,然后再重复新建项操作,在其下再建立一个“command”项,单击“command”项,在右侧窗口上双击修改“默认”值的数据,将其数据修改为:
    C:\windows\system32\wScript.exe “%1” %*
    再单击“编辑”菜单,指向“新建”,选择“字符串值”,新建一个名为“IsolatedCommand”的值并双击该值,将其数据也改为:
    C:\windows\system32\wScript.exe “%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命令的详细内容,更多关于管理员身份运行程序的资料请关注脚本之家其它相关文章!

    上一篇:注册表危险组件删除功能批处理
    下一篇:cmd findstr 字符串查找增强使用说明
  • 相关文章
  • 

    © 2016-2020 巨人网络通讯 版权所有

    《增值电信业务经营许可证》 苏ICP备15040257号-8

    admin.vbs 以管理员身份运行程序的vbs命令 admin.vbs,以,管理员,身份,