打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
admin.vbs 以管理员身份运行程序的vbs命令
userphoto

2023.11.18 河南

关注

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命令的详细内容,更多关于管理员身份运行程序的资料请关注脚本之家其它相关文章!

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
普通用户利用脚本及runas自动更改IP
跳过控制面板,利用VBS脚本修改计算机管理员账户的密码
让bat批处理以管理员权限运行的实现方法
如何通过批处理在普通用户下安装软件 - 『脚本天堂』 - 菊花论坛--IT认证家园 IT认...
VBS 获取目录中所有文件列表
[寄存]VBS对文件文件夹操作的例子
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服