分享一个我曾经写过的功能代码:工具身份切换脚本,主要用于脚本执行期间其他身份(如 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 的执行身份。
@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 完整名称,如 domian\username 格式。 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 )
抢沙发 签到成功!签到时间:下午4:08:35,每日签到,生活更精彩哦~