windows cmd腳本提升管理員權限

在開啓UAC權限管理時,運行腳本默認是沒有管理員權限的。因此導致在腳本中執行某些程序時會權限不足。

runas 指令可以已admin賬號執行,但需要密碼,基本上是不被允許的。

已管理員權限運行有兩種方式:

方式一:右鍵菜單,選擇以管理員身份運行

此方式最爲簡單,大部分時候都能滿足要求。就是有一點要注意,此方式啓動的腳本,默認是在system目錄下的,並不在腳本所在目錄。

在腳本第一行添加一行路徑跳轉語句即可

 

cd /d "%~pd0"

方式二:調用VB對象提升腳本權限

if "%~1"=="goto" (^
 if "%~2"==":uacsuccess" (goto :uacsuccess)) 

mshta vbscript:createobject("shell.application").shellexecute("%~s0","goto :uacsuccess ","","runas",1)(window.close) &goto :end

:uacsuccess
echo :uacsuccess
goto :end

:end

mshta 是windows超文本解析器,通過此創建VB腳本。使用Shell對象的shellexecute方法提權。

shellexecute的參看https://docs.microsoft.com/en-us/windows/win32/shell/shell-shellexecute

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章