使用 WMI win32_Process 远程进程执行 - 获取进程标准
本文关键字:执行 进程 获取 标准 取进程 win32 WMI Process 程进程 使用 | 更新日期: 2023-09-27 18:32:07
嗨,我能够使用 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
读取标准输出结果。
注意:请特别注意要运行的命令两边的额外引号。这些对于确保正确解释命令行是必需的。
您可以使用
psexec 执行程序.exe并通过管道获取标准输出
p = subprocess.Popen(cmd, shell=False, stdout=subprocess.PIPE, stderr=subprocess.STDOUT)
while p.poll() is None:
line = p.stdout.readline()
line = line.strip().decode('gbk')
if line:
print('Subprogram output: [{}]'.format(line))
if p.returncode == 0:
print('Subprogram success')
return True
else:
print('Subprogram failed')
return False