身份切換指令碼,免登入切換許可權的利器
阿新 • • 發佈:2022-05-05
分享一個我曾經寫過的功能程式碼:工具身份切換指令碼,主要用於指令碼執行期間其他身份(如 administrator 等)的切換,從而獲取到所需許可權。 使用說明:
1.將下面的程式碼儲存為 bat 指令碼,如 switch.bat,其中的【你要加權執行的外部程式或指令碼】需要根據實際情況修改成你將要執行的檔案路徑
2.在你切換前啟動的指令碼中加入 call "%~dp0switch.bat" (%~dp0 表示同一目錄) 3.你可以將【你要加權執行的外部程式或指令碼】修改成一個變數,比如%0 或%1 ,%0 表示切換本身指令碼的執行身份,而%1 則表示切換引數 1 的身份
Ps:%1 詳解,若下面的程式碼你修改成【runas /user:administrator "%1" >nul
@echo off color 3f mode con cols=37 lines=20 setlocal enabledelayedexpansion :start cls title User Switcher echo= echo ╭—————————╮ echo $ ※身份切換助手※ $ echo $====================$ echo $ 設計: Mars丶Ge $ echo ╰—————————╯ echo= echo 1.切換到超級管理員 echo= echo 2.切換到其他使用者 echo= echo 0.返回上一級 echo= echo= echo ※直接回車檢視說明※ echo= echo= set choice= set /p choice=請輸入[序號+回車]: if "%choice%"=="1" goto admin if "%choice%"=="2" goto other if "%choice%"=="0" goto :eof cls echo= echo ※功能說明※ echo= echo= echo 實現外部呼叫此指令碼切換至到其他 echo= echo 身份,如切換到超級管理員等。 echo= echo 注意事項:若是切換到AD賬號請輸入 echo= echo 完整名稱,如domianusername格式。 echo= echo= echo= echo= echo= echo= echo 任意鍵返回.... pause>nul goto start :admin cls if /i not %username%==administrator ( echo 請輸入Administrator的密碼: runas /user:administrator "你要加權執行的外部程式或指令碼" >nul if !errorlevel! EQU 0 ( exit ) else ( cls echo 驗證失敗,請重試.... pause>nul goto start ) ) else ( echo 已是Administrator!無需切換.... & pause>nul & goto :eof ) :other cls title 切換到其他使用者[返回請輸入Q+回車] echo 溫馨提示:當前使用者名稱為:%username% echo= set namer= set /p namer=請輸入使用者名稱: if /i "%namer%"=="Q" goto start echo= echo 請輸入%namer%的密碼: runas /user:%namer% "你要加權執行的外部程式或指令碼" >nul if !errorlevel! EQU 0 ( exit ) else ( cls echo 驗證失敗,請重試.... pause>nul goto other )