您好,我能够使用 Wmi 执行远程进程,并且能够获得进程的返回值和进程 ID。有什么方法可以获取由 Wmi 启动的进程的输出。例如。如果我启动一个在控制台中打印某些内容的 exe,我将能够使用此 Api 获取这些值。任何帮助表示赞赏。
最佳答案
您必须将输出重定向到一个文件,然后通过网络读取该文件。
使用 CMD.EXE/S/C 选项来执行此操作。
运行 Program.exe
的示例命令行:
CMD.EXE /S /C " "c:\path\to\program.exe" "argument1" "argument2" > "c:\path\to\stdout.txt" 2> "c:\path\to\stderr.txt" "
然后像这样连接到服务器 \\servername\c$\path\to\stdout.txt
以读取 stdout 结果。
注意:请特别注意要运行的命令周围的额外引号。这些是确保正确解释命令行所必需的。
关于c# - 使用 Wmi win32_Process 的远程进程执行 - 获取进程的标准输出,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10315489/