我正在尝试(在Windows 7下)使用runas命令停止然后重新启动服务。 (Win7要求admin privs执行此操作;因此使用runas。)
停止服务工作正常,但启动它没有。这是我用来停止服务的命令:
runas /user:myDomain\myUserId "net stop serviceName"
这是启动服务的命令:
runas /user:myDomain\myUserId "net start serviceName"
当我运行上面的命令时,另一个命令窗口打开,但在我看到任何内容之前闪烁;因此我不知道出了什么问题。
所以,我的问题是:当通过runas运行时,我如何从net start命令捕获stdout和/或stderr?我尝试过只使用重定向,但只是获取一个空文件。另一种解决方案是通过runas打开窗口,使子任务保持打开状态。
提前致谢。
答案 0 :(得分:10)
使用要运行的命令启动cmd.exe,并指定将输出写入文件。
runas / user:myDomain \ myUserId“cmd.exe / c net stop serviceName> output.txt”
您可以使用2>用于从净停止输出错误。
答案 1 :(得分:4)
此外,如果您不想打扰输出文件,可以使用cmd.exe / k而不是/ c来启动命令,它将为您打开会话窗口。如果你只是想快速浏览,可能会更容易/更快。