捕获wmic查询的输出通过PSexec和python脚本在远程机器上运行

时间:2018-06-18 14:37:28

标签: python-3.x subprocess psexec wmic

我正在尝试使用WMIC返回远程机器上的信息,例如安装的软件,配置等。我正在使用PSexec远程运行这些工具。

当我运行

等命令时
psexec \\hostname wmic product get name,version >> C:\Results.txt
从命令提示符

我得到一个带有所需结果的文本文件。

由于我有200-300台机器要查询,我需要每月运行查询,我想使用python 3.x脚本自动执行该过程。

我的问题是我运行这个

import subprocess

cmdstr = r"psexec \\hostname wmic product get name,version >> C:\Results.txt"
result = subprocess.Popen(cmdstr, shell=True)

import subprocess

cmdstr = r"psexec \\hostname wmic product get name,version"
result = subprocess.Popen(cmdstr, shell=True,stdout=subprocess.PIPE, stderr=subprocess.PIPE)

output= result.communicate()

print(output)

所有我获得PStools版权声明和输出确认它正在运行并退出代码0但没有来自WMIC查询的输出。

理想情况下,我希望能够使用上面的第二个示例,这样我就可以遍历所有机器并在python中捕获输出。

1 个答案:

答案 0 :(得分:0)

尝试将其添加到您的psexec命令中。 -accepteula该标志禁止显示许可证对话框。