admin.vbs 以管理員身份運(yùn)行程序的vbs命令
1、以管理員身份運(yùn)行程序的命令admin.vbs,用來(lái)提升權(quán)限去運(yùn)行一些cmd命令等
'以管理員身份運(yùn)行程序的命令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 = "以管理員身份運(yùn)行程序。" & vbCrLf _
& vbCrLf _
& WScript.ScriptName & " [program] [parameters]..." & vbCrLf _
& vbCrLf _
& "program 要運(yùn)行的程序" & vbCrLf _
& "parameters 傳遞給 program 的參數(shù)" & vbCrLf _
& vbCrLf
WScript.Echo HelpStr
end function
建議放到%SystemRoot%\system32目錄下,對(duì)喜歡玩cmd而且操作系統(tǒng)是win7的人有點(diǎn)用處。
偶爾用到某些命令(如reg.exe)需要管理員權(quán)限,直接在cmd中 admin reg add ... 即可。
2、如果是想用vbs以管理員權(quán)限運(yùn)行自身需要如下命令
將其添加到文件開(kāi)頭
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)限運(yùn)行選項(xiàng)
單擊“開(kāi)始”按鈕,在搜索輸入框中輸入“regedit”并回車運(yùn)行打開(kāi)注冊(cè)表編輯器,依次單擊轉(zhuǎn)到
“HKEY_CLASSES_ROOT\VBSFile\Shel”項(xiàng),單擊“編輯”菜單,指向“新建”,選擇“項(xiàng)”,新建一個(gè)名為“runas”的項(xiàng),然后再重復(fù)新建項(xiàng)操作,在其下再建立一個(gè)“command”項(xiàng),單擊“command”項(xiàng),在右側(cè)窗口上雙擊修改“默認(rèn)”值的數(shù)據(jù),將其數(shù)據(jù)修改為:
C:\windows\system32\wScript.exe “%1” %*
再單擊“編輯”菜單,指向“新建”,選擇“字符串值”,新建一個(gè)名為“IsolatedCommand”的值并雙擊該值,將其數(shù)據(jù)也改為:
C:\windows\system32\wScript.exe “%1” %*
確認(rèn)無(wú)誤后,關(guān)閉注冊(cè)表編輯器,當(dāng)你在資源管理器上用鼠標(biāo)右鍵單擊VBS文件時(shí),經(jīng)常會(huì)發(fā)現(xiàn)多出了一個(gè)“以管理員身份運(yùn)行”的選項(xiàng),選擇它即可讓腳本以足夠的權(quán)限運(yùn)行。
4、VBS使用管理員權(quán)限啟動(dòng)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是無(wú)法傳遞參數(shù)的
5、自動(dòng)以管理員身份運(yùn)行批處理(bat)文件
在日常運(yùn)維工作中,為方便對(duì)windows用戶進(jìn)行系統(tǒng)安裝或配置等,使用Windows自帶的批處理(bat文件)是一種最為簡(jiǎn)單快速的方法。
但是,批處理腳本不會(huì)默認(rèn)已管理員身份運(yùn)行,一般情況下,我會(huì)將腳本命名為"XXXXXX(請(qǐng)右鍵點(diǎn)擊,用管理員身份運(yùn)行!).bat",但總有些用戶會(huì)忽略這條提示,直接運(yùn)行,此時(shí)由于權(quán)限不足,導(dǎo)致腳本運(yùn)行失敗。
我們可以使用一種變通的方法,讓bat啟動(dòng)時(shí),首先調(diào)用vbs腳本,通過(guò)vbs腳本,以管理員身份調(diào)用該bat的 runas 部分
我們的腳本可以寫(xiě)在runas 下,這樣就點(diǎn)擊該bat腳本,就可以已管理員身份運(yùn)行了
示例代碼如下
@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
::填寫(xiě)自己的腳本
echo 執(zhí)行完畢,任意鍵退出
pause >nul
exit
以上就是admin.vbs 以管理員身份運(yùn)行程序的vbs命令的詳細(xì)內(nèi)容,更多關(guān)于管理員身份運(yùn)行程序的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!
相關(guān)文章
遠(yuǎn)程批量修改計(jì)算機(jī)IP設(shè)置的批處理
當(dāng)網(wǎng)絡(luò)整改需要大量IP修改的時(shí)候,可利用該腳本進(jìn)行更改(重啟計(jì)算機(jī)前不生效,可繼續(xù)工作),然后等下班時(shí)間修改交換機(jī)配置,次日所有計(jì)算機(jī)啟動(dòng)后就可以用新IP工作了2012-05-05
如何在 Netware 服務(wù)器中安裝多塊網(wǎng)卡
如何在 Netware 服務(wù)器中安裝多塊網(wǎng)卡...2006-12-12
批處理獲取文件夾下面txt文件行數(shù)并添加到文件名后
本文給大家匯總介紹了下使用批處理獲取文件夾下面txt文件行數(shù)并添加到文件名后的兩種方法,思路都很不錯(cuò),這里推薦給大家。2015-09-09
用批處理實(shí)現(xiàn)讀取文本文件并實(shí)現(xiàn)超鏈接代碼的輸出
今天用chm反編譯軟件實(shí)現(xiàn)了輸出所以文章類別功能,可是沒(méi)有index索引頁(yè),還好都是中文文章名,我想讓這每行文本都是以超連接的形式顯示到頁(yè)面中,實(shí)現(xiàn)索引2008-06-06
批處理設(shè)置windows服務(wù)器的代碼ThecSafe1.9.4
一個(gè)既是服務(wù)器安全設(shè)置工具,也是一個(gè)學(xué)習(xí)批處理非常好的教程。雖然入手看是難了點(diǎn),只有帶著問(wèn)題去學(xué)習(xí)才能真正的去了解。2008-01-01

