windows - 无法通过 runas 命令捕获输出

标签 windows powershell batch-file scripting cmd

我必须自动化测试用例。

任务:-

  1. 步骤:- 从 powershell 打开管理命令提示符。
  2. 步骤:- 在管理命令提示符下执行批处理文件。
  3. 步骤:- 批处理文件包括一些命令集,包括 exe 的执行。

    例如:- runas/user:administrator/savecred someCmd.exe >>D:\output.txt

  4. 步骤:- 在变量中捕获 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/

相关文章:

java - 为什么 WalkingFileTree 第二次更快?

powershell - 从文件名中删除无关的字符

java - 批量运行java程序

powershell - 写输出-文本引号之间的nonewline变量

regex - 在批处理文件中检查字符串中的子字符串(Windows)?

javascript - 在 IE 中加载页面时要求启用 cookie 时出现问题

Windows 7,64 位,DLL 问题

windows - Eclipse、cmake、Windows、MingW - 什么 Makefile 生成器?

windows - 在 Unicode 文件上的 Mercurial 中获得可读的差异显示 (MS Windows)

powershell - 如何比较本地PC和github上的文件?