有工作任務,執行一個vbs腳本,純vbs腳本,不涉及批處理,讓vbs在執行的過程中有管理員權限,能夠執行管理員才能執行的操作。
我實現的思路是調用cmd向一個無管理員權限的位置寫入一個文件,等待這個操作的結束,然后再去判斷這個文件是否存在,如果不存在,則申請管理員權限來運行當前的這個vbs腳本(這里會新創建vbs進程),申請完成后當前運行的vbs腳本退出,新申請管理員權限的vbs隨即開始運行,運行后又會往這個位置寫文件,再去判斷文件是否存在,因已有管理員權限,因此寫文件是成功的,然后刪除該臨時文件,繼續往下執行。
Set WShell = WScript.CreateObject("WScript.Shell") set fso =CreateObject("Scripting.FileSystemObject") tFile = "C:\Windows\System32\drivers\etc\test.txt" WShell.run("%comspec% /c echo 123> " & tFile), 0, True if not fso.FileExists(tFile) then CreateObject("Shell.Application").ShellExecute WScript.FullName, Chr(34) & WScript.ScriptFullName & Chr(34), "", "runas", 1 WScript.Quit else fso.DeleteFile(tFile) End if Wscript.echo "下面添加你需要執行的代碼,此時已有管理員權限了。"