批处理文件以不同用户身份运行cmd并执行命令行

3
我需要一个.bat文件,能够实现以下功能:

  1. 以不同的用户身份打开CMD,我使用以下命令行: runas /user:muc\axi8593 /savecred "cmd(目前运行良好)

  2. 在新的CMD窗口(以不同用户身份运行)中运行以下命令行: cd c:\temp\muc muc_exec.bat

我无法解决这个问题。

提前感谢您!

2个回答

2

您可以使用PsExec在另一个账户下运行批处理文件。

示例:

psexec \\workstation64 -c test.bat -u USERNAME -p PASSWORD

test.bat 可能是 runas /user:muc\axi8593 /savecred "cmd


我只是得到一个在无限循环中运行的CMD窗口,我对脚本编写不熟悉,您能给我更精确的信息吗?非常感谢! - Patrick Čalija
你可以使用你要使用的命令创建一个批处理文件,然后像上面的示例一样使用psexec调用该批处理脚本。 - blurstream

1
为了启动另一个命令提示符并在其中运行命令,您需要使用/C(如果您希望在完成后关闭提示符)或/K(如果您希望提示符保持打开状态)。
因此,您需要类似于以下内容:
runas /user:muc\axi8593 /savecred "cmd /C cd c:\temp\muc && muc_exec.bat"
< p > && 运算符告诉提示符仅在 cd 操作成功后运行 muc_exec.bat。 在这种情况下,只需执行 "cmd /C C:\temp\muc\muc_exec.bat" 就可以了,除非 muc_exec 只能从其父目录中运行。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接