我必须自动化测试用例。
任务:-
- 步骤:- 从 powershell 打开管理命令提示符。
- 步骤:- 在管理命令提示符下执行批处理文件。
步骤:- 批处理文件包括一些命令集,包括 exe 的执行。
例如:- runas/user:administrator/savecred someCmd.exe >>D:\output.txt
步骤:- 在变量中捕获 exe 的输出以验证输出。
我用过“ start-process -verb runas cmd.exe $param"用于打开管理命令提示符的 cmdlet(步骤 1)。 其中 $param 包含要执行的批处理文件。
问题陈述:- 当批处理文件执行上面提到的 runas 命令时,它会打开一个新的命令提示符并在提示符中显示输出,然后它会自行关闭。 我无法捕获输出(未写入 output.txt),我必须根据它进行一些验证。
最佳答案
您可以使用批处理的输出重定向:
$params="/C ipconfig /all 2>&1 >>c:\temp\test.txt"
start-process -verb runas cmd.exe $params
gc c:\temp\test.txt
关于windows - 无法通过 runas 命令捕获输出,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26231250/