溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

admin.vbs 以管理員身份運行程序的vbs命令有哪些

發(fā)布時間:2021-05-20 10:02:13 來源:億速云 閱讀:991 作者:小新 欄目:開發(fā)技術(shù)

小編給大家分享一下admin.vbs 以管理員身份運行程序的vbs命令有哪些,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!

1、以管理員身份運行程序的命令admin.vbs,用來提升權(quán)限去運行一些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 的參數(shù)" & vbCrLf _ 
& vbCrLf 
WScript.Echo HelpStr 
end function

建議放到%SystemRoot%\system32目錄下,對喜歡玩cmd而且操作系統(tǒng)是win7的人有點用處。
偶爾用到某些命令(如reg.exe)需要管理員權(quán)限,直接在cmd中 admin reg add ... 即可。

2、如果是想用vbs以管理員權(quán)限運行自身需要如下命令

將其添加到文件開頭

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文件添加以管理員權(quán)限運行選項

單擊“開始”按鈕,在搜索輸入框中輸入“regedit”并回車運行打開注冊表編輯器,依次單擊轉(zhuǎn)到
“HKEY_CLASSES_ROOT\VBSFile\Shel”項,單擊“編輯”菜單,指向“新建”,選擇“項”,新建一個名為“runas”的項,然后再重復(fù)新建項操作,在其下再建立一個“command”項,單擊“command”項,在右側(cè)窗口上雙擊修改“默認(rèn)”值的數(shù)據(jù),將其數(shù)據(jù)修改為:
C:\windows\system32\wScript.exe “%1” %*
再單擊“編輯”菜單,指向“新建”,選擇“字符串值”,新建一個名為“IsolatedCommand”的值并雙擊該值,將其數(shù)據(jù)也改為:
C:\windows\system32\wScript.exe “%1” %*
確認(rèn)無誤后,關(guān)閉注冊表編輯器,當(dāng)你在資源管理器上用鼠標(biāo)右鍵單擊VBS文件時,經(jīng)常會發(fā)現(xiàn)多出了一個“以管理員身份運行”的選項,選擇它即可讓腳本以足夠的權(quán)限運行。

4、VBS使用管理員權(quán)限啟動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是無法傳遞參數(shù)的

5、自動以管理員身份運行批處理(bat)文件

在日常運維工作中,為方便對windows用戶進行系統(tǒng)安裝或配置等,使用Windows自帶的批處理(bat文件)是一種最為簡單快速的方法。

但是,批處理腳本不會默認(rèn)已管理員身份運行,一般情況下,我會將腳本命名為"XXXXXX(請右鍵點擊,用管理員身份運行!).bat",但總有些用戶會忽略這條提示,直接運行,此時由于權(quán)限不足,導(dǎo)致腳本運行失敗。

我們可以使用一種變通的方法,讓bat啟動時,首先調(diào)用vbs腳本,通過vbs腳本,以管理員身份調(diào)用該bat的 runas 部分

我們的腳本可以寫在runas 下,這樣就點擊該bat腳本,就可以已管理員身份運行了

示例代碼如下

@ECHO OFF
setlocal EnableDelayedExpansion
color 3e
title 添加服務(wù)配置
 
PUSHD %~DP0 & cd /d "%~dp0"
%1 %2
mshta vbscript:createobject("shell.application").shellexecute("%~s0","goto :runas","","runas",1)(window.close)&goto :eof
:runas
 
::填寫自己的腳本
 
echo 執(zhí)行完畢,任意鍵退出
 
pause >nul
exit

以上是“admin.vbs 以管理員身份運行程序的vbs命令有哪些”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內(nèi)容對大家有所幫助,如果還想學(xué)習(xí)更多知識,歡迎關(guān)注億速云行業(yè)資訊頻道!

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

vbs
AI