我正在尝试编写一个批处理脚本,它将为任何给定的窗口服务(使用explorer.exe进行测试)执行一个RunAs,该脚本可以在运行时输入任何给定用户。我现在拥有的就是这个。
set /p Var1="Domain = "set /p Var2="Username = "
set /p Var3="Service to open= "
RunAs /user:%Var1%\%Var2% "%Var3%" /seperate
在命令行上,这似乎工作正常(使用编码的值而不是变量),但在批处理文件中,它似乎只是重复自己,而不打开指定的内容(它甚至不提示输入密码,所以我只能假设它甚至不尝试)。知道它为什么在循环,我能做些什么来阻止它吗?
干杯
发布于 2013-11-22 16:19:41
嗨,加里·巴尼特,我在一段时间前创作了类似的东西。
以下是一个例子;
@ECHO OFF
set /P Domainn=Enter Domain Name:
set /P Usern=Enter Username:
set userunas=runas /user:%domainn%\%usern% "
:optionmenu
CLS
ECHO 1 - Control.exe
ECHO 2 - MSinfo32.exe
ECHO 3 - Explorer.exe
ECHO q - Quit
ECHO.
set /P optionnum=Enter command number:
GOTO option%optionnum%
:option1
%userunas%control.exe
goto optionmenu
:option2
%userunas% %commonprogramfiles%\micros~1\MSInfo\msinfo32.exe"
goto optionmenu
:option3
%userunas%explorer.exe
goto optionmenu
:optionq
EXIT注意:您必须以管理员身份运行批处理文件(右键单击->作为管理员运行),否则它将无法工作。
发布于 2013-09-10 12:54:01
/seperate不是RUNAS的转换。所以,
RUNAS /USER:"%Var1%\%Var2%" "%Var3%"应该会没事的。如果/seperate是%Var3%程序的参数,请使用:
RUNAS /USER:"%Var1%\%Var2%" "%Var3% /seperate"您还可以在脚本末尾添加PAUSE,以便在“调试”时检查结果。
https://stackoverflow.com/questions/18716753
复制相似问题