Board logo

标题: [系统相关] 管理员身份运行的脚本怎么以非管理员身份调用另一个脚本? [打印本页]

作者: 东京网恋故事    时间: 2024-11-3 17:14     标题: 管理员身份运行的脚本怎么以非管理员身份调用另一个脚本?

我有一个脚本A用来设置系统环境变量,需要以管理员身份运行,并且A的最后希望拉起脚本B,并且以非管理员身份运行,用于打开一些常用软件。

因为windows中的MIC原因,管理员身份打开的软件,无法通过拖拽文件到软件内打开,所以希望在A中以非管理员身份调用B,请问各位前辈,要如何编写此脚本?
作者: czjt1234    时间: 2024-11-3 18:27

能不能先拉起脚本B,再设置系统环境变量

如果需要用到环境变量,可以在B做个延时,ping一下127.0.0.1
作者: 77七    时间: 2024-11-3 18:52

试试换一种 设置环境变量的方法
链接
作者: Five66    时间: 2024-11-3 21:07

不是默认就是管理员的话 ,可以用资源管理器explorer.exe运行脚本B
或者
runas命令?
或者
powershell?
或者
第三方psexec?
作者: flashercs    时间: 2024-11-3 22:43

A.bat
  1. @echo off
  2. @REM 获取管理员权限.
  3. >nul fltmc.exe||mshta vbscript:CreateObject("Shell.Application").ShellExecute("%~s0",,,"runas",1)(window.close)&&exit
  4. cd /d "%~dp0"
  5. echo do admin works
  6. @REM 非管理员运行的B.bat
  7. set "batb=%cd%\B.bat"
  8. >nul schtasks.exe /Create /TN "\Windows\Unelevate" /TR "%comspec% /c \"\"%batb%\"\"" /SC ONCE /ST 00:00 /F
  9. >nul schtasks.exe /Run /TN "\Windows\Unelevate"
  10. @REM 没必要删除计划任务
  11. @REM >nul schtasks.exe /Delete /TN "\Windows\Unelevate" /F
复制代码





欢迎光临 批处理之家 (http://www.bathome.net/) Powered by Discuz! 7.2