VBS以管理員身份運行自身


有工作任務,執行一個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 "下面添加你需要執行的代碼,此時已有管理員權限了。"

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM