1. 程式人生 > >身份切換指令碼,免登入切換許可權的利器

身份切換指令碼,免登入切換許可權的利器

分享一個我曾經寫過的功能程式碼:工具身份切換指令碼,主要用於指令碼執行期間其他身份(如 administrator 等)的切換,從而獲取到所需許可權。
使用說明:

1.將下面的程式碼儲存為 bat 指令碼,如 switch.bat,其中的【你要加權執行的外部程式或指令碼】需要根據實際情況修改成你將要執行的檔案路徑

2.在你切換前啟動的指令碼中加入 call "%~dp0switch.bat" (%~dp0 表示同一目錄)
3.你可以將【你要加權執行的外部程式或指令碼】修改成一個變數,比如%0 或%1 ,%0 表示切換本身指令碼的執行身份,而%1 則表示切換引數 1 的身份

Ps:%1 詳解,若下面的程式碼你修改成【runas /user:administrator "%1" >nul

】,則可以使用call "%~dp0switch.bat" other.bat 來切換 other.bat 的執行身份。

MS DOS
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687 @echo off   color3fmodeconcols=37lines=20setlocalenabledelayedexpansion:startclstitleUserSwitcherecho
=   echo         ╭—————————╮   echo         $  ※身份切換助手※  $   echo         $====================$   echo         $ 設計:  Mars丶Ge   $   echo         ╰—————————╯   echo=   echo           1.切換到超級管理員   echo=   echo           2.切換到其他使用者   echo=   echo           0.返回上一級   echo=   echo=   echo          ※直接回車檢視說明※   echo=   echo=   setchoice=set/pchoice=請輸入[序號+回車]:if"%choice%"=="1"gotoadminif"%choice%"=="2"gotootherif"%choice%"=="0"goto:eofclsecho=   echo             ※功能說明※   echo=   echo=   echo    實現外部呼叫此指令碼切換至到其他   echo=     echo 身份,如切換到超級管理員等。   echo=   echo    注意事項:若是切換到AD賬號請輸入   echo=   echo 完整名稱,如domian\username格式。   echo=   echo=    echo=   echo=   echo=   echo=   echo 任意鍵返回....          pause>nulgotostart:adminclsif/inot%username%==administrator(echo 請輸入Administrator的密碼:   runas/user:administrator"你要加權執行的外部程式或指令碼">nulif!errorlevel!EQU0(exit)else(clsecho 驗證失敗,請重試....   pause>nulgotostart))else(echo 已是Administrator!無需切換.... & pause>nul & goto :eof  ):otherclstitle切換到其他使用者[返回請輸入Q+回車]echo 溫馨提示:當前使用者名稱為:%username%   echo=   setnamer=set/pnamer=請輸入使用者名稱:if/i"%namer%"=="Q"gotostartecho=   echo 請輸入%namer%的密碼:   runas/user:%namer%"你要加權執行的外部程式或指令碼">nulif!errorlevel!EQU0(exit)else(clsecho 驗證失敗,請重試....   pause>nulgotoother)